← Priority list
Unclaimed

Watch branch CI for the verified stored-result read repair

Watch branch CI on f45b98eb6b6e54130879648ed66fb8b218666428 in the existing open PR, without merging. Four-shard suite reports and exact partition/execution checks are complete; the verified repair and measured description are pushed. The suite has 3802 first-attempt passes, two outside retry-only cases and seven temporary-runner setup failures, all catalogued; branch CI remains with the orchestrator.

Handoff document

Markdown

Watch branch CI for the verified stored-result read repair

Written: 2026-10-08T13:31:56.497409+00:00

RE-VERIFY: This is a write-time snapshot. Check https://github.com/CodexCoder21Organization/BuildTestEmbedded/pull/1300 with gh pr view (state, headRefOid, mergeStateStatus, statusCheckRollup, mergedAt), and compare remote branch heads before acting. This lane deliberately did not watch the newly pushed branch CI; the orchestrator owns that step.

Mission summary

Watch branch CI for the round-4 repair now pushed to the existing open PR, without merging, enqueueing, bypassing checks, or deploying. The round-5 validation/push assignment is complete: the source checkpoint was rebased on current main, five original contracts passed once, four Actions suite shards reported, all first-attempt failures were catalogued, the head was pushed with a lease, and the why-first description was PATCHed and verified by exact read-back. No new source change was required in round 5.

The original round-4 motivation was five existing CI contracts failing after round 3 in https://github.com/CodexCoder21Organization/BuildTestEmbedded/actions/runs/37759791031 . The engine scanner must preserve those contracts; their files and assertions remain unchanged.

What was found and done

  1. The original five tests failed 0/5 first attempts on the round-3 implementation. Three require corrupt legacy sources to report the complete-reader error for the affected run while healthy feed rows remain available. The scanner's framing error escaped a load wrapped in Result.success, failing the entire feed. Two preserve JSONObject's original oversized-row diagnostic origin; replaying a row syntax error from the array origin shifted its offset.
  2. The public-feed source loader reports IO/JSON source failures through the existing snapshot error; currentRead handles only that already-reported exception. Missing files retain deletion/generation checks, failed rows are not persisted or retained as successful empty replacements, and observer/callback errors propagate unchanged.
  3. Extracted-row syntax errors are distinguished from scanner framing errors. Oversized row errors retain row-relative diagnostics; framing and small-snapshot errors use complete-reader diagnostics from the same opened stable source. Replay always throws and never supplies a successful page. Valid pages preserve round-3 bounded work and legacy grammar.
  4. Two provisional regressions were caught with new fail-first public guards: testOversizedStoredResultTruncatedObjectMatchesCompleteRead and testProjectionFeedSourceFailureHandlingPreservesObserverErrors. Dedicated test and code reviews preceded the final targeted gates. Their XML, prior briefs, invariants and original review evidence are preserved in the round-4 evidence branch.
  5. Final round-4 targeted evidence is 120/120 first attempts across pins 0.0.112 and 0.0.121 (60 each), with no root-level attempt-history records. Round 5 rechecked those XML records rather than replaying the gate. After a clean rebase, the five original contracts also passed once on 0.0.112: 5/5 first attempts, no retry histories.
  6. Round 5 used an isolated copy of the supplied gha-run runner, adding the native workflow's materialize and verify-executed steps plus manifest upload, while keeping --test ., its existing deadlines and temporary-branch lifecycle. Four shards ran concurrently from committed source f45b98eb6b6e54130879648ed66fb8b218666428. The runner still removes native *.yml, which causes the seven unrelated repository-root setup failures catalogued below. Do not interpret those as failures of the engine repair.
  7. All four runners reported exit 1, rather than infrastructure/no-verdict, because outside failures remain visible. The four manifests exactly partition all 3797 test files. Each XML exactly contains the names declared by its owned files, for 3811 results overall. All five original contracts, both new guards and testStartupRecoveryProductionSizedHeap passed first attempt; the latter took 299574 ms under its unchanged limits.
  8. A final fetch/rebase was a no-op; main remains 72de10e795af0f95c739110662eb3583175c4009 and tested HEAD remains f45b98eb6b6e54130879648ed66fb8b218666428. The existing PR was freshly OPEN on its original head. An explicit force-with-lease pushed the tested head, remote SHA matched, and the description PATCH/read-back matched exactly at 17506 characters. PATCH response confirmed OPEN and unmerged at f45b98eb6b6e54130879648ed66fb8b218666428.

Measured validation

Pin Five contracts 40 related + 2 guards Concurrent duration-rebuild stress Retry histories
0.0.112 3/3 runs, 15 first passes 42/42 first passes 3/3 first passes 0
0.0.121 3/3 runs, 15 first passes 42/42 first passes 3/3 first passes 0

The post-rebase five-contract confirmation was 5/5 on 0.0.112. The committed script retains that pin.

Shard Final passes / total First-attempt passes Retry-only passes Final failures Run
1 947/949 947 0 2 https://github.com/CodexCoder21Organization/BuildTestEmbedded/actions/runs/37778091599
2 952/953 951 1 1 https://github.com/CodexCoder21Organization/BuildTestEmbedded/actions/runs/37778090149
3 951/953 950 1 2 https://github.com/CodexCoder21Organization/BuildTestEmbedded/actions/runs/37778091150
4 954/956 954 0 2 https://github.com/CodexCoder21Organization/BuildTestEmbedded/actions/runs/37778090822

Aggregate: 3804/3811 final passes, 3802 first-attempt passes, 2 retry-only passes, 7 final failures; nine root-level attempt histories. This is not a green-suite claim. The brief explicitly required outside failures to be catalogued and their tests left unchanged. No first-attempt failure was in the assigned stored-result read path or startup heap fixture.

Outside first-attempt failure catalogue

All failures below occurred during test execution. Full first-attempt stacks, thread dumps and all attempt XML are in https://github.com/CodexCoder21Organization/BuildTestEmbedded/blob/handoff/fix1300r5-evidence-2026-10-08/round5/suite-failures-full.md .

  • Shard 1: buildtest.embedded.testBuildScriptsCleanUpStaleTemporaryFiles; final success=false; first stack head: java.lang.IllegalStateException: Could not locate the BuildTestEmbedded repository root by searching upward from or below user.dir=/__w/BuildTestEmbedded/BuildTestEmbedded..
  • Shard 1: buildtest.embedded.testBuildScriptsPinAndVerifyTheCoursierLauncher; final success=false; first stack head: java.lang.IllegalStateException: Could not locate the BuildTestEmbedded repository root by searching upward from or below user.dir=/__w/BuildTestEmbedded/BuildTestEmbedded..
  • Shard 2: buildtest.embedded.ciShardWorkflowRunsThePrunedWorkspaceUnfiltered; final success=false; first stack head: java.lang.IllegalStateException: Could not locate the BuildTestEmbedded repository root by searching upward from or below user.dir=/__w/BuildTestEmbedded/BuildTestEmbedded..
  • Shard 2: buildtest.embedded.testMixedReleaseModuleCacheImageChangeMisses; final success=true; first stack head: java.lang.RuntimeException: Test 'testMixedReleaseModuleCacheImageChangeMisses' timed out after 120000ms, stuck at: buildtest.embedded.TailingInputStream.awaitNextPoll(TailingInputStream.kt:164).
  • Shard 3: buildtest.embedded.testBuildScriptsUseCurrentVersionedKompileCliLauncher; final success=false; first stack head: java.lang.IllegalStateException: Could not locate the BuildTestEmbedded repository root by searching upward from or below user.dir=/__w/BuildTestEmbedded/BuildTestEmbedded..
  • Shard 3: buildtest.embedded.testMixedReleaseModuleCacheByteBoundEvictsAcrossReleases; final success=true; first stack head: java.lang.RuntimeException: Test 'testMixedReleaseModuleCacheByteBoundEvictsAcrossReleases' timed out after 120000ms, stuck at: buildtest.embedded.BuildTestEmbeddedService.stopDurationPublisher(BuildTestEmbeddedService.kt:31122).
  • Shard 3: buildtest.embedded.ciShardMaterializePrunesToTheShardAndKeepsSupportPaths; final success=false; first stack head: java.lang.IllegalStateException: Could not locate the BuildTestEmbedded repository root by searching upward from or below user.dir=/__w/BuildTestEmbedded/BuildTestEmbedded..
  • Shard 4: buildtest.embedded.testBuildScriptsPublishLaunchersAtomically; final success=false; first stack head: java.lang.IllegalStateException: Could not locate the BuildTestEmbedded repository root by searching upward from or below user.dir=/__w/BuildTestEmbedded/BuildTestEmbedded..
  • Shard 4: buildtest.embedded.ciShardExecutedTestCheckRejectsAVacuousShardRun; final success=false; first stack head: java.lang.IllegalStateException: Could not locate the BuildTestEmbedded repository root by searching upward from or below user.dir=/__w/BuildTestEmbedded/BuildTestEmbedded..

The seven final failures all occur in isRepositoryRoot checks requiring .github/workflows/bld-build.yml. The temporary runner deletes native workflows, so those setup checks fail before engine execution. Native branch CI has the original workflow; verify that live rather than reusing these temporary-runner verdicts.

The two retry-only cases are outside the assigned read repair and startup heap fixture. ImageChangeMisses drains streamBuildLog during real shared-cache preparation; at the first timeout a follower waits in awaitSeedCacheBeforeFollowerDroplet and the fake SSH handler reads the preparation child's stdout. Attempt 2 passed in 38248 ms. ByteBoundEvictsAcrossReleases exercises cross-release preparation/eviction; the terminal first-attempt stack joins the duration publisher during service.close, with an earlier constructor stack in duration-snapshot FileChannel.force. Attempt 2 passed in 85815 ms. The underlying reasons for those unfinished operations are not established here. No timeout/iteration/assertion changed and no unchanged CI rerun was made.

Relevant PRs and recoverable branches

Branch Remote head PR State / contents
https://github.com/CodexCoder21Organization/BuildTestEmbedded/tree/fix/startup-recovery-fixture-encoding f45b98eb6b6e54130879648ed66fb8b218666428 https://github.com/CodexCoder21Organization/BuildTestEmbedded/pull/1300 OPEN/unmerged; round-4 repair and guards; four-shard measured validation; branch CI unwatched by this lane
https://github.com/CodexCoder21Organization/BuildTestEmbedded/tree/wip/fix1300r4-handoff-2026-10-08 f45b98eb6b6e54130879648ed66fb8b218666428 no PR Original round-4 source recovery checkpoint; same source head now on the PR
https://github.com/CodexCoder21Organization/BuildTestEmbedded/tree/handoff/fix1300r4-evidence-2026-10-08 b34c4600d2d842452c954adb26c0a220d1921dd0 no PR Original briefs/reviews/CI evidence, fail-first XML and two-pin gates; never merge
https://github.com/CodexCoder21Organization/BuildTestEmbedded/tree/handoff/fix1300r5-evidence-2026-10-08 14a4b6b0f4832eaa179b1ed3a31e549f9dcd7bf7 no PR round5/: all shard XML/manifests, full failures, classifications, exact description/read-back, audit scripts, findings and cleanup audit; never merge

Nothing was deployed or published by either repair lane. This lane's actions were local targeted verification, temporary Actions suite runs, evidence checkpoints and the explicitly requested PR push/body update. There was no production deploy, artifact release, merge or queue action. All four runner processes exited, their owned temporary worktrees/branches were removed by the runner, no local test process remains, and the five-test build slot was released. Other lanes' processes and slots remain untouched.

Next steps

  1. The orchestrator watches branch CI on exact head f45b98eb6b6e54130879648ed66fb8b218666428. Do not make this lane start a second watcher. Verify native workflow setup and all required checks; old branch/red temporary-runner reports are not validation of the newly pushed native branch.
  2. If native CI fails, inspect first-attempt XML and reproduce the actual failure locally before editing code. Preserve all original limits, iterations, assertions and bounded-path invariants. The two module-cache first-attempt timeouts above are recorded evidence, with their full dumps available, rather than a diagnosed fix.
  3. Keep the PR OPEN and unmerged unless the user separately authorizes merging. Never bypass checks, enqueue, deploy, delete the PR branch or replay a merged branch. The full-suite gate and PR push/body steps of this handoff are now complete; only branch CI remains for its original scope.
  4. Complete/archive this handoff only after its broader branch-CI work is actually verified complete. The round-5 lane completed its assigned scope but deliberately leaves this handoff live for the orchestrator.

Documents read and operational knowledge

Read: common-flake including its amended Actions-suite rule; fix1300r5 and round-4 briefs, round-4 findings/final, round-3 P1–P4; repository README overview/source/paging/build/test sections; architecture/TESTING.md and PHILOSOPHY.md; current github-repos/status-report/create-handoff/report-challenge skills; existing central handoff. No repository AGENTS.md exists. The task explicitly superseded older local-full-suite and branch-watch instructions for this lane.

Preserve diagnostic substring origins and source generations. Keep error conversion inside the source loader so observer failures propagate. Temporary runners must preserve native workflow fixture data as well as shard commands; otherwise unrelated root-location tests fail during setup. XML retries are root-level attempt-history/attempt records matched by file and name, with attempt number 1 supplying the first verdict; final test rows alone cannot establish first-attempt success. Keep measured failing counts visible rather than calling a retry or outside failure a pass. All commits carry the required final co-author line. The supplied no-merge/no-enqueue rule prevented the report-challenge automation's merge-queue publication, so runner friction was recorded durably in this evidence and handoff instead.

No user question or decision is pending. No delegates were used. The task's diagnostic output filter remains applicable to every future log/diff listing.

No status reports yet.

Add dependency

Complete this handoff

Moves it out of every priority list and into ArchiveArea.