Handoff: Restore remote upload and execute the distinct-rule startup heap pair
RE-VERIFY: 2026-10-04T14:38:44.195230+00:00. Recheck claims, main, and PR states before acting; this is a snapshot. The supervisor has accepted the distinct-key scope. Earlier scope-decision blocker is cleared. Never merge, enqueue, deploy, publish or complete this handoff in this lane.
Mission
Original request: “Prove and bound the BuildTest coordinator journal heap owner.” The supervisor now explicitly requests the paired equal 60,000-rule compacted-baseline/ordinary-tail comparison under the existing 128 MiB child heap, with every identity and payload required. If tail fails, reproduce and fix at its owner; if both pass, preserve permanent proof and open a why-first main PR. The supervisor owns final review and landing.
Chain of findings
The original constructor pair and 60,000 source-loss identities are on main via paging https://github.com/CodexCoder21Organization/BuildTestEmbedded/pull/1208 and https://github.com/CodexCoder21Organization/BuildTestEmbedded/commit/068b5607bc15a53346d3ee6ad0bebd935aeba061. Fresh main is 5c923be5a57accae49b82f759c396db0104f78e2 (re-verify before further work). Earlier source/read-back PR https://github.com/CodexCoder21Organization/BuildTestEmbedded/pull/1202 is also merged. The previous audit evidence is retained below.
The current source still stores whole parsed evicted rule rows in StartupEvictedTailFold.latestByKey and retains per-run key sets. This is observed retention shape, not yet measured OOM evidence. The pre-registered pair uses identical 30 nonarchived completed run sources and 60,000 unique rule identities, each with 4,096 payload bytes. Each row fits the feed record cap; combined payload exceeds 128 MiB without tuning to host speed. Control marks rules compactedBaseline=true; experiment carries them as a gapless ordinary tail after the 30-row baseline. Public service construction plus paged feed must preserve all rows, and observer-controlled source reconciliation cannot replace them during proof. HPROF diagnostic owner/array counts will be printed on OOM before failure. No production source is changed yet.
The prescribed single timeout 5400 scripts/test.bash --remote --test testJournalConstructorDistinctRuleHeapBound --log <path> client exited 1 during workspace upload. Upload session bda60d31 encountered Build service RPC 'uploadChunk' to url://buildtest/ failed with TIMEOUT: Request timed out after 30000 ms; the client's existing implementation exhausted five internal attempts. No second submission was made. Its cancellation lost the response after it might have reached the server; do not repeat the ambiguous mutation blindly. No child output, test XML or executed test count exists. Bounded build-watchman could not find bda60d31 among the API's 100 reported runs; session absence is not a baseline/tail verdict. The health/status APIs responded, so the observed blocker is workspace upload, not a claim that the whole host is down.
The new fixture and two separate root review passes are checkpointed. A tiny standalone diagnostic test compiled the HPROF reader and verified its actual owner-chain/count output from a real dump; that only validates diagnostics, not the journal mechanism. No production fix is justified until the actual paired test executes.
Relevant PRs / refs
| Repo |
Branch |
Remote head SHA |
PR |
What is on it |
State |
| BuildTestEmbedded |
distinct-rule experiment checkpoint |
f8126ea004c3d1ec35747ad3dec9e6f0188cffdb |
no PR |
Paired executable fixture, typed heap diagnostics, two reviews and upload-failure evidence/resume steps |
BLOCKED_INFRA; remote upload failed before test execution |
| BuildTestEmbedded |
this lane evidence |
dc3bb0c28d271afe77205ca2f1660ba50c495ace |
no PR |
Content audit, two review passes, proposed experiment and satellite decisions |
Evidence only; no executable change or test run |
| BuildTestEmbedded |
fix/bound-startup-recovery-heap |
32c532db17aef0b0ccd57b7b49ca2ddc431f86fd |
no PR |
Historical source/proof checkpoint; source superseded by main; keep evidence |
Keep; no wholesale cherry-pick |
| BuildTestEmbedded |
wip/heapowner-handoff-2026-10-02b |
32c532db17aef0b0ccd57b7b49ca2ddc431f86fd |
no PR |
Historical source/proof checkpoint; source superseded by main; keep evidence |
Keep; no wholesale cherry-pick |
| BuildTestEmbedded |
wip/heapowner2-handoff-2026-10-02b |
1cac4661e5724d4871fe327dc4258f0ef6cbf69b |
no PR |
Historical source/proof checkpoint; source superseded by main; keep evidence |
Keep; no wholesale cherry-pick |
| BuildTestEmbedded |
wip/heapowner3-handoff-2026-10-02b |
ec24ae6a4c5af82b6142549ade9391d16fcd21d5 |
no PR |
Historical source/proof checkpoint; source superseded by main; keep evidence |
Keep; no wholesale cherry-pick |
| BuildTestEmbedded |
wip/heapowner4-handoff-2026-10-02b |
b6fb5bce51f70be70131055e84184cf9199ea6d8 |
https://github.com/CodexCoder21Organization/BuildTestEmbedded/pull/1208 |
Historical source/proof checkpoint; source superseded by main; keep evidence |
Keep; no wholesale cherry-pick |
| BuildTestEmbedded |
wip/heapowner5-before-paging-2026-10-02 |
642a2125c8e66aa580abcade2ffdfaeec73a4849 |
no PR |
Before-paging instrumented work-count control; keep comparison evidence |
Keep; no wholesale cherry-pick |
| BuildTestEmbedded |
wip/heapowner5-handoff-2026-10-02b |
eb53cfbe45d543725e9dd03a34869e7504171cd5 |
no PR |
Historical source/proof checkpoint; source superseded by main; keep evidence |
Keep; no wholesale cherry-pick |
| BuildTestEmbedded |
wip/heapowner6-handoff-2026-10-02b |
660258b31ca5a35a3dc3bb3ee3db975f09623ef3 |
no PR |
Historical source/proof checkpoint; source superseded by main; keep evidence |
Keep; no wholesale cherry-pick |
| BuildTestEmbedded |
read-back branch |
684fdf66dab7c87ce25b1cf9d448aa9cfbb701a9 |
https://github.com/CodexCoder21Organization/BuildTestEmbedded/pull/1202 |
Related snapshot read-back/terminal work |
MERGED; five checks SUCCESS; keep |
| BuildTestEmbedded |
recovery branch |
a05b6cfc21b7e894feb84bc2548189d4afbd6d83 |
https://github.com/CodexCoder21Organization/BuildTestEmbedded/pull/1207 |
Current recovery integration, another lane owns it |
OPEN; shards 2/4/build FAILURE; keep in own lane |
| BuildTestEmbedded |
paging sibling triage |
14e61634ef08fcde5ed8d1d5cb731952dab5a247 |
no PR |
Earlier independent paging triage |
Keep; already read, not redone |
| BuildTestEmbedded |
recovery-decision sibling triage |
168a3f69633ff8bcf12b62296bb1d5d3617b77b0 |
no PR |
Earlier integration/gate decisions |
Keep; already read, not redone |
No PR/branch should be closed or deleted based on this lane. Useful original tests and fixes are already carried into main; keep historical red/green and control evidence. An isolated new test and build fixture are pushed. No production-source change, new PR, merge, enqueue, deploy, restart or artifact publication occurred here. Production state was not queried; no production-memory or live-version claim is made. The historical body reports no deployed/unmerged code in this effort; that remains historical context, not a new deployment verification.
Next steps
- Restore or diagnose the shared BuildTest workspace-upload path, then resume this handoff in a fresh invocation. Verify the upload/cancellation state before any cleanup. No production changes or infrastructure operations were authorized to this lane.
- Claim and re-verify main and the refs below. Read the pushed resume.md and two review passes; keep the fixture and diagnostic work. Rebase before builds. Run the prescribed targeted paired case once with the bounded client, and watch a real dispatched run ID. A failed/canceled/unexecuted upload is no verdict.
- If both cases complete intact under 128 MiB, preserve the permanent proof, open a why-first main PR, verify all required checks and recommend completion only after supervisor merge. If the executed tail fails, record the measured retaining owner and dump evidence before fixing it. If that owner fix is large, checkpoint the proven reproducer as the scope permits. Moving row payloads while retaining an unbounded key index does not establish a general bounded working set.
- Any new disk owner must preserve latest-per-key ordering, tombstones, archive filtering, generation cleanup and restart behavior through public-API tests. Do not change heap/timeouts, reduce counts, weaken tests, add retries or change sibling PRs. The supervisor alone reviews, merges, enqueues, deploys and completes handoffs.
Operational knowledge
Export PATH=/code/ws/bin:$PATH in every shell. The repo runner now honors its pinned JVM coursier launcher, so no shim was needed for scripts/test.bash --help. Use remote targeted execution; no full local suite or large local jar builds on this shared host. No timeout/heap increase, reduced count, test weakening, retry, fallback or spinner is permitted. Every child/client/watcher has a bounded terminal path; stop all owned processes before final report. No deploy or artifact publication occurred in this invocation; no production-memory/version claim is made. Full experiment and invariant table: https://github.com/CodexCoder21Organization/BuildTestEmbedded/blob/wip/L14-distinct-rule-startup-heap-20261004/incident-notes/L14-distinct-rule-startup-heap/experiment.md.
Current gate and salvage
BLOCKED_INFRA. Keep this handoff open: the distinct-rule constructor bound remains unproven. No new PR exists and required CI/full-suite gates were not run. Do not call this READY_FOR_MERGE or PROPOSE_COMPLETE. Keep the current isolated fixture, streaming diagnostic helper and durable evidence; do not discard them because the transport did not execute them. Keep every historical branch as comparison/source evidence; the useful original constructor/source-loss tests and paging implementation already survive on main. No PR/branch closing is recommended. The recovery PR remains owned by another lane.
Report-challenge tool was not invoked because its automatic enqueue/merge conflicts with this lane's prohibition. Exact workspace-upload and ambiguous handoff-update observations are in the pushed incident notes; supervisor may record them through the authorized central challenge process. The earlier ambiguous handoff update was confirmed applied by read-back.