Finish required CI for the peer storage review
Written 2026-10-22 10:00 UTC.
RE-VERIFY: this is a snapshot. Recheck https://github.com/CodexCoder21Organization/UrlProtocol/pull/759 and its head/checks before continuing.
Decision taken 2026-10-22 06:05 UTC (orchestrator; contract-preserving choice delegated by the owner)
The existing test testPeerStorageErrorWithoutSuppressionStaysVisible stays exactly as it is: the exact original Error is rethrown unchanged and caller diagnostic accessors are not read. The later reconciliation failure must still never be lost: it is reported through the protocol's existing diagnostic/notification channel (an algebraic effect or the existing peer-storage report hook, whichever the codebase already uses for storage failures), not attached to the original Error. The review probe's traversal assertion is replaced by an assertion on that channel, checking the full report text; the probe's other assertions stay. Next step: implement that on the PR branch with a fail-first test.
Design decisions (2026-10-22)
The owner requires "option B: history owner covers history only; records publish via latest-intent outside it; no lock held across storage I/O a newer lifetime must pass".
The owner also requires: "Fix P2: when the original Error has suppression disabled, a later reconciliation report is omitted. Add the reviewer's probe as a permanent test (red first), fix without reading caller Throwable accessors (the PR's existing rule), keep every existing assertion."
The owner says "No lane evidence in the PR branch." Only the existing PR branch may be pushed. No merge, queue entry, publication, deployment, or production changes are authorized. Tests run locally; GitHub status observations are at least two minutes apart.
Current lane instructions (2026-10-22)
The current brief says: "Evidence on wip/laneC759f-evidence, never on the PR branch." This permits that evidence branch alongside the existing PR branch, superseding the older branch-only restriction above. GitHub observation cadence is at least three minutes; the active watcher uses four minutes. No merge, queue entry, artifact publication, deployment or production change is authorized.
Mission and current state
Both binding review findings are corrected and pushed at https://github.com/CodexCoder21Organization/UrlProtocol/commit/5f8032ff5242b4a83ec10166aed4d02d1fa67e07 . The remaining gate is required CI, followed by a final report and handoff completion when green. Required build is successful; required all-tests remains pending in the latest watcher observation.
What was found and done
Runtime storage reporting appended every event to one copying list. The counted public control retained 10070 entries after 70 startup reports and 10000 runtime reports. Runtime retention now uses a synchronized 64-entry recent window; startup reports remain separate, snapshots are independent, and warning delivery occurs after releasing that monitor. The fixed window also bounds reports across changing peer identities. README, KDoc and a code comment describe the contract.
A move exception could be omitted when temporary-file cleanup returned an Error with suppression disabled. The cleanup path now reports the earlier issue through PeerPersistenceWarningEffect and getPersistenceFailures(), while returning the exact cleanup Error without reading its diagnostic accessors. A warning-handler issue is retained without calling that handler again. The reviewer public probe is unchanged, content id 9bc53ab7314e542568aa582671d49cd74fb93745.
The saved baseline and reversal XML each show the three new scenarios unsuccessful on attempts 1, 2 and 3. The complete local suite ran through the required machine-wide slot: 3168/3168 on attempt 1, zero repeated tests, at b160514069bffadd899655b57465b5ca957312ec. Two concurrent remote commits added tests only; they were preserved. Final integrated validation is 44/44 on attempt 1, zero repeats, at 5f8032ff. Production and README bytes match the complete run exactly. Existing tests have no lane edits; no timeout or iteration changes. Dedicated code and test review passes found no further issue in the changed paths.
Durable refs
| Ref |
State |
| https://github.com/CodexCoder21Organization/UrlProtocol/pull/759 |
Existing PR updated; required CI pending |
| https://github.com/CodexCoder21Organization/UrlProtocol/tree/wip/laneC22-callback-removal-restart |
Product source and tests at 5f8032ff; no evidence files |
| https://github.com/CodexCoder21Organization/UrlProtocol/tree/wip/laneC759f-evidence/lane-evidence |
Source checkpoint, red/reversal/green XML, complete and final focused XML, parser, findings and report diagnostics |
Nothing was published or deployed. Nothing was merged or queued. There is no live production code from this lane to reconcile.
Remaining steps
- Observe required bld-build and bld-all-tests with build-watchman 0.0.21, plain --pr, at --interval-seconds 240. Do not use a queue or merge mode.
- On required checks green, verify exact head and the workflow XML attempt counts, update the PR CI line, upload the final report and complete this handoff.
- If CI reports a test issue, reproduce it locally before changing code; no blind job repetitions or test parameter changes.
Operational notes
The complete local suite used out/suite-slot.sh scripts/test.bash --local --test . --log FILE.xml. The final focused run selected all 44 PR-added files. Failed runner cases can be attempted three times, so count XML test and attempt-history elements. The XML parser and all results are on the evidence branch.
A periodic handoff report failed during interface retrieval with UrlResolutionException; the later 09:50 report succeeded. The diagnostic is saved in lane evidence. The installed gh pr edit used a retired GraphQL Projects classic field; REST PATCH with a JSON body file updated the description successfully. The report-challenge CLI was not run because its automatic queue/merge behavior conflicts with this lane's rules.