← Handoffs

Repository · handoffs

Handoff: Finish the baseline snapshot cache gates and open the review PR

View on GitHub ↗

id: hf-2026-10-08-finish-the-baseline-snapshot-cache-gates-and-open-the-review-pr url: url://handoff/handoffs/hf-2026-10-08-finish-the-baseline-snapshot-cache-gates-and-open-the-review-pr title: Finish the baseline snapshot cache gates and open the review PR summary: Finish the 0.0.112 cache gates, isolate the history fixture ingestion condition, run both mutation controls and four GitHub shards, then open the review PR. The row-bounded cache and seven public tests are on wip/sol-coordfixB; the original bound reproducer was red and its first fixed bound/concurrent selection passed2/2, while final gates remain incomplete. created: 2026-10-08T16:03:16.061Z completed: null dependencies:

Handoff: Finish the baseline snapshot cache gates and open the review PR

Written 2026-10-08 16:31 UTC; claimed as coordfixB2.

RE-VERIFY: This is a write-time snapshot. Check the remote wip/sol-coordfixB head, open PRs for that branch, the actual 0.0.112 pins, and the current Maven/Handoff endpoints before continuing. A fresh check takes precedence.

Mission

Finish coordfixB: bound the coordinator's per-run decoded baseline snapshot cache so retention follows a configured working set rather than completed-run history. Preserve complete public pages, cursors and ordering. This is the cache portion of the two coordinator fixes; the separate compaction-lock lane owns journal locking. Do not edit that locking code, merge, enqueue, bypass checks, deploy, change pins, raise timeouts, reduce iterations, or weaken assertions. Final verification is on0.0.112 only. The original brief time box is90minutes, started14:44UTC and ends16:14UTC.

What was found and done

  1. The supplied dump attributes844829736exclusive bytes (~806MiB),703622draft rows and2867run snapshots to the unbounded decoded cache. Source inspection confirms whole stable snapshot publication and release on invalidation/pruning/close, with no old absolute bound. Forensic answers sections2/5B are the specification. A separate larger heap owner remains outside this task; no whole-incident fix is claimed.
  2. The public bound reproducer failed deterministically on the observation/configuration-only old-code checkpoint:80rows retained against a12row budget. Red checkpoint. The first fixed run passed bound and concurrent-reader/re-entry tests2/2 on0.0.112 at fixed checkpoint. The final six non-history versions subsequently passed first attempt in the completed19-test selection; HistoryHeap remains unverified.
  3. Implemented a synchronized, row-weighted access-order cache. Default4096rows corresponds to~4.7MiB at the incident average row width. Empty snapshots cost1; oversized snapshots are returned fully but not retained; zero disables reuse; negative values are rejected before service-owned resources are acquired. Cache operations retain/remove whole snapshot references and do no I/O, emission or callback. Version validation and release paths remain. The new observer gives a scalar retained-row count outside cache ownership. It is appended to its constructor to preserve positional source calls. README explains sizing.
  4. Seven self-contained public tests are on the branch: Bound, ConcurrentReaders, EvictionPages, HistoryHeap, ZeroBudget, OversizedRun, EmptySnapshots. EvictionPages copies a closed persisted store, compares exact saved reset pages with the same advertised cursor, checks complete current resets, and compares current payloads while leaving unrelated newly minted cursor UUIDs out. All tests keep cursor-cycle detection and failure-safe cleanup. Two independent static review passes found no cache defect; their four test gaps were addressed in source. They do not establish runtime passes.
  5. Dependency preparation consumed much of the time box: unchanged kompile:build-kotlin-jvm:0.0.33 metadata fetch returned503, then connection refusal, then read timeouts. A six-test attempt recorded preparation failures only (0test bodies), and later interrupted selections have no completed XML verdict. No pin changed. A direct fetch later returned200, but subsequent fetches still varied. The prepared20-test selection ultimately compiled and reached child execution, then hit its unchanged900second outer deadline.
  6. At128.62seconds in the128MiB HistoryHeap child, main had118.96seconds of CPU and was in java.util.regex.Pattern.matches under public processRunnerEvent at fixture ingestion line89. This precedes the cache collection under test. The fixture is unchanged; its intended B2 result is NOT proven. The exact regex mechanism is not yet established. Investigate a contract-based history payload that isolates decoded cache values rather than guessing or raising limits. The separate targeted run completed: all six other new tests passed first attempt; twelve of thirteen existing contracts passed first attempt. The existing soak failed attempt1 with a maintenance-stop InterruptedException and attempt2 with durable journal rows113 versus current8runs plus maxRecords16; it passed only on attempt3. This is not a clean gate. Full stacks and attempts are durable in coordfixB-contract-first.xml. Attribution to the cache change is not established; do not skip or relax this contract.

Relevant refs and live state

Repository Branch Remote head at check PR Content State
CodexCoder21Organization/BuildTestEmbedded wip/sol-coordfixB b748aa0da2b0886d1267c35c4f1b6229ce6aa7cf none (gh pr list returned[]) fix, all seven tests, README, verification/review artifacts unmerged; final gates incomplete

No code or artifact was deployed or published. No PR was opened because required gates are not met. Findings, review, XML verdicts, full red/preparation stack records and thread evidence are in the durable artifacts. Build outputs and caches are deliberately not committed.

Next steps

  1. Re-verify live branch/PR/service state. Clone fresh into the supplied workspace/coordfixB path. Read its README, the testing guide, memory sizing, review guide, and forensic answers above. Preserve the sibling locking lane's scope.
  2. Resolve/isolate the HistoryHeap ingestion condition without reducing128runs,32rows per run,32768byte value width, the128MiB heap, or240second test limit. Prove the intended old-code failure and fixed-code pass; do not infer a cache verdict from ingestion CPU or an interrupted preparation.
  3. Run all new tests20/20 first attempts on0.0.112, using build slots for every local run. The durable run-selected.bash performs fetch/rebase and slot acquisition. Call it with timeout and redirected logs. Count XML test records rather than final retry-only green summaries. Repeat20 independent invocations; duplicate selectors within one invocation do not mean20 executions.
  4. Mutation controls remain undone: temporarily remove only cache admission/eviction bounds and show Bound fails; temporarily suppress re-derivation specifically for an evicted known run and show EvictionPages fails on incomplete current pages. Restore product code before final gates. Source and test assertions must remain unchanged.
  5. Existing selected contracts have twelve first-attempt passes and one retry-only soak pass; investigate the two distinct soak failure outcomes before treating this as a clean gate. They are the seven projectionWarmBaselineInvalidatesOnly* tests, projectionRestartSecondBaselineDoesNotReadSources, projectionChangeFeedEndToEnd, projectionChangeFeedCompactedBaselineReplaysThroughPagedConsumerContract, projectionChangeFeedCompactionRetainsCurrentRowsPerRun, projectionChangeFeedMidPageResetReconstructsCurrentState, projectionAppendCompactResetSoakReturnsToHeapBaseline. Obtain completed first-attempt XML results.
  6. Commit exact verified head, then run the full suite as four GitHub shards via scratchpad/tools/gha-run.sh, using .github/workflows/bld-build.yml and scripts/ci-test-shards.bash for the exact partition. Never run the full local suite unless that helper returns infrastructure exit3 twice. Catalogue every first-attempt failure, including failures outside this change.
  7. Fetch/rebase immediately before opening the PR; run required checks on that head; check existing PR state; push. Use the durable pr-draft.md as provenance, replace its incomplete gate paragraph with measured results. Use gh pr create --body-file. Commit trailers and PR footer must match the brief. Watch with build-watchman0.0.21 plain --pr, without enqueueing or merging. Stop after reporting final CI.

Operational notes

Use $HOME/bin/coursier; do not run the wrong-architecture /usr/local/bin binary. Never print lines containing the excluded words specified in the brief. Maven failures are preparation results, not test verdicts. The Handoff CLI initially found0peers but its second health check returnedOK at15:51UTC. The report-challenge CLI would automatically enqueue/merge, which this lane explicitly prohibits; the detailed dependency failure is preserved in the branch instead. The legacy handoffs README's merge exception disagrees with the current create-handoff skill, which retires that flow; no merge was performed.

coordfixB2 current checkpoint

Main controls settled soak attribution: unchanged main reproduces both interruption anddurable-rowassertion.2/3firstattemptpass, one retry-onlypass; details https://github.com/CodexCoder21Organization/BuildTestEmbedded/actions/runs/37808254120 . Cache8rowworking-setneverevicts at4096default. Historyfixture nowuses4096distinct32KiBdiagnostics withshortidentities, preserving128runs/32rules andtimeouts; minimumdecodedASCIIpayload134221824bytes>128MiB. Oldmainwithobservationalhookandfixedversionarecurrentlyrunning; nohistoryverdictyet. Twoisolatedmutationcontrols alsorunning. Do notcredit retries. Currentfeaturecheckpoint https://github.com/CodexCoder21Organization/BuildTestEmbedded/tree/wip/sol-coordfixB2 headcd99d5157, noPR/merge/deploy. Originalproof/artifactsremain https://github.com/CodexCoder21Organization/BuildTestEmbedded/tree/wip/sol-coordfixB/handoff-artifacts/coordfixB . Gates20/20,newhistoryred/green,mutationverdicts,existingcontracts,fourshards,andPRremaining. BriefcoordfixB2overridesoldCI-watchinstruction: noPRCIwatch. Siblingjournal/lockcodeexcluded. Deadline17:47UTC.

coordfixB2 checkpoint 2026-10-08 16:46 UTC

Status RUNNING. Both mutation controls red first attempt and restored byte-for-byte. Old history fails OOM in snapshot construction, but bounded history fails warm-publication assertion on all three attempts; gates not credited/not started. Phase diagnostics dispatched with all assertions/timeouts/counts unchanged. Existing13 contract selection active. No PR yet; no CI watch/merge/deploy permitted. Evidence is durable at https://github.com/CodexCoder21Organization/BuildTestEmbedded/tree/wip/sol-coordfixB2-evidence/handoff-artifacts/coordfixB2 and product at https://github.com/CodexCoder21Organization/BuildTestEmbedded/tree/wip/sol-coordfixB2 . Next step explain the history failure, then run20firstattemptgates and fourshards before opening review PR.