Skip to content

Commit 31a5cd6

Browse files
committed
docs(board): relocate the CI test-job debuginfo addendum to a prepended entry
Append-only board-hygiene fix (CodeRabbit #512 Major, deliberately deferred from the code-fix PR): the 2026-06-16 "test job hit the same cliff" note was inserted mid-entry inside TD-CI-COVERAGE-MOLD-1, violating the prepend-new-entries rule. Relocated verbatim (content preserved) to a new prepended dated entry TD-CI-TEST-JOB-DEBUGINFO0 at the top of Open Debt, cross-referencing the coverage-job origin it extends. The original entry keeps only an updatable **Status (2026-06-16):** pointer line (the allowed in-place edit). No content lost; the fence-not-root-reduction caveat and the separate intervene_counterfactual deprecation item travel with it.
1 parent 1e23c41 commit 31a5cd6

1 file changed

Lines changed: 45 additions & 31 deletions

File tree

.claude/board/TECH_DEBT.md

Lines changed: 45 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,47 @@
1515

1616
## Open Debt
1717

18+
### TD-CI-TEST-JOB-DEBUGINFO0 — `test` job hit the same link cliff; `debuginfo=0` extended to it (2026-06-16)
19+
20+
**Open — fix applied (merged via #511's CI commit), CONFIRM on the next green
21+
`test` run.** Extends `TD-CI-COVERAGE-MOLD-1` from the coverage job to the plain
22+
`test` job. The cliff that entry called *"a 2/50 intermittent"* surfaced on the
23+
**`test`** job: `ld terminated with signal 7 [Bus error]` + an LLVM crash dump at
24+
the `cargo test --no-run` link step of `test_sql_query` / `intervene_counterfactual`.
25+
26+
Root cause is **link-footprint growth, not a logic break** (a layout break fails an
27+
assertion, not SIGBUS at link): **PR #507** (`0c6ef02c`, +4055/−1048 across
28+
`causal-edge` edge.rs/layout.rs — the ce64-v2 layout — and `cognitive-shader-driver`
29+
mailbox_soa.rs/driver.rs/planner_bridge.rs — MailboxSoaOwner + SurrealMailboxView,
30+
D-PG-6) grew the object-file set the lance-graph integration tests link, tipping the
31+
previously-marginal `test`-job link over the same disk/RSS ceiling. It surfaced on
32+
the first full-workspace CI run *after* #507 (the PRs between — #509 and
33+
perturbation-sim #511 — are root-`exclude`d so their CI never linked the post-#507
34+
tree; that is why it was "the first failing PR" yet not its fault).
35+
36+
**This is a FENCE, not a root reduction:** it does not shrink #507's legitimate
37+
codegen; it sheds the dead `debuginfo=1` weight (CI never opens a debugger) to buy
38+
headroom — the same b56bb2cd lever, now on the `test` job. **Fix:** job-level
39+
`RUSTFLAGS: "-C debuginfo=0 -C target-cpu=x86-64-v3"` on `test` (parity with
40+
`test-with-coverage`; mold already installed). Side effect: the `test` job gets its
41+
own Swatinem cache key (first run repopulates).
42+
43+
**Residual debt if it recurs after this:** the footprint is on a secular upward
44+
trend (every cognitive-layer PR adds codegen) — the durable fix is a bigger runner
45+
or splitting the integration-test link set, not repeatedly shaving flags.
46+
**Separately tracked latent item:** #507 left `intervene_counterfactual.rs:133/165`
47+
calling the **deprecated** `CausalEdge64::inference_type()` (the consumer-migration
48+
commit `8131c480` lives on the unmerged `claude/continue-ndarray-x0Oaw`) — that
49+
WARNS, does not fail (v1 default routes through the canonical mapping per
50+
I-LEGACY-API-FEATURE-GATED).
51+
52+
Cross-ref: `TD-CI-COVERAGE-MOLD-1` (the coverage-job origin this extends);
53+
`.github/workflows/rust-test.yml` (now both jobs at `debuginfo=0`); PR #507
54+
(`0c6ef02c`); `claude/continue-ndarray-x0Oaw` (the pending ce64-v2 consumer
55+
migration). *(Relocated 2026-06-16 from an inline addendum inside
56+
`TD-CI-COVERAGE-MOLD-1` to this prepended entry, per the append-only board-hygiene
57+
rule — CodeRabbit #512 review.)*
58+
1859
### TD-CAUSAL-EDGE-LINT — `causal-edge` crate-wide pre-existing clippy (15) + fmt drift (2026-06-15)
1960

2061
**Surfaced by** fixing the long-standing `test_build_fast` red (2026-06-15, this commit: `tables.rs:144` `<``<=`, the `c_levels=1` 256 KB floor — test now **48/48 green**). With the test green, `cargo clippy --manifest-path crates/causal-edge/Cargo.toml --lib -- -D warnings` still fails with **15 errors** (edge.rs `to_mantissa`/`from_mantissa`/`plasticity` — match-arm + needless-block lints) and `cargo fmt --check` shows **crate-wide drift** (edge.rs, v2_layout_tests.rs — arm spacing, long `assert_eq!` lines, nested if/else). **Pre-existing, NOT from the test-bound fix** (one line, tables.rs, fmt-clean). **CI-invisible**`causal-edge` is not a lance-graph workspace member, so the workspace gate never clippy/fmt-checks it (same class as helix `probe_mantissa_fill`).
@@ -147,37 +188,10 @@ timing-race hypothesis (read the actual `cargo llvm-cov` log with a scoped token
147188
Cross-ref: `.github/workflows/rust-test.yml` (test job mold step vs coverage job);
148189
`bindspace-singleton-to-mailbox-soa-v1` (the migration this is NOT).
149190

150-
**2026-06-16 addendum — the `test` job now hits the SAME cliff; fix extended to
151-
it (branch `claude/ci-test-job-debuginfo0`).** The cliff this entry called out as
152-
*"a 2/50 intermittent"* on the coverage job has now surfaced on the **plain
153-
`test`** job: `ld terminated with signal 7 [Bus error]` + an LLVM crash dump at
154-
the `cargo test --no-run` link step of `test_sql_query` / `intervene_counterfactual`.
155-
Root-caused to a **link-footprint growth, not a logic break** (a layout break would
156-
fail an assertion, not SIGBUS at link): **PR #507** (`0c6ef02c`, +4055/−1048 across
157-
`causal-edge` edge.rs/layout.rs — the ce64-v2 layout — and `cognitive-shader-driver`
158-
mailbox_soa.rs/driver.rs/planner_bridge.rs — MailboxSoaOwner + SurrealMailboxView,
159-
D-PG-6) grew the object-file set linked by the lance-graph integration tests enough
160-
to tip the previously-marginal `test`-job link over the same disk/RSS ceiling. It
161-
surfaced on the first full-workspace CI run *after* #507 (the two PRs between, #509
162-
and the perturbation-sim #511, are root-`exclude`d so their CI never linked the
163-
post-#507 tree — which is why this is "the first failing PR" yet not its fault).
164-
**This is a FENCE, not a root reduction:** it does not shrink #507's legitimate
165-
codegen; it removes the dead `debuginfo=1` weight (CI never opens a debugger) to
166-
buy headroom — exactly the b56bb2cd lever, now applied to the `test` job. **Fix:**
167-
job-level `RUSTFLAGS: "-C debuginfo=0 -C target-cpu=x86-64-v3"` on `test` (parity
168-
with `test-with-coverage`; mold already installed). Side effect: the `test` job
169-
gets its own Swatinem cache key (first run repopulates). **Confirm** on the next
170-
green `test` run. **Residual debt if it recurs after this:** the footprint is on a
171-
secular upward trend (every cognitive-layer PR adds codegen) — the durable fix is a
172-
bigger runner or splitting the integration-test link set, not repeatedly shaving
173-
flags. Separately, #507 left `intervene_counterfactual.rs:133/165` calling the
174-
**deprecated** `CausalEdge64::inference_type()` (the consumer-migration commit
175-
`8131c480` lives on the unmerged `claude/continue-ndarray-x0Oaw`) — that WARNS, does
176-
not fail (v1 default routes through the canonical mapping per I-LEGACY-API-FEATURE-
177-
GATED); tracked here as a separate latent item, not fixed on this CI branch.
178-
Cross-ref: `.github/workflows/rust-test.yml` (now both jobs at `debuginfo=0`);
179-
PR #507 (`0c6ef02c`); `claude/continue-ndarray-x0Oaw` (the pending ce64-v2
180-
consumer migration).
191+
**Status (2026-06-16):** the `test` job has since hit the SAME cliff and the
192+
`debuginfo=0` fix was extended to it — relocated to the prepended dated entry
193+
**"CI `test`-job `debuginfo=0`"** at the top of Open Debt (kept there for
194+
append-only hygiene rather than inline here).
181195

182196
### TD-UNBUNDLE-FROM-1 — `unbundle_from` is NOT the inverse of `bundle_into` (2026-06-07)
183197

0 commit comments

Comments
 (0)