Repository navigation
Description
Problem
cargo check --profile ci-check --all-targets for pkgs/id fails on clean main: several integration tests construct ChainExt with a struct literal that is missing the checkpoint field added for #3794 (PR #4627, merged 2026-11-03).
Evidence (clean main, laptop, 2026-11-03)
Base: c0e9d059a (worktree from origin/main, no local changes). Both a default-linker run and a mold run hit the identical errors — the failure is linker-independent and pre-existing:
error[E0063]: missing field `checkpoint` in initializer of `ChainExt`
--> tests/search.rs:84:19
error[E0063]: missing field `checkpoint` in initializer of `ChainExt`
--> tests/voiding_scenarios.rs:88:19
error: could not compile `id` (test "search") due to 2 previous errors
error: could not compile `id` (test "crash") due to 1 previous error
error: could not compile `id` (test "event_store_properties") due to 4 previous errors
pkgs/id/src/chain.rs — ChainExt now ends with:
pub checkpoint: Option<SessionCheckpoint>, // #3794 session checkpoint bodybut literals such as pkgs/id/tests/search.rs (document(), tag_ext()) list kind/group/after/tag/document/removes/note/link and stop there — no checkpoint: None, and no ..Default::default() (the struct has no Default impl in use at those sites).
Impact
- Any
--all-targetscheck/test build ofpkgs/idfails on main until the literals are updated. - It blocks the pkgs/id: build-time review — runtime performance first, then build time (cold check build ~16 min, tests run 12 s) #3195 phase-3 mold measurement (queue task 5375): cold check-build timings cannot be taken against a tree that does not compile.
Done when
- Every
ChainExtliteral inpkgs/id/tests(and any other crate/test target) suppliescheckpoint(or the struct gains a constructor/Default the literals use), andcargo check --profile ci-check --all-targetspasses on main. - A quick grep audit for other literal sites missing the field is part of the fix (the compiler only reports the targets it reaches first).
Found by: queue worker lane I, task 5375 (#3195 phase 3), 2026-11-03.
Acceptance criteria
- Every
ChainExtliteral constructed inpkgs/idtests supplies the fields required by the id: protocol v1 phase 1 — session header + segment checkpoint event kind (#2036) #3794 chain contract (no missing-field compile/test failures). pkgs/idtest suite passes in CI with the updated literals.- No production (non-test) behavior changes unless a literal exposes a real contract gap, which is then called out on this issue.
Activity
dezren39 commentedon Nov 3, 2026
Intake review
Related: see the issue body and its linked references; no merged PR was found that resolves this issue at intake time (checked at fleet-monitor run 2026-11-03 04:12 CST).
Notes: Filed by a queue worker during task work on the #3794 chain contract. Test-only literal drift is the expected scope; if any literal cannot be completed without changing production types, that is a contract question — stop and note it here rather than widening the fix.
Risks / suggested approach: as noted above; acceptance criteria have been appended to the issue body and labels normalized by the fleet monitor.
🤖 Agent note · filed
dezren39 commentedon Nov 3, 2026
agent-note:v1
state: triaged (coverage pass)
Coverage pass 2026-11-03: reviewed in the fleet-wide per-issue pass (drift / overlap / already-handled / stale / blockers / ordering). Verdict: still live; queued in repo-health-code-pilot as triage at priority 40 (priority/normal). If this is already handled at current main, the triage closes it with evidence; if it needs splitting, the triage files the split.
Found via: coverage pass 2026-11-03
dezren39 commentedon Nov 3, 2026
Agent note — triage findings (OpenChamber scheduled lane)
repo-worker-code), lanec29174f1-48e0-4b13-b4ff-9b73ab67e9aborigin/maindda1def.pkgs/id/tests/search.rsstill buildsChainExtwithoutcheckpoint, and no file underpkgs/id/testssetscheckpoint: None. The onlycheckpoint:literals inpkgs/idare insrc/attestation.rs(lines 197 and 229), which are production code.ChainExt { ... }literals across 25 files underpkgs/id. The fix is a test-only mechanical change, addingcheckpoint: Noneto each literal, or giving the test helpers a constructor. Start with a compile-driven pass, then grep the rest, because the compiler reports only the first targets it reaches.dezren39 commentedon Nov 3, 2026
Agent note — picked up (OpenChamber scheduled lane)
repo-worker-code), lanec29174f1-48e0-4b13-b4ff-9b73ab67e9abrepo-health-code-pilotChainExttest literals for the new checkpoint field.