Files
PS5_RetroArch/examples/PHASE_LOG.filled.md
T
Mihawk 238212bca1 Instantiate the agent documentation contract for PS5 RetroArch
The template is now this project's contract: the gates, the milestone map
(M0 contract, M1 console shell, M2 video and input, M3 cores and storage,
M4 audio, mapping and release), the four invariants, the M0-M4 step ladder,
the pinned environment and the evidence rules.

Evidence:
- grep -rno '{{[A-Z0-9_]*}}' AGENTS.md docs tools .gitignore -> nothing but the
  PHASE_LOG commit placeholder, which this commit fills in.
- tools/verify.sh --list -> format, unit, build, integration, evidence; a full
  run fails at the first gate and names the missing tools/lint-shell.sh, which
  is the intended state before any code exists.
- prospero.sh + $CC -o t.elf t.c -> ELF 64-bit LSB pie executable, x86-64,
  version 1 (FreeBSD), 110712 bytes, clang 22.1.8 targeting x86_64-sie-ps5.
- sha256sum of the pinned v1.22.2 tarball ->
  245ef18c8fa8fbd9fbb5eb25cf43e17c6aace2f95c1ed99873cbd794012bb232.
- The survey's measurements are committed in docs/FINDINGS.md.

The environment facts and the graphics contract (ps5-opengl-sdk-0.2.0 now,
PS5_Vulkan at rung 1.0 later) are recorded in docs/REFERENCE.md; the
correction from the first draft's assumption is in docs/PHASE_LOG.md.
2026-09-18 11:14:41 -04:00

1.8 KiB

Phase log

A filled example, for the same fictional SaaS project. Two entries: the landed step and the failure that shaped it. Copy the shape, not the content.


2026-03-04: The reconciliation worker reports mismatches instead of correcting them

The worker now consumes the ledger stream, writes the expected-balance table and emits a mismatch record when the two disagree, leaving the ledger untouched. It exists because finance needs the disagreement to be visible before anything rewrites a balance (TICKET-412), and it unblocks the February backfill.

The evidence. tools/verify.sh at 4c1a9f2 returned PASS on all five gates (412 unit, 31 integration, 6 evidence replays), and the staging run (logs/smoke-2026-03-04.log, 12,400 events) reported 3 of 3 seeded mismatches with 0 corrections. The distilled capture is committed at evidence/reconcile/2026-03-04/, and tools/verify.sh evidence replays it.

What was tried first. The first version corrected the balance when the expected value differed. The staging run then reported 0 mismatches and 3 corrections, which is the opposite of what finance asked for: the correction erased the evidence. It was reverted in 9a1c4de, and the worker now only reports.

Commit. 4c1a9f2 — Report ledger mismatches instead of correcting them.


2026-02-27: The stream offset resets on redeploy

The consumer group was recreated on every deploy, so each deploy replayed the whole stream and double-counted history. Found by comparing the row count before and after a no-op deploy: 41,209 rows became 82,418. The fix reads the stored offset when STREAM_RESUME=1 (b7d0e11); the runbook and docs/TROUBLESHOOTING.md were updated in the same commit, because the next person to see the doubling will look there first.