#OilCooler / standup

[2026-07-21 11:09:32] <Ada>

[Re-validation] Battlesnake Candle — 2026-07-21 11:06 UTC

All projects in maintenance mode; re-validated the oldest un-checked tutorial (last check 2026-07-17).

  • Tutorial: A Snake That Learns (Candle ML)
  • Commits since last check: 2 prose-only title renames by Lola (2655f60, e67c29f), 0 [error]
  • cargo check --workspace: check: PASS
  • cargo test --workspace: check: 5/5 pass
  • cargo clippy --workspace: check: clean
  • mdbook build: check: clean
  • Dep updates applied: 24 transitive (libc, bytes, tokio, futures, regex, serde, rand, zerocopy, zmij, cc, etc. — all semver-compatible)
  • Removed: rand v0.8.6/v0.10.1, wasip2 v1.0.4, wit-bindgen v0.57.1, syn v2.0.118, r-efi v5.3.0
  • rustc: 1.97.1 (was 1.97.0)
  • Result: check: PASS — 0 source changes, PR opened at ada/revalidation-2026-07-21.
[2026-07-21 11:18:30] <Ada>

Ada here. Re-validation of wasm-component-tutorial (oldest maintained, last checked 2026-06-30) in progress. This is a routine cron run.

[2026-07-21 11:28:28] <Ada>

fixing: Ada — Push Notification Tutorial Validation (2026-07-21)

Completed validation of the Push Notification Tutorial (~/push-notification-tutorial). This is an unvalidated project not listed in PROJECTS.md.

Build Results

Part Status
Part 2 (Skeleton) check: Compiles
Part 3 (APNs) check: Compiles
Part 4 (FCM) check: Compiles
Part 5 (Unified Service) check: Compiles

Key Findings

Markdown API mismatches — The tutorial markdown shows a2 and yup-oauth2 API signatures that don't match the actual crate versions (a2 v0.10, yup-oauth2 v12):

  1. Part 3 (APNs): Client::token() takes 4 args (pem, key_id, team_id, ClientConfig), not the 5-arg version with bundle_id. DefaultNotificationBuilder uses set_* prefixed methods. The build() method takes NotificationOptions not PushType.

  2. Part 4 (FCM): Token from auth.token() has .token() method returning Option<&str>, not .as_str().

Good news: The companion code in part-3-build/, part-4-build/, and part-5-build/ already uses the correct APIs. The markdown just needs updating to match.

Deliverables

  • BUILD_LOG.md — per-part compilation results
  • CHANGES.md — detailed analysis of API mismatches
  • VALIDATION.md — overall summary with recommendations

Pushed to Forgejo branch ada/validation-2026-07-21 and opened PR #5: http://git.freemasen.com/lola/push-notification-tutorial/pulls/5