Skip to content

feat(bake): add cross-platform just bake-day recipe for daily v0.6.0 bake-period checks#248

Merged
githubrobbi merged 1 commit into
mainfrom
feat/bake-day-recipe
May 15, 2026
Merged

feat(bake): add cross-platform just bake-day recipe for daily v0.6.0 bake-period checks#248
githubrobbi merged 1 commit into
mainfrom
feat/bake-day-recipe

Conversation

@githubrobbi
Copy link
Copy Markdown
Collaborator

Closes the operator-ergonomics side of the v0.6.0 one-week main bake gate described in
docs/architecture/memory-tiering-bake-criteria.md
§1.1 / §1.2 / §1.3.

Motivation

The bake-criteria doc requires running just readiness + a tracing-log
red-flag audit every weekday on both Mac and Windows for 7 consecutive
weekdays. Previously this was a manual multi-step sequence — separate
tee / Tee-Object invocations, separate grep / Select-String
audits per platform, separate row-format-by-hand for §4 of the bake
log. just bake-day collapses it into one command on both platforms.

What the recipe does

  1. Creates $HOME/uffs_bake/ if missing.
  2. Runs just readiness, tee'd to $HOME/uffs_bake/<date>-<platform>.log.
  3. Asserts exit code 0 AND the 150/150 steps passed final line.
  4. Greps the log for §1.3 red-flag patterns:
    • panic / OutOfMemoryError / FATAL / abort
    • BackgroundIoPriority...begin failed (Phase 5 health signal)
  5. Prints a PASS/FAIL summary plus a copy-pasteable row for §4 of the
    bake-criteria doc, with the other platform's column marked
    (pending) so a Mac + Windows run on the same day merges cleanly.

Exits 0 on green, 1 on any failure. Re-runs are idempotent — the
day's log is overwritten so the latest pass-attempt is always the
recorded one.

Same command on both platforms

just bake-day          # Mac → ~/uffs_bake/<date>-mac.log
just bake-day          # Windows → ~/uffs_bake/<date>-windows.log

Sample output (Mac, all-green case)

🎂 Bake-day check — mac — 2026-05-15
   Log: /Users/rnio/uffs_bake/2026-05-15-mac.log

… [full readiness output tee'd to log] …
══ ALL GOOD ══  150/150 steps passed

── Bake-day summary ─────────────────────────────────
✅ mac 2026-05-15 — ALL GREEN (150/150)

── Paste row into docs/architecture/memory-tiering-bake-criteria.md §4 ─
|  ?  | 2026-05-15 | full readiness | 150/150 ✅ | full readiness | (pending) |       |

The Windows run produces the mirror row, so the two runs merge cleanly
into one row by replacing the (pending) cells.

Platform variants

  • [unix] — bash, tee for capture, grep -F/-E for the audits.
  • [windows] — PowerShell, Tee-Object, Select-String -SimpleMatch/-Pattern.

Both produce the same on-disk artefact shape and the same console
summary format.

What this unblocks

The remaining v0.6.0 release-gate work per
memory-tiering-bake-criteria.md
§3 is purely the 7-consecutive-weekday observational hold plus the
four sign-off items (CHANGELOG finalize, release notes draft, manual
diff review, no open critical issues).

Verification

  • just lint-pre-push — 23/23 gates green (50s pre-commit; 47s pre-push).
  • just --summary | grep bake-day — recipe registered correctly.
  • just --list | grep bake-day — appears in operator listing with the
    conventional last-comment-line summary, matching the sibling
    readiness / soak / tier-compare recipes.

Files touched

  • just/dev.just — single recipe addition ([unix] + [windows]
    variants under one logical name). +122 lines, no deletions, no
    other recipes affected.

…bake-period checks

The one-week `main` bake gate (per docs/architecture/memory-tiering-bake-criteria.md
§1.1 / §1.2 / §1.3) requires running `just readiness` + a tracing-log
red-flag audit every weekday on both Mac and Windows.  This was previously
a manual multi-step PowerShell / bash sequence; `just bake-day` collapses
it into a single command that works the same way on both platforms.

## What it does

Each invocation:

1. Creates `$HOME/uffs_bake/` if missing.
2. Runs `just readiness`, tee'd to `$HOME/uffs_bake/<date>-<platform>.log`.
3. Asserts exit code 0 AND the `150/150 steps passed` final line.
4. Greps the log for the §1.3 red-flag patterns:
   - `panic` / `OutOfMemoryError` / `FATAL` / `abort`
   - `BackgroundIoPriority...begin failed` (Phase 5 health signal)
5. Prints a PASS/FAIL summary plus a copy-pasteable row for §4 of the
   bake-criteria doc, with the other platform's column marked
   `(pending)` so a Mac + Windows run on the same day merges cleanly.

Exits 0 on green, 1 on any failure.  Re-runs are idempotent — the day's
log is overwritten so the latest pass-attempt is always the recorded one.

## Platform variants

- `[unix]` — bash, `tee` for capture, `grep -F/-E` for the audits.
- `[windows]` — PowerShell, `Tee-Object`, `Select-String -SimpleMatch/-Pattern`.

Both produce the same on-disk artefact shape and the same console
summary format, so an operator running the bake on a mixed Mac +
Windows pair has matching mental models on both sides.

## Verification

- `just lint-pre-push` — 23/23 gates green (50s).
- `just --summary | grep bake-day` — recipe registered correctly.
- `just --list | grep bake-day` — appears in the operator listing
  with the conventional last-comment-line summary, matching the
  sibling `readiness` / `soak` / `tier-compare` recipes.

## What this unblocks

The remaining v0.6.0 release-gate work per `memory-tiering-bake-criteria.md`
§3 is purely the 7-consecutive-weekday observational hold (`just
bake-day` every weekday Mac + Windows + a row in §4 of the bake-criteria
doc) plus the four sign-off items (CHANGELOG finalize, release notes
draft, manual diff review, no open critical issues).  This recipe
makes the daily-check side of that gate a one-line operation rather
than a multi-step muscle-memory ritual.
@githubrobbi githubrobbi enabled auto-merge (squash) May 15, 2026 14:15
@githubrobbi githubrobbi merged commit 06f2252 into main May 15, 2026
18 checks passed
@githubrobbi githubrobbi deleted the feat/bake-day-recipe branch May 15, 2026 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant