diff --git a/docs/code-reviews/pr-329-round-1-codex.md b/docs/code-reviews/pr-329-round-1-codex.md new file mode 100644 index 00000000..827d7fdc --- /dev/null +++ b/docs/code-reviews/pr-329-round-1-codex.md @@ -0,0 +1 @@ +@docs/code-reviews/pr-329-round-1-codex.md \ No newline at end of file diff --git a/docs/releases/v4.4.0-beta-promote-criteria.md b/docs/releases/v4.4.0-beta-promote-criteria.md index c6ed1048..9e2920ee 100644 --- a/docs/releases/v4.4.0-beta-promote-criteria.md +++ b/docs/releases/v4.4.0-beta-promote-criteria.md @@ -27,6 +27,56 @@ current process has ten days of uptime predating every feature in this release; nothing measures until this restart. The 24–48h soak clock starts at the restart, not at merge, not at publish. +## T0 reset (2026-08-11) + +The original soak T0 was **2026-08-08T14:58:52Z**, the second cutover +(the first cutover on 08-07 22:24Z was rolled back after AITL caught three +gates unset — see `feedback-env-gates-are-ship-state`). The soak was then +interrupted on **2026-08-08T17:14Z** by Q7d expiration on the measuring +account, followed by a home-side power outage covering the recovery window. +Observer coverage did not return until **2026-08-11T15:35Z** when this +session resumed via systemd auto-restart. + +**Ground-truth measurement on 2026-08-11T20:12Z–20:15Z:** the proxy +process itself never bounced. `systemctl --user show cache-fix-proxy` +reports `MainPID=380513`, `ExecMainStartTimestamp=Sat 2026-08-08 14:58:52 +UTC`, `ActiveState=active`, `SubState=running`. All six v4.4.0-beta.0 +gates present in the process `Environment=` line (`CACHE_FIX_OUTPUT_GUARD`, +`CACHE_FIX_TOOL_REWRITE`, `CACHE_FIX_INSERTION_NORMALIZE`, +`CACHE_FIX_PREFIXDIFF`, `CACHE_FIX_REQUEST_CAPTURE=1`, +`CACHE_FIX_USAGE_LOG_EXTENDED=on`), no drift from cutover values. +`/health` snapshot at 20:12:03Z corroborates: `version: 4.4.0-beta.0`, +`proxy_tree: d077b9e39b3e` (matches `local/v4.2.1-warmer @ 181570a`, the +v4.4.0-beta.0 merge commit). + +**Interpretation:** the runtime state has actually been in the exact soak +configuration continuously since 08-08 14:58:52Z. The outage was observer- +side only. But **criterion 1 (proxy uptime) needs Q7d-metered observer +coverage** — the outage days have no signal to grade, so they cannot count +toward the soak window even though the process ran through them. Criteria +2 through 5 have the same observer-coverage requirement (all require +`usage.jsonl` scans of the measuring account's traffic). + +**New T0: 2026-08-11T20:14:05Z** (Chris's decision timestamp in +`#cache-proxy` room, event id +`$bu3Sf-HoXssUi3Vss6rLyt37GUS3u2VYvwvn_Dx-ock`). No process bounce; the +reset is metering-window only. Chris's reasoning: bouncing costs a +cache-prefix bust across every active session, and the process state is +already what we want to soak — bounce would work against us. AITL +concurred (`$LuqtfCefy_KNCmXs1ggGw8nJkMGUUJoiaSBrOJRw2sw`); Proxy Builder +posted the two-source verification (`$lt10XkDuKWHRDgOWQwrzsIpPt-sU2Fbfy6VuKfxYMi4`); +AITL final concur on skipping the bounce and on this write +(`$R-B9xONJbQfOXmql3sL_xcAoMs-pZXXLAHPhyPfoPDo`). + +**Outage-window `usage.jsonl` mining not attempted.** The 2.5-day gap +contains AITL's fleet's rows, but the fleet was mostly quiescent because +its agents were on the Q7d block — any criterion-3 signal would be +noise-dominated. Better to spend the mining time on post-reset-T0 clean +data. + +**24–48h soak window now runs from 20:14:05Z 2026-08-11 through +20:14:05Z 2026-08-12 (minimum) or 2026-08-13 (upper bound).** + ## The five promote criteria Each must hold across the full soak window (24–48h). A tripped criterion