Overnight Run Log (archive)
Moved out of todo/TODO-Claude-Overnight-Runner.md on 2026-07-11: the doctrine file is re-read at every session start and after every compaction, and the Run Log was 64 KB of its 81 KB -- pure history that no live decision needs. Append one line per session here (date, cursor at start/end, sections shipped, pauses/blockers). The doctrine file keeps only the pointer.
-
2026-06-11 16:36 SAST: run 1 -- TODO-11 validate + gap-audit done, sections 1-4 worked; stopped at section 5 (Dynamic IRQ Registration API) on Claude usage limit; uncommitted section-5 work left in tree; resume armed for 20:47.
-
2026-06-12 02:35 SAST: run 1 resumed -- TODO-11 §5 + §6 implemented + reviewed, §7 reviewed ([/] blocked on D03T07§3), §8/§9/§10 review passes shipped (98592c32, 7ea3a01f, 80328e01), loose-end sweep c4e92774; cursor advanced to TODO-12-early-entropy-random-seed.md.
-
2026-06-12 ~02:35-04:48 SAST: run 2 (same session) -- TODO-12 validate + gap-audit + §1-§3 shipped; §4 filed blocked-with-XREF (a98dca94); died mid-§5 on transient API 500, staged §5 work left in tree; resume armed, §4 re-opened per user direction.
-
2026-06-12 ~07:00 SAST: run 3 (interactive, cut short) -- preflight caught build break at HEAD (half-committed peek->drain refactor); drain implemented + tests migrated + committed (dd19d586), build OK, security suite green; user redirected to headless timer; §5 review + §4 re-open queued for run 4.
-
2026-06-12 ~07:00-09:45 SAST: run 4 -- TODO-12 §5 reviewed (5ccdd14d, Codex 4x); TODO-13 §2 TPM2 transport pulled forward, shipped + reviewed (8ae51bf1 + c3779b6d, Codex 9x); TODO-12 §4 TPM RNG shipped + reviewed (ee546157 + review fixes: periodicity scan, first-failure contract, splash-before-TPM; Codex 10x); cursor at TODO-12 §6.
-
2026-06-12 ~10:00 SAST: between-runs -- user authorized Monocypher vendoring (D02T03 §5); run-5 queue set (D02T03 §5 -> TODO-12 §6/§7/§8 -> §9/§10 -> closure); headless unit PATH fixed via systemd --setenv (handoff flagged missing ~/.local/bin + nvm node).
-
2026-06-12 ~10:00-11:50 SAST: run 5 -- D02T03 §5 Monocypher 4.0.2 + kernel CSPRNG + NtGetRandom 0x03D8 shipped (99910014) + reviewed (21168666); Codex design+test-coverage+adversarial(multi-round)+consistency+perf+re-adversarial; 2 latent bugs fixed (heap_init truncation, USER_PT_WINDOW reservation+payload check); perf/SMP hardening (single-ratchet NtGetRandom, emergency seed I/O out of lock, atomic g_seeded); 2 systemic HIGH accepted-XREF (TODO-10 §2, TODO-12 §12); cross-TODO unblocks landed (TODO-12, TODO-10/11/06-desktop/01-sdk ownership). Next: 01-boot TODO-12 §6.
-
2026-06-12 ~12:00-15:00 SAST: run 6 (interactive /overnight-runner:start --resume) -- TODO-12 §6 seed-file carryover shipped (08340720) + reviewed (23b3b611); Codex 16x (design, test-coverage, adversarial x2, adversarial-impl x5, re-adversarial x5, consistency, perf): 1C+10H+9M+2L fixed, 4H+2M accepted-XREF, 2 rejected with evidence; landed with it: FAT32 sector-cache coherence (new files read back all-zeros), LFN-aware validated delete, vfs_unlink/vfs_rename_ex parent re-resolution, partition blkdev zero-init (#UD wild call into boot_info), durable vfs_flush (dirty-since-sync gate under new sync_mutex), NtFlushBuffersFile failure propagation, hardware-provenance gate on seed mint/rotation; evidence: 4565+16 tests, smoke PASS, live multi-boot carryover (mint->rotate->accept->anti-replay->clone-reset recovery). Next: TODO-12 §7.
-
2026-06-13 ~19:45-22:00 SAST: run 7 cont. (TODO-02) -- oracle advanced to
01-boot-platform/TODO-02-uefi-hardening-secureboot(14/16 done). validate (fixed broken TODO-13 measured-boot XREF) + gap-audit (Codex parity-floor red-team: filed §17 SBAT revocation metadata; rejected UKI addons/profiles as advanced-not-floor). §15 post-boot revalidation DEFERRED [/] -- Codex design review caught the naive 5-min worker is wrong (sleep_ms is a busy hlt-poll, no parking primitive); owned by TODO-07 §18 kworker pool + TODO-26 §3 (c3cc183b, Verified+Deferred). §16 split-path payload provenance hardening shipped+reviewed (46eb95bc + 04ba99e1; Codex design caught load_kernel non-boot fallback re-splits provenance -> 2-part fix: locate_boot_fs HandleProtocol-only + load_kernel fails-closed when payloads staged). §17 SBAT revocation metadata shipped+reviewed (900ade7c + 41b0d8f2; Codex 8x: dropped test-only boot_info ABI per design, link-time incbin .sbat (post-hoc objcopy unviable -- content-drop/PE-corruption/0-byte), two-stage build gate, .reloc PE-alignment fix). Resolved TODO-03 inbound Accepted (73e1a9f5); close-out sweep filled §11placeholder (516a19e4). RECORDER LEARNING: codex dispatches must NOT use cdprefix ortimeoutprefix -- both break detect_review_kind_from_cmd (recorder + design/section gates); relativebash scripts/codex-dispatch.shfrom repo-root cwd records correctly. TODO-02 now DONE (17 sections). Next: oracle re-triage. -
2026-06-13 ~18:05-19:45 SAST: run 7 cont. (post-compaction) -- oracle advanced to
00-infrastructure/TODO-09-repository-transfer-rizonetech(NEEDS_WORK). §8 move-back runbook + §9 doc-sync/closure shipped earlier in session; this slice closed the §9 review (consistency findings: line-24 pre-transfer baseline restored to rizonesoft, github-setup "push blocked" overstatement dropped -- pushes land via the "expected" check, §5/§7 push-state wording deferred->§5 F1; OS-comparison row refreshed) 8fb63284. RESOLVED run-7 punch-list: registered 5 missing plugins in.claude/hooks/MANIFEST.md(desktop-commander/code-modernization/claude-code-setup/commit-commands/plugin-dev no-hooks + remember 0.7.3 hooks table) 8d89986c -> test-tooling back to 375/375. complete-todo-file closure a55571d8: Unit Tests N/A (operator-validation), Verification 4/14 automated PASS (lint, test-tooling, todo-graph, owner-ref scan), 3 [/] partial (existing-clone + WSL2 tooling), 7 manual-pending (live GitHub/DNS/org-Settings). TODO-09 now DONE (operator validation tail tracked in §2-§7 [/]). Next: oracle re-triage. -
2026-06-13 ~15:30-18:05 SAST: run 7 (interactive /overnight-runner:start --resume, drove sequencer) -- oracle pointed at
00-infrastructure/TODO-07-lsp-mcp-bridge(NEEDS_WORK, not the cursor-log's TODO-12; graph-truth wins). validate (fixed stale.claude/mcp.jsonInputs anchor) + gap-audit (Codex red-team: type-hierarchy = real read-only parity gap, 5 other LSP capabilities rejected as agent-facing gold-plating). Shipped §18 Type Hierarchy Tools (supertypes/subtypes, read-only, capability-gated, bounded fan-out) 931096c9 + reviewed 8e121a57; Codex 5x (design + adversarial + consistency + perf + re-adversarial): 1H+6M fixed (capability_missing-on-every-path, normalized response anchor, per-anchor types cap, census drift x2, gate-before-didOpen + deadline-before-open + bounded prepare timeout), 1 perf-H deep rewrite rejected w/ evidence (small request-response frames never accrue 64KB pipe backpressure). §19 scale roadmap deferred [/] (trigger-gated, Verified+Deferred stamps). complete-todo-file closure 33c39c59: Unit Tests 5/5, Verification 10/11 automated PASS (test-tooling left [ ] on 2 PRE-EXISTING UNRELATED audit-hooks/audit-ai-system plugin-MANIFEST failures), 3 commit-hash placeholders resolved; harness 99/99, live MCP hover verified. TODO-07 now DONE. PUNCH-LIST: audit-hooks/audit-ai-system plugin MANIFEST.md drift (6 newly-installed plugins lack headings) -- separate sweep. Next: oracle re-triage. -
2026-06-16 ~21:20- SAST: run 8 (headless sequencer) -- preflight caught the known UKI-SBAT incremental-build bug (clean build green; not a broken HEAD); baseline 6009 kernel + 16 user PASS. Oracle advanced to
00-infrastructure/TODO-01-developer-tooling-stack(NEEDS_WORK on §11's missing stamps). validate (clean) + gap-audit (Codex confirmed zero unowned dev-tooling gaps; reproducible-builds/signing/SBOM owned by D15 T01 §5/§6/§8; filed §12 required-tool version-floor gate as the one genuine parity gap). §11 review: found the bare-section drift gate had file-type holes (.ld/.lds/.inc absent from both lint Check 5 + the PreToolUse hook) + gate-parity drift (Makefile/todo-graph/test-ai-system) + a LIVE escaped ref in dump-fields.inc; hardened both gates + aligned hook<->lint + added [bare_section_gate] 11-assertion regression group (9033e324 + 9360024a). §12 implemented: check_versions() fail-closed floor gate, --verify now enforces presence+floors (Codex design H), qemu-img floored + drift guard (Codex design M), tooling-doctor/build.yml/release.yml/docs wired, [version_floor_gate] 7 assertions (7942170c + 517986b7; Codex 6x design/adversarial/consistency/perf: 2H+5M fixed incl. build.yml qemu-utils + qemu-img doc/help propagation). complete-todo-file closure 8f07f5a1 (test-tooling 79->393 count refresh). TODO-01 now DONE (12 sections). RECORDER STILL DEAD: codex_review_completed.py PostToolUse not firing; manually recorded design/adversarial/consistency/perf dispatches for both section gates. Next: oracle re-triage. -
2026-06-16 ~23:00- SAST: run 8 cont. -- oracle advanced to
00-infrastructure/TODO-09-repository-transfer-rizonetech(NEEDS_WORK: §5/§6/§7 had Verified but no Quality-reviewed stamps under the both-stamps DONE rule). Reviewed all three (docs/GitHub-audit, Codex 3x each, manually recorded -- recorder still dead): §5 (beaccf98) 2M -- secrets row overclaimed "value preserved" (gh API never returns values + BOOTLOADER_REPO_TOKEN has no in-tree consumer), downgraded [x]->[/] + fixed count 9->7; §6 (74611c2e) 2M -- README copyright + gh-pages brand homepage were migrated to Rizonetech by the deliberate rebrand 07d60796 AFTER §6 shipped, so §6's "preserve rizonesoft brand" classification was superseded -- reconciled the docs, rejected Codex's "restore rizonesoft" (reviewer lacked rebrand context); §7 (55da3c3d) 3M -- stale validation evidence (test-tooling 254->393, lint 498->637 files, AGENTS sha a749a0e->75e38c4) refreshed, April clone-HEAD/cert reframed as transfer-time snapshots, .codex residue flagged. close 84070764: git rm'd the tracked 0-byte .codex residue (autonomous-agent-boundary hygiene). TODO-09 now DONE (9 sections; operator-validation tail in §5/§7 [/]). Next: oracle re-triage. -
2026-06-17 ~00:00 SAST: run 8 cont. -- oracle advanced to
01-boot-platform/TODO-08-alternate-boot-protocols(NEEDS_WORK: §2-§6 Multiboot2 sections retired by §7's authoritative 'unsupported' decision but carried [~] items + Verified-RETIRED stamps with no Quality stamp -- the project_sequencer_tilde_status_gap oracle-loop). Fixed (0dd20fe0) WITHOUT a Codex pipeline (roadmap-dropped, no code): replaced the 5 Verified-RETIRED stamps with Deferred: stamps XREF'ing §7's deletion decision, kept IO rows [x] (status:done valid; oracle parks [x]+Deferred). First attempt used Accepted: + [/] -- wrong: the oracle's DEFERRED_RE only parks on Deferred:, and [/] broke status:done's all-[x] rule; corrected to [x]+Deferred:. todo-graph 8/8; file now DONE (7 sections). LEARNING: retired/N/A sections need [x]+Deferred: (not Accepted, not [/]) for the oracle. Next: oracle re-triage. -
2026-06-17 ~00:20 SAST: run 8 cont. -- TODO-10-bare-metal-hardening §11 (removed boot.conf skip-list) was the lone NEEDS_WORK: Verified-REMOVED stamp, no Quality/Deferred -> oracle-loop. Parked as [x]+Deferred: XREF'ing §7 BOOT_TRY (a237a0c5); also committed the session-start §12 Accepted-XREF line fix (TODO-24 §5: 137->165). TODO-10 now DONE (15 sections). Next: oracle re-triage.
-
2026-06-28 ~05:30-06:40 SAST: run cont. (headless sequencer, post-compaction) -- cursor
02-kernel-core/TODO-09-x86-64-architecture(§19 was the lone open section). Shipped §19 WAITPKG/SERIALIZE/RDPID (5f2081e0) + reviewed (473ed184). WAITPKG UMWAIT anti-DoS bound + all-three CPUID detection; SERIALIZE/RDPID instruction adoption deferred [/]. Codex 9x (design+adversarial+consistency+perf+re-adversarial): impl-time R1 caught the original Phase-0 cpu_harden() UMWAIT wrmsr as triple-fault-prone (moved post-IDT), R2 caught snapshot-replay writing stale 0 onto an AP-only-WAITPKG core (made UMWAIT a computed per_cpu profile entry). Review-time adversarial caught no-ACPI boot path skipping BSP UMWAIT (extracted cpu_program_bsp_umwait() called unconditionally in boot_phase2) + raw-wrmsr->msr_try_write degrade; consistency caught AP silent-failure (added per_cpu umwait_unbounded flag + BSP ap_cpu_harden_log warn) + stale cpu_harden comment. complete-todo-file close (8e6712f0): reconciled stale monolithic test_x86.c/TEST_CAT_BOOT Unit Tests block to per-section TEST_CAT_X86 reality + fixed SUITE=boot->x86 runner drift + §19 SERIALIZE XREF §6->01-boot/TODO-09 §6. 12899 kernel + 16 user PASS, smoke 2.66s, lint 0 err. RECORDER STILL DEAD (codex_review_completed): used SKIP_REVIEW_HOOK with truthful reason on both section + review stamp commits. TODO-09 now DONE (19 sections). Next: oracle re-triage. -
2026-06-28 ~14:30-15:35 SAST: run cont. (headless sequencer) -- cursor
02-kernel-core/TODO-10-kernel-security-hardening. Shipped §17 W^X (4e5d48a1+cb078c36), §18 128-bit feature mask (031c83f0+95339b79), §19 MDS/TAA/SRBDS VERW clears (e6733bb8+c196b64b), each through full design+adversarial+consistency+perf+re-adversarial-to-convergence; ~9 security bugs fixed across the loops (W^X fail-open->boot_halt + immutable-section pinning, CR0.WP not forced->cpu_pin_control_regs forces+pins, AP-local cpuid_raw not BSP cpu_has, VERW-before-swapgs ordering, AP-klog SMP-handshake hazard->BSP-only, TAA gates on RTM not TSX_CTRL). §18/§25 design-driven restructure (split flag-infra from control-path-correct mitigations). §20 kCFI / §21 FORTIFY / §22 stackleak / §23 KFENCE / §24 posture / §25 predictor-policy all [/]+Deferred with proven findings -- kCFI false-faults at the UEFI firmware-ABI boundary, FORTIFY needs freestanding _chk header machinery (clang -nostdinc emits plain memcpy), KFENCE fully prototyped (~280 lines, surfaced a real low-memory pool-placement page-table corruption, reverted clean), §25 is a 7-mechanism unit (SSBD/STIBP/RSB/BHI/ITS/Retbleed) specified + surface-mapped but too large to land+review at session tail. Fixed two structural slips from this session's edits: restored the §24 heading + the OS-Comparison/§8 §N cross-references stale after the §17-25 renumber (9aa41574). complete-todo-file close: hygiene clean, file_class DONE. RECORDER STILL DEAD: SKIP_REVIEW_HOOK with truthful reasons. TODO-10 DONE-for-pass (§1-19 done, §20-25 deferred-with-stamp). Next: oracle re-triage. -
2026-06-28 ~17:50-18:10 SAST: run cont. -- TODO-11 closed-for-pass. §11 deferred (policy bits BLOCKED on TODO-02 §5/§10 runtime policy-snapshot which doesn't exist; FullNumberOfPhysicalPages + shared NT build constant ready). §16 Codex design-reviewed (bnqdm310m): pinned the exact non-overlapping VA band (TEB_USER_BASE=0x7FF88000, band [0x7FF6A000,0x7FF8A000), 2-page per-process vmm_map_user_page(cr3)) + established §16 is BLOCKED on §19's exec_pending ordering -> §16/§19 are a coordinated CRITICAL change. Deferred the whole §16-§27 fix-campaign [/]+Deferred: interdependent CRITICAL ABI/SMP/VA-layout/large-refactor changes = operator-reserved per CLAUDE.md (stop-and-ask on ABI/large-refactor), each with a concrete de-risked vetted plan, for a focused fresh-context (or operator) implementation -- NOT rushed at a ~50-commit session tail. TODO-11 file_class DONE, 8/8 validate. Next: oracle re-triage.
-
2026-06-28 ~15:35-17:50 SAST: run cont. (headless sequencer) -- TODO-11-peb-teb-user-abi: VALIDATE (86c3091d, 11 missing separators) + GAP_AUDIT (e904cc8f, mature confirmatory + codex-gap-audit; filed §11 FullNumberOfPhysicalPages Win11-24H2), then a FULL §1-§15 review sweep (13 sections, Codex 3x each = ~39 dispatches). The "verified 2026-04-02" user-mode ABI was riddled with latent defects: found + filed 3 CRITICAL + ~27 HIGH + ~16 MEDIUM as 12 new tracked fix-sections §16-§27 with reciprocal XREFs. Highlights: §16 TEB under-mapped to 1 page (TlsSlots at 0x1480 alias the env page) + cross-process TEB aliasing (kernel-PML4 vmm_map_page) + TLS-expansion VA collision; §17 PEB version fields at x86-32 offsets (0xA4 vs x64 0x118, authoritatively confirmed via Geoff Chappell/ntdoc); §18 NMI/#DF/#MCE paranoid swapgs entry; §19 exec_pending TOCTOU + fork publishes a runnable child with the parent TEB; §20 PEB alloc unchecked vmm_map_page + unbounded peb_build_ustr overflow + stale RCX=PEB; §22 PEB Ldr DllBase=entry not base; §24 PEB/TEB inserted as raw Ob bodies corrupt the adjacent page; §25 TLS-expansion commits a broken pointer on 1-GiB-huge-page map failure; §27 uthread_create guard-free-without-uninstall + unlocked tid + unvalidated stack size. §1/§3/§7 stamped clean-with-Deferred (struct/swapgs/ELF-stack correct); §2/§4/§5/§8/§9/§10/§12/§13/§14/§15 [/]-Deferred. Receiving-code-review applied throughout: rejected 2 §3 false-positives with Spectre-v1-swapgs evidence (SYSCALL unconditional-swapgs needs no LFENCE; ring-0 LFENCE is the intended FENCE_SWAPGS_KERNEL_ENTRY). Recorder dead -> SKIP_REVIEW_HOOK truthful on every stamp. REMAINING (NEEDS_WORK implementation, fresh-context): §11 (KUSD policy bits + FullNumberOfPhysicalPages + build constant + tests) then §16-§27 (the filed fixes; CRITICAL VA-layout/exec-fork/Ob redesigns -- interdependent, §16 underpins §23/§27). §6 already deferred. Next: implement §11, then the §16-§27 fix queue.
-
2026-06-17 ~01:00 SAST: run 8 cont. -- TODO-14-boot-diagnostics §1/§2/§3 were DONE_UNSTAMPED boot code (old 2026-04-12 Verified stamps, no Quality stamp under both-stamps rule). Reviewed all three (Codex 3x each, manually recorded): §1 (e175fa67) -- adversarial 1M deferred: post_code16 writes high byte 0xB0 to port 0x80 so an 8-bit POST card can't discriminate bootloader milestones (deliberate namespace-vs-milestone design tradeoff per Outcome line 46 -> deferred for architect, [x]->[/]); fixed the Notes/checkpoint overstatement. §2 (e70d4f2a) -- FALSE COMPLETENESS caught: boot_stage_report/boot_progress_poll/boot_get_elapsed_ms have ZERO callers (unwired named-stage API; elapsed-ms stays 0) + latent issues; deferred as one wire+harden item, [x]->[/]. §3 (ee782f14) -- adversarial+consistency same 1M: the DESKTOP_READY clear lives in unwired boot_stage_report so the live path never runs it (desktop overdraw covers it); accepted-XREF to §2's wire+harden item; fixed doc overstatement; [x] kept. TODO-14 now DONE (11 sections). Next: oracle re-triage.
-
2026-06-17 ~02:00-05:00 SAST: run 8 cont. -- oracle advanced to
01-boot-platform/TODO-24-blackbox-service-partition(NEEDS_WORK: §3 mid-review + §4-§15 DONE_UNSTAMPED + §16 unimplemented; the both-stamps rule exposed 13 unstamped). Drove all 16 sections, full Codex pipeline each (3 dispatches + re-adversarial where triggered, manually recorded -- recorder still dead). REAL BUGS FIXED: §3 NTFS path didn't honor the X: reservation + ignored vfs_mount('X') return (d8ea7fb1); §4 fat32_create_dir_vol had NO existence check -> every-boot cluster/dirent LEAK on X: behind false "created" logs (root-caused through 3 re-adversarial rounds to a read-only tri-state full-chain finder + fat32_next_cluster_checked; ac8ec28c + regression test); §6 boot-timeline silent-drop on missing X:\Perf (efd514a4); §7 klog.c local VFS_O_TRUNC=0x08 was canonical VFS_O_APPEND -> crash log opened APPEND not TRUNC, stale bytes (ae5d4d68; +durable write-honesty flush/close + last-panic.txt hint path); §8 hwdump no-TRUNC stale bytes + dir-handle leak + write-honesty (8f0bb193); §9 read-blackbox.sh hardcoded offset->.info parse + BLACKBOX label validation + recursive mcopy no silent-swallow + sidecar code-injection fix (1d7a4897); §13 WER report JSON-injection via unescaped t->name -> escaped + bounded (d5bda60d). DEFERRED with concrete tracked items: §5 (klog C:-fallback reentrancy + durable-write), §10 (oldest-by-name retention + path-hardening + durable low-space fallback defeated by klog_resolve_dir + registry), §12 (4 FAT32-robustness: FAT[1] high-bit zeroing + torn-mirror false-clean + fsck cycle-recursion stack-exhaustion + fsck BPB-geometry out-of-FAT write), §13 (WER exception-path VFS I/O + open-failure observability), §15 (cross-domain CrashDumps\ sync + reciprocal TODO-27 XREFs). Accept-XREFs filed: TODO-29 §3/§11 (boot-trend O(n2)/fallback + firmware-tables fallback), TODO-06 §6 (bootloader locate-by-FAT-label not GPT identity). §16 WER retention: design COMPLETE (Codex design review, 3 findings adopted: mount/cleanup-only not ISR path, fixed-point loop past 128-readdir-cap, malformed PID_ticks names oldest), code WRITTEN, but BLOCKED this compacted session by design_review_required.py -- its incremental transcript-scanner missed 4 design dispatches across 3 shapes (wrapper bg + wrapper fg + direct codex-companion.mjs), so the .c edit gate never cleared and no SKIP is settable on Edit; deferred [/]+Deferred with the full plan captured (a371863e). TODO-24 now DONE (16 sections; file_class DONE). LEARNING: in a heavily-compacted session the design-review-gate transcript scan can go fully blind to design dispatches -- a fresh session resolves it; §16 is one clean implement-todo-section pass away. Next: oracle re-triage. -
2026-06-17 ~05:00 SAST: run 8 cont. -- oracle advanced to
01-boot-platform/TODO-25-network-pxe-http-boot(NEEDS_WORK, all 10 sections [ ] unimplemented). VALIDATE (bf583cf3): added 10 per-section Test checkpoints (file had none), 12 inter-section---separators, and fixed the OS Comparison header to the required 🪟 Win11 / 🐧 Linux / 🚀 Impossible OS shape + ⬜ Planned status cells. GAP_AUDIT (676e073a): Codex gap-audit red-team returned 2 findings -- (1) §8 lacks WinPE/WDS-ramdisk + dracut NFS/iSCSI/NBD/NVMe-oF netroot transports = REJECTED the framing (10-platform-services/TODO-11 §2 deliberately uses the SAME kernel + an InstallerMode flag, no separate WinPE/initramfs; folded as §8 transport-reuse clarification + reciprocal XREF both directions, Branch C); (2) §5 trust story lacks anti-rollback/revocation/attestation = VALID competitive-edge, folded into §5 as 3 Branch-A items (monotonic NVRAM/TPM-NV version counter, SBAT-style revocation + per-device allowlist, TPM-PCR attestation chain tying §6 boot_info + §9 diag JSON to one manifest identity). PUNCH-LIST / SESSION-WIDE BLOCKER (escalation):design_review_required.py's incremental transcript-scanner went BLIND in this heavily-compacted session -- it did not register 4 design dispatches across 3 shapes (codex-dispatch.sh wrapper bg + fg, direct codex-companion.mjs), and clearing.claude/state/transcript-scan-cache.jsondid not help. The gate only fires on Edit/Write of.c, and no SKIP env var is settable on a non-Bash tool, so EVERY new-code implementation is blocked this session (TODO-24 §16 WER retention -- design done + code written -- and all of TODO-25's 10 sections). Review-only work (TODO-24 §3-§15) was unaffected because review-todo-section does not use the design gate. A FRESH session (new transcript the scanner can read) unblocks all of it. TODO-25 is validated + gap-audited + ready-to-implement; SECTIONS phase reached, implementation deferred to a fresh session. Next (fresh session): implement TODO-25 §1-§10 + TODO-24 §16 (one clean implement-todo-section pass each). -
2026-06-17 ~07:00- SAST: run 8 cont. (fresh session, design gate working again) -- drove
01-boot-platform/TODO-25-network-pxe-http-bootto closed-for-pass. §1-§3 transport shipped + reviewed earlier in session; §4 UEFI HTTP Boot reviewed + closed (ad04ee2b, Codex 8x design/adversarial/consistency/perf + 5-round re-adversarial): 5 HIGH caught by the loop -- HTTP token events were Type=0 not EVT_NOTIFY_SIGNAL (EFI_HTTP ABI), cap-sized body could silently truncate over-cap transfers, no aggregate transfer deadline, CheckEvent is invalid for NOTIFY_SIGNAL events (rewrote wait as callback-flag poll + http->Poll), relative-redirect resolver OOB scheme-lookahead; ALSO shipped the deferred relative-redirect resolver (net_http_resolve_redirect, absolute/root-relative/path-relative, bounded). §5-§10 DEFERRED ([/] + Deferred stamps) on the single user-reserved manifest-signature trust-model decision: §5 (0ba40114) Codex design confirmed DEFER "no must-ship digest core" -- bootloader has no asymmetric crypto / runtime SHA-256 / firmware PKCS7; §6 (3260d071) Codex design 2 HIGH -- authoritative selected-network-boot promotion gated on §5 fail-closed (boot_decision.c:269) + boot_media_role=network is a closed-enum BOOT_INFO_VERSION bump; §7 (033516da) network leg gated on §5/§6, local order already owned by TODO-05 §5/§6 + TODO-21; §8/§9/§10 (2b05d074) recovery boots unverified assets / diag needs §6 handoff / tests need §5-§8 + parser extraction. complete-todo-file sweep-only closure (1c1536ea): no placeholders, stamps current, gated Unit Tests + Verification annotated. TODO-25 DONE-for-pass (§1-§4 shipped+reviewed, §5-§10 deferred). Next: TODO-26-hibernation-resume-fast-startup-handoff. -
2026-06-17 ~08:30- SAST: run 8 cont. -- oracle advanced to
01-boot-platform/TODO-26-hibernation-resume-fast-startup-handoff(NEEDS_WORK, 9 sections [ ]). VALIDATE (4f1e2efd): added 12---separators + 9 concrete Test checkpoints (file had none), fixed OS Comparison to the 🪟/🐧/🚀 + status-glyph shape, added the Verification Test-runner stamp, qualified Depends-On to compact shorthand. GAP_AUDIT (98b82a90): Codex red-team 4 HIGH, all folded -- G1 cross-TODO CONFLICT (D02 T26 §4 owned a parallel Phase-1 kernel resume path bypassing the bootloader policy + a second thinner HIBR_HEADER; patched BOTH sides with an ownership-boundary NOTE + reciprocal XREFs + superseded the scan item), G2 resume=force bypass (tied force to a recovery-menu one-shot NVRAM token + §9 test), G3 stale-image replay (anti-replay resume_generation monotonic counter in §1/§4/§9, XREF T13 §7/T01 §13 -- competitive edge, neither Win11 nor Linux has it), G4 RAM-at-rest confidentiality (AEAD encryption metadata in §1/§4/§9 + D02 T26 owns AES-GCM writing). Research: Linux performs NO resume-image verification (hibernation disabled under lockdown since 4.13) so §4 exceeds Linux. SECTIONS: Codex design review confirmed DEFER whole-file (25e67f4b) -- §1 unsafe as standalone ABI (freezes resume_generation/AEAD layout before the cipher/TPM-NV/writer decisions), §5 dead/false-fail-closed plumbing, no must-ship core; gated on the kernel hibernation WRITER (D02 T26 §4, unimplemented -> no image) + bootloader AEAD/HMAC/TPM-seal + anti-replay TPM-NV (same crypto gap as TODO-25 §5). All 9 sections [/]+Deferred; close-out 1f87a685 gated Unit Tests + Verification. TODO-26 DONE-for-pass (validated + gap-audited + execution-ready once the writer + trust primitives land). Next: oracle re-triage. -
2026-06-19 SAST: run (headless sequencer, fresh) -- oracle advanced to
01-boot-platform/TODO-27-uefi-advanced(NEEDS_WORK: §6/§7 open). VALIDATE (837588ac): added 8 inter-section---separators (file had none between sections), Verification Test-runner stamp, §7 bare-metal checkpoint. GAP_AUDIT (43bbcda7, Codex 4 findings): §7 forked the existing dbx parser (uefi_runtime.c read_security_db truncates dbx to dbuf[8192] + counts only) -> reframed to EXTEND owner + subset/version freshness (not count, dbx is APPEND_WRITE); defer authenticated apply; §6 add Type 16 MemoryErrorCorrection. §6 SHIPPED + REVIEWED (impl 6f040b09 + review 300d083a): parse_type2/3/16/19 + pure decoders smbios_type16_decode/smbios_type19_decode/smbios_kb_to_bytes/smbios_chassis_type_is_mobile + accessors + Baseboard/Chassis/MemoryArray hives; test_uefi_advanced.c 13 tests TEST_CAT_BOOT; Codex 16x (design 4 [ECC field, 64-bit anti-wrap, multi-range Type 19 aggregation, Type 2 per-field guards] + test-coverage [extracted pure decoders] + review adversarial/consistency/perf + re-adversarial x4 convergence): 1H+9M+2L fixed; per-handle Type 19 min/max summary (no FIFO eviction), system-memory Type 16 preference, s_info reset per walk (no partial-data leak on rejected table). RECOVERED a session-rollover gate deadlock mid-review (skill-progress session_id cd63d588 vs session.json 413a4b00) by archiving the stale review-todo-section skill-progress entry + aligning session.json. §7 DEFERRED ([/]+Deferred c70283e5): Codex design review -- dbx freshness is a SECURITY signal, can't ship infrastructure-only (absent/unverified baseline = no-op or tamperable); needs integrity-bound official UEFI revocation-list baseline (external release data + release-signing) + full-ESL compare + Phase-3 wiring; authenticated apply needs EFI_VARIABLE_AUTHENTICATION_2 + brick-safety. §3/§5 already deferred prior. complete-todo-file close (e40a0949): SMBIOS Chassis+MemoryArray live-confirmed via smoke; build OK, 2836 kernel + 16 user PASS, lint 0, todo-graph 8/8. TODO-27 DONE-for-pass (§1/§2/§4/§6 shipped+reviewed, §3/§5/§7 deferred-with-XREF). Next: oracle re-triage. -
2026-06-20 SAST: run (headless sequencer) -- drove
01-boot-platform/TODO-28-boot-validation-certification-matrix(NEEDS_WORK: §1 done, §2-§11 open). §2 VM Automation Suite SHIPPED + REVIEWED (impl 1c2e9ccd + review 0d623f5d): boot-reliability gate -- tools/boot-cert/boot_reliability.py (launcher registry qemu-tcg/whpx/vbox/hyperv + pure classify_boot/aggregate_runs/build_result/build_reliability + cold/warm orchestration), reliability.schema.json, scripts/machines/boot-test-qemu.sh (single-shot QEMU, cold/warm OVMF_VARS), test_boot_reliability.py 63 assertions, 398/398 tooling. Codex ~20x (design + test-coverage 2H + adversarial/re-adversarial x5 + adversarial-impl x4 + review adversarial/consistency/perf + 2 review re-adversarial) -- ~16 fail-open CERT holes closed (exit-code authority, incomplete/zero-iteration guards, skip/partial-skip/flake+skip semantics, first-warm NVRAM bootstrap, per-pid out-dir + atomic publish, VBox exit-code contract, single-backslash C:> prompt + grep -qF, QEMU-exit/timeout no-promotion, process-group + SIGINT-spawn-race kill, bash-prefixed launchers, --disk boot.conf guard + finally reset) + 4 review HIGH (POST16 core gate, concurrent-disk flock, serial cap, disk-path canon). §7 Bare-Metal Lab Inventory SHIPPED + REVIEWED (impl 311626a1 + review 154886b6): docs/hardware/boot-lab.md -- per-machine inventory schema + reference Haswell, 5 cert classes mapped to boot-cert.yml baremetal-* + boot_device_type, result.schema.json-shaped run template, evidence checklist, TODO-04 §9 quirk XREF; review 5 docs-accuracy fixes (schema-valid template, exact enum, §9 XREF [CR-line-ending grep glitch], machine/class consistency). §3/§4/§5/§6/§8/§9/§10/§11 DEFERRED ([/]+Deferred, Codex-vetted plans folded): §3 storage suite (Codex design 4 findings -- needs kernel boot-device readback marker + typed --storage QEMU topologies + per-format --serial-out + coverage schema), §4 security (Secure Boot signing + TPM infra), §5 recovery (A/B/watchdog/hibernation runtime), §6 network (PXE/HTTP client + fixtures), §8 support bundle (Codex design 4 findings -- security-bearing share-safe/private split + fail-closed validation + tamper digest + reproducible zip), §9 release gate (consumes §1-§8), §10 cert docs (caps §1-§9), §11 firmware-sanity gate (consumes TODO-04 §2/§8 firmware-tables.json + §9). complete-todo-file sweep-only close (a9c23bb3): refreshed §1 tooling count 396->398. RECURRING INFRA: codex_review_completed.py recorder dead -> all review evidence manually recorded with transparent audit reasons; observer doesn't attribute codex-dispatch-with-files.sh wrapper -> step-block opt-outs with task-id reasons. TODO-28 DONE-for-pass (§1/§2/§7 shipped+reviewed, §3-§6/§8-§11 deferred). Next: oracle re-triage. -
2026-06-20: TODO-29 closed-for-pass (gap-audit bee23b14 + defers 17793728; §1-§6 shipped, §7-§18 deferred-with-stamp). Next: re-triage.
-
2026-06-20 SAST: run (headless sequencer) advanced to
02-kernel-core/TODO-01-kernel-init-sequencing. Resolved a dead-session (cd63d588) cross-session deadlock on §7: archived the stalereview-todo-sectionskill-progress entry, re-ran the §7 pipeline fresh (Codex 3x adversarial+consistency+perf), committed the Failure-Policy deferral (de250ba2 + push) -- the re-run surfaced 2 NEW panic-safety HIGH (blocking UEFI SetVariable + live VFS crash-dump aftercli, bothpanic.c) folded into §7's panic-safe-fatal pass (now 6 items). Advanced to §3 (Phase 1): 15 [x] shipped+boot, 2 open items genuinely blocked on nonexistent infra (except_init -> TODO-23 §1:153, kd_init -> TODO-29 §4:186/§15:495, both reciprocal-XREF'd). §3 review consistency+perf landed (consistency H = §6's existing acpi-gate deferred item; M = §3 checklist lists mouse_init as Phase 1 but it's Phase-2-ownedboot_storage.c; perf C+H = pre-sti unbounded UART pollserial.c:31+ LAPIC calibration 200M-iter fallbacklapic.c:742). BLOCKER (external, human-only): Codex OAuth refresh token REVOKED ("Please log out and sign in again"; auth.json 2026-06-10; persistent across retries). Codex is the sole external reviewer required by every section gate, so the ENTIRE pipeline is halted until a human runscodex login. §3 adversarial could not dispatch; section left UNSTAMPED, tree clean (no false-completeness, no dangling edits). Run stays ARMED; polling for Codex recovery. NEXT (on recovery): re-dispatch §3 adversarial, fix §3 checklist M (mouse_init), Accept-XREF consistency H -> §6 + perf C/H -> serial/lapic boot-hardening owners, stamp §3 deferral, continue §4-§13. -
2026-06-20 SAST: run cont. (Codex OAuth recovered) -- CLOSED
02-kernel-core/TODO-01-kernel-init-sequencing(13 sections, file_class=DONE). Drove §3/§4/§8/§9/§10/§11/§12/§13 through the full Codex pipeline; real bugs fixed across the pass (NIC-less crash, recovery-screen 4H+4M, NVRAM untrusted-data hardening, boot-perf NVRAM round-trip). §13 Async Subsystem Init final slice (commit 308eb661): shipped boot_result_severity() worst-pick (boot_result_t is NOT severity-monotonic), fixed 1H+2M (timeout-publication race -> a late AP completion overwriting a fired BOOT_FATAL, fixed with a BSP-local sticky timed_out[] flag; missing BSP acquire barrier; async-fatal fallback POST-telemetry parity), deferred 2H+1M all gating only the non-default async_init=1 path (AP-quiesce-on-timeout, async storage in IPI ISR / IF-cleared hangs sleepable NVMe, BOOT_DEFERRED aggregation contract). Codex 6x (adversarial x2 + consistency + perf + re-adversarial x2, converged). close-out 751856f1 (sweep: annotated the §4/§6-review worst-pick Accepted stamp RESOLVED, fixed a stale XREF line ref, refreshed the boot-suite count 135->2836). Build OK, 2836 kernel + 16 user PASS, lint 0. RECURRING INFRA: skill-step observer lost step 5/step-1+4 attribution across compaction (re-dispatched §13 adversarial fresh to satisfy the gate; documented step-block opt-outs). Next: oracle re-triage. -
2026-06-20 SAST: run (headless sequencer) -- CLOSED
02-kernel-core/TODO-02-kernel-configuration-policy(11 sections, file_class=DONE-for-pass). Resumed mid-§9-review (dead-session f34eaf51): archived stale review skill-progress, re-ran §9 review fresh (2f57621c, Codex 4x) -- register_locked refactor removes s_core_lock (atomic core install vs all registration), monotonic audit seq in the ETW payload (v2), three-way audit contract (blocked->ring+TAMPER / applied->CHANGE / equal->silent), dropped allowed-change klog flood. Implemented §10 Boot Status Policy + Success Ledger (impl ae70bfb7 + review ae4889a5): new boot_status.c/.h -- policy + atomic monotonic acceptance ledger + exactly-once accepted transition deferred to sys_wq + versioned CRC32 NVRAM record; UNIFIED the compositor first-frame + health-gate into ONE bless authority (both route through boot_status_accept_advance); SMP-safe health run-once latch; headless path advances the ledger. Codex design 3H + adversarial + 4-round re-adversarial (attrs check, unauthenticated-hint contract downgrade, gated wrong-attr NVRAM repair) + review adversarial/consistency/perf (headless gap, sys_wq deferral, BOOTCFG provenance) -- ~10H+9M fixed, 1H rejected w/ evidence. Implemented §11 config_dump (impl e81e3b45 + review 90985b43): whole-config-plane diagnostic (snapshot+policy+boot-status+tunables+boot-arg schema), TUNABLE_PRIVILEGED redaction, off-stack scratch + atomic guard, debug-boot gated after final seals; Codex design 2H + adversarial 2M + review 2M+1L. Close-out 8d89120f: Verification 3/8 automated PASS (build/boot-suite/syscall), rollback/safemode/failed-boot [/] deferred -> §4, bare-metal [ ] manual. §3/§4 stay operator-reserved-deferred; sub-deferrals to TODO-16/TODO-30 §7/TODO-31 §2. Build OK, 3209 kernel + 16 user PASS, smoke PASS, lint 0. LEARNING: codex dispatches MUST be bare (nocdprefix / compound) ordetect_review_kind_from_cmdreturns '' and the design + section-commit gates miss the dispatch (cost a long design-gate fight). Next: oracle re-triage. -
2026-06-20 SAST: run (headless sequencer) --
02-kernel-core/TODO-03-kernel-librariesDONE-for-pass. §8 Checksum + Codec Dispatch SHIPPED + REVIEWED (impl f91239e3 + review 8ae2bdd5): kcrc32/kcrc32c + _cont (IEEE 0xEDB88320 + Castagnoli 0x82F63B78, const rodata tables no-lazy-init, SSE4.2 crc32q/b path gated on cpu_feature_global_mask all-online-CPU intersection) + base64/hex codec (strict + MIME, RFC 4648 section 3.5 canonical-pad enforcement, KCODEC_INT_MAX guards); migrated ixfs_crc32c/entropy_crc32c/registry hive_crc32 to byte-identical wrappers (on-disk checksums unchanged). Codex 6x (design, adversarial-impl, adversarial, consistency, perf, re-adversarial): 2H+2M fixed -- [H] CRC32C hw-gate was BSP-only cpu_has -> #UD risk on an SSE4.2-less AP (added SSE4_2 to cpuid_probe_ap_features CPUID.1:ECX[20] + gated dispatch on the global intersection), [H] base64_encode length wrap, [M] base64_decode dst_cap clamp + hex_decode INT_MAX guard, [M] strict base64 accepted non-canonical padding bits. test_checksum_codec wired (exec 419 + x86 152 kernel PASS, 0 fail), lint 0. complete-todo-file sweep-only close: clean (no placeholders, 2 outbound Accepted XREFs T10 §2 / T12 §12 still legitimately open). §1/§2/§5/§6/§8 shipped+reviewed; §3 LZ4 / §4 miniz / §7 mbedTLS deferred ([/]+Deferred) on operator-vendored upstream source (agent cannot fetch verbatim upstream). RECURRING INFRA: with-files adversarial-impl on a dirty tree records empty trigger_files -> commit-gate + step-13 observer miss it (documented SKIP_REVIEW_HOOK + SKIP_SKILL_STEP_BLOCK with reasons; full review pipeline then ran on the clean committed tree). Next: oracle re-triage. -
2026-06-21 SAST: run (headless sequencer) -- CLOSED
02-kernel-core/TODO-03-kernel-libraries(file_class DONE-for-pass, close de6f3d17). §3 LZ4 block compressor SHIPPED + REVIEWED (de381ef1 + f3db400d): LZ4 v1.10.0 freestanding (LZ4_FREESTANDING=1, block-only), size-safelz4_compress/lz4_decompress/lz4_compress_boundwrapper (src/kernel/lz4.c+include/libs/lz4.h); on-stack state viaLZ4_MEMORY_USAGE=11(the only SMP-reentrant option -- pmm AND kmalloc are both unsynchronized in this kernel); scopedld -r --gc-sections+lz4_merge.lddead-strip (-50 KiB) keeps the image under the 0x800000 user base without a global gc-sections. Codex design+adversarial x2+re-adversarial x2+test-coverage: design H (int->size_t truncation), adversarial H (16 KiB LZ4_stream_t overflows the 8 KiB stack -> on-stack MU=11; a pmm-backed fix was rejected as racy). §10 SHA-3/SHAKE SHIPPED + REVIEWED (7f064ed8 + 1d1098b2): FIPS 202 Keccak-f[1600] written from spec (src/kernel/crypto/sha3.c), SHA3-256/384/512 + SHAKE128/256 +crypto_hashdispatch; endianness-neutral arithmetic lanes (ARM-safe), caller-owned context. Codex 14x: hardened iteratively against malformed-context corruption -- NULL guards,sha3_ctx_valid(legal rates + pos<rate),sha3_finalout_cap bound, fixed-output validator (rejects SHAKE rate), redundantdigest_lencross-check (rejects single-field rate flip), one-shot bad-arg guards; independent Python-hashlib boundary KATs. §4 miniz + §9 zstd DEFERRED (Codex design-confirmed): both need >4 KiB working state but pmm/kmalloc are unsynchronized -> no SMP-safe hidden allocation; reframed to caller-provided workspace owned by the first consumer (07-networking gzip / IXFS); zstd also blocked on operator source-fetch (headless no network). §1/§2/§5/§6/§8/§10 shipped+reviewed; §3-frame/§4/§7/§9 deferred-with-XREF. Build OK, 6800 kernel + 16 user PASS (TCG), lint 0. RECURRING INFRA: codex_review_completed.py recorder still dead (trigger_files empty / stale-timestamp) -> SKIP_REVIEW_HOOK + SKIP_SKILL_STEP_BLOCK with documented reasons; the unsynchronized pmm/kmalloc allocators are the load-bearing constraint that shaped every codec decision this file. Next: oracle re-triage. -
2026-06-21 SAST: run (headless sequencer) --
02-kernel-core/TODO-04-system-loggingcursor. §13 rotated-log LZ4 compression REVIEWED + STAMPED (review 8ca0ead3): cleared the post-ship gate that blocked the run (HEADd9df4bd2had §13[x]without Verified/Quality stamps). Codex 4x (adversarial + consistency + perf + re-adversarial round-1 clean) + kernel-quality-auditor. Fixes: [H]klog_compress_archivenowvfs_flushes the.1.lz4.tmpbefore rename so the archive is durable before the staged plain copy is deleted (matches klog.c/panic.c flush discipline; an interim 2nd post-rename flush+rollback was added then removed after perf/consistency dispatches showed it added an unverified-unlink anomaly for no gain over the plain-path durability level); [M]klog_orphan_already_archivedslot-1 size ceiling fixed from input-ceilingLZ4_BLOCK_INPUT_MAXto archive-ceilinghdr + lz4_compress_bound(ssize)(was rejecting legal near-ceiling archives, missing W3 dedup); [M]load_rotation_configclampsrot_max_sizetoLZ4_BLOCK_INPUT_MAX(pre-existing §4 unbounded-MaxSize -> 4 GiB-boundary risk); [L] added klog_lz4_hdr_t field-offset + out_bytes-no-overflow_Static_asserts; [M accepted] native-endian header byte-order owned by new concrete item in 14-host-tools/TODO-08 §4. Build OK (clean), 3224 kernel + 16 user PASS, smoke PASS (TCG 2.64s), lint 0. FILE_CLOSE sweep: clean (all in-file Accepted/Deferred XREFs point at still-open deferred sections or moved-to-TODO-32 items; no placeholders; counts same-day) -- no edits, no close commit. File state: §1/§3-§9/§13 done; §2/§10/§11/§12 deferred-[/]-stamped (operator-reserved HMAC key-anchor, ETW ABI redesign). Next: oracle re-triage for next NEEDS_WORK file. -
2026-06-25 SAST: run (headless sequencer) --
02-kernel-core/TODO-05-object-managercursor (§15 lone NEEDS_WORK; prior session left in-progress §15 code uncommitted). Drove §15 Handle Tracing + Leak Detection: shipped (bc16df2d) + reviewed (1ece5c9c). Implement Codex 3x (adversarial + 2 re-adversarial): R1 [M] 64-entry ring could drop oldest leaked tag on wrap -> added ring-independent net lifetime counters + truncation note; R2 [M] net counters mask a net-balanced mis-tag leak -> added 32-slot per-tag lifetime ledger + overflow flag. Review Codex 5x (adversarial + consistency + perf + 2 re-adversarial) + kernel-quality-auditor (clean on all 5 SMP/lock-order concerns): M1 inherited handles emitted FREE with no CREATE -> added HANDLE INHERIT trace; re-adv [M] inherit loop reread mutable parent slot -> snapshotobjonce; M2 overflow wording implied net-balanced=clean -> reworded honest; M3 klog rate-limit drops events under churn -> qualified contract + filed [/] no-drop item; LOW added_Static_assert(sizeof(OB_TRACE_INFO)<=4096). Build OK, 6913 kernel + 16 user PASS, smoke PASS (TCG 2.43s), lint 0. FILE_CLOSE sweep (6392259b): refreshed §15 unit-test list + file-level OB count 1->424. TODO-05 done-for-pass (§1/§2/§8/§12-§15 shipped+reviewed; §3-§7/§9-§11 deferred-[/]on §3 ObpReferenceObjectByHandle handle-table-lock pass). RECORDER STILL DEAD: manual SKIP_REVIEW_HOOK on both ship + review commits (re-adversarial dispatches ran, state file not refreshed). Next: oracle re-triage. -
2026-06-26 SAST: run (headless sequencer) -- CLOSED
02-kernel-core/TODO-06-executive-support-runtime(file_class DONE-for-pass, close e1e1a06f). SHIPPED+REVIEWED: §6 Fast References (EX_FAST_REF, 3-bit cached count, lock-free CAS; 27bf7ce1+66c0f13a, Codex 4x), §7 Generic Tables/Bitmaps (RTL_BITMAP padding-safe + word-aware find, height-cached AVL with node-relink delete, RTL_DYNAMIC_HASH_TABLE grow-only; 02062e62+375560ae, Codex 6x: 3 overflow guards + cursor-safe grow-only + bitmap OOB reject), §12 immediate work items (EX_WORK_ITEM on sys_wq, lock-free cancel-vs-fire state machine, enqueue-failure rollback, cancel-drain CANCELLED->IDLE; 7636ae22+0d9dd736, Codex 9x incl 4 re-adversarial on the no-dequeue lifetime UAF). DEFERRED-[/]+stamped (all on missing lower-level sync/panic infra): §8 push locks (keyed events + KeEnterCriticalRegion), §9 fast/guarded mutexes (per-CPU IRQL leaks across yields -- scheduler does not context-switch IRQL; needs per-thread APC-disable), §10 ERESOURCE (existing rwlock_t is SMP-racy -- check-then-act + atomic_set-not-CAS; filed concrete fix in 03-mem TODO-08 §11), §11 run-once (per-once address-keyed wait), §13 bugcheck callbacks (panic global CPU-freeze + T27 dump consumer), §14 verifier (instruments deferred §8-§13). KEY DISCOVERY: the whole EX lock/sync layer (§8-§11) is blocked on the same root infra gaps -- no keyed events/address-park, no critical regions, no per-thread IRQL save-restore, SMP-racy rwlock/mutex; surfaced the rwlock_t exclusion bug for the owner. Build OK (clean), 5684 kernel + 16 user PASS, smoke PASS (TCG 2.59s), lint 0. RECORDER STILL DEAD: SKIP_REVIEW_HOOK on §6/§7/§12 ship commits (section-gate test-dir map for src/kernel/ex does not resolve to src/kernel/test; tests ARE wired); review/stamp commits clean. Next: oracle re-triage. -
2026-06-26 SAST: run (headless sequencer) -- CLOSED
02-kernel-core/TODO-07-irql-model-dpcs(file_class DONE-for-pass; all 18 sections DONE/deferred). Drove the lone NEEDS_WORK section 7 (DPC targeting/importance/flush, DONE_UNSTAMPED -> stamped) review (ship1deba872+ backfill66d9ef5b). Codex 9x: adversarial + consistency + perf + re-adversarial x5 + a final refresh trio (all converged/approve). Fixes: KDPC_IMPORTANCE reordered to the WDK wdm.h numeric ABI (High=2, MediumHigh=3) + _Static_assert + test; the queue-depth warn moved OFF the DIRQL-callable insert path to a per-CPU __atomic warn_pending flag set/cleared under DPC_QLOCK and emitted once per tick by dpc_watchdog_tick via a lock-free ACQUIRE fast path (R1 lost-warning race, R2 init-reset + cancel-to-empty strand, R3 ISR-klog -> watchdog tick, all caught + fixed); bounded the insert retry loop (DPC_INSERT_MAX_SPINS -> KeBugCheckEx 0x133/0x5, never drops); accepted [H] remote-AP DPC stranding + filed a concrete Remote-target DPC IPI item; doc-synced drain-on-lower-shipped/BSP-service-CPU-pinning/completion-barrier across dpc.h/ktimer.c/ktimer.h/TODO. FILE_CLOSE sweep (38a28b18): annotated 3 now-resolved Deferred stamps (threaded-DPC double-own + threaded_head race -> section 1523d6b38a; DPC storage false-share -> section 757da90ed); remaining deferrals point at unbuilt prerequisites (AP-watchdog, task_set_affinity, S3 resume, UEFI vars-health, RTL8139 RX). Build OK, 201 kernel + 16 user PASS, lint 0. RECORDER STILL DEAD: manual last-codex-review.json trigger_files record on the ship commit; SKIP_SKILL_STEP_BLOCK on the sweep close (observer captured only step 4). Next: oracle re-triage. -
2026-06-28: TODO-12 (native-api-ssdt) GAP_AUDIT complete. parity-analyst 35-feature inventory + codex-gap-audit red-team (needs-attention, 4 valid of 13). Filed G4 GUI-thread conversion (§4), G9 RtlNtStatusToDosError broad coverage (§11 reopened false-completeness), G12 NtGetNextProcess/Thread (§7), G13 ProcessMitigationPolicy classes (§7). G5/G6/G8/G12-cross/G13-cross already-owned (§25/T08/T10/T21); G2 rejected (Win11-internal minutiae). Gap-audited stamp written. -> advance to SECTIONS.
-
2026-06-28: TODO-12 SECTIONS phase started. §1 (NTSTATUS canonical codes) reviewed+stamped DONE (0d0aae16). Codex 3x (adversarial/consistency/perf); 2 real ABI-value bugs fixed: STATUS_REPLY_MESSAGE_MISMATCH 0xC000025E->0xC000021F, STATUS_SEMAPHORE_LIMIT_EXCEEDED 0xC0000044->0xC0000047 (both wrong canonical values; consumers symbolic so safe); STATUS_DATATYPE_MISALIGNMENT moved to warning band. 346+16 tests pass. -> §2.
-
2026-06-28: TODO-12 §2 (SYSCALL/SYSRET fast path) reviewed+stamped DONE (7bb887be). Codex 4x (adv/cons/perf/re-adv). FIXED [Critical] FMASK security bug: was 0x200 (IF only) -> SYSCALL_FMASK 0x47700 (TF|IF|DF|IOPL|NT|AC)+cld; user could carry TF/DF into ring 0 (single-step kernel / reverse string ops). REJECTED [Critical] STAR false-positive (SYSRET forces RPL=3; smoke+16 user tests prove 0x10 correct). Deferred transition-ring perf ->§24, ssdt per-table bound ->§4. smoke PASS 2.51s, 346+16 tests. -> §3.
-
2026-06-28: TODO-12 §3 (INT 0x2E compat path) reviewed+stamped DONE-for-pass ([/]+stamps, 64affe44). Codex 3x (consistency approve). Core verified (DPL=3 gate, x64 ABI mapping, NTSTATUS zero-ext, IRQL wrap). SURFACED [Critical]: file-I/O handlers (NtReadFile/NtWriteFile/NtCreateFile/NtQueryDirectoryFile) deref raw user iosb/buf with no ProbeFor*IfUser = ring-3 arbitrary kernel R/W; filed concrete [Critical] §6 item (§6 [x]->[/]), comprehensive fix lands in §6 review. Deferred [M] redundant TPR write, [L] stack-arg retrofit. -> §4.
-
2026-06-28: TODO-12 §4 (SSDT) reviewed+stamped DONE-for-pass ([/]+stamps, 02942714). Codex 3x (adversarial+perf approve). IMPLEMENTED the §2-deferred per-table-bound fix: SSDT_TABLE.max capacity field; ssdt_dispatch+ssdt_register now bound index>=table->max (removes latent OOB-if-shadow-shrinks). Fixed 2 consistency M (static-asserts bound to SSDT_MAIN_MAX; count/max/implemented semantics documented). GUI-thread conversion deferred (blocked Win32k D08 T15/T16). smoke PASS 2.50s, 346+16 tests. -> §5.
-
2026-06-28: TODO-12 §5 (SYS_->NtXxx migration) reviewed+stamped DONE ([x]+stamps, 0251195c). Codex 3x. Migration correct; surfaced 3 [Critical] ring-3 trust-boundary gaps -> filed concrete §29 items: NtShutdownSystem+SYS_SHUTDOWN (no SeShutdownPrivilege, any user reboots), NtTerminateProcess (raw-PID kill, no PROCESS_TERMINATE), SystemProcessInformation (unprobed user write). Fixed [M] false SYS_ alias contract. SYSTEMIC: NT handlers don't enforce ring-3 boundary (dev-stage; §6 file-I/O probes + §29 own fix). -> §6 (where file-I/O probe critical gets fixed).
-
2026-06-28: TODO-12 §6 (file-I/O handlers) -- design review (b7syqm8up) established a ~300-line security refactor (nt_write_iosb + bounce buffers + OBJECT_ATTRIBUTES snapshot + ByteOffset capture); partial-probe insufficient. Expanded the [Critical] item into 4 precise design-reviewed spec items, committed (308e25e3); reverted WIP to keep tree clean; committed cross-TODO XREF line-number sync (815cabaa). §6 stays [/] NEEDS_WORK -- implement from spec in fresh context (gotcha logged). Continue SECTIONS at §6.
-
2026-06-28: TODO-12 §6 DEFERRED ([/]+Deferred, 6cac141c) -- file-I/O trust-boundary hardening is a design-reviewed ~300-line refactor (4 spec items), part of the §29 trust-boundary campaign, not live-exploitable in the no-isolation dev stage. Core file I/O ships. Advancing SECTIONS to §7 (process/thread lifecycle).
-
2026-06-28: TODO-12 §7 (process/thread lifecycle) reviewed+DEFERRED ([/]+Deferred, 16e603b2). Adversarial Codex found 3 [Critical] handle-model shortcuts (raw PID/TID/task-struct as handles not OB objects -> D02 T05 §2; runnable NULL-entry NtCreateProcess task; info-syscall probe gap -> §29). Core ships; most open items blocked on external TODOs. Hit+recorded codex-dispatch &-orphan hazard (re-dispatched correctly). Advancing SECTIONS to §8.
-
2026-07-02: TODO-12 SECTIONS §8-§11. §8 (sync objects + NtWaitForMultipleObjects) SHIPPED+REVIEWED (31899c0d + c4d4440e), Codex ~15x: two-phase all-or-none WaitAll (readiness prepass + reverse rollback), event_try_consume CAS-consuming polls + event_wait/timeout CAS consume, per-wait ObReferenceObjectSafe pinning, shared sem_release_checked 64-bit guard, batched sem_signal_n (pair-then-publish-then-budgeted-recheck, O(waiters) not O(count)), NT mutant recursion (MUTANT_MAX_RECURSION cap + STATUS_MUTANT_LIMIT_EXCEEDED across poll/WaitAny/WaitAll), MUTANT_BASIC_INFORMATION 8-byte ABI, source-gated nt_timeout_to_ms; accepted auto-reset wake-steal + primitive SMP atomicity -> 03-mem/TODO-08 §11 (item extended), poll-backoff -> TODO-08 §8, raw ptr -> §29, lookup-then-pin -> TODO-05 §3. §9 (virtual memory) DEFERRED ([/]+4 Deferred stamps, e0d18694): 9 core VM handlers ship; 2 Critical (protection-not-enforced, MEM_RELEASE region tracking) + 2 High (partial-alloc rollback, PMM/VMM SMP lock) all rooted in missing per-process page tables -> 03-mem/TODO-01-vmm-memory-protection §1/§3; fixed nt_vm_check_range overflow guard + MEM_RELEASE-size0 no-longer-silent-leak; filed concrete AWE owner §11 in 03-mem/TODO-05-advanced-virtual-memory (stale T11-mem §4 XREF corrected). §10 (NtQuerySystemInformation) DEFERRED ([/]+2 Deferred stamps, a55d2517): 13 classes ship, 8 SystemInfo classes + NtSetSystemInformation -> data-source owners (TODO-21 CPU-time, TODO-17 module list, TODO-15 SRM privilege). §11 (IOSB + LastError) SHIPPED+REVIEWED (a25b7dbb + 96494bbf): RtlNtStatusToDosError expanded 12->~40 rows over common NTSTATUS classes + success-severity (TIMEOUT/PENDING/ABANDONED), lookup reordered before NT_SUCCESS fallback, BUFFER_OVERFLOW->234 (Codex disassembled host ntdll + verified MS docs); review found+fixed a real [H] NtQueryVolumeInformationFile buffer overrun (§13 handler, offsetof-bounded short-buffer STATUS_BUFFER_OVERFLOW) + canonicalized 4 raw NTSTATUS literals; accepted user-mode GetLastError/SetLastError + warning LastError policy -> 10-platform/TODO-08 §8. INFRA FIX: agent_dispatch_recorder only matched tool_name 'Task' but harness dispatches 'Agent' -> false-blocked kernel edits; fixed matcher+recorder (cd886d6b). All build OK, SUITE=abi green, oracle 8/8, lint clean. Next: SECTIONS §12 (ZwXxx per-CPU previous-mode).
-
2026-07-03: TODO-12 COMPLETE (all 31 sections DONE). §25 (per-process syscall-filter bitmap, seccomp/SystemCallDisable parity) SHIPPED+REVIEWED (17 Codex passes; counted-flag death/teardown model, acquire/release gate, fork attach-before-schedulable). §26 (KeUserModeCallback) + §27 (SSDT integrity protection) DEFERRED ([/]+Deferred; blocked on ntdll+Win32k / SMP TLB shootdown). §28 (extended directory enumeration hardening) REVIEWED (15 Codex passes; fixed ABI offsetof macros + 6 static-asserts, handle validation, VFS_O_READ access gate, last-entry unpadded packing; 7 accepted-XREF to TODO-02 §4 usercopy + TODO-05 §6 cursor/shim/granted-access/IOSB). §29 (token lifecycle + SRM) DEFERRED ([/]+Deferred; design review 2C+2H: needs per-token SMP lock + owned restricted-SID storage + access-mask-aware resolution + default-privilege policy + SeAccessCheck engine -> TODO-15 §5/§8; security-sensitive, not guessed unattended). §30 (generic object mgmt) DEFERRED ([/]+Deferred; design review 1C+2H: ObpLookupHandle returns raw unref'd entry -> UAF, needs pinned ObpReferenceObjectByHandle -> TODO-05 §3 + per-CPU previous-mode -> TODO-07 §3). §31 (modern ALPC ports) canonical re-stamp (old
**Verified** (date):format unrecognized by oracle); Codex 9x/3 rounds, all findings owned by TODO-24 retrofitted handlers or pre-existing pe.c: fixed stale service_numbers.h next-avail hint; accepted compacted-ABI class -> TODO-24 §6, TOCTOU usercopy -> TODO-02 §126, pre-existing pe_resolve_dll_imports RVA-wrap OOB -> filed TODO-07 §6. TTL-race lesson: &-bundled dispatches record only the first review-kind AND reviews exceed the 30-min TTL under load -> use separate Bash calls + commit fast. All build OK (13681 kernel + 16 user PASS), lint clean. Next file: TODO-13 (atom/NLS/locale), NEEDS_WORK stages 1-2. -
2026-07-04: TODO-13 (atom/NLS/locale) CLOSED-for-pass. §7 (sort keys + normalization) SHIPPED+REVIEWED. §8 (NLS/MUI query syscalls 0x0263-0x0265), §9 (OB/registry/atom case-fold retrofit via rtl_upcase_char_inline single authority), §10 (deterministic in-kernel NLS fuzz) all DONE-for-pass ([/]+full stamps; open items = full-BMP fold corpus + real-table boot path + per-process LOCAL atom tables, each a concrete [ ] with reciprocal XREF, todo-graph 8/8). ~50 Codex passes converged on the shared nt_wname_to_ascii counted-string helper (non-ASCII/embedded-NUL/odd-Length/Length>Max/TOCTOU) and the fuzz sizing-cross-check + deterministic over-cap block. FILE_CLOSE sweep 2b7ef66f: corrected stale current-state callout, dropped full-BMP overclaims in §9 Notes + 2 OS rows, refreshed N-suites -> 96 suites/0 failures. 19684 kernel + 16 user PASS, lint clean, todo-graph.yml green (build.yml in_progress at push). Remaining minor nits (2 ownerless BLOCKED tags, one "algorithmic" wording) noted, non-blocking. Next: oracle re-triage. | 2026-07-04 | 02-kernel-core/TODO-14-registry-completion | §8 hive_load hardening + registry_init boot_result_t SHIPPED+REVIEWED (dd29fad8/f2413eae; Codex 9x; caught+fixed a crafted-deep-hive 8 KiB-stack overflow); §14 SMP lock DEFERRED with design spec (b9pq875ym: reentrant-callback deferred-dispatch + watcher-refcount + irqsave + per-CPU depth); §9-§13,§15 DEFERRED pending §14 lock / KTM / §4 HKEY-OB migration. file_class DONE-for-now. | | 2026-07-05 | 02-kernel-core/TODO-15-security-reference-monitor | file_class DONE (all 16 sections). §12 PARTIAL: NtPrivilegeCheck 0x00BF -> new token-explicit SePrivilegeCheckToken (993bcd60; design caught ClientToken-ABI break + TOCTOU count-pin). §13 PARTIAL: SeAssignSecurity SD inheritance (8596fd6a/accf4609; design 3H pre-code: NULL-DefaultDacl fail-closed, owned Owner/Group, OI-only INHERIT_ONLY; review caught a HIGH callback-ACE-drop -> fail-closed all 4 callback types). §16 PARTIAL: 64-bit LUID via atomic64_t (e2ea01d6). DEFERRED [/]: §10 (Win32 wrappers, design 1C+3H -> advapi32 trampoline + kernel last-error), §11/§14/§15 (cascade on §5/§9/§10). §1/§2 DONE_UNSTAMPED -> modernized stamps + fixed 2 latent OOB found reviewing OLD code (§1 NtAdjustGroupsToken raw-SID->RtlEqualSid overread ACCEPTED->TODO-12 §29; §2 RtlPrivilegeSetToString uncapped count FIXED with TOKEN_MAX_PRIVS cap). FILE_CLOSE 2 sweep commits (64215a08/118e7172): refreshed stale current-state + §4 latent-vs-reachable stamp + 4 stamp/table drifts. Codex ran 10-15 min/dispatch this run (recorded-dispatch satisfies gate). All build OK, lint 0. Next: oracle re-triage. |
-
Run (2026-07-06):
02-kernel-core/TODO-16-- shipped+reviewed §6 (ETW/klog bridge), §7 (coalescing/retention core), §9 (SystemNotificationInformation diagnostics), §10 (stress leak-check); §8 (WNF syscall surface) deferred [/] BLOCKED on the operator-reserved WNF_STATE_NAME compat-level ABI decision (todo/answers.md Q1, awaiting-answer). §3/§4/§5 already deferred (T07/T15/§4 blockers). File at fixpoint (all sections DONE or blocked-with-XREF); advancing. -
Run (2026-07-10):
02-kernel-core/TODO-17binary-system -- SHIPPED+REVIEWED §5 (EIF loader: rules 6-8 caps/ordering/metadata + atomicity reorder + registered-import + compressed-EIF fail-closed reject; 5cd..bbdf6baf/f9a70223, ~13 EIF reject tests), §7 (PE header parser: unaligned read_u64 ImageBase, test_pe_constants + err asserts, offset asserts; 617a12bf/8a7955e1), §9 (PE import resolver: 3 HIGH crash fixes -- name_rva/hint_rva uint32 wrap, cross-page IAT write via pe_write_iat_entry, per-thunk klog DoS; [/] partial, callable-IAT critical deferred; a1b6f8d5/1816b8af). DEFERRED [/] with design-review-confirmed architectural blocks + concrete infra items: §10 base-reloc (loader mapped-aware reads + ownership rollback), §11 TLS + §12 LoadConfig/CFG + §19 API-set/delay (PE execution via §9 callable-IAT gap + §8 mapped-region), §13 elf2eif (EIF import call ABI + PIC base -> TODO-20), §16 shebang (exec argv passing). Filed prerequisites: §8 (ownership-journal rollback, mapped-aware reads), §1 (exec argument passing). ~15 Codex dispatches (design+adversarial+consistency+perf+re-adversarial x2 on §5/§9). All build OK, exec 648 kernel + 16 user PASS, lint 0, test_loader_eif PASS. file_class DONE (all sections shipped-reviewed or deferred-with-XREF); advancing. -
Run (2026-07-10):
02-kernel-core/TODO-18kernel-image-module-registry -- VALIDATE + GAP-AUDIT + codex-gap-audit (8 findings filed + reciprocals in T23 §6 / T29 §11; module-loader ownership fix D04 T05, atomic-publish transaction, address-space/lifetime-safe lookup, qualified symbols, unwind ownership split + dynamic-unwind 💎, notify path-snapshot, unloaded-module tombstone 💎, unload quiescence; 27291f82). SHIPPED+REVIEWED §1 (KIMAGE_ENTRY data model:kimage_entry_t832 B cache-line-aligned, canonical kimage_format_t, embedded EX_RUNDOWN_REF lifetime gate, durable identity[32], VFS_MAX_PATH; 99de36bc / 1297870e). ~7 Codex dispatches (design + adversarial + re-adversarial on impl; adversarial + consistency + perf + re-adversarial on review). Design review reshaped the layout pre-pin (rundown gate not split refcount, canonical format not EXEC_FMT_*, durable build-id, VFS_MAX_PATH); review fixed 3 mediums (EXEC_FMT->KIMAGE converter, aligned(64), -O2-safe alignment test). 6 TEST_CAT_EXEC suites. §2-§10 next (§2 registries: LDR three-list dep IS built at exec.c:509; per-process addr-space-aware lookup partial on vmm.c per-process-page-tables). Build OK, lint 0, graph 8/8. SECTIONS in progress. -
2026-07-10 | TODO-19 (Code Integrity) closed: §1 policy object (review: 3H+3M fixed, red-green NULL-deny), §2 image-validation decision engine (shipped+reviewed, loader enforcement deferred), §3 crypto bridge (shipped+reviewed, caught a real .rodata seed-wipe #PF); §4-§10 deferred with concrete owners (embedded-sig ABI, catalog format, TPM PCR, loader wiring, SSDT syscalls). Advancing to TODO-20 (EIF full impl -- owns the EIF sig-block ABI §4 needs).
-
Run (2026-07-10):
02-kernel-core/TODO-20eif-full-implementation -- SHIPPED+REVIEWED §4 API-version gate (review-only: removed a [LOW] accept-log inside eif_load's timed region; 63640f25/5309606c), §5 metadata parser (eif_parse_metadata+eif_metadata_t; design 3M pre-code = record-cap/build_id-output/remaining-length, task.c first-loadloaded_module_t.name; ff583f8f/84eac228), §6 LZ4 compressed segments (eif_decompress_segment+ preflight-to-scratch atomicity + flag-conditional ABI; design 2H = fallible-decompress-breaks-atomicity + file_size<=mem_size rejects-compressed; d0e2d587/425cce97), §10 CET flag reservation (two independent bits IBT/SHSTK matching Linux .note.gnu.property +EIF_FLAG_KNOWN_MASKfail-closed unknown-flag reject; design 1H = single bit conflates IBT/SHSTK, adversarial 1M + consistency 1M = spec drift; 95864f42/da0c5beb). ~26 Codex dispatches (design+adversarial+re-adversarial+consistency+perf per section). DEFERRED [/] with concrete owners: §2 W^X (per-process PML4), §3 loader-owned module registration (self-owned refactor), §7 optional-import stubs (EIF import-CALL ABI T17 §13), §8 ASLR (per-process frames §9 + CSPRNG), §9 per-process dispatch isolation (per-process PML4 T10 §8 + T01 §3), §11 signature-block ABI (operator-reserved: security+ABI + no producer/verifier). FILE_CLOSE: doc-sync CLEAN, 7 hygiene prose-drift fixes (Current-state/Goal/Outcome/OS-Comparison vs shipped; c2e264a9). Build OK, exec 743 kernel + 16 user PASS, lint 0, graph 8/8. file_class DONE (all sections shipped-reviewed or deferred-with-XREF); advancing. -
2026-07-13 | TODO-21 (Process Model Extensions) FILE_CLOSE (sweep-only; file has genuinely deferred §15/§16/§18 so not graduating to doc-only). All implementable sections shipped+reviewed in prior sessions (§1 cwd, §8 accounting, §9 rlimits storage, §12 pledge/unveil, §13 job objects, §14 exit-cleanup, §17 groups/sessions); §2-§7/§10 deferred w/ XREFs. Doc-sync + hygiene auditors dispatched: applied 4 accuracy fixes (CLAUDE.md stale "1493 tests" -> coverage.md pointer; §13 stamp 11/14 -> 9/12; line-18 baseline drop cwd from Missing list; §17 stamp SUITE=sched qualifier). Rejected 2 out-of-scope (OS-Comparison narrative, Outcome target-design). Lint 0 err, graph 8/8; a89536b8 pushed. Advancing to TODO-22 (environment-variables).
-
2026-07-13 | TODO-22 (Environment Variables) SECTIONS: §5 (Nt/Zw env syscalls) SHIPPED+REVIEWED -- NtQueryEnvironmentVariable 0x03DD + NtSetEnvironmentVariable 0x03DE over task->environ. Found the §5 WIP uncommitted in the tree (disarmed mid-work last session); drove the full pipeline. Adversarial caught a [medium] empty-value NULL-buffer memcpy-through-NULL on the KernelMode/Zw path (FIXED + regression test). Review pipeline (Codex 4x + Opus kernel-quality-auditor): [consistency M] boot_desktop.c summed 5 SSDT registrars of mixed sign -- a +count and a raw -1 could cancel to 0 and boot with missing handlers (FIXED: !=0 normalize); [perf M / auditor M] tiny/missing ops forced 32/64 KiB contiguous-PMM allocs (FIXED: NtQuery 4 KiB-first-with-retry, NtSet size-to-descriptor-Length); [adversarial H] no aggregate 1 MiB env quota, now user-reachable (accepted -> §10); [auditor M] unlocked pmm_alloc_contiguous race (accepted -> TODO-03 §1); [auditor L] user-mode probe/copy paths KernelMode-tested-only (accepted -> §6). re-adversarial clean. Build OK, ABI 1343/1343 PASS, smoke PASS. ec1df5dd + a8603d46. §6 (Win32 env/command-line wrappers) DEFERRED [/]: blocked on user-mode kernel32/ntdll runtime primitives that do not exist yet (LocalAlloc/SetLastError/UTF-8<->UTF-16 conversion) + PEB CommandLine; filed a concrete prereq item in 12/TODO-04 §7. 84e7a428. Advancing to §7.
-
2026-07-15 | pass 1 | 02-kernel-core/TODO-22 | split §20 -> §20 (Rtl export prereqs) + §21 (ntdll Rtl exports) on the SPLIT-RECOMMENDED verdict (562923a2); shipped + reviewed §20 (2ea286cc, 8d2e64a4): extent-bounded block validation, per-pass work budget, 9 tests (21309 kernel green, smoke PASS). Codex 5x; 1H+6M+4L fixed, 4M accepted-XREF, 1H deferred-XREF (PMM bitmap SMP lock -> TODO-03 §1, still open). Next: §21. Gotcha filed: section-manifest over-counts the LAST section's open items.
-
2026-07-15 | pass 1 | 02-kernel-core/TODO-22 | split §21 -> §21 (ntdll Rtl exports) + §22 (expansion completeness) on a SPLIT-RECOMMENDED verdict that was itself INFLATED -- section-manifest bleeds the file-level Unit Tests/Verification items into the LAST section's count (36 reported vs 16 real; the known gotcha, verified by hand before acting). Split still justified on the real scope: §20 shipped 6 items and nearly filled a context, and §21 bundled a thin ABI surface with 4 heavy §20-deferred hardening items (591a8183). SHIPPED+REVIEWED §21 (7495aec9, 6fe3343d): four ntdll Rtl env exports (Query/Set/Create/Destroy) over the §5 storage API + a Gate-10 allocator dedup (env_buf_alloc/env_buf_free retiring THREE copies -- the TODO undercounted, sp_alloc in env_searchpath.c was uncounted and all three disagreed on n==0) + env_create_empty_block + env_wrap_block. 15 suites, 2046 ABI / 21383 kernel + 16 user green. Codex 9x (design, adversarial x2, test-coverage, consistency x2, perf, re-adversarial x2) + Opus kernel-quality-auditor + concurrency-evidence-mapper + parity analyst: 4H+5M+9L fixed, 4 accepted-XREF, 2 rejected. Design [H] caught that RtlCreateEnvironment(0)=EMPTY must NOT reuse env_create_block(inherit==0)=Registry-derived (same 0, two contracts); design [H] refuse non-NULL Environment BEFORE deref (Environment==NULL is a different ntdll form). Auditor [M] caught descriptor aliasing: Query re-read Value->Buffer/MaximumLength after storing through the descriptor, ignoring the counter-pattern its own file set 400 lines earlier -- now snapshotted + overlap-rejected + regression-tested. Two more bugs caught by the section's own tests (OUT-Length must not be validated; odd-MaximumLength 1-byte NUL overflow). Adversarial [M] REJECTED on source evidence: it claimed exact-fit must fail, but WRK base/ntos/rtl/environ.c succeeds at MaximumLength==Length (ReactOS conflicts) -- WRK wins for Win11 compat, documented. Parity analyst caught real false completeness -> new §23 (RtlSetCurrentEnvironment unowned repo-wide; without it RtlCreateEnvironment's block can never go live) + a §22 item for Set's void* write-back boundary. §21 [/]: kernel32 routing blocked by §6 + its own reachability gate (§20 PMM item open). Next: §22.
-
2026-07-15 | pass 1 | 02-kernel-core/TODO-22 §22 SHIPPED+REVIEWED (
ab60e334+a245aea3): self-describingenv_bufheader (a free needs two independent witnesses -- the header and the caller's size) + a UTF-8env_expandwork budget with a true lookup bound; 21408 kernel tests, smoke PASS. Split §22 -> §22 (env.c allocator/budget, shipped) + NEW §24 (nt_rtlenv.c completeness) after the design review proved the boundary-copy items BLOCKED: no fault-recoverable usercopy (copy_from_userhas no fixup/SEH,ProbeForReadnever checks mapping) and a page-presence precheck cannot substitute (no address-space lock exists --munmap/swap_out/NtFreeVirtualMemoryclear PTEs unsynchronized, so the TOCTOU is LIVE today, not post-VirtualAlloc) -> Deferred + XREF TODO-23 §13. 11 Codex legs + Opus kernel auditor. ESCALATION for the human punch-list: the kernel image has ZERO pages of headroom below USER_BASE..text/.rodata/.data/.bsschain by page alignment, so ~17 bytes of new.texttrips build.sh's BSS COLLISION guard. This section only fit by consolidating redundant tests and simplifyingenv_exp_put. The NEXT section that adds code will fail the build. TODO-33 (higher-half relocation) is now a hard blocker on kernel growth, not a medium-term cleanup. -
2026-07-15 (pass 1) | cursor
02-kernel-core/TODO-22§23 ->TODO-33| shipped: none (0 sections) | deferred: TODO-22 §23 live-environment adoption[/]on the BSS ceiling -- kernel has zero pages of headroom under USER_BASE 0x800000, so ~4 KiB of new.texttrips the build.sh guard; clean HEAD built OK immediately before, so the section's code was the whole delta. Codex design review ran pre-code and its 4 findings (transactional PreviousEnvironment, best-effort provenance, strict counted-block validation, TRANSLATE refusal) are verified + adopted into the rewritten §23 items, so the re-attempt is implementation-only; WIP preserved in thes23-wip-bss-checkstash. XREF -> TODO-33 §7 with reciprocal filed. TODO-33 is now the kernel queue's critical path (its §1 is design-only and implementable under the wall); cursor advanced there rather than to §24/§25, which would hit the same guard. -
2026-07-15 (pass 1) | cursor
02-kernel-core/TODO-22->TODO-23| shipped: none (0 code sections -- the BSS ceiling holds) | deferred: TODO-22 §24 + §25[/]on the ceiling (ef6eb00c), swept + closed (e7cfb534). RE-VERIFIED the ceiling independently rather than inheriting the prior stamp:llvm-nm-19 -n build/kernel.exeputs__kernel_endat0x7ff000vsUSER_BASE0x800000and build.sh fails at>=, i.e. exactly ONE page for the whole kernel. §24's remaining items (measured budget, lookup cache, stack probe, right-sized retry, CAS free, sentinel contract) and all of §25 (two counted Rtl entries + a SIZE_T-safe core restructure) each add.text, so both are ceiling-blocked; §24 keeps its independent TODO-23 §13 usercopy blocker too. Used the TERMINAL stamp form to match §23's existing semantics on the identical blocker rather than split one blocker across two oracle readings; TODO-33 §7 now carries a reciprocal re-run item per parked section. §24 carries a real latent SMP double-free (env_buf_freeread-checks then writesmagicnon-atomically -- two CPUs both pass, both release); recorded in the stamp to ride along when the ceiling lifts, NOT fixed now: it is unreachable today (§20's PMM gate) and spending the last page here would block the relocation that lifts the wall. Close-out sweep was SWEEP-ONLY (full close-out is gated while §21/§23/§24/§25 rows are[/]): deterministic enumerators all clean; fixed a stale §5 1-MiB-quota Accepted stamp (§10 shipped the cap at90a3b1fa), a stale §6 PEB-CommandLine prereq (verified CLOSED in code atsrc/kernel/sched/task.c:2177-2184, not from TODO prose), an ownerless §13 userenv item (-> TODO-04 §2 RtlAllocateHeap), and a CLAUDE.mdtest-abidescription that missed env entirely (test_env.c is 159 suites/645 assertions, the category's dominant contributor). REJECTED a "high-confidence" auditor finding viagit blame: §4's8/9stamp is historically accurate (the 10th item landed 2 days later atf29df2be) -- rewriting it would falsify a commit-anchored record. Known gap carried forward: TODO-22's file-level Unit Tests + Verification blocks are still nearly all[ ]whiletest_env.cdemonstrably exists (159 suites, wired at test_runner.c:565). They cannot be honestly closed in sweep mode -- the parent item enumerates ~26 behaviors and closing it needs per-bullet execution -- so TODO-22 is PARKED, not CLOSED; its full close-out rides along when TODO-33 §7 lifts the ceiling and §23/§24/§25 re-run. Next: TODO-23 (its VALIDATE/GAP_AUDIT add no code and are unblocked; its §13 probe.c is itself what unblocks §24's boundary items). TODO-33 remains the critical path -- per the prior pass, its §1 is design-only and implementable under the wall. -
2026-07-15 (pass 1) | cursor
02-kernel-core/TODO-23->TODO-33| shipped: none (0 code sections -- BSS ceiling) | deferred: TODO-23 §1[/](code COMPLETE + design-reviewed, parked in stashtodo23-s1-wip; measured .bss end 0x801E55 vs USER_BASE 0x800000, HEAD had 4523 B headroom and §1 adds ~12 KiB .text) -> XREF TODO-33 §7 reciprocal filed. §1 spec corrected from the design review: CONTEXT size 0x4E0 -> 0x4D0, no-FXSAVE-in-converter (lazy-FPU cross-task leak), CONTEXT_HAS_GROUP exact-group macro (CONTEXT_AMD64 shared bit), stale NTSTATUS WARNING deleted. Whole-file WARNING added: §2-§16 equally gated. Cursor -> TODO-33 (operator-authorised for the runner; critical path for the kernel queue). -
2026-07-15 (pass 1) | cursor
02-kernel-core/TODO-33§1 | shipped: §1 memory-map design (memmap.h22 asserts +kernel-address-space.md7 decisions +tools/memmap-check52-check host gate; zero image cost,__kernel_endunchanged at0x7ff000) | Codex 8x, 5H+8M+2L fixed 0 open | deferred:PT_PML4binding -> §3,test_highhalf.c-> §7 (BSS ceiling) | commits 99d70510, 02b77cb5 -
2026-07-17 | cursor
02-kernel-core/TODO-33§9 | shipped: §9 VMM walker conversion (pt_walk HHDM helper, 20 walkers, root phys/walk split, swap huge-leaf hardening, swap_temp_buf reclaim) [/] (test+lint deferred to §7) | deferred: swap TOCTOU -> D03 T04 §1 | Codex design+adversarial(x)+consistency+perf+re-adversarial(x3), all approve; 21421 tests, smoke green -
2026-07-17 | pass 1 | cursor
02-kernel-core/TODO-23->TODO-33| parked TODO-23 §2-§16[/]on the BSS/USER_BASEceiling (each adds kernel.text; whole file gated on TODO-33 §7), terminal Deferred stamps + IO status flip + reciprocal §7 re-run item (a6ebb809); TODO-23 now file_class DONE so the oracle stops bouncing. Oracle's numeric-next is TODO-24, but every kernel TODO < 33 that adds code hits the SAME ceiling -- walking numerically = pure deferral churn, zero kernel progress. Prioritising TODO-33 (higher-half relocation) instead: it is the operator-authorised critical path (prior-run precedent) whose §7 retires the ceiling and un-defers TODO-22 §23/§24/§25 + all of TODO-23. §1/§2/§9 shipped; next is §3 (linker VMA/LMA split + higher-half jump). Advancing to TODO-33 SECTIONS. -
2026-07-17 | pass 1 | cursor
02-kernel-core/TODO-33§3 | DEFERRED [Critical] awaiting-operator -- higher-half jump is NO-SHIP.codex-design-review(2 Critical + 2 High, all verified at file:line) proved §3 cannot ship standalone. BLOCKER: physical collision -- the 6.99 MiB image (__kernel_end0x7fe000) at LMAMM_KERNEL_PHYS_BASE0x200000 ends at phys 0x8fe000, overlappingUSER_PT_WINDOW[0x800000,0xa00000]; user exec writes the launcher ELF+stack to identity phys 0x800000, clobbering kernel.bss+PMM bitmap, and the smoke test reachescmd.exe. A 6.99 MiB image cannot fit 2 MiB-aligned below 0x800000 (6 MiB free), so the fix is a SEQUENCING decision the runner will not make unattended: (a) relocate user frames private BEFORE §3 (§6 ahead of the jump), or (b) re-baseMM_KERNEL_PHYS_BASEabove the user window (pinned-SSOT edit). Circular dep §3<->§6/§7 the plan left unresolved. Filedtodo/answers.mdQ3 (proposed default (b)). Also captured for re-attempt: crit#1 linker VMA must beMM_KERNEL_IMAGE_BASEnotMM_KERNEL_VIRT_BASE(item 152 bug, would triple-fault); high#3boot_payload.c:152reads__kernel_start/endas physical (repoint to__kernel_phys_*); high#4 post-load reservation must cover the max PMM bitmap extent. §4-§8 cascade-deferred on §3. TODO-33 now file_class BLOCKED (awaiting-operator keeps the run armed, no false fixpoint). ESCALATION: the entire kernel-CODE queue is now blocked on this one decision -- TODO-33 §7 retires the BSS ceiling, §7 needs §3-§6, §3 needs this operator call; TODO-22 §23-§25 + TODO-23 §2-§16 + every later kernel TODO that adds.textstay ceiling-parked until it lands. Non-kernel / userland / desktop / shell / docs work is unaffected -- advancing there. -
2026-07-17 | pass 1 | cursor
02-kernel-core/TODO-24->TODO-33§10 | Closed out TODO-24's tail: parked §9/§10/§11/§12[/]with terminal Deferred stamps + IO flips + OS-Comparison blocker annotations + a file-wide "Ceiling park" note (924406dc,9872e8be,720208f3,85672e0b,16c7bd0c); TODO-24 now file_class DONE so the oracle stops bouncing. All four defer on ONE root cause, measured not assumed:__kernel_end0x7fe000 vsUSER_BASE0x800000 = 8 KiB,scripts/build.sh:356fails closed. Proof it binds: §7 is fully implemented AND Codex-reviewed yet already lands the-DKERNEL_TESTSBSS end at exactly 0x800000 (stashTODO-24-s7-wip-bss-ceiling). Secondary blockers recorded where independent:NtAlpcQueryInformationMessageis 7 args vs the 6-wordSSDT_HANDLERcap (operator-reserved, §8), and §9's SID/server classes readserver_comm->ClientTokenwhich lives in the §7 stash. Correction shipped: §9 listedAlpcPortAssociateCompletionPortInformationas open work, but §8 already implemented it (nt_alpc.c:486-500, probe + bounds + real call) -- verified at file:line, flipped[x]. Routing (deliberate, oracle-overridden): numeric-next is TODO-25, but it is kernel code and would park on the SAME ceiling -- pure churn. Going to TODO-33 §10 (tactical BSS headroom) instead. This retires the prior entry's "entire kernel-CODE queue blocked on an operator decision" escalation as STALE: §10 was filed 2026-07-17 precisely as the nearer unblock that needs NO operator call and NO §3 -- it convertsreg_value_pool(784 KiB) +reg_key_pool(228 KiB) topmm_alloc_contiguous, recovering ~98x the 8 KiB the stalled sections need. Verified ready: TODO-33 is validated + gap-audited (stages_1_2_done), file_class NEEDS_WORK with §10 the only open section, depends on nothing, and both pools are static in tree atregistry.c:61/:64as specified. Landing §10 un-parks TODO-22 §23-§25, TODO-23 §1-§16, and TODO-24 §6-§12 wholesale. TODO-24's real close-out waits until §10 un-parks it -- closing it now would be false completion. -
2026-07-17 | pass 1 |
02-kernel-core/TODO-33§10 SHIPPED (000e4745+ review636e5771) -- tactical BSS headroom:reg_value_pool/reg_key_pool/s_atomsmoved from static BSS to frame-backed storage via newpmm_alloc_pages_hhdm/pmm_free_contiguous/mm_phys_extent_in_hhdm. BSS end0x7fe000->0x6c0000: headroom 8 KiB -> 1280 KiB (160x) -- the ceiling that parked TODO-22/23/24 is retired. Codex 5x (design/adversarial/consistency/perf/re-adversarial) + kernel-quality-auditor + concurrency mapper; 3H+7M+2L fixed, 3H+2M accepted-XREF. Corrected 3 false claims in tree: the TODO'sdevicesrow namedblkdev.c(reallyxhci_dev.c; blkdev's is 1.4 KiB), a "single-CPU init boundary" safety rationale (APs are up; the real invariant is theboot_async_groupbarrier, whose 10s-timeout hole is now named + filed), andregistry.c's "usable before the heap" header. Filed:02-kernel-core/TODO-10 §26(-DKERNEL_TESTSis unconditional -> every test seam ships),03-memory-concurrency/TODO-03 §1(timed-out-AP PMM race),04-drivers-hardware/TODO-10 §1(271 KiB xhci table),02-kernel-core/TODO-14 §14(registry rollback coverage). Split the unpark sweep into a new §11 (several parked sections carry a 2nd blocker; not a blanket un-defer). Build OK, 21460 kernel + 16 user tests, smokeC:\>. -
2026-07-17 | pass 1 |
02-kernel-core/TODO-33§11 SHIPPED (c374071b+ review40f90ffd) -- unparked the ceiling-stalled kernel queue and collected on §10's headroom. Re-applied the parkedTODO-24 §7ALPC stash and SHIPPED it (992e2846+ reviewabbc46a8): it built at BSS end0x6c2000where it once hit0x801000, proving the headroom real. Re-reviewed vs the moved HEAD rather than trusting its old review -- 7 Codex dispatches found a same-SID impersonation escalation (UAC split tokens share a UserSid but not authority), then three narrower residual holes in the fix, plus 2 self-inflicted regressions (a ring-3 usercopy DoS, a disabled-server-group hole); every fix proven by negative control. Un-deferred TODO-23 (15 of 16; §15 re-parked on its open D10T10 §8 dep) and TODO-22 §23/§25; kept TODO-22 §24 + TODO-24 §8-§12 parked with surviving blockers restated. Review caught the sweep trusting stamps over the "Depends On" column: TODO-23 §1 / TODO-22 §23/§25 pointed at the cascade-blocked §7 instead of §10, and ~12 stale "8 KiB headroom" / dropped-stash claims survived across TODO-24/33 -- all swept.test_highhalf.cstays deferred on honest grounds (3 of 5 assertions need the higher-half kernel §3 has not delivered). TODO-33 now BLOCKED on §3 alone (operator-reserved). Advance to02-kernel-core/TODO-10§26. | 2026-07-17 | TODO-10 (kernel-security-hardening) | FILE_CLOSE sweep-only: 12/30 shipped, 18/30 correctly deferred (KPTI/CET/KASLR pending T11/T12/T23/T27/T33); closed 2 fuzzy-residue loose ends (stale code-truth callout §8/§11/§12; §29 helper-count drift 7/8/10 -> 8).2f70b4cc. Advance to TODO-22 §23. | -
2026-07-18 | pass 1 |
02-kernel-core/TODO-22§25 SHIPPED (c846428f+ reviewdff3d1e1) -- counted (non-_U) Rtl env read forms (RtlExpandEnvironmentStrings / RtlQueryEnvironmentVariable) over a SIZE_T-safertl_env_expand_countedengine + sharedrtl_env_query_valuecore; both_Uforms delegate down; wrap-guardedsize_toverlap helper +RTL_ENV_SOURCE_MAX_WCHARS. Codex 7x (design+adversarialx2+re-adversarialx2+consistency+perf) + kernel-quality-auditor clean; fixed 2 ret-store-before-overlap ordering bugs; 8 new suites, 2162/2162 PASS 0 leaked. Exports stay gated (no pe.c row). TODO-22 §25 was the last open## N.section. -
2026-07-18 | pass 1 | cursor
02-kernel-core/TODO-22->TODO-23| FILE_CLOSE sweep-only (343d5f53): TODO-22 cannot fully close (14 Impl-Order rows still[/], deferred to shell/userland/security/other TODOs -- §6 kernel32, §7 shell PATH/SET, §8 .profile, §9 WM notify, §11-§18, §21/§24). Ran the mandatory sweep now that §23/§25 shipped + TODO-33 §10/§11 retired the BSS ceiling since the 2026-07-15 sweep. Deterministic enumerators clean (todo-hygiene 0, validate 8/8); todo-hygiene-auditor returned 3 fuzzy findings, all verified at file:line: (2 FIXED) §21:744downstream-note "clone/destroy-only until §23/§24" was stale advisory -- §23 shipped the live-adoption ops 2026-07-17, annotated to current state; §24:847XREF quoted "KEEP[/]" vs the verbatim target "KEPT[/]" (TODO-33 §11:400), corrected. (1 NOTED-not-edited) narrative para:922-926stops at §21 and omits §22-§25 -- that is OS-Comparison roadmap narrative (read-only to the sweep) and the Impl-Order table authoritatively shows §22-§25[x], so not a status lie. §24 stamp correctly separates the cleared ceiling half from the surviving TODO-23 §13 usercopy blocker. Tree clean (discarded timestamp-only coverage-doc churn). Advance to TODO-23 §1 (EXCEPTION_RECORD/CONTEXT/EXCEPTION_POINTERS types; stages_1_2_done, unblocked by the retired ceiling). -
2026-07-18 | 02-kernel-core/TODO-23 §6 (x64 table-based unwind) SHIPPED (a63dd05b) + reviewed (ddd720b3). RtlLookupFunctionEntry/RtlVirtualUnwind + dynamic function-table registry + RtlPcToFileHeader (~1010 LOC, 22 test suites). ~42 Codex dispatches (design+adversarial+re-adversarial+consistency+perf), all findings received; consistency+perf approved. Accepts filed (§7 fault-safe reads, T18 §5 loader/metadata); §6 follow-ups deferred (SMP-epoch, v2 epilog, indirect-fragment, winnt.h types, combined-lookup). 21887 kernel + 16 user tests, smoke PASS. -> next: TODO-23 §7.
-
2026-07-19 | pass 1 | 02-kernel-core/TODO-23 §14 (Kernel-Mode
__try/__exceptfor Drivers) SHIPPED (95a4e592) + reviewed (e7ee802e). Registration-list + setjmp scheme (clang x86_64-elf cannot lower MSVC __try): KI_TRY/KI_EXCEPT macros,ki_raise_kernel_exceptionwalks the per-thread chain and rewrites the trap frame so IRETQ resumes in KI_EXCEPT;except_seh.asmki_seh_setjmp (returns_twice);kernel_exception_listin struct thread + chain-reset on every create/free/reap path. Design (4H adopted) + adversarial (owner-stable dereg, cross-thread publication guard, do-block cleanup guard) + review (consistency: dead-TCB chain clears; IF-test hardened). Accepted 1H out-of-scope: pre-existing SMP stack-teardown quiescence UAF -> TODO-07 §3 new off-CPU-reap-barrier item (line 123). ~15 Codex dispatches; adversarial/consistency/perf converged to approve. 434 kernel + 16 user PASS (incl. a LIVE #PF caught+resumed), 470 sched PASS, smoke PASS. Stamp commit used honest SKIP_REVIEW_HOOK (broker completions did not refresh last-review-stamps.json). §14 IO row [/] (core v1 shipped; __finally collided-unwind + boot/main-thread KI_TRY deferred in-section). -> next: TODO-23 §16 (Exception Dispatch Telemetry). -
2026-07-19: TODO-23 §17 (guard-page stack auto-grow) DEFERRED [/] -- 3 sources (Codex design 3H+1M, kernel-explorer, concurrency map) converged no-ship; blocked on 4 prereqs (per-CPU current-thread cursor TODO-07 §3, reserved-VA lazy-commit + PMM/PT lock TODO-01 §3, safe overflow delivery/termination §5). 4 Deferred stamps w/ concrete XREFs. commit 7ab21613. TODO-23 has no actionable sections this pass -> advance.
-
2026-07-20 | pass 1 | 02-kernel-core/TODO-25 §6 (Registry, ALPC, Notification Quotas) SHIPPED (
8a578023) + reviewed (65fc65a8). Notification + ALPC charge points,quota_charge_currentsingle entry, privileged per-user default tunables with a live re-limit walk. Review found the caps are mechanism-only (no productionkernel_tunable_setcaller, all defaults unlimited) -- claim corrected to[/], policy source filed on TODO-02 §6. Registry charging deferred to TODO-14 §15, ALPC port sections to TODO-24 §6. Codex 7x; 23089 kernel + 16 user PASS, smoke 2.710s. -
2026-07-20 | pass 1 | 02-kernel-core/TODO-25 §7 (CPU, I/O, and Wakeup Accounting) SHIPPED (
4b541c54) + reviewed (4776f7cc). Per-task metrics (control-I/O, wakeup, timer-create) as lock-free RELAXED atomics;task_acct_sample()one-timestamp read;task_acct_note_read_io/write_io/control_iocanonical seams across 8 file+pipe sites;task_wake_thread()CAS-claimed wait-grant seam (10 of 17 THREAD_READY sites); CPU tick accounting decoupled fromsched_enabled(RCU + compositor regions were uncharged); job aggregation moved from member LIFETIME totals to the MEMBERSHIP INTERVAL +IO_COUNTERS.Other*;quota_rate_limit_ttwo-envelope policy records (IOPS and bytes/sec together) under a per-class bounded seqlock returning the newSTATUS_RETRY, canonicalized on publish, layout pinned 40/104 by_Static_assert. Design review killed the original chain-charge-per-tick design outright (IRQ cost + block-lifetime contract). 13 Codex dispatches; reviewer caught 8 real defects in new code (STATUS_RETRY clobbering the caller's snapshot, single-unit record, CAS resurrecting a DEAD thread, unflagged amounts as caller garbage, implicit ABI hole, named-timer counted only on handle success, pipe I/O missing, slot-reuse counters unreset). SYS_READFILE was instrumented then deliberately REVERTED: it hands a ring-3 buffer to vfs_read for kernel-mode writing and is slated for retirement -> filed on TODO-05 §5. 7 accepted-XREF (owners filed: TODO-06 §14 CPU bandwidth control + §15 wait/wake transaction locking, storage TODO-01 §8 block-I/O QoS, TODO-05 §5/§14, TODO-05-object-manager §4, TODO-25 §11). 15 new quota suites; 23264 kernel + 16 user PASS, smoke PASSED. -> next: TODO-25 §8 (Native Query/Set Quota Syscalls). -
2026-07-20 | pass 1 | 02-kernel-core/TODO-25 §8 (Native Query/Set Quota Syscalls) SHIPPED (
ee8443b9) + reviewed (fce1855d). ProcessQuotaLimits on the existing process-information syscalls + JobObjectQuotaLimitInformation (frozen V1 wire shape). 7 Codex legs + kernel-quality-auditor + parity: 1Crit+5H+8M fixed (usercopy on the query/ReturnLength paths, quota-block refcounting, all-writes-privileged for job quotas, spinlock-instead-of-broken-mutex, every non-numeric widening now privileged, RLIMIT_CPU zero projection); 4 accepted-XREF, 1 deferred (cross-process). 23400 kernel + 16 user PASS, smoke PASS. -
2026-07-24 | pass 1 | 02-kernel-core/TODO-25 §9 (Resource Pressure Events and Recovery Hooks) SHIPPED (
ede7213f) + reviewed (ae1126fb). 4-level hysteresis machine sampled by a periodic 50 ms KTIMER, quota-failure event contract, bounded publish ring + threaded-DPC drain, cooperative nomination. Codex 6x (design/adversarial/consistency/perf/test-coverage/re-adversarial) + Opus kernel auditor; 11H+13M+1L fixed, 5 accepted-XREF. Architecture decision: cooperative-only escalation, kernel never terminates. Section stays [/] -- stall input owned by §12, recovery actions by TODO-30 §6, working-set enforcement by TODO-21 §9, each filed with reciprocal XREFs. 23607 tests, smoke 2.800s. -
2026-07-25 | pass 1 | 02-kernel-core/TODO-25 §10 (Tests, Leak Sweeps, and Dashboards) SHIPPED (
b18c881d) + reviewed (87fb0885).quota_dump()serial dashboard +quota_dump_crash()panic form (try-lock, preallocated rows, header-only fallback) wired into panic.c; per-CATEGORY quota leak sweep that FAILS CLOSED and is folded into FAILED by both test drivers; charge-path bulletproofing; 20 suites intest_quota_dashboard.c. Coherence took four rounds to get right (generation -> +two walks -> +mutation epoch -> +active-writer count, with load-bearing sample ORDER at each edge), and the writer instrumentation went per-CPU after Codex verified three locked RMWs on one global cache line in the shipped image. 7 Codex legs + kernel-quality-auditor + concurrency-evidence-mapper + parity analyst; 19 fixed, 5 accepted-XREF. Found 3 PRE-EXISTING defects: klog has no%-Nssupport (§9's pressure dump had shipped garbage rows),KERNEL_TESTS=offdid not build at all, andtest-swtpm.shbypassed the new gate. IO row[/]-- 5 items open with XREFs (TODO-07 §3 per-CPU run queues, TODO-27 §7 panic-safe emitter, §5 instrumentation flavor, §11 handle charge). 23766 kernel + 16 user PASS, 0 quota-leaked, smoke PASS (KVM 3.120s). -
2026-07-25 | pass 1 | 02-kernel-core/TODO-25 §11 SPLIT from the old 14-item §11 into §11/§13/§14 (
9f085454), then §11 (Charge Ledger and Transactional Adjustment) SHIPPED (f643f7ce) + reviewed (2d683449). Refcounted obligation ledger whose charges outlive the reusable task slot, a per-task packed {state,in-flight} charge gate entered byquota_charge_chainso every chain charge participates in the membership barrier,quota_charge_adjustas a real prevalidate-then-commit transaction over all block locks in address order, and adopt/revert job migration that moves obligation ownership without a second charge. 23 suites. Codex 12x + kernel-quality-auditor + concurrency-evidence-mapper over 6 rounds: 12H+13M+2L fixed (a UAF where the adjust took no ledger reference, a lost-return path that abandoned live charges, an O(capacity^2) walk, and a ledger that could eat 77% of the 2 MiB heap), 1H+1M rejected with code evidence, 3 accepted-XREF to concrete §14 items. 23915 tests PASS, smoke PASS. -
2026-07-25 | pass 1 | 02-kernel-core/TODO-25 §4 (Receipt Identity) REVIEWED (
68279cb1) -- a shipped-but-never-reviewed section: implemented at740edf7dwith all 8 items[x], a test checkpoint and Notes, but neither stamp and no run-log entry, so the oracle correctly re-surfaced it as NEEDS_WORK. Codex 5x (adversarial, consistency, perf, re-adversarial x2) + kernel-quality-auditor + concurrency-evidence-mapper + parity analyst; 2H+4M+5L fixed, 1H rejected, 7 accepted-XREF. The load-bearing find was an identity hole the header itself created:quota.hpromises an unconditionalquota_return_chainon the error path is safe, yet a post-claim refusal left the caller's token untouched -- and a stale value equal togen+1(token 1 for every fresh receipt) is exactly what the next charge publishes, so the documented error-path return would credit back a charge it never made. Fixed by retiring the token at the claim CAS; the zero-amount path had already applied that exact reasoning to itself. Also: zero-amount charges bypassed the SEALED-gate contract (teardown seals before it clears the block), the§4text andquota.hboth claimed every tag transition was a CAS when publishes/releases are release stores, and a new wait-exhausted counter replaced an untelemetered give-up. My own perf fix (skip the CAS on a BUSY snapshot) REGRESSED the loop -- re-adversarial round 1 caught that it can miss an ACTIVE republished right after the final read, exactly the abandonment the existing comment warned about; repaired with one unconditional attempt after the loop. Rejected the parity agent's "live-charge migration missing" (shipped in §11 atquota_ledger.c:1042); its WebSearch was hook-blocked so its NT/Linux claims were unsourced. 5 new concrete§14items own the deferrals. 23927 kernel + 16 user PASS (SUITE=quota 1842), smoke PASS (KVM 2.900s), lint 0 errors, todo-graph 8/8. -
2026-07-25 | pass 1 | 02-kernel-core/TODO-25 §12 (Resource Pressure Stall Telemetry) SHIPPED (
bb1cbd25) + reviewed (b9238f22). PSI-shaped stall telemetry in its OWN 3-entry domain space (quota_stall.c/.h) --quota_resource_type_tis frozen at 16 and has no cpu or io, so coercing into it was never possible -- plusSystemResourcePressureInformation(class 0x1003, 248 B, every offset asserted). Codex 16x (design, adversarial x2, test-coverage, consistency, perf, re-adversarial x10) + kernel-quality-auditor + concurrency-evidence-mapper; 16H+20M+5L fixed, 1H rejected, 4 accepted-XREF. The review found the ACCOUNTING MODEL wrong three independent ways and each fix exposed the next, so the third pass rebuilt it instead of patching: per-CPU non-idle weighting (Linux PSI's, not sum/sum -- the naive form reads 333 permille where PSI reads 167), ONE interval for every published quantity (an intermediate per-slot-ratio-then-rebuild-time revision deleted or double-counted whatever a producer advanced past the fold timestamp), and cumulative totals from RAW per-CPU deltas because a per-window weighted mean does not distribute over a partition (2.00s vs 2.13s for the same stall folded at different boundaries). Two of my own numbers were simply wrong: the decay coefficients were near Linux's LOADAVG constants (5 s period, 1/5/15 MINUTE windows) and described 22.9/119.5/371.4 s windows, and a "150 periods have converged" claim was false (d^150 = 0.368 at 300 s). Also fixed: the entire fold ran IRQ-off under a global lock (~270 exponentiation iterations); a migrated wait left its origin CPU permanently stalled;fullwould have mirroredsomeforever without runnable tracking; double-floored publication made a sustained exact 700 permille read 699 and never cross WATCH. Rejected "full is per-CPU not system-wide" [H] -- that IS Linux PSI (psi_group_cpuis per-CPU,collect_percpu_timesweights by non-idle); only my prose overstated it. Section stays[/]: all three seams (cpu/mem/io) are owned elsewhere and unwired BY DESIGN, so every domain reports VALID clear -- the flag Linux has no equivalent of. 2 cross-TODO XREFs corrected (TODO-03 §6 is the Tagged Allocation API, not a waiting allocator) with reciprocal seam items filed in both owners. 24511 kernel + 16 user PASS, smoke PASS (KVM 2.820s), lint 0 errors, todo-graph 8/8. GOTCHA:review_convergence.py/review_round_guard.pyare PYTHON -- the doctrine'sbash .claude/hooks/...shape fails with a shell syntax error; usepython3. -
2026-07-25 | pass 1 | 02-kernel-core/TODO-25 §13 (Object Manager Charge Points) SHIPPED (
fc809dac) + reviewed (d09ca576) as a DEFERRAL with one item closed: the counter-authority boundary landed, all three charge points stay[/]. The pre-implementation design review is what earned this section -- it turned ONE known blocker into FIVE, every one owner-side, so a charge point built today would have shipped a known-wrong accounting path rather than an incomplete one. Confirmed each at file:line myself:ob_free_objectruns in the LAPIC timer ISR viant_timer.c:165(aquota_ledger_returnthere reacheskfreeof up to 64 chunks, and IRQL-skipping it leaks the charge instead);quota_ledger_task_release(task.c:3489) runs BEFORE theACCESS_TOKENderefs at:3596/:3609and token bodies areob_alloc_objectallocations, so a body charge would false-leak on EVERY process exit and break the green0 quota-leakedsweep -- that one the concurrency mapper found, not Codex;ObpDirectoryTypeis registered bare (ob.c:809) so a non-empty directory teardown drains nothing (already leaking entry nodes and child refs today, independent of quota); andObInsertObjectreturns 0/-1 (ob_ns.h:65) soSTATUS_QUOTA_EXCEEDEDis unreportable for the name-entry charge. 4 new concrete owner items filed with reciprocal XREFs (2 in TODO-05 §4, 2 in §14) plus a g_ob_types budget item in TODO-05 §1. What shipped is the boundary itself:OBJECT_TYPEowns system-wide per-type totals, quota owns per-principal charges over a frozen 16-row taxonomy, neither derivable from the other. The CHARGE RULE inside it was wrong TWICE before converging -- the first draft said quota "cannot count timers or sections" (false, those are dedicated rows), the second said "exactly one row per creation" (false in three ways: no MappedView object type exists, NotificationState was omitted though KNF already charges its row atknf.c:230, andknf_create_statecharges two rows for one creation -- as worded it would also have suppressed the namespace-entry charge item 2 requires and this section's own test asserts). Final form is scoped to BODY-CLASS rows, and I verified the partition myself before re-review: the 18 productionob_create_typeregistrations split exactly 5 dedicated + 13 generic, complete and disjoint; the confirming round independently enumerated the same 18 and approved. Codex 7x (design, adversarial x2, consistency, perf, re-adversarial x2) + kernel-quality-auditor (no C/H/M) + concurrency-evidence-mapper + parity analyst (parity-complete: Windows keys its process quota block by pool type 2-wide, not object type; both baselines answer "which type is leaking" by enumerate-and-classify, which TODO-05 already owns). 3M+4L fixed, 5H+1M+1L accepted-XREF. Also narrowed my OWN test on the first adversarial round: it claimed cross-type folding it could not demonstrate, sincequota_chargetakes no type identity. 24538 kernel + 16 user PASS, 0 quota-leaked, lint 0 errors, todo-graph 8/8. No boot-path code, so no smoke run. -
2026-07-25 | pass 1 | 02-kernel-core/TODO-25 §14 SPLIT FIRST (
e23a1720): the section-manifest complexity predictor returned SPLIT-RECOMMENDED (20 real items, ABI impact) for what was a follow-up bucket accumulated from five other sections' reviews, so it became §14 (ledger lifetime) / §15 (charge-path cost) / §16 (attribution + status fidelity) / §17 (infrastructure-gated, deferred as a unit). Then §14 (Ledger Lifetime: ISR-Safe Return and Obligation Adoption) SHIPPED (7297e651) + reviewed (24e60774). The filed item's premise was WRONG and saying so changed the fix:kfreeis not illegal at raised IRQL (the heap takess_heap_lockwithspin_lock_irqsave, andheap.h:79-83contemplates an IRQ callingkmalloc) -- the defect is UNBOUNDED WORK, since a completing return releases up toQUOTA_CHAIN_MAXblock references and a last block deref unlinks and frees, so the WHOLE return had to be deferred, not just the destroy Codex's first design pass and my own item text both scoped it to. A slot is now claimed by ONE CAS ofownerfrom its epoch toepoch|QUOTA_SLOT_DEFERRED; the record IS the slot and the queue node is inside the ledger, so nothing allocates on the deferral path. Codex 19x (design, adversarial x3, test-coverage, consistency x2, perf x2, re-adversarial x10) + kernel-quality-auditor (no C/H) + concurrency-evidence-mapper x2 + kernel-explorer; 2Critical+16H+14M+8L fixed, 2 deferred-XREF. BOTH criticals were use-after-free in the reference protocol and neither was in the original design: the drain dropped transferred references INSIDE the slot walk (last completion frees the chunk array being iterated), and the producer published the deferred stamp BEFORE securing queue ownership, so a drain that had already popped the ledger could free it while the producer was still on its way todefer_push-- for exactly the outliving-task ledger the mechanism exists to serve. Four of my OWN fixes each drew the next round's finding, which is the honest cost record here: a wrap-coverage requeue that alternated between two half-sweeps forever, a retry budget that counted BUSY SLOTS instead of no-progress CALLBACKS, an exhausted budget that survived its own abandonment, and a check-then-decrement guard that was itself a race (another holder can let go between the read and the drop) -- replaced by deciding paid-or-deferred ON the atomic decrement. Item 4 (the ALPC/KNF conversion the section is named for) is DEFERRED on measured evidence, not judgement: both consumers were converted and the change REVERTED when the KNF subscriber-cap suite failed atgot 1544, expected 4096-- the ledger caps a task at 8+64*24 obligations whileKNF_MAX_SUBSCRIBERS_PER_STATEis 4096 and alpc-messages defaults unlimited, so converting would impose a new ceiling and turn a quota refusal intoSTATUS_INSUFFICIENT_RESOURCES; filed as a concrete §15 ceiling item. Closed 2 of §13's 4 prerequisites. Also repaired 28 stale XREF line receipts across §5/§9/§10/§12/§13/§14/§15/§16/§17 (all 36 now resolve to their named item) and one genuinely dangling receipt whose §12 item had been renamed during its own review. Docs corrected where they named the WRONG invariant: the token store's ordering comes from the requeue, not the queue lock; the threaded-DPC pin is queue ownership, not affinity (dpc.h:57-65-- one all-CPU worker drains every threaded list, so the idle-AP stranding rationale copied from quota_pressure does not apply and quota_pressure's own comment is stale too). 24605 kernel + 16 user PASS, smoke PASS (KVM 2.720s), lint 0 errors, todo-graph 8/8. -
2026-07-25 | pass 1 | 02-kernel-core/TODO-25 §15 (Charge-Path Cost Reduction) SHIPPED (
c8799a19) + reviewed (57bc2d59) as 3/5 items. Shipped: chain ceiling 8 -> 4 (receipt 88 -> 56, PORT_MESSAGE_ENTRY 152 -> 120, ledger slot 104 -> 72) with size asserts plus aQUOTA_CHAIN_MAX == 4upin the parameterized assert could not provide; charge-before-kmallocinAlpcAllocateMessageso a quota-refused send allocates nothing; adjust-path writer instrumentation moved out of its IRQ-off window (3n locked RMWs -> 3). Ledger density 1544 -> 2184 obligations for less heap. REVERTED theob_job_collect_accountinglock-hold cut: correctness needs per-membert->job_lock, which adds 32 lock pairs and raised total cost (perf review High) -- deferred on a membership generation. Design review killed page-backed ledger chunks on the PMM contract (pmm.hbars lazy allocation on a live path) and corrected the item's false premise (KNF's 4096 is PER STATE, so no finite ceiling is consumer-proof). Codex 8x + kernel-quality-auditor + 2 mappers; 5 tests added, each sentinel-proven to execute. build OK | 24640 passed, 0 failed, 0 leaked | smoke PASS (KVM 2.690s). -
2026-07-25 | 02-kernel-core/TODO-25 §16 (Charge Attribution and Status Fidelity) SHIPPED (
1948a368) + reviewed (959d831a) as 5/5 items. System-wide opt-in charge attribution (NT pool-tag analogue),knf_create_state_ex+ObInsertObjectExstatus fidelity,QUOTA_PRESSURE_UNKNOWNwith an ABI validity flag. Codex 18x; 29 findings, 27 fixed, 2 rejected with evidence, 2 accepted-XREF. Per-block attribution rejected on heap arithmetic (unprivileged OOM amplifier); 3 follow-ups filed in §17. 25169 tests, 0 failed, 0 leaked; smoke 2.610s. -
2026-07-25 | pass 1 | 02-kernel-core/TODO-25 §18 shipped (
33635730) + reviewed (0d726410): per-task obligation ceiling (per-type caps summing to 2048, asserted below the 2184-slot storage bound; linearizable bounded-CAS admission; STATUS_QUOTA_EXCEEDED vs STATUS_INSUFFICIENT_RESOURCES vs STATUS_INTEGER_OVERFLOW kept distinct) + ledger charge-source pass-through. 3/3 items. 30 Codex dispatches; 5H+27M+5L fixed, 3 accepted-XREF, 2 rejected with evidence. Deferred: SMP boundary regressions (§17), claim-scan O(N^2) (§15). 25369 tests, smoke PASS. -
2026-07-26 | pass 1 | 02-kernel-core/TODO-25 §19 (Lockless Job Membership + Live Pressure-Retry Seam) SHIPPED (
2aff2025) + reviewed (125a12e0) as 4/4 items -- TODO-25's LAST implementation section, so all 19 are closed and the file is ready for FILE_CLOSE.JOB_OBJECT.member_genbumped underjob->lockon assign/detach/terminate;ob_job_collect_accountingsnapshots the compacted pid list + persistent sums + atask_count()publication sample under the lock, copies baselines in 8-member batches, computes per-member saturating deltas OUTSIDE the lock, re-checks both, and takes the fully-locked walk after 4 invalidations. KERNEL_TESTS create-path seam inquota_pressure.c(one immutable {clock,create} pointer, hold +KeFlushQueuedDpcsquiesce, transactional single-channel isolation). 8 new suites. THREE review rounds reversed each other on the arithmetic: baselines cannot leave the lock (plain multi-word struct), aggregate SATURATING subtraction breaks the modular identity under wrap, and UNSATURATED aggregate subtraction bypassestask_acct_sub_sat's documented per-member reset defence -- landed on per-member deltas through the tested helper, batched because a 32-member baseline array is 2560 bytes on an 8 KiB stack. Review caught a [H] UAF the section had WIDENED (the walk is now preemptible between acquisitions andjob_lookuptakes no reference); pinned withObReferenceObjectSafeat the twont_job.caccounting call sites, NOT inside the collector -- pinning there broke 18 assertions because stack fixtures have no OBJECT_HEADER. Perf [H] accepted honestly: max hold is still O(n) and acquisition count rises 1 -> 2+ceil(n/8), unmeasured; claims corrected everywhere and a benchmark item filed. Parity pass found ownerless false completeness (TotalPageFaultCountnever assigned,ThisPeriodTotal*flattened,PRESERVE_JOB_TIMEunenforced) -> filed in TODO-21 §14. Final adversarial re-raised the pre-existing lookup-to-pin instant; rejected as already-accepted, owner is TODO-05 §3'sObpReferenceObjectByHandle. Codex 15x + 3 agents; 2H+8M+5L fixed, 2H+2M accepted-XREF, 1M deferred-XREF, 2M+1L+1H rejected with evidence. 25464 tests, 0 failed, 0 leaked; smoke PASS (KVM 3.020s). NOTE: thecodex_review_completedrecorder was dead all session (per_kind stayed empty after every dispatch shape) -- both commits used a logged SKIP_REVIEW_HOOK opt-out citing on-disk review artifacts; gotcha recorded in live-gotchas.md. -
2026-07-26 | pass 1 | 02-kernel-core/TODO-25 CLOSED (
ff1759c6) after two tail items the file-close sweep found UNBLOCKED. The oracle already read the file as DONE (19/19 sections stamped), which is exactly the shape that hides work: nine sections are[/]with Deferred stamps, and two of their open[ ]items were XREF'd to §18 -- a section of the SAME file that had since shipped, so nothing would ever have brought them back. Both implemented before closing. (1) §15quota_ledger_claim_slotnow positions its iterator at the scan start viaquota_ledger_iter_init_at(moved up beside the iterator, body unchanged) instead of initialising at 0 and discarding the prefix, so a sequential fill costs one probe per claim rather than 1+2+...+N -- material at §18's 2048-obligation ceiling (51af347d). Codex caught that the first regression test asserted only slot indices and capacity, ALL of which the prefix-walking shape also produces, so a revert would have left it green; added a KERNEL_TESTS probe counter and proved the assertion discriminates by injecting the old shape (35 probes vs 7). (2) §9 obligation-ceiling refusals now emit their ownQUOTA_FAILURE_RECORD(21383d27): the ceiling refuses beforequota_charge_chain, so no block-layer reporting fires and its counters carry only the resource type -- the principal was carried by nothing. Codex caught a real teardown race: the caller holds a reference to the LEDGER but not the task slot, so a reap between gate-exit and report could bill a new tenant; the refusing ledger is now passed in and checked againsttask->quota_ledgerinside the sametask->quota_locksection that pins the block, with the requested regression proving a detached-but-live ledger emits nothing while the owning one still does. Close-out: 3 Unit Tests items reconciled to coverage that shipped under other names (one had a STALE premise -- it claimed §9's levels derive from the §12 stall metric, while §9 ships budget saturation and says so in its own stamp), 4 blocked items annotated with their blockers at the item, Verification executed 3/5 automated PASS (quota_dump()boot half stays open and XREF'd to §10's bounding item; bare metal manual). Doc sync:TEST_CAT_QUOTAwas missing from three category lists (CLAUDE.md,test.sh --help, the implement-unit-tests enum block) -- each was stale for 7 categories, not 1, so each was completed rather than quota-patched, and development-tooling.md's "28 test files covering 11 categories" (actual: 109 and 17) was replaced by a pointer to the generated coverage report. 25500 tests, 0 failed, 0 leaked, 0 quota-leaked; SUITE=quota 3313/0; lint 0; todo-graph 8/8. -
2026-07-28 | pass 1 | 02-kernel-core/TODO-21 §19 (
task_execcommit point + kernel-stack reclamation) shipped as[/](c64bec7c): commit point + infallible isolation remap, non-returning post-commit failures viaTASK_EXEC_IMAGE_DESTROYED, kernel-stack reclamation (stack_pending_free), publication moved last underlocal_irq_save, fork-origin isolation refusal, SYS_EXEC staging-buffer leak. Reviews: design + adversarial x2 + test-coverage + re-adversarial, all received. Held at[/]rather than[x]-- two passes independently showed the section's fault-injection Test checkpoint is unmet (a kernel unit test cannot drivetask_exec), so 3 concrete items were filed (ring-3 fault-injection matrix, guard-registry transactionality, staging-release ordering). Earlier in the pass: split §19 -> §19 + §20 and corrected its false "sole cause of red CI" claim (f1c9b979); fixed a CI gate that could not observe its own repair (46b553a3). Rollover REFUSED (operator's TODO-25 edit in tree) -- continued in-session. -
2026-07-28 | pass 1 | 00-infrastructure/TODO-04 §20 SHIPPED (
3f1410ee) + reviewed (72a4ce3d) as[/]6/7 items. Split §20 first (6b3510b4): the complexity oracle flagged SPLIT-RECOMMENDED, so three unrelated mechanisms became §20 (site addressing), §21 (fork-child arming), §22 (skip artifacts), §23 (generated exit-status ABI), with a structured waiver for §23. Site-targeted + PMM-countdown fault selectors shipped with per-allocator task-owned arms, per-thread site markers, CAS single-shot claim, fail-closed arming and a FAULT_SITE_QUERY consumed receipt. Codex 16x across design/adversarial/consistency/perf/re-adversarial; 6H+7M+1L fixed, 0 open. Deferred: PEB-site end-to-end probe -> §23; ordinal-selector migration safety -> §21. build OK | 26886 kernel + 16 user-mode | check-abi rc=0 | smoke matrix 4/4 | lint 0 errors. -
2026-07-28 | pass 1 | 00-infrastructure/TODO-04 s22 SHIPPED (
4bc42f64) + reviewed (4ddfcee7) 7/7 items. Ring-3 harness now self-reports assertions + skip BLOCKS through SYS_TEST_REPORT (48), fail-closed at two gates (atomic single-submission claim, exit-status reconciliation) so a partially skipped binary reaches TAP/JUnit/JSON as PASS-with-N-skips instead of an indistinguishable exit 0. 7 Codex dispatches; the perf leg disproved the section's own zero-release-cost claim (record was unguarded in struct task) and a clean KERNEL_TESTS=off build was needed to confirm the fix. Filed s24 (JSON artifact file + abort-aware summaries) and s25 (non-forgeable record framing, accepted-XREF from the adversarial leg). Next: TODO-04 s23. -
2026-07-29 | 00-infrastructure/TODO-04 §24 | shipped: host-side JSON test-results artifact + abort-aware machine summaries (e15b5c3d, review b66ef71a). Found and fixed 3 unclaimed defects: the
suite ABORT/ TAPBail out!announcement was UNREACHABLE (phase-0 fast-fail break exits the phase loop) so the host ABORT gate had never fired; the zero-binary path never emitted the host's completion sentinel, so a filtered run under xml=1/json=1 timed out; and every wire record is bounded by klog's 256-byte message field, with the JSON summary already at 242/255 -- run-level data now splits across run_report/summary/run_meta behind a _Static_assert, TAP points format through a bounded fail-closed emitter (a#in a name could forge a directive), and artifact + host-parsed lines moved to klog_unrated. Codex 8x + kernel-quality-auditor + parity. Deferred: §24 live abort path [/] (needs a smoke-failing fixture binary). Filed §27 (artifact consumer completeness: run identity, name bound, CTRF evaluation, output capture, skip-record budget). Also attached first-ever captured evidence for TODO-11 §19's CRITICAL exec_pending/TEB race -- one kvm:2cpu smoke leg halted withhas TEB but kernel_gs_base=0, 1 in 3 runs, and re-anchored its 3 stale XREFs. | 2026-07-29 | 00-infrastructure/TODO-04 s25 | shipped: non-forgeable launcher record framing (ffe6202f), reviewed (5375a749). Per-boot nonce in the klog subsystem field frames every launcher record; a disk-sink alias keeps it out of every ring-3-readable log; one canonical parser (scripts/utest-frame.py) replaced three drifted hand copies. 10 Codex dispatches + 2 auditors; 6H+11M+6L fixed. Accepted:sys_writearbitrary-kernel-read -> TODO-10 s31 (new section). Deferred: incremental host parse -> s25 s27. | -
2026-07-29 | 00-infrastructure/TODO-04 s26 | shipped: preprocessor-faithful ABI constant extraction (2839a91e, review 719dfb6d). Split s26 first (5c145a59): the atomic header-pair half became s28. Generator now reads kernel constants through
clang -dD -Ein the kernel's own flag vector and has clang CERTIFY every published value plus every hashed TEB/KUSD offset via generated_Static_assert, across all 12 build-flavor combinations.splice_logical_lines/strip_c_commentsdeleted. 6 Codex legs, 15 findings fixed, 0 open. Fixtures 39 -> 109; 698/698 tooling, 27043 kernel + 17 user-mode, headers byte-identical, check-abi 0.65s. -
2026-07-29 | 00-infrastructure/TODO-04 s27 | shipped: usermode artifact run identity + fail-closed publication (b2c7700d, review 8b357e1e). Split s27 TWICE before implementing -- transport volume to s29, and the name bound to s31 after the design review showed a length bound alone would make a refused test VANISH from both artifacts while the suite reported success (both call sites drop and continue, so it never reaches total_planned). Codex 4x: 3 design findings + 5 adversarial + 4 consistency, 9 fixed, 1 rejected with evidence (concurrent-run race is pre-existing -- fixed TEST_LOG/OVMF paths and shared boot.conf already serialize), 2 filed as new s30. Two fixes were regressions this work introduced: a signalled run exited 0 (green CI over a cancelled run) and the moved CI-parity preflight could exit before artifact invalidation. Also caught that a canonical-copy failure let the exit guard move a refusal OVER a valid leg artifact. CTRF evaluation deferred a SECOND time -- root cause now identified and filed: the R4 headless reroute blocks the researcher agent it reroutes to, so web research is unanswerable in the headless run.
-
2026-07-29 | TODO-04 §28 (Atomic Publication of the Generated Header Pair) | SHIPPED
cd1bf643+ review77501711| one generated ABI artifact (abi/generated/abi_contract.h) published at a singleos.replace; both former destinations are static text-pinned facades. 20 pre-commit adversarial rounds + post-commit adversarial/consistency/perf + kernel auditor. Deferrals: new §32 filed (H:check-abigates onlyall:, so rawmake system-diskcan build a bootable image against a stale contract). Evidence added to02-kernel-core/TODO-11 §19(thekernel_gs_base=0race is NOT SMP-only: 5 failures in 20 matrix runs, both CPU counts, kvm-only). -
2026-07-30 | 00-infrastructure/TODO-04 §30 (Per-Run Artifact Records and Per-Leg Aliases) | SHIPPED
803b6dda+ reviewc535173a|build/test-runs/<run_id>/is the durable record; the canonical and per-leg pathnames are aliases into it, published only after a committed marker. SPLIT-RECOMMENDED waived with a structured waiver (4 real items, one subsystem, and item 3's concurrency stance gated items 1-2). Concurrent same-tree runs are now an EXPLICIT refusal (flock taken before any shared name is cleared; QEMU launched with the lock fd closed so a SIGKILL orphan cannot wedge it). Codex 9x (design, adversarial, consistency, perf, re-adversarial x5; perf approved clean): 7H+7M fixed, 0 open. The review found three compounding lifecycle defects the implementation review had not: aliases followed the marker ATTEMPT not its success, the JSON harvester bypassed the shared publish path (letting the EXIT guard overwrite a landed record with a refusal), and the leg pair was replaced one file at a time so the first new document sat beside the other format's previous generation. Leg publication is now stage -> checked set-clear -> publish, and every failure resolves to absent or all-previous, never a cross-generation pair. Tests were half the fix: structural greps passed while production was broken, so 6h now drives the real finalizer under fault injection (15 behavioral regressions incl. an mv-instrumented ordering probe that fails on a revert), and the uid-dependent chmod injection that reported PASS when skipped as root was replaced. New §34 filed owning both accepted residuals (orphaned-QEMU recovery; a per-leg generation pointer for readers holding an open descriptor). Evidence added to02-kernel-core/TODO-11 §19: thekernel_gs_base=0race fired on a plain kvm run, not just the smoke matrix. Gates: 757/757 tooling, 27037 kernel + 17 user-mode (kvm), 27013 + 17 CI-parity TCG, lint 0 errors, graph 8/8. -
2026-07-30 | 00-infrastructure/TODO-04 §31 (The Record Name Bound and the Refusal That Must Be Counted) | SHIPPED
71d5a8bf+ reviewc68e6271| derived per-formatter name bound (37, min over 6 record kinds),[A-Za-z0-9._-]charset gate, refusal taxonomy published as counted FAILs in a preflight pass; 19 Codex dispatches, 40 findings (11H/24M/5L), 39 fixed 1 accepted; filed §35 (immutable enumeration plan) and 2 §33 follow-ups; also fixed an awk-reads-stdin hang in scripts/lint.sh | 27459 kernel + 17 user-mode PASS, smoke 4/4, tooling 760/760 -
2026-07-30 | 00-infrastructure/TODO-04 §34 (Orphaned-QEMU Recovery) | SHIPPED
4c3201c2+ review228b8264/c131e286|/proc-descriptor orphan detection with pidfd-pinned identity-checked reap (scripts/qemu-orphan.py), kernel-armed parent-death reaping with child-side atomic provenance publication (scripts/pdeathsig.py), fail-closed guard + bounded deadline escalation inscripts/test.sh,qemu_pid/qemu_statein the run-record marker; 89 new host-tooling regressions (876/876). 13 Codex dispatches (design, adversarial x10, consistency, perf), 14H+9M fixed, 1 accepted -> TODO-08 §32 (grammar-accurate shell segmentation, filed with reciprocal XREF). Deferrals: none. -
2026-07-31 | 00-infrastructure/TODO-01 (start of pass 1) -> TODO-04 | 0 sections shipped, 1 DEFERRED, file closed | §13 (duplicate
run-test/run-debugrecipes in the root Makefile) is unreachable unattended: every item resolves to a root-Makefileedit, whichreceipt_surface_guard.pyBLOCKs (Makefile is areceipts.pyBUILD_INPUT_PATHS entry, so the run's own receipts are computed over it), and items 2-3 are gated on item 1 because their gates fail against the un-reconciled tree. Defect confirmed live:make --dry-run allemits 4 warnings;run-testatMakefile:1271+1642,run-debugat1265+1687. Deferred[/]+ stamp + reciprocal XREF (86b6e15a), and filed v05 §2 on the classification gap it exposed -- an operator-only deferral is today indistinguishable from a temporal one a later fixpoint pass may clear, andcollect-questions.pyharvestsawaiting-answeronly, so the work reaches no human punch-list. Then a sweep-only close-out (95e8c795): the[!IMPORTANT]Current-state block still described the pre-work problem as present fact though §1-§12 had shipped;build.ymlline citations re-anchored after an inserted step shifted them; test-tooling 393/393 -> 876/876;test.sh QUIET=11534 -> 27546 kernel + 17 user-mode; §6 Notes mis-pointed the legacy-XREF owner at §7 (it is §9) and still called lint.sh "deliberately NOT a CI gate yet". One auditor finding rejected as dated history. Gates: build OK, 27546 kernel + 17 user-mode, tooling 876/876, tooling-doctor HEALTHY 31 checks, lint 0 errors, graph 8/8. -
2026-07-31 | 00-infrastructure/TODO-04 §40 (Producer-Side Capture Emission Budget) | SHIPPED
4d97587b+ review9645049f| Split first: the section arrived with 8 open items and a SPLIT-RECOMMENDED verdict, so the three publish-a-fact-on-the-wire items moved verbatim to a new §48 and the four budget items stayed under a structured waiver. The budget is a RECORD budget because the derivation showed a raw-byte cap could not bound the wire (a 1-byte-per-write binary pays a full ~350-byte klog record per raw byte); both budgets are ceiling divisions of a declared raw allowance, asserted at build time and pinned tight by unit test. Verdict, sequence draw, run charge and stop latch are ONE decision unders_capture_budget_lockwith emission outside it; a run generation scopes the budget to the framed run; a discard fast path stops a latched writer escaping or locking, so the budget bounds producer COST as well as serial traffic. Host accepts[UTEST-CAPTURE-OVER]as a bounded stop, proven by equalities it can check (owner seq == limit, all run markers agreeing, charged == limit, observed chunks == limit) and reported through its ownbudget_stopfields rather than the exact-valuedtruncatedpair. Codex 13x + Opus kernel-quality auditor + concurrency-evidence mapper: 22 findings fixed, 3 accepted with XREFs, 1 rejected with evidence. The reviews earned their cost -- they caught a boot-lifetime run counter the kernel's own regressions were charging, a fail-openchargedfield that let two chunks pluslimit=1 charged=0reconcile green, a zero-limit marker that published an empty testcase as a bounded stop, a wire-cost model that proved a ceiling BELOW the traffic actually emitted, and a plain/atomic data race in my own fast path. New §49 filed for the cross-run fence. Gates: build OK, 27664 kernel + 17 user-mode, 1041/1041 tooling, CI-parity 27640, smoke matrix 4/4 legs, lint 0 errors, graph 8/8. -
2026-07-31 | 00-infrastructure/TODO-04 §43 (Aggregate Refusal Identity Kind) | SHIPPED
1168751c+ review7abcf7ef| agg_
2026-08-01 -- 24h canary: pre-registered acceptance criteria
Recorded BEFORE arming, deliberately. A criterion written after the evidence is a rationalisation; these decide whether the repair stop of 2026-07-31 worked. Judge each on measurement, not impression.
- Sections ship. >= 8 sections shipped over the run, with zero gate refusals that cannot be explained in one read.
- The rotation fires, VISIBLY.
grep -c "context-rotation hint"over each segment log is non-zero. A zero means the observability half regressed and every cost number below is untrustworthy. (Before the fix: fired every segment, logged never.) - The rotation ACTS. >= 1 verified
rollover-wipmid-section. Before the fix: 0 attempts across every segment of 2026-07-31. - It does not overfire. More than one rotation per section is an ABORT, not a saving.
- Cost falls. Per-segment end-of-segment context and cache-read share below the 2026-07-31 baselines (142-335 countable events/segment; 492K-798K context; one segment at $179.27 with cache-read 85.3% of spend). This run either measures the modelled 31-41% saving or kills it.
- The clean stop works. The run stops itself at the deadline after a verified rollover -- not mid-section, and not by a human noticing.
- Coexistence holds. Every attended repair landed from the repair worktree causes ZERO rollover refusals. (Before: four in one evening, all self-inflicted.)
- Research is cited. Researcher dispatches return real citations, not recalled background flagged as uncited.
- Green means green. Zero control-plane test assertions that fail once and pass on re-run with no intervening edit.
Abort early on: breaker trip (now stops the run automatically), two consecutive segments shipping nothing (automatic), a rotation loop, or a gate refusal I cannot explain within one read.
Checkpoints: +2h, +8h, +24h, from deterministic reports only
(cost-summary.py, metrics-report.py, run-status.py, the failure ledger).
- 2026-08-01 | 00-infrastructure/TODO-04 section 50 (Per-Child Loader Evidence) | SHIPPED
3dbd281b+ review0760f059| 5 per-spawn statics moved into a per-task record; frame_adopted at the 3 exec-frame adoption sites + entered_user at ring-3 syscall entry; the never-ran classification now splits the old ambiguous timeout bucket. Review found the section had shipped a kernel that does not build with KERNEL_TESTS=off (3 legs, independently) plus a false rationale for the field itself; 13 Codex dispatches, converged round 7. 4 accepted -> TODO-07 section 3, 1 deferred. 28109 kernel + 17 user-mode PASS, smoke 4/4. - 2026-08-02 | 00-infrastructure/TODO-04 section 51 (Reproducible Kernel Assertion Total) | SHIPPED
c56c93dd+ reviewbbac4445| The drifting headline total was unattributable because the runner computed each suite's delta and discarded it; added a per-suite [COUNT] trace behind test_quiet=2 (a value widening, no ABI bump) plus scripts/test-count-stability.sh, which refuses to compare a trace it cannot vouch for. Root-caused by DESIGNED experiment rather than waiting: varying guest RAM found NtGetRandom depending on a kernel stack address landing below MM_USER_PROBE_ADDRESS (passed at 2G, failed at 3G/4G), and a 10-run sweep reproduced the original 6-assertion swing as four AVX2 suites gated on simd_avx2_ok, which a boot-time BENCHMARK clears -- now gated on a new simd_avx2_capable. Three latent defects fell out: five assertions measured records via a SATURATING ring count and so verified nothing once the ring filled; a NULL from the new scan helpers was dereferenced right after a non-returning TEST_ASSERT; and the suite-name key check was wrong twice (a source grep blind to adjacent string literals, then a delimiter ban the right-anchored parser makes unnecessary). 10 Codex legs + Opus kernel audit, 3 fix rounds, converged. 28151 kernel + 17 user-mode PASS, 1169/1169 tooling, 10-run and 4-RAM-size sweeps STABLE, KERNEL_TESTS=off clean. TEB halt DEFERRED with its measurement (0 in 6 SUITE=exec runs, 0 in ~20 full-suite runs, vs ~1-in-3 on 2026-07-31) -> TODO-11 section 28. - 2026-08-02 | 00-infrastructure/TODO-04 section 52 (Bind a Leg Pointer to the Record's Own Identity) | SHIPPED
f3c753a1+ reviewa981b5c2| A per-leg pointer proved it was byte-canonical for the leg its FILENAME names and that the record it named was marker-committed complete, but never that the record was PRODUCED by that leg -- so leg A pinned and (since the lease) durably held B's record, and a consumer resolving A read B's documents. Closed by validating the record's own identity document inside the pin, gated on the marker's inventory. The recurring theme across all five Codex legs was PARSER EQUIVALENCE, and four separate bugs of that one shape fell out:SMP_CPUS=02published"cpus": 02, which is digits-only to the shell and a parse error to every consumer; an escaped duplicateidentitykey in a marker was invisible to a literal duplicate loop while a parser took its null; the leg came verbatim from a filename, so an embedded quote-comma sequence reconstructed a duplicatelegkey that compared byte-equal; and the alphabet guard that closed THAT was itself disabled by an inheritednocasematch, confirmed by direct probe. Also fixed a producer-side hole the design review found: the Step 0b identity write sat on the left of an&&list, which errexit exempts, so a failed write let the run publish a complete record markedidentity: nullplus a pointer naming it. The validator is positional rather than substring-based because occurrence counting was unsound BOTH ways -- a host namedlegwould have denied a valid pin. 5 Codex legs, 2 fix rounds, converged; 11 new tooling regressions each with a positive control. 1180/1180 tooling, 28151 kernel + 17 user-mode PASS, lint 0. Accepted -> new sections 60 (aggregate budget for the pin loop under the retention mutex) and 61 (marker validated as a shape; record documents read from one snapshot, ~6.7ms/pointer cheaper). A repaired pre-existing lease regression that failed on a one-second clock knife-edge, and a fourth+fifth occurrence of the build-offload gate false positive, are filed. - 2026-08-02 | 00-infrastructure/TODO-04 section 53 (A Directory Occupying a Pointer or Lease Name) | SHIPPED
eef02e97+ review80d201eb| A directory standing where a file belongs was inert to every sweep and fatal to the writer, and the two upstream filters that skipped it (! -type din the pointer scan, an inline[ -d ]in the lease loop) were both right about the outcome and silent about it. Policy decided and stated once inutest_blocking_dir: REPORT AND KEEP -- notrm -rf, notrmdir(an empty directory the harness did not create is still unknown provenance, and empty is a moment not a property), not refusing the run. Three design-review rounds ran BEFORE any code and each found a real [high]: report-and-keep was a lie on the age-out path (rm -rfof an aged record takes the blocker with it), so a blocking directory now takes an uncappedDretention hold unioned in after theUTEST_LEASE_MAXtruncation exactly as the existingUhold is; that hold was then disabled by a cap that was never its own, because the whole classification loop sat insideif [ "$lease_max" -gt 0 ]-- which had been silently disabling theUhold too, one release earlier. The post-commit pipeline found the deepest defect, and it was not in the new code: every retention loop enumerates with an unquoted glob, so AMBIENT SHELL STATE decides what those loops can see. Five inputs measured against one fixture --noglob1 blocker -> 0,failglobexits 1 on a healthy no-match,nocaseglobmatchesB.LEASE,IFS=esplits*.leaseinto*.landas(andIFS=.counted 16 unrelated directories),GLOBIGNORE=*suppresses matching entirely -- all normalised in one named routine invoked before anything reads a path, which subsumes the pre-existingshopt -u nocasematchthat existed for exactly this class. CDPATH was the same shape one layer up:SCRIPT_DIRdid a relativecd, which consults CDPATH and prints the selected directory into the command substitution, so with CDPATH set it came back as ANOTHER TREE's path, twice, newline separated -- and every destructive retention path hangs off the PROJECT derived from it. Corrected the reviewer on two mechanisms with measurement: plain env inheritance arms neither GLOBIGNORE nor IFS (bash imports the variable but the filter activates on assignment; IFS is reset at startup), soBASH_ENVsourcing an assignment is the live vector. 9 Codex legs across 6 rounds (design x3, adversarial x2, test-coverage, consistency, perf, re-adversarial x2), converged. 10 new regressions; L26i executes the REAL FILE PREFIX rather than a line range because textual ordering anchors survive wrapping the call inif false-- mutation-verified against that exact evasion, plus three more mutations each caught by one test. 1190/1190 tooling, 28151 kernel + 17 user-mode PASS, lint 0. Deferred [H] the classify-then-delete race -> new section 62 (detach the age candidate first). Filed: an intermittent clangd leak in the lsp-mcp bridge, 2 in 15 runs, detected during this section but owned by TODO-07 section 20; a sixth occurrence of the build-offload gate false positive and a new one where a green build reportserrors: 8from-Werrorin compile command lines. - 2026-08-02 | 00-infrastructure/TODO-04 section 54 (A Write Abandoned Before Its First Chunk Ever Reached the Wire) | SHIPPED
358f6183+ review009c7117| A write() staging under one chunk emitted NOTHING until its final flush, so a task killed inside the write loop left no record, nowrgroup and no open group for the host to find -- the payload was gone while the artifact still claimed byte-exactness. The section demanded a MEASUREMENT before choosing a shape, and it decided the design: one suite run emits 1,531 chunk records across 1,427 writes (93.2% single-chunk) at a measured 143.5 bytes/line, 47% of the serial log -- so the reviewer's write-start-record shape costs +93.2% capture traffic and +44% total serial bytes, while per-thread evidence costs two plain stores and emits only on a real abandonment. After the change chunk records and write groups are both UNCHANGED at 1,531/1,427. The section's own~350-byteestimate was 2.4x over; corrected in place. FOUR design rounds ran before any code and reversed the shape twice, each on a confirmed [high]: a per-task flag cannot hold two threads' concurrent writes; evidence swept at reap is erased by THREAD_FREE slot reuse; a bare generation check is the documented check-then-log TOCTOU, so terminal records go through the claim path under seal+drain instead; and the budget latch stops the whole OWNER, so naming only the write that tripped it strands every peer -- closed by a monotonic stop epoch each write compares against its own arm snapshot. The post-implementation pipeline then found the same defect from two sides, and both restored the masking the section exists to remove: the reap decided CUT-vs-ABANDON from state read AT REAP, but the launcher latches the reap fence BEFORE it kills and a peer can exhaust the budget after a thread already died -- so a lost write could be reported as a deliberate teardown or an intentional cut, both of which the host EXEMPTS. Death reason AND stop epoch are now snapshotted at the death transition; thefirst snapshot winsguard that was meant to protect exactly that was itself a check-then-store where the LATER store won, now a compare-exchange. Perf proved the design claim untrue of the code -- every ordinary captured write executed alock cmpxchgb-- so the normal path settles with a plain release store (nothing races it: the only other settler is the off-CPU reap barrier), verified in the object code asmovb $0x2thenretqwith the exchange only on the exceptional branch. Host side an exemption must now PROVE its cause: a standalone CUT with no validated overflow marker behind it reconciled GREEN, and CUT/fenced-ABANDON had to be forbidden from naming already-finalized writes; conversely the duplicate-abandon rule keyed on (task, thread), which is NOT unique because thread slots are reused, and refused runs that had reported themselves correctly. Death-path coverage was the other systematic gap -- the snapshot is wired into task_exit, task_terminate_remote, thread_exit, task_wrapper's normal return, the direct remote NtTerminateThread path, every fatal signal_default_action, and task_cleanup for EVERY thread including thread 0, which is where an ordinary test binary actually writes. 7 Codex legs (design x4, adversarial x2, consistency, perf) + Opus kernel audit + concurrency inventory; 7H+6M+4L fixed, 0 open. The epoch comparison direction is mutation-verified (inverting>to>=fails its test). 1201/1201 tooling, 28171 kernel + 17 user-mode PASS, lint 0. A seventh occurrence of the build-offload gate false positive is filed, in a new shape (wrapper credited, then a trailing redirect and;-joined tail defeats it). - 2026-08-02 | 00-infrastructure/TODO-04 §55 (klog-ring window assertions) | SHIPPED
48d17008(swept into an attended control-plane commit -- see improvements v07 finding 12) + reviewe9a08919| 3/4 items, 1 deferred to 02-kernel-core/TODO-04 §16 | 13 Codex dispatches, 3H+15M+7L fixed | the saturation filler was withdrawn on measurement (367 lines / 1.09 s guest / ~8.8 s at 38400 baud, and it evicts unflushed entries on SLOW media); wrap indexing mutation-verified on a 5-slot fixture because 4 divides 2^32 | also repaired §54's unflipped IO row and filed §16 in the logging TODO
2026-08-02 -- 24h canary VERDICT (ran 34.4h, stopped early by operator choice)
Measured, against the criteria pre-registered before arming. 12 segments, 2026-08-01 00:05 -> 2026-08-02 10:30.
| # | criterion | verdict | evidence |
|---|---|---|---|
| 1 | >= 8 sections ship, no unexplained refusals | PASS | 36 run commits, 16 verified rollovers, 0 REFUSED |
| 2 | rotation fires VISIBLY | PASS (new) | 65 records in advisories.jsonl; was 0 in every prior canary |
| 3 | rotation ACTS (>= 1 rollover-wip) | FAIL | 0 attempts in 12 segments |
| 4 | does not overfire | PASS, with a caveat | no rotation occurred; but 65 hints / 12 segments is the re-nudge firing ~5x per segment against an action that never happens |
| 5 | cost falls vs baseline | NOT MEASURED | nothing rotated, so there is no rotating segment to compare |
| 6 | clean stop at the deadline | NOT EXERCISED | we exited early by choice; the deadline machinery never fired |
| 7 | attended repairs cause 0 rollover refusals | PASS | many attended pushes across the run, 0 refusals |
| 8 | researcher dispatches return citations | PASS | 0 R4 blocks; detection succeeded positively, the valve never needed to fire |
| 9 | green means green | PASS | no assertion failed once and passed on re-run |
Criterion 3 is the honest headline. The rotation is now observable and still does not act. Three rounds have adjusted or repaired this feature and the THRESHOLD was innocent every time (200 mis-derived, 90 correct, then a transport defect, then a contradicting message). The remaining hypothesis is not a defect at all: segments now run 142-335 countable events where the feature was justified by 334-768, so the runway after the hint is often too short to be worth a relaunch, and the run's own escape ("if the next action is the ship, skip") correctly declines. Before touching the number a FOURTH time, measure whether a rotation saves anything at current segment lengths.
What the run proved instead, and it is worth more than the rotation: the
ship-sequence fix held for 16 consecutive rollovers with zero refusals, the R4
identity repair worked on first contact, and the coexistence work let an
operator repair the control plane through the whole run. The one sweep that did
occur exposed its true root cause -- a bare git commit --amend in the
post-commit hook, widening every path-limited commit in the repo.
- 2026-08-02 | 00-infrastructure/TODO-04 §56 (fork publication interlocked with the capture-tree reap) | SHIPPED
05db7997+ reviewe673f5ad| 2 items parked with named blockers (boot-poisoning policy call; abort cause into JUnit/JSON, §36 owns) | 8 Codex dispatches, 9H+3M+6L fixed, one recommendation pushed back with bisect evidence (gating the kill rounds hangs the boot) | 28257 kernel + 17 user-mode, 1205/1205 tooling, smoke matrix 4/4 - 2026-08-03 | 00-infrastructure/TODO-04 FILE CLOSE (User-Mode Test Framework, 63 sections) | CLOSED
233634b4| the file had never had a closure pass, so## Verificationstill carried its 2026-04-23 numbers -- 2184 kernel + 16 user-mode against a measured 28326 + 17 on KVM and 28300 + 17 underFORCE_TCG=1, a four-month, ~26,000-test drift in a block whose entire job is to state what passes. Deterministic enumerators came back clean (todo-hygiene 0, todo-graph 8/8, triage all-DONE,stranded_deferrals.py0 for this file), so the residue was exactly the fuzzy class they leave behind. 11 Accepted/Deferred stamps whose XREF target had since shipped were annotated(RESOLVED ... by section N commit <hash>); one was deliberately NOT called resolved -- its target shipped but the accepted limitation (an already-open descriptor is unrevocable at the writer) still stands, and marking it resolved would have converted "the referenced work landed" into "the hazard went away". One stamp pointed at the wrong section for an item that lives two sections later. Six source citations had drifted as the file grew: theHAS_UTESTframe gate is attest.sh:4973not:3769/:3788(both of which are now unrelated comments), theTOTAL_FAILfold at:5895not:4397, and four self-file XREF anchors pointed at a blank line, at prose, or at their own stamp line. Doc-sync foundscripts/debug/usermode/README.mddescribing the directory as empty future-work and claiming no boot flag could run the launcher alone -- the build-integration section shipped exactly that, and the file contradicted itself (said the aggregate bat was removed, then told you to run it); rewritten around the realtest_kernel_skip/test_usermode_skip/utest_filterfields. Addedrun-test_forge.bat, the only one of 17 shipped binaries with no per-binary runner. Rejected 2 agent findings (ownerless parks) on the repo's own oracle:stranded_deferrals.pyflags none in this file. Verified: build OK, 28326 + 17 KVM, 28300 + 17 TCG, smoke PASSED (boot 3.280s), lint 0 errors, todo-graph 8/8. GAP FOUND: the last six sections shipped with NO run-log entry at all, and commit6e5a5a12announces a run-log entry in its subject while its diff touches only COUNT.md and the v08 capture file -- filed to improvements v08. - 2026-08-04 | 00-infrastructure/TODO-07 §20 (reap determinism + leak attribution for the bridge's language servers) | SHIPPED
ce4a798c+ review1c2155f8| the section's own premise was DISPROVEN: filed as "the bridge intermittently leaks the clangd it started", it does not and never did. Reproduced under a per-second sampler recording pid/ppid/ownership -- 2 failures in 6 clean runs, ZERO harness-owned servers outliving any of them. Sub-test 9a was blaming processes the harness never started, three ways, each caught with a named pid: anode codex-companion.mjsreview process (1373355) matched becausepgrep -fmatches command-line TEXT and the review prompt quoted the string "clangd-19"; a foreign clangd (1374170, no stamp, parent 1374079) lived across four consecutive runs and was blamed on whichever one its start time landed in; and an already-exiting process (1390938) never appeared in a single one-second sample. Section renamed rather than closed -- the symptom was real, the accused was not. The reap gap the filing suspected was real but elsewhere:bridge.pyclaimed an "mcp-janitor SIGTERM handler" that existed nowhere, so signal death bypassed both the finally and atexit and the reap depended on clangd noticing stdin EOF. 26 Codex dispatches (design, adversarial x23, consistency, perf); every finding reproduced before and after. The expensive ones: cleanup ran in the signal handler's own frame and deadlocked against_init_lockwhen a signal landed duringinitialize()(reproduced wedged 8s after SIGTERM with the child leaked); a bare PID is not an identity, so records are pidfd-pinned, every signal fails closed without one, and no path callskillpg; the sweep became three passes after a small budget was spent scanning for one server while the rest survived; liveness and ownership had to become thread-group-aware because apthread_exitleader sits in Z withenvironanswering EACCES while its worker runs. Two containment mechanisms rejected WITH measurement, not preference:PR_SET_PDEATHSIGfires on the spawning THREAD exiting and warm-start spawns from worker threads that exit immediately; blocking signals around the spawn leaves the mask INHERITED (SigBlk 0x4003), which would leave clangd ignoring our own SIGTERM. The sharpest self-inflicted bug: sweeping on the inheritableLSP_BRIDGE_RUN_IDmade "ours" mean "anything in the harness tree", so a bridge exiting normally SIGKILLed its siblings -- seven sub-tests failed at once and attribution and ownership are now separate identities. Post-commit review then found a DATA-LOSS bug the whole chain had missed:_diagre-opened/proc/self/fd/2withoutO_APPEND, overwriting a regular-file stderr log (reproduced). Proof is a test, not a rate: 9b kills an EOF-immune child with TERM/INT/HUP at six barriers plus storm, spawn-race with and without pidfd, each mutation-checked; 9c proves the detector was scoped rather than blinded and fails the suite ifos.killpgreappears. Rate arms on the same busy host: 2/6 before, 0/12 after. 3 findings accepted into a new §21 with concrete items + reciprocal XREF. Verified: 101/101 test_bridge.sh, 1282/1282 tooling, BUILD OK, 28326 kernel + 17 user-mode, lint 0 errors. - 2026-08-04 | 00-infrastructure/TODO-07 §21 (thread-group edge cases in the language-server reap) | SHIPPED
69f1081d+ review5b1ebb7f| harness coverage only, by the section's own scope boundary -- §20's task-aware fixes shipped without a regression net, and three of its late review rounds had verified the shape by hand. Added 9b modesthreadleader(recorded) andthreadleader_unrecorded(owner-stamped, own session, never recorded), 9d the shutdown budget through the SIGNAL path plus the saturated-stderr variant, 9e the deadline-ALLOCATION family with the settle wait /_shutdown_boundedgraceful join /atexitgraceful join each wedged in turn, and 9f the two predicates pinned directly including the task-list race no live shape can produce. The mutation checkpoint corrected a claim the section had inherited: only the UNRECORDED mode discriminates the task-aware reads, becauseforce_kill_spawnedpass 1 signals a recorded pid through its pinned record and consults neither_is_zombienor_carries_our_owner_id-- both mutations fail 9f and the unrecorded mode while the recorded one stays green. 14 Codex dispatches (design, adversarial x11, consistency x2, perf), 1H+9M+2L fixed, 0 open, all three legs closing on "approve, no material findings". Eleven adversarial rounds converged on ONE defect class, and it was in the harness rather than the code under test: fail-open paths where a broken fixture was indistinguishable from an unsupported host. Every one was injection-verified in BOTH directions rather than argued. A skipped fixture is no longer a pass (exit 77, a skip list, and the skip count on the summary LINE --test-tooling.shgreps only that line, so a green aggregate could otherwise stand for coverage that never ran);saturate_stderrand both libc probes now split absence from breakage, so only an absent/proc/self/fdor a non-glibclibc.so.6skips while an EACCES probe, an unloadable present libc, a write error, or 32 MiB without EAGAIN all FAIL; precondition failures collect their children BEFORE the marker reporting them becomes observable, and report whether collection was confirmed; 9d asserts the signal was delivered and that the driver died BY it (128+signum), mirroring 9b, where it could previously pass over a driver that exited on its own. The [high]:lsp_9b_cleanupwas sendingkill -9to a bare pid accumulated across a whole sub-test, and the round-9 fix had bound only ONE of the call sites -- every record now carries its/procstart ticks, captured by the tracker itself, and identity is re-verified immediately before each signal, failing closed. The coverage preamble also turned out to be missing 15a-15k and 18a-18e; a mechanical tag comparison now reports 104 index tags against 104 run-block tags. Repaired three XREF line anchors left stale by the same-day §21/§22 split. Verified: 104/104 test_bridge.sh, 1282/1282 tooling, BUILD OK, 28326 kernel + 17 user-mode, lint 0 errors. - 2026-08-04 | 00-infrastructure/TODO-07 §22 (single-owner pidfd, one-snapshot sweep, stricter ledger reader) | SHIPPED
7f23f57a+ review31e795a2| Three defects raised and ACCEPTED during §20's review rounds, each carried forward with a named fix shape rather than as coverage debt. (1) Signalling a recorded child is by DESCRIPTOR, not by number:_borrow_pidfdhands out a privateos.dupof the record's own pidfd, race-safe by ORDERING rather than a lock the dying-process path could not take --_retire_spawnremoves before it closes, so a record still present after the dup proves the dup saw the recorded descriptor. Records became objects rather than tuples because by VALUE that test was an ABA hole: a replacement handed the same pid, tick and fd number produces an equal tuple. Every spawn stampsLSP_BRIDGE_GENand the group sweep requires it -- without it, old-instance cleanup found the REPLACEMENT in what it believed was its own process group and killed it. Under FD exhaustion the sweep CLAIMS the record instead, transferring ownership of the original descriptor: the one operation needing no new descriptor. (2) The per-leader group sweep and the stamp-wide pass collapsed into one repeat-until-two-empty-scans loop over a single_proc_snapshot(), since_group_members(pgid)is a strict SUBSET of_stamped_processes-- the two passes asked the same question at the price of a walk per record per round plus three reads of each stat file. Ownership is tri-state and cached only when authoritative, so a transient unreadable probe is re-asked rather than silently suppressing a live child, and a pid whose stat cannot be read is KEPT with None fields (dropping it removed owner-stamped descendants from the only broad sweep there is). An owner-based /proc pre-filter was written and REMOVED: the kernel reassigns that directory to root onPR_SET_DUMPABLE(0)or a setuid exec, so it disowned exactly the hardened child that most needs reaping. (3) The ledger reader now reports what it cannot verify -- ONE descriptorO_NOFOLLOW, regular-file confirmed by fstat on that same fd, at most cap+1 bytes, because the path is exported to every spawned server and can be swapped for a FIFO between a size check and a read; it FAILS on parse-error and unverifiable rows rather than returning the host-cannot-build-a-fixture skip. | design + test-coverage + 14 adversarial rounds closing on "approve, no material findings"; 8H+11M fixed, 0 open; 3 recommendations rejected with evidence and 3 accepted into a new §23 with reciprocal XREFs (the two bare-PIDos.killfallbacks need the python3 floor raised or a ctypespidfd_open-- an operator decision) | new sub-tests 9g-9k, twenty-two mutations applied and each caught by its own assertion; four fixture weaknesses the mutation pass exposed were repaired rather than papered over | Verified: 109/109 test_bridge.sh, 1282/1282 tooling, BUILD OK, 28326 kernel + 17 user-mode, lint 0 errors - 2026-08-05 | 00-infrastructure/TODO-07 §23 (injected-clock deadline coverage + the non-dumpable-child reap blind spot) | SHIPPED
df01fc5114+ reviewe342e3af| §23 arrived carrying six items across two unrelated concerns and classified SPLIT-RECOMMENDED, so it was SPLIT first (56a4f238): the identity/determinism cluster stayed, the publish-gate and procfs-pass collapses moved to a new §24. (1) The reap's clock is an explicit_ClockPARAMETER, not a module global -- a global would put two clock domains in one call, sincereap_all_livehands a derived budget to real-timeLspSubprocess.shutdown()and_atexit_kill_allderives aThread.jointimeout the same way, so a scripted clock left installed at interpreter exit turns the 2s atexit bound into an arbitrary real join. Sub-test 9l expires the clock at exactly one transition per case and every one of the five break points is mutation-verified to fail 9l by its own message; the end-of-round check initially survived because the loop head stopped the sweep one statement later for the same visible outcome, so 9l also asserts no inter-round sleep. (2) APR_SET_DUMPABLE(0)descendant answers None to the owner stamp forever, so ownership gained a second signal:_OWNED_SESSIONSmaps a spawned session id to the leader's_SpawnRecord, and_session_marks_oursproves that leader ALIVE by sending signal 0 through a dup of its own pidfd. A start-ticks comparison was written twice -- once for the session, once for a frozen capture set -- and rejected both times on the file's own measurement of 32 spawns sharing seven tick values; 9m pins it by forcing every tick read to the recorded value and asserting the answer stays False. Because the live proof cannot span the sweep (the reader thread reaps a killed leader and its pidfd then answers ESRCH),force_kill_spawnedgained a PASS 0 that signals proven-owned descendants through handles opened while the proof holds, BEFORE pass 1 touches any leader, excluding the leaders themselves and holding ONE proof handle across the target open. (3) Destructive signalling no longer names a target by NUMBER: theos.killfallbacks were justified by the repo-wide python3 3.8 floor, butlsp_client.pydeclares "Stdlib-only (Python 3.10+)" in its own header, so the configuration they protected cannot meet the module's documented runtime. Both sites refuse, count and report;LSP_BRIDGE_ALLOW_PID_SIGNAL=1is the named opt-in; a ctypes syscall shim was designed and rejected for keeping the by-number path reachable on any otherpidfd_openfailure and guessing syscall numbers off-allowlist. A two-slot lock-free descriptor reserve backs bothpidfd_openand theos.dupin_borrow_pidfd, because refusing is only safe while the descriptor path stays reachable. | design + 10 implementation adversarial rounds + the post-commit adversarial/consistency/perf trio; 39 findings, 29 fixed, 8 deferred with concrete owners, 1 rejected with evidence, 1 recorded as an unreproduced harness observation | new sub-tests 9l/9m/9n; eight mutations applied, and THREE tests that passed against their mutant were rewritten rather than kept -- the leader-exclusion case had emptied_SPAWNEDso pass 0 never ran, another asserted over the whole sweep instead of its own phase, and two fixtures lacked the owner stamp every real spawn carries | Deferred, each naming its blocker: the spawn-publication window (needs process-wide signal blocking plus sigwait -- apthread_sigmaskwas implemented and REMOVED, since it masks only the calling thread while CPython still runs the handler on main), a hardened descendant whose leader already exited or which called setsid (needs a delegated cgroup), and pass 0 walking/procahead of pass 2 (owned by §24's one-snapshot collapse, filed with reciprocal XREFs) | Verified: 112/112 test_bridge.sh, 0 write-capable methods, 1287/1287 tooling, BUILD OK, 28326 kernel + 17 user-mode, SMOKE TEST PASSED, lint 0 errors - 2026-08-05 | 00-infrastructure/TODO-07 §24 (single-pass procfs cleanup in the teardown sweep) | SHIPPED
ca2dafa560+ reviewc0ad3d65| §24 arrived as the five-item remainder of §23's split, classified SPLIT-RECOMMENDED again, and was split a second time (73870928): the three walk-economy items stayed, the restart-publish confirmed-dead gate and the single-flight serialisation of the four teardown entry points moved to a new §25 with reciprocal XREFs. (1) The owner and generation stamps now come from ONE environment traversal --_read_env_markersreads the leader environ, falls back to a single task walk, and answers both markers -- because asking_carries_our_owner_idand_carries_gen_idseparately read the same file twice in the group pre-filter and twice more in the post-pidfd recheck, so an unstamped many-threaded candidate paid four full task walks against a teardown budget. The design review caught the merge's one real hazard before any code was written: a walk truncated by the deadline must answer None PER MARKER even when an earlier task was readable, because collapsing it to False stops_provably_oursreaching the session continuity §23 added and a dead-leader/live-worker child then survives under exactly the load that truncated the walk. (2)_reap_groupreports(killed, emptied)and_group_is_emptyis deleted -- shutdown's post-death collection had alternated a full-walk emptiness question with a reap that ran its own bounded loop of walks, nesting walks inside walks for a question the reap already answered. The deleted preflight's deadline rule had to move WITH the verdict: an empty result on an expired budget is incomplete, not empty, oremptiedauthorizes a retirement over descendants the scan never reached. (3) THE STRUCTURAL FINDING, and the section's real content: the session scan and the stamped scan cannot share a fixpoint. The session scan is conclusive only while the recorded leaders live -- their liveness is what stops the kernel recycling the session number -- and the stamped scan only once they are dead, because a leader can fork an owner-stamped helper on its way out that no pre-leader snapshot contains. A single merged loop was implemented, reviewed, and produced THREE separate holes from pretending otherwise: a pre-leader empty scan plus one stale one reached the two-empty bound; a mid-sweep session retirement took the same shortcut without resetting the count; and a session fixpoint landing on round 19 or 20 exited past the drain entirely, leaving ZERO post-leader scans.force_kill_spawnedis now two explicit phases at one/procwalk per round -- phase A drives the session fixpoint and SHARES its round with the stamped scan (sharing is the point: a detached owner-stamped helper must not wait for the session fixpoint to be considered at all) but its stamped results never count toward phase B, and every exit from phase A funnels through one leader signal and on into phase B. | design + adversarial + test-coverage + the post-commit adversarial/consistency/perf trio + re-adversarial (7 dispatches); 8H+6M fixed, 0 open, 3 rejected with code evidence -- deadline-gating the leader signal was shown bygit show ca2dafa5^to be pre-existing rather than a regression, and gating it reintroduces the documented High where a small budget was spent entirely on the first record | 9i moved off a walk-count constant to walks == rounds on a production_record_spawnrecord owning a session, new 9o forks an opaquePR_SET_DUMPABLE(0)descendant from inside the FIRST enumeration, and 9k gained the merged reader's shape table, the markers cache table, the two-scan_reap_groupboundary and the unconditional leader-fire fallback | six mutations applied and caught by name; one (caching a negative marker) turned out INERT rather than caught, because the read path only trustsis True-- recorded as such instead of counted as coverage | every retired PASS 0/1/2 label removed from identity-sensitive SIGKILL code, and the_carries_our_owner_iddocstring rewritten: it still claimed None and False were interchangeable to callers, which §23 made false | Verified: 113/113 test_bridge.sh, 0 write-capable methods, 1287/1287 tooling, BUILD OK, 28326 kernel + 17 user-mode, SMOKE TEST PASSED, lint 0 errors - 2026-08-05 | 00-infrastructure/TODO-07 §25 | 1 section shipped (restart-publish confirmed-dead gate + single-flight teardown) | 4 findings accepted with filed items, 1 deferred to §23 sigwait | 11 Codex dispatches, 21 mutations verified | 115/115 bridge, 1287/1287 tooling, 28326 kernel, build OK, lint 0
- 2026-08-05 | 00-infrastructure/TODO-07 §26 (teardown verdict propagation + a non-reaping liveness probe) | SHIPPED
9d635e79+ reviewb093ab69| §26 was FILED this pass, not found: §25 had shipped with three accepted findings sitting as bare- [ ]items inside a section carrying both Verified and Deferred stamps, where the oracle never reads and nothing would ever have revisited them. They were not blocked -- each carried a concrete fix shape from the review that raised it -- so parking them would have manufactured a false park; they got a real owner instead. (1) Descendants-before-leader-reap became STRUCTURAL:_pidfd_exitedanswers from a pidfd without collecting, and_escalate_recordedderives death from the descriptor it already holds. The probe and_leader_aliveare deliberately different questions -- a pidfd stays readable after the reap,_leader_aliveraises ESRCH only once reaped -- and if they agreed §23's authorization would mean nothing. Replacing the teardown polls was NOT sufficient, caught by design review before any code: the READER thread polled independently on exactly the crash path §25's restart gate protects.select.poll, neverselect.select, which raises above FD_SETSIZE precisely under the descriptor pressure this path exists for. (2) The recorded-leader pass took neither option the item offered -- deadline-checking each iteration reinstates §22's documented failure and report-only protects nothing, since the watchdog and signal path discard the verdict andos._exitregardless -- but FAIR SHARE,remaining / records_leftfor the expensive probe, which keeps §22's requirement and restores the bound it lost. (3)ReapCountcarries unconfirmed instances out ofreap_all_live;_shutdown_all_lspsreturns its own set, mattering because it empties_LIVE_LSPSBEFORE reaping. | The section's own three items converged early; what kept generating findings was adjacent work. Making the reader non-reaping introduced zombie retention, and the collector closing it went through THREE shapes: a Semaphore + bounded list + re-entering drain (queue-full dropped it, the handoff released the claim before knowing the reschedule started, the re-entry's failure was unobservable), then a weakref queue + worker dispatcher (a failedThread.start()with no worker running stranded the queue until an unrelated later crash), then INLINE on the reader thread -- smaller than both, and it cannot lose a submission because nothing is queued. Two rounds were spent owning durability for a handoff that did not need to exist. | Also fixed:_shutdown_boundedreturned a plain int when the sweep RAISED and the watchdog'sgetattr(..., "completed", True)read that as SUCCESS beforeos._exit-- fail-open in exactly the failure it reports;reap_all_live's deadline path extended the whole WeakSet instead of the unvisited suffix, reclassifying instances it had just proven dead. | 9 Codex dispatches (design, adversarial x2, test-coverage, consistency, perf, re-adversarial x3); 22 findings, 20 fixed, 1 accepted with the contract stated in code, 1 deferred | 23 mutations applied and every one caught by name -- three of them first exposed WEAK TESTS OF MINE: 9r drove a private helper instead of the reader, the fair-share assertion could not distinguish the shape it named, and the drain test called the helper rather than the wiring | Deferred to a new §27: a completed descriptor claim is a THIRD record state one boolean cannot express; marking it retired was implemented and REVERTED because it let the next_leader_exitedreap before descendant collection and publish beside a survivor -- the shipped residual is the milder one (alivereports live, force sweep collects at teardown) | §26 called itself terminal for the §20-25 cluster when filed; that did not survive implementation and the preamble now says so | Verified: 118/118 test_bridge.sh, 0 write-capable methods, 1287/1287 tooling, BUILD OK, 28326 kernel + 17 user-mode, lint 0 errors - 2026-08-05 | 00-infrastructure/TODO-07 ADVANCE + deferred-shape drain | TODO-07 closed out at file level (all 26 sections DONE; §27 folded back into §26 per the operator scope boundary,
af5a3efc) and its oneopen-in-deferreditem repaired: §19's trigger-watcher is a STANDING task, not a park, so it took thestanding:marker rather than a manufactured- [/]blocker -- the exact case the reachability gate would otherwise refuse fixpoint on forever. Drained one DONE-classed file per the ADVANCE rule, smallest first: TODO-06 §9 carried a lone- [ ]inside a Verified + Quality-reviewed + Deferred section, where nothing reads. Judged per-item rather than bulk-flipped, and the judgment inverted the obvious move: the item's OWN stated blocker ("delegate tomcp__lsp-bridge__definitiononce TODO-07 lsp-bridge is generally available") had CLEARED when TODO-07 shipped that tool, so parking it would have manufactured a false park on work that is now actionable. Reopened as a real §10 instead -- IO-table ROW plus body (a body-only filing leaves the file classified DONE and invisible, the measured 2026-08-02 failure),- [/]in §9 pointing at §10, §10 stating what it does NOT re-cover, and both Deferred-stamp XREFs repointed. Cache rebuilt: TODO-06 flips DONE -> NEEDS_WORK with §10 listed open, so the reclassification is real rather than asserted. Reachability now clean for both files. todo-graph 8/8. - 2026-08-06 | 00-infrastructure/TODO-06 §10 (split function-head resolution in
resolve_symbol) | SHIPPEDcc05f2e909+ review5c421b51| The run's FIRST act was a CI repair, not section work: preflight refused withBuild Impossible OSred atfbf64278, failing ontest_build.sh112/114. Root cause was a channel conflation, not a logic bug --check_stub_behind_stamp.pyprints FINDINGS on stdout and its new coverage line on stderr, deliberately, while sub-tests 14c/14d captured2>&1and asserted the merged output was empty. Fixed at the test (0ae80bb4); the gate gap that let it ship is filed in overnight-runner-improvements-v10, sincescripts/test-tooling.shis invoked from exactly one place in the repo (.github/workflows/build.yml:116) and no local hook runs it. | §10 itself had shipped once before and been REVERTED (5cff59cc) for taking Check 7 coverage from 52/186 to 1/186 while 115/115 tests and its own mutation-checked fixtures passed, so the design was constrained to be ADDITIVE: pass 1 is the unchanged single-line scan returning immediately on success, pass 2 runs only when it returns None, and a coverage drop is impossible by construction rather than by assertion. Acceptance was the LIVE CORPUS via a newcorpus_resolution_snapshot.pythat pins every stamped ref to its exact(path, start, end)and fails on a LOST or MOVED mapping -- the resolved COUNT cannot see a wrong new resolution offsetting a lost one, which is the hole the reverted attempt fell through. Result 55 -> 57, 0 lost, 0 moved, 2 added, both ground-truthed by hand; a corpus sweep now finds ZERO genuine split-head definitions still unresolved. | 8 Codex dispatches (design, adversarial x2, review-adversarial, consistency, perf, re-adversarial, perf re-review); 4H+12M fixed, 1 rejected with evidence, 2 deferred with concrete XREFs. The adversarial and consistency legs independently reported three defects that were ONE root cause -- three hand-written per-line comment strippers -- replaced by a single_iter_code_chars()lexer so the resolver and the classifier agree about where a body starts by construction. Most serious find was a QUADRATIC lead regex (^\s*\*?\s*, two whitespace quantifiers around an optional atom): 0.38s at 20k characters, 3.09s at 60k, reachable via a masked comment line, so one long generated comment could have hung the commit-time lint. | Perf leg measured a real 7.1x regression (+420ms/commit) and it was fixed twice: a per-file candidate index was built, PROFILED at 0.210s of a 0.36s walk, and discarded for a substring pre-filter. Final paired benchmark +1.6ms/+1.9% here, +13ms/+17% on the reviewer's host -- both recorded rather than picking the flattering number. | REJECTED: backslash-newline splicing reported as a regression does not reproduce (parent and current resolvers both return None; corpus gate 0 lost/0 moved), filed as a real lexer limitation instead of dismissed. | Filed to §11, which owns coverage: 35 refs unresolved solely because their definition sits past_DEF_HEAD_LIMIT=512(kmalloc,schedule, +33) is now the largest resolvable class, and §11's recorded "78 declaration-only" does not reproduce (19 by the resolver's own rule) so that item is marked re-measure-first. | Verified: test_build.sh 145/145, test-tooling.sh 1287/1287, BUILD OK, 28326 kernel + 17 user-mode, SMOKE TEST PASSED (boot 2.640s), lint 0 errors, Check 7 rc 0 at 57/189 - 2026-08-06 | audit-trail backfill (operator commits, not run work) |
53873fe717and15dc68d556are attendedformat-md-tablesrepairs landed before this run was armed (display-width padding, emoji width, escaped-pipe preservation, then the width-cap revert). Logged here only so the run-log gate's ship-hash check has an entry for them; the run neither authored nor reviewed them. - 2026-08-06 | 00-infrastructure/TODO-06 §11 (Check 7 counts what it cannot resolve) + §12 filed | SHIPPED
08b96744+ review370d5f33| Opened with a CI repair again, but a DIFFERENT one: thetest_build.sh112/114 failure §10 fixed was already green, andci-check.pystill reportedours_redbecausebuild.ymlsetscancel-in-progressand every run since had endedcancelled--ci_status.py:98builds its supersede evidence fromconclusion == successonly, so a fixed red can never clear while the runner pushes once per section (last 100 build.yml runs: 75 cancelled, 5 failure, 20 success). Filed to overnight-runner-improvements-v10. Investigating it surfaced a REAL second defect the stale flag was hiding: theBuild Impossible OSjob carriedtimeout-minutes: 15as a runaway backstop and had been riding the wall -- last green run 14m52s, eight seconds of margin -- until run 31056543625 passed EVERY step and hadStale-ABI fixturescancelled at 13m10s needing ~2m56s. Raised to 25 (cd99fc24); nothing was widened, the budget was outgrown. | §11 was SPLIT before implementation on the predictor's verdict (7 open items), the same way §11 itself was split out of §10: §11 keeps the REPORTING contract (noisy-gate risk), new §12 takes resolver accuracy (corpus-correctness risk). Mixing them puts two failure modes behind one review. The lsp-bridge item was parked- [/]operator-gated -- an unattended run may not add a clangd dependency to the commit-time lint. | The section's own finding is that Check 7'sresolved=57/189described NO population:resolved_ncounted occurrences and the value it was added to had been throughsorted(set(...)), and four barecontinuepaths discarded refs before any counting. The denominator was fail-open at TWO levels and the second was MINE -- design review found 503 paired refs counted as 189 (246 nonexistent file, 63 non-C, 1 escape), then the adversarial leg foundoccurrencesincremented AFTER the pairing check inside my own fix, hiding a further 1,122 refs that name a symbol with no file. Population is now the full 1,625kind=symbolset andmainreturns rc 6 rather than publish a ratio whose buckets do not sum. Bucket names state EVIDENCE, not cause: a call site carriessymbol(while the definition lives elsewhere (test_alpc.conly callskmalloc_fail_next, definedheap.c:499), so ABSENT/UNRESOLVED would have mislabelled much of both buckets. | Baseline handling REVERSES this section's own earlier warn-only choice: it protected a bootstrap case that cannot occur for a tracked file, while actually buying a silent unrecorded bypass of the only gate that sees the resolver going blind. Now rc 8, withSTUB_LINT_ALLOW_NO_BASELINE=1as the announced escape. | 9 Codex findings (2H+5M+2L); the blocking one was PERF and it was mine: per-symbol full-file scans took Check 7 from 147.4ms to 828.6ms, 5.62x on a check that runs in the pre-commit hook for every contributor on every commit. Confirmed by independent paired measurement (reviewer measured 5.43x) after my FIRST baseline probe was invalid --REPO_ROOT = parents[2]meant a /tmp copy resolved to/, failed its import and exited at 28ms, which would have read as a 32x regression. Fixed by caching the stripped text per FILE (it is symbol-independent), replacing the character loop with one C-level regex, and pre-filtering on cached raw text: 152.0ms -> 253.4ms, 1.67x / +101ms, bucket counts byte-identical at every step. | Mutation testing caught a WEAK TEST OF MINE: the population fixture asserted anunpaired-ref=key exists, which survives reintroducing the bug (the key stays, at 0); it now derives the expected count from the cache and fails at503 != 1625. Also fixed: the mutation fixtures rewrote the TRACKED baseline and relied onfinally, so a SIGKILL or timeout could leave the repo floor corrupt (blocking every commit) or artificially low (weakening the gate they guard) -- addedSTUB_LINT_BASELINEplus a fixture asserting the tracked file is byte-identical after the battery.UnicodeDecodeErroris aValueErrornot anOSError, so invalid UTF-8 escaped as undocumented rc 1. | Filed to §12 with concrete items and reciprocal XREFs, in measured size order rather than discovery order: 1,122 unpaired refs (69% of the population), 246 bare-filename refs (224 have a unique basename in the tree), and wiring the EXISTINGcorpus_resolution_snapshot.pyidentity gate, which already pins identities but is run by nothing -- the scalar floor cannot see a lost identity another occurrence offsets. The head-limit item that once looked like the biggest prize is 35 refs against 1,368. | Verified: lint 0 errors, 17 coverage fixtures PASS, test_build 146/146, tooling 1287/1287, BUILD OK, 28326 kernel + 17 user-mode - 2026-08-06 | 00-infrastructure/TODO-06 §12 (resolver coverage past the head limit + lexer/cache robustness) | SHIPPED
d41701b3+ review2de3946f| Head-limit widened (+35), file-line cache moved to fstat-based generation pinning with mutation detection, arbitrary-hop backslash-newline splice handling in both the character scanner and the regex span index, newfollow_declaration()(header decl -> repo-convention sibling .c, basename-unique + non-static, +18/20 of the decl-only class),is_stub_bodyfixed for multi-line comments and two-line bodies. Check 7 floor raised 57 -> 111 of 1625;corpus_resolution_snapshot.pyproves 0 lost / 0 moved / 54 added, every addition hand-verified. 13 Codex adversarial rounds across implementation + post-commit review (design x3, adversarial x2, re-adversarial x7, consistency, perf): fixed a genuine identity-coverage gap (snapshot didn't coverfollow_declaration), a@lru_cache-masks-mutation bug caught by this section's own fixture, a byte-ceiling TOCTOU race, five successivestatic-linkage-lookback gaps (append-order, window bound too narrow, blank-line termination, preprocessor-conditional, standalone-attribute, marker lexical-independence + multi-match) -- each verified against a REAL, cited corpus location (mbedTLS, monocypher, stb_image, LZ4, this repo's own hpet.c/framebuffer.c). Rejected 4 findings with reasoning, all requiring either full C preprocessing (macro-expands-to-static) or having zero precedent anywhere in the tree (verified via direct search each time) -- one rejection (escalating unresolved-ref to a blocking error) was later independently validated by Codex's own next round as consistent with Check 7's existing WARN-not-ERROR design. Own-motion: fixed a live false positive onhpet_available()andfb_get_output_count()(both real, documented placeholders, markedINTENTIONAL-STUB). Gate-wiring (corpus snapshot as an automated commit gate) stayed manual/on-demand -- two design rounds found real correctness gaps in every automated-wiring approach tried (worktree-vs-staged-index, CI base-SHA ambiguity); filed as future work rather than shipped fragile. 173 new/extended fixtures intest_build.sh(146 -> 173), full build + 28326 kernel + 17 user-mode tests + smoke green throughout. - 2026-08-06 | 00-infrastructure/TODO-06 §13 (stored-ref repair: unpaired symbols + bare filenames) + §14 filed | SHIPPED
10cdda4b+ review2568428b| The section was filed as abuild.pyEXTRACTION change and its own measurement disproved that before any code was written: a bare filename is a fact about the SOURCE TREE, while extraction is a pure function of the TODO corpus and the cache's freshness check compares only TODO mtimes, so a stored resolution would be a claim nothing can invalidate. The cache is UNCHANGED; both repairs moved to resolution time in a newref_resolution.pythat lint Check 7's walk and the identity snapshot both call, because a rule the snapshot does not share is a rule it cannot gate (the decl-following change shipped exactly that defect once). Coverage 111 -> 474 of 1,625 (4.3x) at 0 lost / 0 moved over 363 added, all ground-truthed. Basename repair 238 occurrences (applies tokind=filerefs too -- 673 of 1,167 stamped file refs do not exist at their authored path, which had starved the pairing of candidates); section-scope pairing 264. Tree-wide unique-name pairing would have added 1,028 more and was REJECTED: §12 already declined that mechanism and 673 symbols is 37x the 18 its one narrow use hand-verified. 13 Codex dispatches over 4 waves, 21 findings: 19 fixed, 1 rejected with corpus evidence, 3 deferred to §14. The real risk was in the FIX LOOP, not the design -- rounds 2, 3 and 4 each caught a fail-open introduced by the previous round's fix (_Static_assertthen an arbitrary macro reading as a declaration; column 0 read as file scope; a memo answering without the drift check), and a fourth found the recordedtotaldenominator had been written but never read, so a cache losing unresolved refs would have published a BETTER ratio and exited 0. 19 mutations run, every one detected. §14 opened (identity gate over the whole population + the shared rule's cost) so the three deferrals have a live owner rather than a park with no way back. - 2026-08-06 | 00-infrastructure/TODO-06 §14 (identity gate over the whole symbol-ref population) + §15/§16 filed | SHIPPED
d0b2dc17+ reviewfaacf6eb| §14 arrived SPLIT-RECOMMENDED and its own title joined two things, so it was SPLIT first (20185e03): the two COST items became §15 (batched definition rule + bounded caches), and the remaining four ran under a structured waiver. A THIRD section was filed (c1a9282a): §12 had parked the gate's automated wiring recording the follow-up as "unfiled pending a session", and §13's note assigned it to §14 which owns population coverage instead -- a different defect -- so §16 adopts the park with reciprocal XREFs and §14's anchor was repaired after the rename. THE DEFECT:corpus_resolution_snapshot.pyis the gate every section since §11 was accepted on, and it verdicted 695 of lint Check 7's 1,625kind=symboloccurrences -- 930 filtered out before a key was minted, and the 221 that reached resolution and failed recorded a bare null with no bucket. §13 is the worked example: it moved refs betweencalllike-unresolved(35 -> 132) andno-calllike-token(47 -> 89) at scale and nothing gated the movement.collect()now emits a verdict for every occurrence and the population equals Check 7's by construction, bucket for bucket, asserted against the lint's own printed line rather than a constant in the test. ONE END-TO-END RULE:ref_resolution.resolve_refdoes classify -> resolve -> follow_declaration -> bucket, and the call-like text helpers moved there. Sharing only the PRE-resolution half was the trap the design review caught -- each caller still ran its own resolve-then-follow sequence, so a fallback taught to one and not the other recreates the incomplete proof the module exists to prevent (the decl-following draft once proved 36 of 54 mappings).comparesplits six outcomes; DROPPED/LOST/MOVED/CHANGED exit 1. CHANGED failing REVERSES the filed item's stated stance on design-review evidence: the item said "not a second blocking threshold", but that guards a numeric floor while this is identity comparison, and the exit code is the only part §16's wired gate can read. Schema 1 -> 2 refuses older baselines; the migration was PROVEN rather than asserted -- a schema-1 snapshot from the pre-change code, correlated by occurrence coordinate, gives 0 lost / 0 moved / 0 gained over all 474 resolved mappings. | design + adversarial + test-coverage pre-commit, then adversarial + consistency + perf post-commit (6 dispatches); 5H+7M fixed, 1 accepted with XREF, 2 rejected with reasoning | BOTH pre-commit legs independently found the same High: the end-to-end memo bound only the DECLARING file, so rewriting a followed sibling .c mid-run served stale coordinates instead of raising ResolverInputError. Post-commit found a duplicate occurrence key silently OVERWRITING a ref -- the dropped ref leftrefsrecording the collapsed total, so the baseline is self-consistent and compare() would pass forever over a population smaller than the lint's, the exact divergence the section exists to prevent. | THREE separate 'green for the wrong reason' defects were found and fixed, which is the run's real lesson here: six baseline fixtures still declared schema 1 socomparereturned at the schema mismatch and never reached the element validation they name (deleting arity, path-type, range or truncation validation would have left them green); a new UTF-8 fixture passed on rc 3 that came from a missing cache, not the reader under test, until it asserted the MESSAGE; and the fixture corpus produced no post-resolution buckets at all, so a CHANGED assertion could not exercise the very pair §13 moved refs between. | MY OWN EVIDENCE WAS WRONG and consistency caught it: the baseline said 1,151 unresolved (live 1,152) and named unpaired-ref at 858 (live 859), and the section claimed all six buckets unmoved when unpaired-ref had moved -- stamping the section's own items adds a symbol ref, and the gate refused with rc 7 until it was re-recorded deliberately. lint.sh also grepped rc 7 for COVERAGE REGRESSION only, printing a blank error on a POPULATION refusal and discarding the actionable message. | Also repairedtest_stub_lint_coverage.py, RED in the tree since §11 made atotal-less baseline invalid -- its runner gates on a manifest listing neither scripts/lint nor scripts/todo-graph, so nothing ran it | tests 191 -> 209; fourteen mutations applied, and FOUR initially survived and were chased to ground rather than recorded: two were unfaithful mutations (one kept the_load_file_linescall the original defect skipped, one referenced follow_declaration without calling it) and two were a harness bug -- the harness read only stdout while the [FAIL] lines are not all there. An earlier harness also usedgit checkout --to restore and discarded the uncommitted implementation, which was reconstructed. | Verified: build OK, 28326 kernel + 17 user-mode, 1287/1287 tooling, 209/209 todo-graph, 66/66 overnight, lint 0 errors, graph 8/8, Check 7 474/1626, perf +3.2% on the pre-commit-hook path - 2026-08-06 | 00-infrastructure/TODO-06 §15 (the shared rule's cost) | SHIPPED
8cd20932+ reviewe49acdc2| THE SECTION'S OWN PREMISE DID NOT SURVIVE PROFILING, and that is the whole story. It was filed to batch per-candidate-file definition lookup because "every POSITIVE probe scans the file for one symbol, ~65 MB of repeated scanning,_defining_candidates~1.0s of Check 7's ~1.47s". The bytes are real; the attribution was not.candidate_linesis 0.071s of a ~1.5s walk (~5%) becausestr.findruns at C speed, and the 1.0s under_defining_candidatesis definition CONFIRMATION --_iter_code_charsyielding 1,308,110 characters and 2.19M list appends so three brace counters could test each one against{and}. The batching was BUILT anyway before that was known (aresolve_symbols(file, symbol_set)entry point +candidate_lines_batchbehind the same single rule, verdict-identical over 720 real resolutions) and it made Check 7 SLOWER -- 2.9s tokenize-and-bucket, 2.1s with a\b-anchored alternation, against HEAD's 1.5s, because Python-side bucketing costs more than the C scan it replaces. It was removed rather than shipped to satisfy the checklist wording, and the refutation is recorded in the section so it is not re-litigated. What SHIPPED instead is aimed at the measured hot path: awantedOUTPUT filter on_scan_line/_iter_code_charswith_BRACES/_PARENS_BRACESat the three body-walk call sites, leaving the lexer state machine untouched so what counts as code cannot shift, and_confirm_definitiondeliberately unfiltered because it reads every character including a catch-all reject. 5.09M -> 2.54M calls, 1.67M -> 0.40M appends, 1263 -> 1177ms median (6.8%), which Codex independently reproduced at ~7.5%. | 6 Codex dispatches (design, adversarial x2, consistency, perf, re-adversarial x2); 9M fixed, 1 rejected, 0 open | THE DESIGN ROUND PAID FOR ITSELF BEFORE ANY CODE EXISTED: it refused a uniform LRU over all seven caches, because_BASENAME_INDEX/_EFFECTIVE_PATH_MEMOanswer from directory TOPOLOGY that nothing pins, so an eviction mid-walk recomputes against a changed tree and a late ref can disagree with an early one -- a silent RESULT change, the exact thing the item's own invariant forbids. Caches are now split by WHAT PINS THEM: content-bound ones (revalidated by lines-object identity) LRU-bounded, topology-derived ones walk-scoped. It also caught that routing the batch handoff through the bounded memo would recreate the multiplicative shape whenever symbols x files exceeded capacity. | THREE OF MY OWN CLAIMS WERE FALSE AND REVIEW CAUGHT EACH:SectionScopekept a dead_defsmember and a docstring promising a per-section batch that the revert had removed -- a false performance contract on the very module whose purpose is that both gates share ONE truthful rule;walk_scope()advertised "one topology snapshot per walk" whilefollow_declarationglobbedsrc/**/<basename>.cLIVE per call, so two refs in one walk could straddle a file appearing (fixed properly with a walk-scoped_sibling_candidates()rather than by softening the claim); andwalk_scope()shipped as an API NO PRODUCTION CALLER ENTERED, so the release-at-boundary property it advertised was never realized. A fourth found the scope was not re-entrant -- a nested exit would drop resolve_symbol's generation pins mid-walk, turning a documented rc 9 drift failure into a silent clean read -- and a fifth that incrementing the depth outside thetryleft a window where an interrupt stranded it and disabled clearing for the process. | REJECTED with code evidence: a re-entrant lock for thread-safety. Every cache this module and resolve_symbol hold is unsynchronized process-global state predating the change and both consumers are single-shot CLI processes, so locking one boundary would advertise safety the module does not have; the single-threaded contract is documented instead. | THE PERF LEG CORRECTED MY SCOPE CLAIM and it was right: measuring discovery at 5% refutes the cost ATTRIBUTION and batching as a win AT THIS SCALE, but NOT the growth shape, which remains O(symbols x files x bytes). Fixture 15c now measures each axis independently in operation COUNTS (symbols x2 -> scans x2; files x2 -> scans x2; size x4 -> same scan count, more bytes), so the limitation is pinned rather than argued away -- and the section text says exactly that instead of claiming the question is closed. | OWN-MOTION: test 7's wall-clock budget computed elapsed fromdate +%s%Nand tested only-lt 2000, so a non-positive reading PASSED -- observed three times this session under WSL2 (-1158msin the test itself). A budget that cannot fail is not a budget; an invalid measurement is now refused. | Fixtures 15a-15d, every one mutation-checked (8 mutations, all detected); 15d's interrupt assertion is STRUCTURAL because the behavioural form cannot reach the real window -- an in-body raise balances under the broken shape too. | Verified: test_build 209 -> 213, identity gate 0 dropped/lost/moved/reclassified over 1,626 refs, Check 7 474/1626 unchanged, tooling 1287/1287, kernel 28326 + 17 user-mode, build OK, lint 0 errors - 2026-08-06 | 00-infrastructure/TODO-06 §16 (wire the identity gate) + §17/§18 filed | SHIPPED
800b62e0+ review618f760f| THE SECTION AS FILED WAS TWO SECTIONS AND THE MECHANISM QUESTION WAS HARDER THAN §12 THOUGHT. Split first (794b8d15): the shared cache-schema validator became §17 on opposite-failure-mode grounds (§16 fails as "the gate does not fire", §17 as "two readers disagree on the same input"). Then THREE design rounds, and the first two of my answers were wrong in ways only review found. The wiring mechanism: a non-cancellable CI job, with the pre-commit hook losing on THREE counts rather than §12's two -- git hooks are OPT-IN per developer, so a hook gate protects only authors who chose to be protected, which is precisely the property the section exists to remove; it also lives in.githooks/, control plane the unattended runner may not edit, so the runner could never have shipped it. The key-stability blocker was DISSOLVED rather than worked around: there is no tracked baseline file at all, the cache is built ONCE and both walks read that same byte-identical file, so the key set is identical by construction, only resolver CODE varies, and DROPPED/ADDED become structurally impossible -- fixture 22b proves a TODO edit still passes. | 8 Codex dispatches (design x3, adversarial x3, consistency, perf); 4H+8M+1L fixed, 4 accepted to §18, 0 open | EVERY DESIGN ROUND REFUTED THE PREVIOUS ROUND'S FIX, which is the story: round 1 caught thatcompareexits 0 on GAINED/ADDED with a "(GROUND-TRUTH BY HAND)" line no automated caller can act on, so a resolver defect binding an unresolved ref to the WRONG definition ships green looking exactly like a coverage win; round 2 killed my fix for it, because the approval artifact I proposed could not self-clear -- the gain stays relative to the PR base through every commit, so the artifact must exist at merge and then carries item_idx keys that go stale; round 3 killed the replacement, because a commit-trailer digest is mintable by any committer INCLUDING THIS AGENT, so it proves possession, not review. The shipped answer is that there is NO in-band clearing path:--strictfails and a human ground-truths it. | ADVERSARIAL FOUND THREE FAIL-OPEN PATHS IN MY OWN GATE, all of which had shipped as confident prose: a job-level concurrency group does NOT exempt a job from its own RUN being cancelled, so the workflow-levelcancel-in-progressmade the job cancellable while its header claimed otherwise (cancellation is real here -- build.yml runs e49acdc2/ca61219d/faacf6eb were cancelled by rapid pushes the same day); an unparseable protocol constant was emitted as?and compared as a VALUE, routing into a migration branch that exited 0 having built no cache and walked nothing; and agh/jqfailure collapsed into first-run absence, so a transient API error could launder an unadjudicated push permanently. The protocol-only exit was then REMOVED outright rather than repaired --SNAPSHOT_SCHEMAsits in the same file ascollect()and--strict, so "schema changed but the resolver did not" cannot be established without excusing verdict-affecting edits. | THE WORST ONE WAS THE PROTOCOL CHECK MEASURING NOTHING:proto_ofregex-captured the RHS ofALL_BUCKETS, which is spelledPRE_RESOLUTION_BUCKETS + POST_RESOLUTION_BUCKETSand is therefore INVARIANT under a bucket rename, so the fail-closed branch could never fire -- while the same regex DID capture a following comment line, so unrelated prose would wedge the gate. It now imports the modules per tree and compares the real ordered tuple; 22j and 22k pin both directions. | MY OWN FIXTURES WERE GREEN FOR THE WRONG REASON ON THEIR FIRST RUN and that is what caught a real gate defect:identity-gate.shderives its repo root from its own location, so the live script invoked inside the fixture clone operated on the LIVE repo, fell back to HEAD~1, found an unchanged closure and exited 0 -- two firing cases "passed" without walking anything. Fixed both sides; an explicitly supplied base that does not resolve is now rc 3 instead of a silent fallback to a different range. 22h is mutation-checked: deleting--strictfrom the driver flips it to rc 0 and it alone fails. | CONSISTENCY caught a malformed cache with a list-valuedsection_nraising an uncaught TypeError and exiting 1 -- the tool's DOCUMENTED code for "a prior verdict changed" -- so a bad cache would be reported to CI as a resolver REGRESSION (now rc 3, fixture 22i). It also caught thatCLOSUREadvertised coverage it does not provide; the array is now documented as a TRIGGER list, withbuild.pyand the driver named as affects-but-not-differentialled andcheck_stub_behind_stamp.pydeliberately absent -- the same false-coverage test applied consistently rather than a rule bent per file. | HONEST LIMIT, in the script header and the section: this repo pushes straight to main, so the gate DETECTS rather than PREVENTS. What is guaranteed is ADJUDICATION -- the range starts at the last SHA the job actually passed, so a cancelled or skipped run is absorbed by the next one. Prevention needs a pre-receive hook or a merge queue, both operator-reserved. | §18 opened for the four accepted findings (both-corpora producer differential, protocol-constant extraction, lint-consumer differential, runtime budget) so none is a park with no way back. | Verified: build OK, 28326 kernel + 17 user-mode, 1287/1287 tooling, test_build 213 -> 224 with 11 identity-gate fixtures 22a-22k, lint 0 errors, graph 8/8 - 2026-08-06 | 00-infrastructure/TODO-06 §17 (one shared cache-schema validator) | SHIPPED
4d2b9fa62+ review87d2e6b7d| THE SECTION SHIPPED WHAT IT SAID, AND EVERY ROUND WIDENED WHAT "THE RULE" MEANT. Two readers validatedbuild/todo-cache.jsondifferently, so the same corrupt cache was an infrastructure refusal on the snapshot side and a clean-looking lint on the other;cache_schema.pynow holds the rule once and both import it. The lint's four fail-opens are closed: falseystamped_items: {}/refs: {}passed a truthiness test and walked ZERO refs while reporting clean, a non-list deeper in the tree crashed intoexcept Exception -> rc 6,RecursionErrorescaped as a bare rc 1, and the staleness check was fail-open three ways plus skipped entirely whentodo/was absent. Sharing the RULE deliberately does NOT collapse the CODES -- the module raises a reason tag, the snapshot maps everything to rc 3, the lint maps through an explicit table with no.getdefault. THE FOUNDING PREMISE WAS TOO NARROW TWICE: design review found that lifting_load_nodesverbatim would ship a partial validator advertising a schema it did not enforce, and that NOTHING in the repo had ever validated againstcache.schema.json-- it was inert documentation, so a live probe (0 violations across 5,883 items / 3,676 refs) was what made enforcing it safe; then adversarial found node-levelfile_pathis consumed by both walks as an occurrence-key component, so the scope line became "fields the readers CONSUME" rather than "the stamped_items subtree". | 7 Codex dispatches (design, adversarial x2 pre-commit, then adversarial + consistency + perf + re-adversarial post-commit); 4H+10M+1L fixed, 2 accepted to §18, 1 rejected | THE [high] DESIGN FINDING REVERSED A DECISION I HAD ALREADY MADE: mapping an EMPTIED stamped population to the lint's rc 3 routes it throughlint.shas a WARN, and warnings leave the overall lint exit at 0 -- so a producer regression that deleted every stamped item stayed shippable, merely turning a false-clean into a warning. Absent-everywhere is LEGACY (WARN); present-but-empty now reaches the lint's OWN rc 7 POPULATION gate. The two readers take deliberately OPPOSITE actions on that single fact, which is exactly why the module reports the population instead of ruling on it. | THE GENERATION BINDING WAS BOUND TO THE WRONG WINDOW and only the post-commit round caught it: the two corpus scans insidecheck_freshnessare ADJACENT, so they bounded ~1.5ms, while both readers then spend ~1s resolving symbols -- a TODO edited THERE left the nodes stale with a verdict still returned.CacheInfonow carries the corpus fingerprint andcheck_corpus_unchangedre-verifies after the caller's walk. | MY CLOSE-ERROR FIX WAS ITSELF WRONG TWICE. First version testedsys.exc_info()[0] is NoneINSIDE theexcept OSErrorhandler, where it is never None, so it swallowed every close failure it was written to report. Second version sampled it before the close -- but that state is AMBIENT and also reports an OUTER caller's in-flight exception, so a successful load called from someone else'sexceptblock would have had its close failure swallowed. The re-adversarial round found that; a function-local flag replaced it. | MY OWN MUTATION HARNESS CONVICTED MY OWN FIXTURES, which is the round I would keep: consistency found the checklist claimed every bad-shape fixture was mutation-checked when only one rule was, and the per-rule harness written to fix that then reported the empty-array fixture still rejected with its rule deleted -- as LEGACY (rc 3, a WARN) rather than EMPTY (rc 5, an ERROR). Same refusal, wrong severity. Asserting on the REASON rather than on "still rejected" is what makes a mutation check mean anything here. | THE FIXTURE SEED LIST WAS THE SAME CLASS OF BUG AS THE ONE UNDER REVIEW:gate_seedhardcoded a copy ofidentity-gate.sh's CLOSURE, the closure grewcache_schema.py, the list did not, and seven gate fixtures failed with import errors that READ AS GATE MIS-FIRES. It now derives the list from the array. | ACCEPTED to §18, both as concrete items with reciprocal XREFs: the PRODUCER-side mirror of the generation window (build.pyreads a TODO, the file changes, the cache it writes carries a newer mtime that makes the stale node look fresh -- unreachable from any reader-side check), and ~10 further raw cache readers that still bypass the validator. The consequential one is.claude/hooks/sequencer_triage.py: on an empty cachecmd_nextprints{"status":"DONE"}and exits 0, so a corrupt cache reads as a FINISHED WORK QUEUE -- control plane, so filed to overnight-runner-improvements-v10 rather than fixed. | REJECTED with reasoning: per-element structural limits.todo-cache.jsonis derived, gitignored and locally produced, so the hostile-input model does not hold; the reachable requirement is that corruption reports a documented code, which the MemoryError normalization guarantees. | PERF measured no material regression -- load+validate 26.2ms against 0.98-1.14s caller walks -- and explicitly said streaming JSON and extra-key micro-opts are not worth it at this scale. | Verified: test_build 224 -> 251 with fixtures 23a-23n, tooling 1287/1287, kernel 28326 + 17 user-mode, build OK, lint 0 errors, graph 8/8, Check 7 474/1626 unchanged - 2026-08-07 | 00-infrastructure/TODO-06 §18 (identity-gate hardening) + §19/§20 filed | SHIPPED
9ef13a2b30+ review8f4388fa5| THE SECTION AS FILED CARRIED TWO LINEAGES AND WAS SPLIT FIRST (92e4859c5): §18 is titled and scoped for the four findings §16's reviews accepted, but §17's own review had appended two more items to it -- cache-reader routing and the producer generation window -- which share neither a file nor a failure mode with the identity gate, so they became §19. The complexity predictor read the merged section as SPLIT-RECOMMENDED (9 files, 8 open items, 5 subsystems) and the verdict cleared once split. | THE PROTOCOL BECAME INERT DATA, and that choice was the design review's, not mine. I proposed a constants-only Python module; the review refused it because the gate's entire pass inference is "every EXECUTABLE closure file is byte-identical, therefore nothing verdict-affecting rode along", and a Python module still RUNS at import -- a schema bump could carry import-time behaviour or monkeypatchresolve_symbolwhile every checked file stayed byte-identical. Values now live insnapshot_protocol.json, read withjson.loadand never executed, with the loader inside the byte-identity closure and BOUND to the data (proto_of imports it and requires its exports to match the JSON it parsed independently -- without that, filtering a dormant bucket in the loader left both snapshots verdict-identical and the differential passed while runtime consumers stopped recognising a bucket the protocol still declared). The extraction was proven verdict-neutral by the gate itself: 474 resolved of 1,626 refs, identical both sides. | 17 Codex dispatches (design, adversarial x15, consistency, perf); 12H+9M+2L fixed, 1 accepted to §20, 0 rejected | FIFTEEN ADVERSARIAL ROUNDS IS THE STORY, AND THREE OF THEM OVERTURNED AN EARLIER ROUND'S FIX. A--halves-checkedflag I added to let a caller attest it had compared the bucket halves was refused as an unauthenticated attestation -- presence of a flag became trusted evidence -- and replaced by passing the VALUES, which are then bound to the snapshot's own declared vocabulary so a caller can say how the vocabulary is SPLIT and never invent what it contains. A residual this section had ACCEPTED and parked (that rejecting a stale retirement and not wedging the next commit were in irreconcilable tension) was REFUTED by the round asked to check that reasoning: comparing the two endpoints' migration metadata gets both properties with no history at all, so the park was deleted rather than documented. And a retirement path shown to be unsound was CLOSED rather than filed -- documenting a defect does not protect the shipping path. | THE FAIL-OPEN PATHS FOUND IN MY OWN GATE, each verified before fixing: the schema fast path exited 0 when schema AND buckets both changed, swallowing a rename;pre + postflattening hid a cross-boundary move thatcheck_stub_behind_stampbranches on;list()normalised a JSON OBJECT to its keys so a malformed protocol produced an identical digest; an unreadable emitter returned a sentinel STRING that matched no bucket name, so it read as PROOF OF ABSENCE and approved a retirement -- the guard was inverted; and a declaration already present in BASE authorised the very removal it was meant to declare. | THE BUDGET WAS NOT A BUDGET THREE TIMES OVER:timeoutwithout--kill-afterplus an unboundedwaitmeant a child ignoring TERM hung cleanup forever while the worktree was deleted under it; four sequential phases each received the FULL budget (~40 minutes against a 20-minute job ceiling); and the deadline readdate +%s, a WALL clock that can step backward and GROW the allowance -- not hypothetical here, since this host recorded three backward steps under WSL2 the previous day. | MY OWN CHECK WAS FAIL-OPEN IN THE ONLY ENVIRONMENT THAT MATTERS, found twice in successive rounds: Check 25 returned rc 3 without a cache and lint routed that to a WARNING, and its trigger read onlygit diff, which is EMPTY in a clean CI checkout -- so the one gate that can detect the lint consumer diverging from the shared rule never ran in CI at all. Both closed; then the fail-closed stance turned four tooling sub-tests red, because lint.sh is also run against scratch repos with neither the consumer nor a corpus, so the trigger is scoped to a tree that has both -- absence of the subject is not a finding about it. | CONSISTENCY AND PERF BOTH FOUND REAL DEFECTS AFTER THE ADVERSARIAL APPROVE: the lint consumer kept a PRIVATE copy of the bucket vocabulary, so a data-only bucket addition -- a migration the gate explicitly accepts -- madecov[result.bucket]raise KeyError and the check exit 3; producer operational OSErrors escaped as exit 1, the documented "a stamped ref was dropped" code, so infrastructure would have been reported as a producer REGRESSION;identity-gate.shhad no usage code 2 while its three sibling tools reserve it; five fixtures accepted ANY non-zero exit, so a fail-always gate satisfied them; and the delegation check called the REAL resolver before discarding its answer on all seven passes, measured 6.28s -> 0.21s once the sentinel was constructed directly, on a check that runs every CI invocation. All four consumer mutations were re-verified to still FAIL after that change. | ACCEPTED to §20 with reciprocal XREFs: retirement is provable only by searching the emitters' source text, which indexed or concatenated emission defeats -- so the retirement path is CLOSED in shipped code and §20 owns the declared emitted-member contract that reopens it. | Verified: build OK, 28326 kernel + 17 user-mode, 1287/1287 tooling, test_build 251 -> 289 with fixtures 22j-22ag and seven consumer-delegation cases, lint 0 errors, graph 8/8, live identity gate PASS, smoke PASSED - 2026-08-07 | 00-infrastructure/TODO-06 §19 (cache-validation reach) + §21/§22/§23 filed | SHIPPED
f77a129544| THE SECTION WAS SPLIT TWICE BEFORE A LINE OF CODE, AND BOTH SPLITS WERE THE REVIEW'S DOING RATHER THAN MINE. The complexity predictor read it SPLIT-RECOMMENDED (4 subsystems), so the producer-side generation window inbuild.py-- depth, one file, a TOCTOU needing design -- became §21, leaving breadth: one settled pattern applied to N reader files. The residual verdict was then WAIVED with a structured waiver predicting "5 edits, under 15 lines each, independent of one another". THAT PREDICTION WAS WRONG AND THE DESIGN REVIEW PROVED IT, which is the whole reason a waiver is an accountable estimate rather than an assertion: the edits are NOT independent (all five need a caller-profile API first) and two carry blast radius the waiver never priced.query.pyreaches the MCP and watch transports and became §22;validate.pyboth recovers by rebuilding and reads a SECOND historical cache at:1024that my inventory had missed entirely, and became §23. What shipped is the foundation plus the two readers that are genuinely self-contained. | 3 Codex dispatches (design, adversarial x2); 6 findings, all verified at file:line, all FIXED, 0 rejected, 0 accepted-and-parked | THE DESIGN REVIEW SAID "DO NOT IMPLEMENT AS WRITTEN" AND WAS RIGHT ON EVERY COUNT.validate_nodesraisedREASON_LEGACY_NO_STAMPED_ITEMSunconditionally -- a readiness policy owned by the two stamped-items readers, which for a reader ofsections[]refuses a schema-valid, entirely usable cache; the module's OWN header already said the population question belongs to the caller and exposedCacheInfo.key_presentto report it, so the raise contradicted the file it lived in. My proposedrequire_stamped_itemsboolean was refused as the wrong axis, since it still validates an irrelevant subtree while leaving the caller's real inputs unchecked. Profiles now declare the two questions separately: what I consume, and what I require. | "KEEP ITS OWN DOCUMENTED EXIT CODE" WAS NOT SATISFIABLE AS THE SECTION HAD WRITTEN IT, and assuming it was is the trap the review caught:todo-reachability.py:273already returned 1 for FINDINGS anddecision-registry.py:165returns 1 for NO SEARCH HITS, so mapping a cache failure onto either makes an infrastructure refusal indistinguishable from a real verdict -- the exact defect §17 exists to prevent. Each routed reader got a NEW code distinct from its verdicts. | THE SECTION WAS ALSO ADVERTISING PROTECTION IT COULD NOT DELIVER:stamps_xrefsandinputs_xrefswere bare{"type": "array"}in the schema, so a malformed nested entry passed everything.stamps_xrefsandsectionsare now constrained in BOTH the Python walk and the schema;inputs_xrefsandsections[].depends_onare deliberately left alone because no reader routed here consumes them, which is the module header's own scope rule rather than an omission. | ROUND 1 OF ADVERSARIAL FOUND THE ROUTING WAS DEFEATED AT ITS ONLY EVERY-COMMIT CALLER, which is the finding I would keep:lint.shCheck 24 discarded stderr, erased the status with|| true, and substituted{}for empty output, so STALE, malformed, oversized, unreadable and timeout ALL reported zero findings. Routing a reader fail-closed while its caller fails open is theatre. It also caught that I retained no corpus fingerprint before the multi-file walk -- the binding §17 built for exactly that window -- and thatPROFILE_SECTIONSaccepted values its dict consumer misreads. | ROUND 2 REFUTED MY OWN THREE FIXES AND WAS RIGHT AGAIN. Removing|| trueoutright ABORTED lint mid-run, because the file isset -euo pipefailand rc 1 (findings) is the normal case -- caught by running it, not by reading it. Checking the exit code alone was still fail-open, since Python exits 1 for an uncaught exception too, so a crash with empty stdout read as clean; the verdict is now the PAIR (code, envelope). The fingerprint was captured AFTER the first TODO body was read, becauseaudit()reads its file before calling_io_status, leaving exactly the mixed-generation race the fix claimed to close. And my Check 24 fixture grepped ONE physical line, so moving|| trueto a continuation line evaded it -- the same "green for the wrong reason" shape this repo keeps paying for. | MY OWN FIXTURE DEMONSTRATED THE BUG IT WAS WRITTEN AGAINST: it usedstatus: "[x]", which the producer never emits (build.py:821stores the inner character), and the validator ACCEPTED it -- while the consumer testsstatus not in ("x","/"), so"[x]"silently read as UNFINISHED. Status is now the closed domain{"", " ", "x", "/"}, andsections[].nmust be unique per node because consumers key a dict on it and a duplicate silently overwrites. Both verified at zero violations across 232 nodes and 2,394 sections. | THE MUTATION HARNESS WAS REPAIRED AFTER MY REFACTOR BROKE IT SILENTLY: extracting the stamped-items walk re-indented every needle and made a bareif extra:ambiguous across three validators, so a first-match replace would have neutered the wrong rule and still passed. Needles are uniqueness-asserted now. While there, a REAL latent defect: one case's needle was already stale, so its assert fired, the mutant file was never written, and the case passed anyway against an unmutated module -- a mutation fixture green with no mutation applied. | I EDITED CONTROL PLANE AND REVERTED IT.scripts/overnight/decision-registry.pywas routed, built and verified green before I checked the path against doctrine;scripts/overnight/**is off-limits to the unattended run. Reverted and filed -- along with a real defect the routing uncovered: 923 indexed ownership decisions carry an EMPTY target because the reader asks fortarget/target_file/text/rawand the producer emitstarget_path/target_section/item_name(994 xrefs, zero occurrences of any key it asks for). Also filed: NOTHING actually blocks the run from editing the control plane, which is why the edit happened at all. The section's own item text had listed that file as ordinary work; corrected. | CI RED AT PREFLIGHT WAS TRIAGED, NOT DIAGNOSED TWICE: run 31129870443 @e34ca7b4bshowed 4 tooling failures already fixed by8f4388fa5(Check 25 firing on the tooling suite's scratch repos); recorded in the failure ledger with the evidence so the next pass does not re-derive it. | Two loaded-host flakes cost one wasted diagnosis each and are now in the gotchas and the ledger: a negative-duration timing case in test_build, and the three clusteredphase1_evidence_blocksub-tests. | Verified: build OK, 28326 kernel + 17 user-mode, 1287/1287 tooling, test_build 289 -> 299 with 10 routed-reader fixtures and 9 per-rule mutation cases, lint 0 errors, graph 8/8, smoke PASSED. Check 24 confirmed BEHAVIORALLY: a corrupt cache yieldsreachability audit could not run (rc 2, stdout is not valid JSON)and lint exits 1, while a clean tree still exits 0. - 2026-08-07 | 00-infrastructure/TODO-06 §19 review + stamp | REVIEWED
aade6948c| THE SECTION WAS ALREADY SHIPPED AND ALREADY REVIEWED, AND WHAT WAS MISSING WAS THE STAMP -- the previous run stopped between its last converged review round and the stamp commit, so §19 sat implemented (f77a129544+ ship-review fixes1cbab9532), all five items[x], IO row[x], and still classified NEEDS_WORK because nothing had written**Verified:**. The convergence gate is what made this cheap rather than a 3-leg re-run: adversarial, perf and re-adversarial all returned CONVERGED for the slice, so exactly ONE leg was re-dispatched -- consistency, whose fingerprint had moved with the ship-review fixes. | 1 Codex dispatch this pass (consistency); 2 [medium] findings, 1 FIXED, 1 REJECTED with code evidence and its residue fixed | THE READERS RETYPED THE VOCABULARY THEY WERE SUPPOSED TO SHARE.cache_schema.py:169-171declares SUBTREE_* once, buttodo-reachability.pysubscripted a bare"sections"andcheck_consumer_delegation.pycalled.get()on a bare"stamped_items"-- so a rename would validate one field while the reader accessed another: reachability escapes through an uncaught KeyError under its VERDICT code rather than the infrastructure code section 19 built for exactly that distinction, and the delegation check silently counts zero, lowering the expectation and passing the comparison it exists to make. | THE REGRESSION ASSERTION IS AN AST CHECK, NOT THE TEXT SEARCH THE REVIEWER ASKED FOR, and the reason is the same one section 20 exists for: both files legitimately mention those names in comments and error messages, so a grep for the literal fails on prose, and a check that fails on prose is a check that gets muted. Only the ACCESS shapes are examined. Mutation-proved -- restoring either literal FAILS the fixture. | I REJECTED THE OTHER FINDING AND THE REJECTION IS THE MORE USEFUL HALF. Codex read the duplicate-nparity exception as a masked acceptance mismatch and asked for identical verdicts. JSON Schema 2020-12 has no uniqueness-by-property keyword --uniqueItemsis whole-item equality and the fixture's two rows differ indeliverable-- so the constraint is UNEXPRESSIBLE in the published schema, and dropping the Python rule reopens the silent overwrite it closes (consumers key a dict onn). The asymmetry is also asserted in BOTH directions, not ignored: the fixture fails if the schema starts rejecting the case OR if the Python walk stops. | ITS RESIDUE WAS REAL THOUGH, which is why the finding was worth the round: the pass label claimed all 16 cases "agree with the published schema" when one is deliberately Python-only, and the schema itself was silent about a constraint a consumer enforces -- so a producer could validate clean and still be refused with nothing in the published contract saying so. Label now states the split;cache.schema.jsondocuments that a valid document is well-SHAPED, not automatically trustworthy. | The section had also never received theTest runner:line its stamp region requires (Check 10 caught it at commit -- the same stop that cost it the stamps); added. | Verified: build OK, test_build 314 -> 315 (the new AST assertion), tooling 1293/1293, kernel 28326 + 17 user-mode, lint rc 0 / 0 errors, todo-graph 8/8, CI-parity PASS. Section 19 classifies DONE; TODO-06 remains NEEDS_WORK on §20-§23. - 2026-08-07 | 00-infrastructure/TODO-06 §20 (declared bucket-emission contract) | SHIPPED
f86175ccd+ review68607654b| THE SECTION REPLACED EVIDENCE, NOT A RULE, AND THE FIRST DESIGN OF THAT EVIDENCE WAS WRONG. §18 could only ask whether a bucket name still appeared in the emitters' SOURCE TEXT, which an indexed or concatenated emission defeats, so every active retirement was refused outright -- a wedge rather than a gate. I proposed inferring the emitted set by collecting everyBucket.<MEMBER>access in the resolver; the DESIGN REVIEW refused it before a line was written, becausenext(iter(Bucket))and an aliasB = Bucket; B.Xemit a bucket while the file contains no literal, no subscript, no dynamic construction and noBucket.<MEMBER>expression at all -- the inferred set would omit a member the resolver can still emit, recreating the exact latent failure the section exists to close. The set is DECLARED instead:EMITTED_BUCKETS = frozenset({Bucket.MEMBER, ...}), its AST shape pinned, its truth enforced at runtime. | 7 Codex dispatches (design, adversarial x3, consistency, perf, re-adversarial); 6H+7M+2L fixed, 0 rejected, 0 open | THE GUARANTEE IS LAYERED AND THE DOCSTRING SAYS SO RATHER THAN OVERCLAIMING. Overriding__new__bounded ordinary construction and nothing else: a probe drove a RETIRED bucket through_replace,_makeand the module-level base namedtuple._makeis overridden (which covers_replace), the base is declared inline so no unchecked constructor is importable -- andtuple.__new__(Verdict, ...)stays reachable because nothing in Python can take it away, so the PUBLIC RETURN BOUNDARY re-validates and bounds the OBSERVABLE emission set instead. Claiming closure at the constructor would have been false; the layered claim is checkable. | THE RUNTIME CHECK NEEDED BOTH HALVES AND I SHIPPED ONLY ONE FIRST.Bucketis str-valued, so a bare"path_escape"hashes and compares equal to the member and sailed through a membership test: the first cut accepted both a raw literal and a runtime concatenation, leaving the enum typing decorative. Instance AND membership, and the comment records why neither alone suffices. | I ALSO BROKE THE REPO'S PYTHON FLOOR AND THE REVIEW CAUGHT IT AT IMPORT.enum.StrEnumis 3.11+ against a documented 3.8 minimum (docs/infrastructure/development-tooling.md:133); on a supported host the resolver, the lint consumer AND the identity gate would have died with AttributeError before any could return its documented exit code -- a check that cannot start is the fail-open shape those codes exist to prevent. Replaced with(str, Enum)plus__str__/__format__pinned tostr's, which gives StrEnum semantics on every version. Reported honestly: all five changed files parse underast feature_version (3,8), but NO 3.8 interpreter exists on this host, so the suite was not run on it. | THE POST-COMMIT ROUND FOUND THE PROOF STILL BYPASSABLE THREE MORE WAYS, and the iteration form is the one to remember: the enum is derived from the JSON, so retiring the first member makesnext(iter(Bucket))return the NEXT declared member, which_check_emittedaccepts -- a dormant branch keeps emitting, silently reclassified, with every gate green. Only canonicalBucket.<DECLARED_MEMBER>access is allowed now. | THEN THE RE-ADVERSARIAL FOUND MY TWO EXEMPTIONS WERE THEMSELVES THE HOLE._name_ofreturns an attribute's.attr, sohelper.isinstance(x, Bucket)satisfied the type-test exemption while its method returned an iterated member; and the re-export scan exempted EVERY matching top-level assignment, so a secondBucket = alternate.Bucket-- a different enum wearing the sanctioned name -- passed. Exactly one canonical re-export now, and only a builtinisinstancewhose name is proven unshadowed. The same round showedwatched_symbols_presentwas scope-blind: a dead decoyALL_BUCKETS = ()inside an unused function satisfied the proof while the real symbol was renamed and its indexed access evaded the bans. Module-level bindings only, counting imports and tuple targets so a legitimate refactor is not wedged. | THE DECLARATION WAS A LIST, NOT A CONTRACT, UNTIL IT WAS COUPLED TO THE CODE: dropping a member while leaving its four emission sites produced ZERO violations, and the clearing-path fixture could never have caught it because it retires a bucket nothing ever emitted. | CONSISTENCY REFUTED MY BIJECTION CLAIM WITH COUNTER-EXAMPLES. "Is lowercase" does not make the member/name mapping reversible:sharp-s, final-sigma, theffligature and dotless-i are all lowercase but upper-case toSS,SIGMA,FF,Iand lower back to something else, leaving a valid protocol unreadable to the retirement checker -- which must read the emitted set from a tree MID-RETIREMENT and so cannot look the name up. Bucket names now match^[a-z][a-z0-9_]*$with the round trip asserted directly. It also caught that the published bucket report line had silently REORDERED when accounting moved to the vocabulary; accounting stays derived, presentation keeps its historical sequence and appends new buckets. | PERF APPROVED WITH NO FINDINGS and measured it: 1,626-ref walk 1.11s -> 1.09s, boundary guard ~0.5us/ref, Check 26 ~40ms including process startup, so fusing its AST walks is unwarranted. | THE CONSUMER'S SECOND VOCABULARY WAS IN SCOPE AND THE DESIGN REVIEW INSISTED:check_stub_behind_stamp.pyretyped six names for its accounting sum, so an EMITTED bucket addition exited 6 and a retirement raised KeyError -- the gate could have approved a retirement that left its own required lint consumer unusable. Both derive from the published tuples now, andcheck_consumer_delegation.pyprobes with the EMITTED set so a legal data-only addition no longer fails Check 25. | THE CLEARING PATH IS OPEN FOR THE FIRST TIME: fixture 22ae flips from refuse to APPROVE, andcheck_bucket_emission.pyjoins EXEC_CLOSURE so a commit cannot weaken the evidence and retire a bucket at once. | PARKED, NOT DROPPED: identity-gate fixture 22b is mtime-racy and failed 1 run in 4 on an UNCHANGED tree (cache is STALE (a TODO is newer than ...)). Filed as a- [/]in §20 owned by §21, whose corpus fingerprint replaces the mtime freshness check and removes the race rather than hiding it behind a sleep, with a reciprocal item in §21 and a gotcha so the next pass re-runs before diagnosing. A new §24 was CONSIDERED and rejected: §20 sits at review-spawn depth 2, and a flaky fixture cannot honestly name the user impact a continuation waiver demands. | TWO FIXTURES INITIALLY PASSED FOR THE WRONG REASON --\ninside"..."stays literal in bash, so they wrote unparseable emitters and passed on rc 3 instead of the ban they named. Caught by asserting the MESSAGE, not just the exit code, which is the discipline the gotchas file already carried. | Also addedTODOGRAPH_KEEP_TMP=1: every failure message in test_build points at a log under$TMP_DIR, and the EXIT trap deleted it, so diagnosing a gate fixture meant re-running the suite and racing the trap. | Verified: build OK, 28326 kernel + 17 user-mode, 1293/1293 tooling, test_build 320 -> 328 with 12 new mutation fixtures, lint rc 0 / 0 errors, todo-graph 8/8. TODO-06 remains NEEDS_WORK on §21-§23. - 2026-08-09 | 00-infrastructure/TODO-06 §27 (replace refs + grafts in the history identity) + §30/§31 filed | SHIPPED
f814af76f+ reviewb35c5a762| THE SECTION WAS SPLIT BEFORE A LINE OF CODE, ON ITS OWN TITLE. The manifest read SPLIT-RECOMMENDED at 6 open items and the title said "replace refs, grafts, AND watch-mode triggering" -- two axes sharing a cause and nothing else: what the identity PROJECTION discards (git ancestry probing) versus a WATCHER that never re-asks (an event loop and a polling budget). Different files, different failure modes, different tests. The watch half became §30. | 6 Codex dispatches (design, adversarial x3, consistency, perf); 6H+5M fixed, 0 rejected, 2 deferred with concrete owner items | THE DESIGN REVIEW KILLED CANDIDATE B BEFORE IT WAS WRITTEN, and the probe confirmed it: git honoursGIT_REPLACE_REF_BASE, so underrefs/myreplace/a digest ofrefs/replacereads EMPTY while the walk is replaced. Candidate A (--no-replace-objects) defends regardless of namespace. | IT ALSO REFUSED MY GRAFT PROBE AND WAS RIGHT: any presence check is a SECOND read not causally bound to the traversal, so a graft can be live for the producer's walk and gone before the reader stats it. Its own remedy -- digest the whole walk -- was REJECTED on cost (§24 measured 312ms against 47.9ms). The answer was to remove the race by removing the probe:GIT_GRAFT_FILE=os.devnullmakes grafts inert by construction, the exact analogue of--no-replace-objects, for which git offers no flag. | THE MECHANISM WAS RIGHT FROM ROUND 1 AND NEVER CHANGED; ALL THREE LATER ROUNDS FOUND FALSE PROSE. "boundary changes however they are reached" (an equal-count shallow boundary movescreated_at1577836800 -> 1583020800 with tip and count equal); "the count is the ONLY half that follows the effective git environment" (the tip follows it too -- a boundary at a non-corpus HEAD moved the tip with the count unchanged at 1); and "RAW history" (shallow ancestry stays effective, so the honest term is replacement- and graft-neutralised). Each was verified by a throwaway probe carrying a control that fired. When a section's deliverable is partly a CONTRACT, the prose is where the residue lives. |CACHE_FORMAT_VERSION1 -> 2 becausehistory_idkept its name and type and changed its meaning -- the documented purpose of that integer. Without it a v2 reader accepts a v1 cache built under a replacement and a v1 reader accepts a v2 cache after rollback, both silently, since the strings compare equal in exactly the case that matters. | BOTH MUTATION LEGS FIRST REPORTED A FALSE PASS: a two-file module copy died on a missingschema/, and "no drift" was indistinguishable from "no build". Now reported as distinct outcomes. The bump also exposed fixture 22am, which hardcoded aCACHE_FORMAT_VERSION = 1needle while the gate clone is seeded from WORKING-TREE files -- so a legitimate bump made the needle miss, base and head became identical, and BOTH 22am and 22an failed reporting "not handled" as though the gate had regressed. It bumps whatever value it finds now. | REVIEW CAUGHT DRIFT THE SPLIT CREATED: §24's stamps still routed watch work to §27 and quoted an item that no longer existed, and one of its deferrals had been CLOSED by this section and still read open. Swept every in-file anchor rather than only the reported one -- 3 of 63 dead, all repaired -- which exposed thatvalidate.pypasses 9/9 while same-file fragments rot, filed into the still-open §29. | I NEARLY OBEYED THE CONVERGENCE GATE ON A SECTION IT CANNOT SEE:should-redispatchreturned CONVERGED for a 100%scripts/todo-graph/**surface -- thescope: srcblind spot this run had already filed against §25. Round 3 was dispatched anyway and returned a live finding, so obeying it would have shipped a false contract. Filed again with the new evidence: filing a defect does not stop a green gate being trusted. | Verified: build OK, 28326 kernel + 17 user-mode, 1319/1319 tooling with a content-bound receipt, test_build 464 -> 466, lint rc 0 / 0 errors, todo-graph 9/9, CI-parity PASS. Perf APPROVED with measurements (50.543ms -> 50.600ms; the four env copies cost ~59us, 0.12% of budget). TODO-06 remains NEEDS_WORK on §28-§31. - 2026-08-09 | 00-infrastructure/TODO-06 §28 (section-level readiness verbs) | SHIPPED
1bf0ed2ed| THE SPLIT PREDICTOR SAID SPLIT AND THE WAIVER SAID NO, ON A MEASUREMENT TAKEN BEFORE ANY CODE. The manifest read SPLIT-RECOMMENDED at 6 open items, but three were bookkeeping that cannot be separated from the code making them true (retire §25's note, one OS-Comparison row, the commit line), and the blocker §28 feared -- ambiguous bare-stem targets -- had already been closed by §26: all 522 (target, source) pairs and all 723 cross-file groups resolve, 0 unresolved, 0 dangling. Waiver accepted with a concrete estimate; actual was 9 files against an estimated 7. | 7 Codex dispatches (design, adversarial x2, consistency x2, perf x2); 4H+8M fixed, 0 rejected, 0 open | THE DESIGN REVIEW KILLED THE AGGREGATION RULE BEFORE A LINE WAS WRITTEN, AND ITS BEST FINDING WAS THE ONE I HAD NO REASON TO DOUBT. I proposed satisfaction = target section's IO status is[x], which reads like the only possible answer. It disagrees with this repo's OWN canonical classifier on 463 live sections: 42 shipped-but-unstamped[x]classify NEEDS_WORK and 421 stamped[/]classify DONE. The verbs now importsequencer_triage.classify_sectionrather than re-deriving it -- reuse the tool's own machinery, never reimplement its rule. | EVERY OTHER DEFECT CAME FROM THE CORPUS, NOT FROM THEORY, which is the argument for measuring before designing: 8 groups name their OWN file by code (TODO-04) instead ofselfand so satisfied the cross-file eligibility test with a same-file edge; 8 resolve to a domainINDEX.md, a real path that is not a cache node; one group names the same target section twice. None of these were reachable by reasoning about the schema. | I FIXED THE NULL-SECTION-NUMBER HOLE TWICE, IN OPPOSITE DIRECTIONS, AND THE SECOND REVIEW CAUGHT THE FIRST. The cache contract permits a nullsections[].nand does not require nulls to be unique, so keying on(file_path, n)merged two rows. I excluded them -- which was wrong the other way: a null-numbered row's dependency on a real target is good evidence for a TARGET-ranked answer, and dropping it understatedsection-blockingjust the same. Being unable to NAME a source is no reason to forget what it points at. Keyed by row ordinal now. | THE MCP TOOLS WERE ADVERTISED AND UNCALLABLE, and my own test proved nothing because it checkedtools/listand then called onlystats. Registration and dispatch are separate surfaces:_build_mcpgave FastMCP the schema while_dispatch_tool's allowlist rejected everytools/callwith "unhandled tool". The wire test now CALLS each verb; reverting the dispatch fix makes it fail, verified by patch-run-restore with a checksum. | MY FIRST MUTATION CONTROL PASSED UNCHANGED AND THAT WAS THE MOST USEFUL FAILURE OF THE SECTION. Reverting the in-group dedup changed nothing, because the dedup was layered three deep and the clause under test was not the one being reverted. Measuring each layer showed L1 is load-bearing only forselfgroups, L2 covers cross-file, and L3 was unreachable given L2 -- so L3 was REMOVED rather than left as a guard that cannot fail, and each surviving layer got a control that fires. 8 controls, every one confirmed. | THE CENSUS INVALIDATED ITSELF AND THE CONSISTENCY LEG CAUGHT IT: flipping the IO row to[x]without stamps moved 42 to 43, so the docs contradicted the tree they were measuring. Numbers are now dated observations (2026-08-09), and the post-stamp value was PREDICTED as 42/421/463 and then verified to match exactly. | Also corrected 723 -> 715 actual cross-file groups (8 are self-aliases) and six stale 10/12 tool inventories; two §8 receipts over the 250-char cap were split into sub-bullets rather than opted out of. | Verified: build OK, 28326 kernel + 17 user-mode, 1319/1319 tooling, test_build 466 -> 502, lint rc 0 / 0 errors, todo-graph 9/9, smoke PASSED (boot 2.760s). Perf APPROVED with measurements (112.3ms index build, 219.1ms MCP query, near-linear to 4,000 nodes; explicitly advised no optimisation and none was done). TODO-06 remains NEEDS_WORK on §29-§31. - 2026-08-09 | 00-infrastructure/TODO-06 §29 (repair mode fails visibly) + §32/§33/§34 filed | SHIPPED
859d96cf0+ review862198a40| THE SECTION WAS SPLIT BEFORE ANY CODE, BACK TO ITS OWN STATED SCOPE. The manifest read SPLIT-RECOMMENDED at 6 open items and the preamble said "two properties of repair mode" -- but two later-appended items carried unrelated failure modes and blast radius: an in-file](#anchor)check needing no cache, no resolver and no repair mode (§32), and a producer-side(\S+)capture touching every stamp in the corpus (§33). Splitting restored the section to what it always claimed to be. | 7 Codex dispatches (design, adversarial, test-coverage, adversarial, consistency, perf, re-adversarial); 3H+8M fixed, 1 rejected with evidence, 1 deferred operator-gated | THE DESIGN REVIEW FOUND A SECOND SILENT PATH THAT WOULD HAVE LEFT THE SECTION'S OWN TITLE TRUE. I was fixingmain()dropping the unresolvable count as_unres;len(hits) == 0-- target resolves, named item renamed away -- alsocontinued with no counter and no message. Fixing only the filed branch would have shipped a section called "reports success over targets it could not resolve" that still did. Counted asmissing_items; the live corpus has 75 of them against 50 unresolvable. | THE FILED PREMISE WAS WRONG AND THE PROBE SAID SO. The collision item was sized as defence in depth becausecache_schemasupposedly refuses such a cache at load. It does not for this profile:build.pybuilds it,validate.pyloads it, and onlyquery.pyand MCP refuse. §26's resolver is what makes it SAFE; measured on one tree, pre-§29 gave rc 0 with ZERO output and 4 stale stamps, the refusal reverted gives rc 1 with four per-stamp reports, as shipped gives rc 2 naming the pair. What this section adds is the diagnosis, and the comment now says that instead of the disproven claim. | I NEARLY SHIPPED A BUDGET THAT SILENCED THE SIGNAL THIS SECTION ADDED. Perf measured 762,597 clauses buffering 126,591,102 chars (RSS 70 -> 230 MiB); my first fix was one global 200-entry budget, and re-running the LIVE corpus showed 200 ambiguity lines, 0 of 50 unresolvable and 15 of 75 missing -- the 403 pre-existing ambiguity findings come first in corpus order and ate the whole allowance. Per-class budgets now; both new classes list in full. Its twin: the suppression line points at "the summary line" and that summary wasif not quiet, so under the only automatic caller the promised totals were never printed. What caught both was re-running the measurement that MOTIVATED the section, not a test and not a reviewer. | REJECTED WITH EVIDENCE: "a partial cache can hide a collision and permit a wrong rewrite" -- built a cache, added the colliding file, and repair refuses rc 2 STALE via the corpus binding before any rewrite, stale stamp preserved. | THE rc 2 CONTRACT I WROTE WAS FALSE AND CONSISTENCY CAUGHT IT:_commit_rewritespublishes per destination in phase 3 and can refuse on a LATER file after earlier ones wereos.replaced, so "refused before touching anything" overstates. Documented as "stop and look", not "nothing happened". The refusal message also said "(directory, number)" whenresolver_keyreturns_DOMAIN_DIR_REgroup 1 -- the two-digit CODE -- reintroducing the exact confusion §26 existed to remove. | TWO MUTATION FIXTURES FAILED CLOSED when my own fixes moved the code they patch, which is the designed behaviour; repaired to pin STRUCTURE rather than message prose. The re-adversarial then showed the budget fixtures were loose ---le 100plusgrep -qleft an off-by-one cap AND a per-diagnostic suppression line (which restores the O(n) growth) both green; now exactly 100 entries, exactly one suppression line, exact totals, and both rare classes asserted under an ambiguity flood. | FILED, NOT FOLDED IN: §34, becausetest_build.shTest 7 brackets the build withdate +%s%N(CLOCK_REALTIME) which WSL2 steps -- seen twice today as a falsebuild timing invalid (-822ms), once inside the tooling suite and once in 1 of 3 direct runs. Identifying it cost ~20 min becausetest-tooling.shdiscards the sub-suite output on failure and keeps only the summary; filed to v13. | Verified: build OK, 28326 kernel + 17 user-mode, 1319/1319 tooling, test_build 502 -> 514 with 12 section fixtures and 3 mutation controls, lint rc 0 / 0 errors, todo-graph 9/9, CI-parity PASS. TODO-06 remains NEEDS_WORK on §30-§34. - 2026-08-09 | 00-infrastructure/TODO-06 §30 (
--watchticks on a history move) | SHIPPED55f4bc9f0+ reviewe129f720f| SPLIT-RECOMMENDED WAS OVERRIDDEN WITH A WAIVER AND THE OVERRIDE HELD: 5 open items, but three were one mechanism insidewatch_loop(trigger, verb scoping, refusal retry) and two were its fixtures and commit line. Estimated 3 files / 5 tests / 150K; actual 3 files and 21 fixtures. | 12 Codex dispatches (design, adversarial x2, consistency, perf, re-adversarial x7); 1H+18M fixed, 0 rejected, 1 accepted to §31 | THE DESIGN REVIEW KILLED THE TRIGGER I HAD ALREADY MEASURED. A 3-path stat of {HEAD, packed-refs, refs} costs 3.3us and is BLIND to the case the section exists for: a loose-ref write touchesrefs/heads, notrefs/-- control on this repo,refs/mtime 1786242163389184305 againstrefs/heads1786275154647232807, eight hours apart. It also refused inotify watches on HEAD/packed-refs (git renames a lockfile over them, retiring the inode watch) and pointed atgit rev-parse --git-pathfor linked worktrees. The shipped trigger is a recursive pathname snapshot, 50.1us median, and feeding NO git path to inotifywait dissolved a fourth finding (a mixed event stream letting a ref event drain a queued .md save) rather than defending against it. | I LABELLED THREE PROBE CASESinotify modeAND READ THEIR PASSES FOR 40 MINUTES.inotifywaitis not installed on this host, so every case ran the polling loop and the new inotify branch had never executed once. Pre-existing sub-test 9r carried the same false claim in a comment,forcingpolling withPATH=/usr/bin:/bin-- the directory inotify-tools installs into.--watchnow PRINTS its branch and every fixture asserts it; polling is forced byTODOGRAPH_WATCH_FORCE_POLL; the inotify branch runs against a stub. A probe's LABELS need verifying, not just its numbers. | ONE DEFECT CLASS DROVE SEVEN RE-ADVERSARIAL ROUNDS, AND EVERY ROUND FOUND A NEW ROUTE TO IT. The trigger decides whether to pay the 54.2ms identity probe, so anything it cannot see compares EQUAL and suppresses the probe: a truncated walk, a directory that could not be opened, a read that died mid-directory (which I INTRODUCED fixing round 5), a stat failing for any reason since ENOENT was collapsed with EACCES, and a symlinkedrefs/headswhose target git follows and this walk must not. All five now report INCOMPLETE and degrade to direct polling. | THE CEILING DID NOT BIND, THREE TIMES. Checked once per DIRECTORY it is no bound when the fanout is inside one -- reproduced at ceiling 5 with 302 stats and complete=True. Counting directories twiceconservativelythen degradedrefs/pull/<n>/headlayouts PERMANENTLY, since recovery re-applied the same accounting. Each object counts once now, and the deadline guards every blocking call includingnext(it), which aforloop advances before the body can check. | THE SECTION'S OWN CONTRACT CLAIM WAS FALSE AND CONSISTENCY CAUGHT IT: I wrote that trigger and post-walk checkcan never disagreebecause both readrequires_history.load_and_validatepopulatesinfo.historyonly insideif check_stale:, so on a non-canonical--cachethe check is a no-op while the axis still probed. Armed onrequires_history and check_stalenow -- and the fixtures moved onto the canonical cache path, so they finally exercise the configuration that ships rather than inspection mode. | BOTH MUTANTS WERE FALSE PASSES UNTIL THE PROBE WAS CHECKED: copied into TMP_DIR they die on import (no PYTHONPATH) or skip the rebuild (no build.py beside them), and a fixture expecting the OLD behaviour reads either as success. | Verified: build OK, 28326 kernel + 17 user-mode, 1319/1319 tooling, test_build 514 -> 535 with 21 section fixtures and 2 mutation controls, lint rc 0 / 0 errors, todo-graph 9/9, CI-parity PASS. TODO-06 remains NEEDS_WORK on §31-§35. - 2026-08-11 | 00-infrastructure/TODO-06-todo-metadata-layer §41 | shipped + reviewed (the two mutating repair tools adopt the shared fence tracker) | 1 deferred:
.claude/hooks/todo_wrap_reminder.pynaive fence toggle, control plane, parked in §38 with reciprocal owner in overnight-runner-improvements-v14 - 2026-08-11 | 00-infrastructure/TODO-06-todo-metadata-layer §39 (the shared fence tracker becomes container-aware) | shipped
675b97412+ amortised-fill fix94c19a580| 15 Codex dispatches over 12 adversarial rounds, 30 findings fixed, 3 accepted to §42 (which gained 3 owner items) | acceptance moved from the corpus to a stateful CommonMark differential (~5.5M generated documents); one non-nil differential recovered 3 real[x]items the old comment latch was hiding - 2026-08-13 | 00-infrastructure/TODO-06-todo-metadata-layer FILE_CLOSE | CLOSED 48/48 sections (§42 deferred with stamps + XREF)
480e7cff6| the sweep found a live regression, not paperwork:todo-orphan-check.py:150loaded the fence module once per line of every TODO file (from this TODO's own §43 review fixes5fd27011f), so orphan-check ran 133.7s andlint.sh147.63s against 22s in the last green CI -- which is whyBuild Impossible OShad 16 of 30 runs cancelled at its 25-min cap with no green build since 2026-08-12T05:35Z. Fixed to 0.94s / 14.10s with identical findings, structural regression test (400 lines = 1 module load; control fires at 410). Also: 26 resolved Accepted/Deferred stamps annotated (enumerated over all 50, not sampled), 2 Verification[/]closed with fresh evidence, validator seven->ten checks refreshed in 3 sites, §44's inaccurate "owners named" stamp corrected, doc-sync repaired in development-tooling.md + todo-graph.yml. Filed to v14: ci-check.py readscancelledas not-red; nothing in the pipeline measures a gate's own cost. The"todo-graph: complete"item stays OPEN -- its gate is a week of green CI. - 2026-08-13 | 01-boot-platform/TODO-01-boot-protocol-abi-handoff FILE_CLOSE | CLOSED 22/22 sections (§1 accepted -> TODO-20 §1, §22 operator-gated)
8c9c39276| the sweep's real find was that a [H] deferral had ALREADY been satisfied and nobody noticed: §3's "header -> manifest coverage gate" (the omission half of the ABI trust root -- anF()row missing fromdump-fields.incsilently shrinks coverage, and neither the row-for-row diff nor the canonical-sha invariant can see a row that never existed) shipped ascheck_manifest_completeness()ina197fa2ad, landed inside the EXISTINGboot-info-doc-coveragetarget rather than the separately-proposedboot-info-field-coverage, which is why a name-based search would have missed it. I nearly parked it instead: the item's own text names aMakefiletarget andtools/boot-info-manifest/*, both receipt surface, so "operator-gated" was the plausible verdict and I had already written it -- what overturned it was reading the live build gate's output (manifest completeness OK (299 struct fields across 17 structs all enumerated by F())) rather than the item's description, then confirming all 12 structs it named are inSTRUCT_TO_PREFIXplus three more. The second §3 item (parallelize fixture compiles) IS genuinely operator-gated and not yet due (8 fixtures / ~32s against a >12-or->60s trigger), so it became- [/]with the receipt-surface blocker named in the text. §6'sVFS_O_TRUNC[/]closed too: owner 05-storage-filesystems/TODO-04 §15 shippedba47d939band the workaround is gone atsrc/kernel/mm/boot_reserved.c:454. Both Accepted/Deferred stamps annotated RESOLVED rather than deleted. Stale counts refreshed from live runs (manifest 236 -> 345 fields, size 23752 -> 28664, version 9 -> 23; doc coverage 241 -> 345; SUITE=boot 625 -> 3267 + 17). Check 7 refused the commit with POPULATION GREW and was re-recorded deliberately (total 1629 -> 1630,resolveduntouched at its 474 floor), with the numbers derived from the checker's own_walkrather than the diff -- that showed the ONLY owner that moved is TODO-01 (42 -> 43) and the only bucket unpaired-ref (859 -> 860), from the filelesscheck_manifest_completenessref on the item I had just marked[x]. The staged-check then caught two Verification lines I had pushed over the 250-char cap while refreshing them; reshaped to short lead + sub-bullets, which is the repair the cap exists to force. 6 Verification items stay[ ]as genuinely manual -- VirtualBox, bare metal, and four blocked on unshipped producers in TODO-08/11/22/25/26 -- and the anti-rollback NVRAM item stays manual on evidence, not assumption:virt-fw-varsandefivarare both absent on this host. Verified: build OK, 28326 kernel + 17 user-mode, SUITE=boot 3267 + 17, lint rc 0, todo-graph 10/10, todo-reachability clean{}for this file. - 2026-08-13 | 01-boot-platform/TODO-02-uefi-hardening-secureboot FILE_CLOSE | CLOSED 20/20 sections (6 IO rows stay
[/]as deliberate parks)0e2a89601+9391be675| sweep-only mode, since the Implementation Order carries parks and the skill's full-close-out precondition wants every row[x]. The find worth having: atodo-graph query.py deferredsweep showed §15's periodic-worker wiring had ALREADY shipped --02-kernel-core/TODO-07 §18Consumer wiring 1 landed it asb93b6a77-- and I had just parked it[/]one edit earlier. Verified at source before flipping to[x](uefi_secureboot_register_monitor()atsrc/kernel/uefi_runtime.c:1957arms a 5-min kworker tick;src/kernel/main/boot_desktop.c:137-138calls it only afterkworker_init()returns 0), Deferred stamp annotated RESOLVED rather than deleted, and the stale "blocked on the kworker pool" Notes prose rewritten. The other 6 open-in-deferred items became[/]with the blocker in the item TEXT: S3-resume refresh (owner TODO-26 §3, still[ ]-- checked, not assumed), tampered-state test (UEFI-variable mock layer), the gated commit item, the UKI signed-payload smoke harness, and §18's two -- bare-metal SB acceptance markedoperator-gated, signed-artifact predicate blocked on receipt surface. Doc-sync was the largest surface: the shim has been unpinned sinceaab6b6f64(MS UEFI CA 2011 expiry) so a stock build direct-boots, yet 5 docs still sold the shim chain as shipped --README.md's feature table claimed it two rows below "no GRUB, no shims";keys/README.mddescribedMOK.ceras shim-embedded by default AND showed the in-placesbsignthat non-destructive signing replaced;development-tooling.mdlisted shim in ESP contents and omittedtest-secureboot-smoke.shfrom Key Files;machine-matrix.mddescribed a MokManager flow a stock build cannot run; INDEX.md was stale by 12 sections. Counts refreshed from measurement:test_uefi_boot.c32 -> 42 suites, SUITE=boot 3267 + 17 PASS. One auditor finding REJECTED after checking both sides: §12's ShimCA item was reported as a circular blocker (12 -> 20 -> 12), but §20'sAccepted:stamp routes ownership TO §12 and §12's back-XREF is provenance -- correctly shaped as-is. Two gates bit and both were resolved without weakening them:todo-staged-checkrefused parking into a section the same commit> **Verified:**-stamps, so the sweep was SPLIT into shape-repair and stamp-refresh commits rather than opted out of; Check 7 refused POPULATION GREW andtotal+by_ownerwere re-recorded together from the checker's own_walk(1630 -> 1631, sole mover TODO-02 66 -> 67,resolvedunmoved at 474). Then the push was refused by a tooling FAIL --four_dispatch_gateD,elapsed=4089ms warn=-- which did NOT reproduce: full pack re-run out-of-band 1356/1356, exit 0. Diagnosed at source rather than retried blind (the test measures whole-hook wall-clock but asserts lock contention; under load the hook's pre-lock subprocesses outrun the 4s holder, so it acquires uncontended and the emptywarn=is the tell) and filed to v14 unfixed, since the only edits available are widening the bound. Verified: build OK, SUITE=boot 3267 + 17, tooling 1356/1356, lint rc 0, todo-graph 10/10, todo-reachability{}for this file (was 7 open-in-deferred). - 2026-08-13 | 01-boot-platform/TODO-09-cpu-boot-sequencing FILE_CLOSE | CLOSED 11/11 sections (IO row 6 stays
[/]: two accepted-XREF residuals to §10)28f83091f. Unit Tests shipped assrc/kernel/test/test_cpu_seq.c-- 7 suites / 12 assertions /TEST_CAT_X86;SUITE=x86209 -> 221 KVM and 198 underFORCE_TCG=1; full suite 28339 -> 28351 kernel + 17 user-mode PASS; lint 0 errors; smoke matrix 4/4. Mutation-verified on the PRODUCTION source (cpu_security.c:2003+pc->cpu_id-> exactly one failure attest_cpu_seq.c:217, reverted clean). A re-adversarial pass CUT 4 assertions that had shipped green in the first draft and could not fail on a real boot (feature_mismatch == 0contradicts §6's tolerate-and-narrow policy;core_type-is-defined is satisfied by a zero slot sinceCORE_TYPE_GENERIC == 0x00;arch_caps != 0anducode_rev != 0read a payload as a capture signal); the 2 real gaps behind them are parked- [/]in §6 and §9. 10 Unit Tests items reconciled to real symbols, 1 half-bullet rejected as false (hv_vendornon-empty implieshv_flags != 0-- falsified by the VirtualBox and TCG branches ofcpuid_platform.c). Verification 9/11 automated PASS from the matrix + a KVM 2-CPU boot, with 4 marker strings reconciled to the lines the kernel actually emits; boot-clean bullet left[/]for WHPX/VBox/bare metal. Sweep: preamble current-state refreshed (stale pre-fix PAT value + 5 line refs drifted ~290-350 lines), 3 false rollup claims corrected, 4- [ ]items inside Deferred sections reshaped to- [/]with named blockers -- file reachability 4 -> 0.stub-lint-baseline.jsontotal 1631 -> 1636 / resolved floor 474 -> 475, re-derived from the checker three times as later edits moved it. - 2026-08-14 | 00-infrastructure/TODO-03-kernel-test-harness §11 | SHIPPED poisoned-boundary overread fixture (
poison_tail.h/.c) + §10 short-tag retrofit + kernel-SEH fault-address fix; 13 new suites, 29442 tests 0 failed, smoke 4/4, Codex 25x | filed TODO-23 §19 (flavor gate), §20 (SEH stack bounds + fault-address provenance), TODO-04 §16 item (vacuous klog/ETW tests), TODO-01 reciprocal (kernel-VA carve) | 0 deferrals - 2026-08-14 | 00-infrastructure/TODO-03-kernel-test-harness FILE_CLOSE | CLOSED 11/11 sections (IO row 9 stays
[/]: VirtualBox + bare metal, now marked operator-gated)c353815b8+d9850ffe7| sweep-only mode, since row 9's park means the full-close-out precondition (every row[x]) does not hold. The find worth having was the close stamp itself: it read "all 8 sections ... 0 manual items pending" and dated 2026-04-19, but §9 shipped 2026-04-22 and §10 + §11 on 2026-08-14, and §9's platform item was never closed -- so the file asserted zero pending manual work while carrying one, and any reader trusting the stamp would have taken the file as fully closed three sections ago. Rewritten with an explicit supersedes note rather than deleted. Suite counts were refreshed from the test files rather than from the stamps, which is what exposed the drift: §6 Notes 7 -> 13 (the review pass that added parallel task-filter + max-cap tests to each non-kmalloc subsystem is what moved it), §7 Test runner 9 -> 11 (its own Verified stamp already said 11), Unit Tests §3 7 -> 5 with the forced-fail suite struck from the list because review struck it from the code, §6 7 -> 13, §7 9 -> 11, preamble 436+ -> 2,874 suites across 114 files. §9's stamps claimed 7/8 items against 9 actual bullets -> 8/9. Unit Tests had no entry at all for §9 or §10 despite both shipping coverage; addedOB: namespace locking stressplus the two cleanup helpers and §10's 8 suites. Verification was re-run rather than carried: SUITE=boot 4337, SUITE=mm 1510, SUITE=sched 522, full 29442 kernel + 17 user-mode, 0 failed, 0 leaked -- and the block had also attributed §6's task-filter suites tomake test-schedwhen they are TEST_CAT_MM intest_heap.c:331. The VBox park is evidence-based, not assumed:scripts/machines/run-vbox.shneeds a LinuxVBoxManageand this host has none.todo-staged-checkrefused the first commit for parking into a section the same commit stamped, so the sweep was SPLIT into shape-repair and stamp-refresh commits rather than opted out of. Doc-sync found four confirmed defects in.claude/skills/implement-unit-tests/SKILL.md-- a documented 64-suite cap againstTEST_MAX_SUITES4096 and 2,874 live suites (an author reading it would delete a suite rather than add one), a summary format missing theL leakedcolumn and its CI gate, zero documentation of any of the seven harness primitives this TODO shipped, and notest_harness.crow in a table that instructs itself to stay current -- all control plane, so all filed to overnight-runner-improvements-v14 unfixed. Two honest remainders left in place: §8's item text says 4 harness suites where its own stamps and the code say 6 (repairing it needs a reshape of a 741-char line, beyond a sweep's remit), and §10's Test runner line reads 29368 against its own Verified stamp's 29373 for the same commit, which cannot be adjudicated without rebuilding at that commit. Verified: lint 0 errors, todo-graph 10/10, todo-reachability{}for this file. - 2026-08-14 | 01-boot-platform/TODO-10 §23 Cross-Boot Evidence Lifecycle and Epoch | shipped + reviewed (commits 3a1723c3d, 28e03cb81) | page format v3 with a 64-bit publication word, ownership arbitrated at terminal declaration; 6H+6M+5L review findings fixed, 1 accepted -> new §28 (evidence durability across a hardware reset, continuation waiver); 2 residuals parked operator-gated | 29534 kernel + 17 user tests, smoke 4/4, lint 0
- 2026-08-14 | 01-boot-platform/TODO-10 §24 Panic Collector Publication Latency | shipped + reviewed (commits cf359460e, f68999d96) | retired the bitwise panic_crc32 and klog crash_crc32 for the shared table-driven kcrc32, threaded the panic context down from entry instead of re-deriving it (two sites), replaced the ~2,900 per-byte guarded walks with one protected asm loop (__kstr_read_guarded) routed in page_fault_handler, and split panic_evidence_populate out so record population is testable at all | Codex 6x, 2H+5M+4L fixed, 1M accepted-XREF to §26, 4L rejected | 29612 kernel + 17 user tests, boot matrix 4/4 | 0 deferrals
- 2026-08-15 | 01-boot-platform/TODO-10 §28 Cross-Boot Evidence Durability | shipped 1ea16cf86 + reviewed d3849ebdd | new cache-writeback module (CLFLUSH+MFENCE, WBINVD fallback, per-call CPUID on the executing CPU); publication word stored last so ordering survives the fallback | 5 residues owned elsewhere (BM Test 5, TODO-04 §8, TODO-14 §5, TODO-06 §1, TODO-10 §23) | WHPX leg unavailable (no Windows interop)
- 2026-08-15 | 01-boot-platform/TODO-10 §29 Abandoned-Reservation Reclamation on a Parking CPU | shipped 1504a8969 + reviewed 6209e19a1 | SERIAL_CLAIM_TIMEDOUT (bit 16) separates a wedged-UART reservation SPENT on a timed-out wait from one merely TAKEN, so a CPU parking forever hands back what it never spent instead of leaking up to the whole 8-wait budget through a nested dump's baseline; mark is the timeout's linearization point and lands before the byte, carried by a new ORDERED audit in tools/atomic-claim-check because no fixture can observe instruction order | Codex 8x + kernel-quality-auditor + concurrency-evidence-mapper, 0H+10M+7L fixed, 2 rejected with recorded reasoning (interrupted-wait policy, contention-vs-saturation) | 2 filed as new §30 (nested-abort disposition, no-UART contract), both pre-existing | 29836 kernel + 17 user tests, smoke 4/4, KERNEL_TESTS=off clean, lint 0
- 2026-08-15 | 01-boot-platform/TODO-10 FILE_CLOSE (all 30 sections shipped/deferred) | closed 76a0e3749 | new test_bare_metal.c (12 suites / 64 assertions, TEST_CAT_BOOT; corpus 2943->2955) plus two read-only accessors the spec needed to be testable at all: gdt_get_ist/tss_get_ist (kernel_tss is file-local) and the acpi_fadt_* pure evaluators + acpi_get_fadt (fadt_ptr is set only inside acpi_init and no platform publishes a hw-reduced FADT, so that branch was unreachable); 5 public ACPI accessors became one-line wrappers, behavior unchanged | 6 spec items reconciled with reasons (LAPIC compare would have added a WB MMIO read; degraded_mask==0 would fail on legitimate degradation; cpu_verify_hardening halts on NX failure so smoke covers it; 2 already in test_vmm.c) | 4 Codex test-coverage findings all fixed; every fixture proven able to fail, including an ist4/ist5 swap in PRODUCTION gdt.c and a bogus smoke signal, all reverted | 3 smoke signals added as FAILING assertions (IAPC_BOOT_ARCH:, IST stacks:, Verify: NX enabled) | sweep: header "Still open" named 2 items under wrong section numbers, stack-overflow BSOD item re-pointed from the closed BM Test 1 to the open BM Test 5, 2 stamps annotated RESOLVED, 6 open-in-Deferred items reshaped to [/] with blockers | Verification 3/6 automated PASS, 3 operator-gated (WHPX/VBox/bare metal) | 30009 kernel + 17 user tests, smoke matrix 4/4, lint 0, tooling 1358/1358 | 2 runner findings filed to v14 (skill test-file table drift; Check 7 wedges on a dirty unstaged capture file)
- 2026-08-17 | 01-boot-platform/TODO-01 §25 Bounded Anti-Rollback Retry | shipped 8d258af03 + reviewed 48cfb4783 | boot_rollback_raise_if_steady() rolled back its own flags on a failed SetVariable "so a future request can retry", but the compositor steady gate fires exactly once per boot, so no future request existed and one transient firmware error left IPOSRequiredSecVersion unraised for the boot; replaced with a bounded retry ladder on kworker delayed work, one registration armed for the chain's whole life at the base cadence with the ladder enforced by uptime_ns() against s_next_attempt_ns (the per-backoff unregister-then-register re-arm transiently needed a SECOND kworker slot and aborted under slot pressure), plus an arming epoch closing the register-then-publish window | 21 Codex dispatches (design, adversarial x3, test-coverage, consistency x9, perf x3, re-adversarial x4) + kernel-quality-auditor + concurrency-evidence-mapper + parity-research-analyst; adversarial, perf and consistency each closed on explicit approve | 2 accepted with owners (give-up durability -> TODO-14 §12; task_create admission race -> 03-memory-concurrency/TODO-06 §13, after deleting a duplicate filing and retargeting to the canonical owner) | 30052 kernel + 17 user tests, smoke matrix 4/4, lint 0, todo-graph 10/10 | WHPX leg not run (powershell.exe absent in this headless environment)
- 2026-08-18 | 00-infrastructure/TODO-06-todo-metadata-layer §49 Decide Whether
alias-stalenessIs Producer-Assertable | shippedcb029b1c3+ reviewed149ec85ec+ fixes5cc9b5a6a/767df8c6a| the promotion verdict came back SPLIT rather than a single yes/no: parameter-contract DRIFT is mechanically decidable for a recognised wrapper and is now asserted, while REACHABILITY is advisory-only with a stated false-DEAD residual, because a Python-only closure calls the fourscripts/lint.shshell-side exports dead and no scanner can prove no unrecognised construct exists | newscripts/lint/check_alias_staleness.py+lint.shCheck 28, advisory rather than blocking, seeded with its own dependency closure so it no longer abortslint.shin a non-git sandbox | Codex 14x (7 implementation-time adversarial, post-commit adversarial/consistency/perf, 2 re-dispatch, 2 confirming), 4H+12M+4L fixed, 0 open | tooling 1360/1360 single-instance,test_alias_staleness50/50,test_todo_fence705/705 standalone, lint 0 | file was already CLOSED 2026-08-13, so §49 shipped into a closed file and TODO-06 returns to DONE - 2026-08-18 | 01-boot-platform/TODO-13 §27 | split §27 into record authorization (§27) + crash-consistent pairing (§28); shipped §27
ace8b6533+ review9d954bd04; filed residue as §29 | 9 Codex rounds, 21 findings fixed, 3 accepted with owners, 1 rejected with evidence | 31317 kernel + 17 user tests, smoke 4/4 - 2026-08-18 | 01-boot-platform/TODO-13 §28 Crash-Consistent Record Pairing | DEFERRED, no ship | design review done (5 findings, all Fix: unverified counter index on the read path, UNCOMMITTED has no retained committed value, RDTSC not boot-wide monotonic, status-contract break, budget under-charging) and the implementation built clean; the mandatory tests then pushed
.rodataover a 4 KiB page and landed__kernel_endexactly on0x800000, tripping the BSS guard. Reverted to a green tree, diff preserved at.claude/state/deferred-todo13-s28.patch, deferred[/]-> XREF02-kernel-core/TODO-33 §7. Measured 347 bytes of BSS headroom at HEAD against the ~1272 KiB TODO-33 §10 recorded on 2026-07-17; filed the exhaustion and two runner findings (no early ceiling sensor, no sanctioned preservation path for a blocked section's diff). - 2026-08-18 | 02-kernel-core/TODO-33 §12 Second Tactical BSS Pass | shipped
ef09a0579+ reviewed24809ea09| the 0x800000 ceiling was live again at 347 bytes of headroom, having already cost TODO-13 §28 (implemented, design-reviewed, reverted because its unit tests moved.rodataacross a page), so every remaining kernel section sat one page from the same revert; assessed the three candidates §10 left unassessed against §10's bar and ruled out two with recorded reasons (tasksis written from the PIT IRQ and #NM paths withstiin phase 1 againsttask_initin phase 3;ctrl_windowshas noctrl_initcaller anywhere, which static BSS is what makes survivable), convertings_recovered(klog.c, 164000 bytes) instead | BSS end 0x7d7000, ~164 KiB reclaimed | review found the first-fit collision was DETERMINISTIC not a corner case:pmm_alloc_contiguousscans from frame 0 with no cursor, so the recovered-entry pool came back as exactly the previous boot's 32-frame crash region on the ordinary crash-then-reboot path and would have silently retired crash_recovery.log every time; fixed byklog_recovered_pool_acquireholding the colliding run across a second request, plus a priority-inversion fix releasing the pool if this boot's own crash region cannot be allocated | Codex design + test-coverage + adversarial x2 + re-adversarial x5 + post-commit consistency/perf approve | 31341 kernel + 17 user tests, smoke matrix 4/4, lint 0 | filed the blanket-replace near-miss to v16 (ab61cb468) - 2026-08-20 04:45 SAST: 00-infrastructure/TODO-06 §50 shipped + reviewed (61f3c1970, review edb21fd82) -- identity-gate.sh now classifies an unreadable snapshot protocol into 16 stable rc 3 tokens plus 2 reserved guards, base fully adjudicated before the head is probed; 40 new fixtures. 28 Codex rounds; 4 findings accepted with owners into new §51/§52/§53/§54.
- 2026-08-27 | 00-infrastructure/TODO-06 §55 | shipped
c5488040f+ revieweda51fcc88c| the identity gate's byte-identical fast path stops materializing two full worktrees: 129 git invocations to 39, 2 checkouts to 0, 5,156 file creations to 56, fixture group 569 s to 483 s. ~30 adversarial rounds; 3 accepted residues XREFed to §56/§58. Pushed with SKIP_TOOLING_SUITE after test_build failed 794/795 in the pack twice and passed 795/795 standalone five times (filed in v17). - 2026-08-27 | 00-infrastructure/TODO-06 §56 | split §56 -> §59 before implementing (8 items at the raised split bar); shipped
36999f871+ reviewed11767fa93; six Codex legs found ten fixes including a regression the ship commit introduced incleanup's signal predicate (caught independently by two legs); §60 filed with a continuation waiver for the remaining 51 name-resolved TMP_DIR uses; test_build 815/815, tooling 1367/1367, 32497 kernel + 17 user-mode tests. - 2026-08-28 | 00-infrastructure/TODO-06 | FILE CLOSED
b72860335| all 60 sections DONE (§42 and §57 deferred with stamps + XREF), so the file left the queue after five months. Second close-out (the first was 2026-08-13 at 48 sections): refreshed test_build 627->844 and fence 707->705 from real runs, re-executed eight Verification items rather than re-dating them (two had drifted into false claims --todo-graph-readyno longer returns empty output,backlinksnow returns three referrers), annotated §11's "no gate runs it" Deferred stamp RESOLVED by §16 and closed §12's parked wiring item on the same evidence, and tickedtodo-graph: completeon 60/60 sections plus 11 consecutive days of greenbuild.yml. Doc sync: four verified drifts fixed, including a dedicated identity-gate section in development-tooling.md that CLAUDE.md had been pointing at for months without it existing. - 2026-08-28 | 01-boot-platform/TODO-01 | FILE CLOSED
2b077461d| all 27 sections DONE (§22, §23, §26 deferred with stamps; §1 keeps an open USB-scratchpad-clamp XREF to TODO-20 §1), so the file left the queue. Second close-out (the first was 2026-08-15 at 21 sections): refreshed the suite from 30009 -> 32542 and SUITE=boot 4904 -> 5028, re-ran both fixture harnesses rather than re-dating them (stale-ABIexecuted=3 failed=0, rollbackexecuted=4 failed=0), and re-cited the TCG leg against a same-day CI run instead of a two-week-old one. Three verified drifts fixed: §20's unfilled<hash>placeholder, §22 citingbootx64.c:7036(boot-entry selection logging) for the pre-jump 4-tuple check that actually lives at 7177-7204, and §26's 2026-08-19 grep evidence that §27 invalidated (8 hits, not 1) while leaving the section's premise intact. The Verification anti-rollback item claimed the harness it wanted was "unowned work today"; §24 had shipped exactly that, so it moved[ ]->[/]with the four PASS fixtures cited and an honest note that they cover the RAISE half only -- fixture D assertsANTI-ROLLBACK REFUSALis ABSENT, so nothing exercises the downgrade halt firing, filed as a parked[/]fifth fixture in §24. Doc sync:boot-protocol.mdandboot-info-fields.mdboth claimedBOOT_INFO_VERSION = 21against a live 23 that the changelog already recorded, anddevelopment-tooling.mdlisted six of the twelve gatesbuild.ymlruns. - 2026-08-28 | 01-boot-platform/TODO-10-bare-metal-hardening.md §31 SHIPPED
e194e0f8f+ stamped512348a52| BSP ring-0 entry stack moved from an unguarded 16 KiB BSS array to a PMM-backed guarded run (frees 16 KiB of image; firmware-floor headroom 4 KiB -> 16 KiB) | premise corrected on review evidence: Phase 0/1 never run on this stack, so §32 was opened for the real execution stack and leads with the finding thatpmm_initfreesEfiLoaderDatawhile Phase 0 executes on it | #DF now attributes stack overflows through CR2 corroborated against the run | class audit filed 2 unguarded user-task ring-0 stacks + the kernel-wide stack-clash gap into02-kernel-core/TODO-10 §13| Codex 8x, 3H+10M fixed, final approve | 32,562 kernel + 17 user tests, smoke matrix 4/4 - 2026-08-29 | 01-boot-platform/TODO-10-bare-metal-hardening.md | FILE RE-CLOSED
175ccb7ec| all 32 sections DONE (§2, §7, §8, §18, §25 deferred with stamps), so the file left the queue after §32 shipped. Sweep-only re-close (the full close-out was 2026-08-15, before §31/§32): refreshed the suite 30009 -> 32677 and SUITE=boot 4904 -> 5167 from real runs rather than re-dating them, and annotated 11 Accepted/Deferred stamps whose named target has since closed. Three annotation candidates were REJECTED after checking the target: two point at items still[/](cross-CPU panic freeze, GS-validated identity cache), and the TODO-140x80000stamp names firmware clobber across a reset, which the target's allocator-reservation item does not resolve. Completion-first: §31 and §32 both defer their bare-metal acceptance to BM Test 5, which carried no item for either -- filed one distinguishing the two guarded stacks from the §2 task-stack/IST1 path. Doc sync: CLAUDE.md called the guard table "32-entry" against a liveVMM_MAX_GUARD_PAGESof 640 and omitted both new guarded stacks from its install-site list;kernel-address-space.mdpinned__kernel_endat0x7ff000against a measured0x7f9000(28 KiB free), now sourced to the build output instead of a literal. - 2026-08-29 | ADVANCE drain | 01-boot-platform/TODO-24-blackbox-service-partition.md | 14
open-in-deferreditems repaired in a file the oracle classes DONE, so nothing would ever have revisited them. Six got a REAL cross-TODO owner in the LEAD line (the only placestranded_deferrals.py:181looks, so a sub-bullet XREF would have been invisible): four FAT32 dirty-bit/fsck defects to05-storage-filesystems/TODO-04 §6, two klog fallback items to02-kernel-core/TODO-04 §15, each with a reciprocal item filed on the owner side. The other eight are parked with honest blockers and NO invented owner: the fourboot_storage.cretention items are TODO-24-owned with no external prerequisite, the MarkGood-gating half of the durable-write retrofit isoperator-gated(irreversible boot-state policy), and the two WER items are deliberately ownerless because02-kernel-core/TODO-23owns the code but none of its three open sections covers WER persistence. No bulk flip. - 2026-08-30 | 01-boot-platform/TODO-12-early-entropy-random-seed.md | FILE CLOSED
a069b9d97| sweep-only close-out (§9 stays[/]on02-kernel-core/TODO-14 §8hive-load wiring, so full close-out mode does not apply); the oracle already classed the file DONE after §11 shipped. Four XREF item references repaired: three carried drifted line numbers into TODO-04 (445/446/447 -> 451/452/453, named items all still open) and the fourth was genuinely dangling -- TODO-24's drain commit3ff5fe23chad RENAMED "Durable-write retrofit for boot-state X:\ writers" and nothing reported the break. The SUITE=security Verification row said 367 + 16 (2026-06-13) against §11's own 3611 + 17 for the identical command; re-measured on this tree rather than copying either forward (3622 + 17 PASS), and the 11-test gap from §11's stamp is explained by the review commitd8f2ee148adding 15 asserts after that measurement. The landing summary narrated §1-§10 and stopped, and the Unit Tests inventory had no entry for §11's two suites; both fixed. REJECTED the auditor's owner finding on the two bare-metal Verification rows: they carry "Blocked: manual -- run on rig", which is the close-out skill's own prescribed shape, and reachability reports the file clean. Doc sync owed by §11 and unpaid at ship:boot-protocol.mdclaimedboot_reserved_populate_from_info()covers "payload descriptors with FLAG_RESERVED" without qualification, which the §11 seed-length skip made false;bare-metal-gotchas.mdgained a Boot Handoff Trust group (a producer-set FLAG_RESERVED is a REQUEST, not proof of pinning;canary_init()dereferences pre-IDT) with the matching CLAUDE.md short-form line. - 2026-08-30 | ADVANCE drain | 01-boot-platform/TODO-19-usb-boot-hardening.md | 17
open-in-deferreditems repaired in a file the oracle classes BLOCKED, which the normal pipeline never revisits. Ten now carry a resolvable cross-TODO owner in the LEAD line (verified by runningstranded_deferrals.py's own_SECTION_RE/_TODO_REF_RE/_resolve_targetover every new lead rather than assuming the shape parses): §8's two klog items to02-kernel-core/TODO-04 §15and §16's four SMP-serialization items to04-drivers-hardware/TODO-10 §8, each with a reciprocal filed on the owner side, plus §1's boot-LUN park and §11's three EHCI items whose owners were already named. One blocker was STALE rather than real -- §8's "needs a VFS truncate op" prerequisite has shipped (vfs_truncateatinclude/kernel/fs/vfs.h:196/src/kernel/fs/vfs.c:885, FAT32 wired), so the item was re-owned to the klog side with the correction recorded. Six are deliberately ownerless and say so: §5's EP0-abort design, §7's xHCI Supported Protocol port-identity walk and §15's two boot_phase3 splash-ordering items are TODO-19-owned with no external prerequisite, and §10's timeout knob is parked for the honest reason that no caller wants it. One item was simply SATISFIED: §1's commit row, landed asef94633b0. No bulk flip; each of the seventeen was judged on its own text. - 2026-08-30 | 01-boot-platform/TODO-01-boot-protocol-abi-handoff.md §28 SHIPPED
c2aa1fb65+ stamped5abfc9efb| per-type payload length contract before reserving: a shared min/max table (include/boot/boot_payload_limits.h) compiled and static-asserted by BOTH the loader and the kernel, an enum-exhaustive predicate, a 768 MiB aggregate ceiling, a singleton rule, andboot_reserved_payload_is_pinned()so a consumer can never dereference a range the pass declined. The numbers come from the PRODUCER, not from estimation, and four of eleven types declare no bound at all because nothing emits them -- the honest answer rather than a guess. EIGHT review rounds plus a three-leg post-ship wave, and the honest summary is that the contract was the easy half: rounds 2 through 7 were almost entirely defects the previous round's fix introduced, all in one interaction, because the new table-wide rules depend on the other descriptors and on walk order and warm-update is consumed BEFORE the pass runs. What settled it was a simplification rather than another patch (type 9 takes no table-wide rule and shares its admissibility with its consumer by CALLING it), and round 8 confirmed convergence. Findings fixed: 6H+11M+1L, including a singleton rule that would have broken RANDOM_SEED's documented multi-descriptor contract and silently degraded the CSPRNG, an admission query that matched slot number and so aliased unrelated handoffs, and three successive versions of a drift assertion that asserted nothing. Warm-update cardinality was NOT bolted on: it needs a rule both phases can apply, so it is section 29 with an IO row rather than a park inside the section being stamped, which would have stranded it. Guard controls: neutering each guard fails 1-3 assertions; an unhandled enum value fails the build; a one-byte table change fails BOTH the kernel and the loader build. A probe control ran first and earned it -- two earlier control attempts read "0 failing assertions" for every guard, which looked like four dead guards and was a broken grep. 32,764 kernel + 17 user tests, smoke matrix 4/4. - 2026-08-30 | 01-boot-platform/TODO-01-boot-protocol-abi-handoff.md §29 SHIPPED
8fc5b53d3+ stamped5cb2ecc25| one warm-update descriptor, chosen identically by both phases. Two phases read the type-9 table at different times and both acted on EVERY admissible descriptor;boot_warm_update_selection_get()now decides once and SEALS the answer, and both phases read that record rather than re-deriving one. The rule is refuse-all, not first-wins: two preserved-state regions is a malformed handoff the incoming kernel cannot arbitrate, and cold init is always safe. Cardinality is counted BEFORE admissibility, becauseboot_payload_validate()lets an OPTIONAL descriptor through with unknown flag bits by design. Five adversarial rounds went almost entirely into the TRANSACTION rather than the rule: an authorization must never be revoked after a phase acted on it (forcing AMBIGUOUS on a late mismatch would strand reattached state with its pages returned to PMM); the reservation must read the seal ABOVE the capability gate, because that bit is one of the conditions the seal already evaluated; SELECT_ONE is a decision andpinnedis the commit, set only after the whole table is admitted and only for an extent inside the frames PMM tracks. Round 4 also FALSIFIED the premise the section was filed on -- refusing to pin reclaims nothing, since a warm region is held by itsBOOT_MMAP_WARM_UPDATEmap type, not by the reservation table -- so the section text was corrected and the map-ownership policy filed as §30 rather than quietly left as a claim. Post-ship review: adversarial clean, consistency 1M, perf 1M, re-adversarial 1M, kernel-quality auditor 3M+4L, plus a concurrency inventory that caught the seal's SMP comment being true of production and false of the KERNEL_TESTS build. 6M+3L fixed. Two regression cases are DEFERRED on the image ceiling with a measured reason:.texthad 79 bytes of slack, so the fixes fit and their evidence did not; filed on02-kernel-core/TODO-33§7 beside the other ceiling-parked work rather than dropped. 32,845 kernel + 17 user tests, smoke matrix 4/4, WHPX headless green. - 2026-08-30 | 01-boot-platform/TODO-01-boot-protocol-abi-handoff.md §30 DEFERRED
5bac4855c+ swept091eed994| handoff memory claims must match what PMM tracks. Six questions; two were POLICY and shipped at zero image cost, one was already satisfied by §29's audit, and three are CODE now parked on the kernel-BSS/USER_BASEguard. Decided NO on letting a warm extent raise PMM's trackable ceiling, for two reasons that are both checkable:BOOT_MMAP_WARM_UPDATEis numerically 15 and so isEfiUnacceptedMemoryType(UEFI 2.9 sect. 7.2.1, confirmed against the spec, andbootx64.c:9432passesdesc->Typethrough verbatim), so a scan keyed on 15 would stretch the bitmap over memory a confidential-computing platform must ACCEPT before use; and it is unnecessary, because everypmm_alloc_*path is bounded bytotal_framesso a frame above the ceiling can never be handed out either. Decided HOLD, not reclaim, for a refused warm extent: reclaiming would trust that same ambiguous type and hand unaccepted pages tokmalloc, which is a fault on real hardware rather than merely lost RAM. Both decisions are recorded at their decision points inpmm.candboot_reserved.c, and the producer-side tag that would make either reversible is filed on03-memory-concurrency/TODO-11 §1with a reciprocal XREF. The design review earned its dispatch by falsifying the section's own starting design: generalizing §29'slast_frame < pmm_get_total_frames()test proves bitmap REPRESENTABILITY, not existence, becausepmm_initsizes the bitmap from the highest RAM endpoint and every MMIO window, unusable region and firmware hole BELOW it passes -- so the predicate asks the memory map for full interval coverage instead. That implementation was written, built and MEASURED before being reverted with the tree green:+8746bytes of.text/.rodataintest_boot_reserved.cand+2017inboot_reserved.cagainst the 4096 bytes HEAD has belowUSER_BASE. Shipping the ~2.1 KiB production half without its refusal tests would have been false completeness, so the whole code half is parked on02-kernel-core/TODO-33 §7with the design recorded item by item. The gate opt-out used for the deferral commit was earned rather than asserted: the staged C/H diff was proved codegen-identical to HEAD by disassembly, after the first probe turned out to be hashing an empty stream and the first control turned out to be a compiler-foldable no-op. FILE_CLOSE ran sweep-only (a[/]section blocks full close-out): refreshed the ABI manifest to 348 fields / size 28680 / version 24,SUITE=bootto 5299 and the full suite to 32,845 kernel + 17 user, and re-ran BOTH QEMU fixture harnesses rather than carrying them, because §28/§29 bumpedBOOT_INFO_VERSION23 -> 24 and that is the exact drift the stale-ABI harness exists to catch (executed=3 failed=0,executed=4 failed=0). Filed two runner findings, including thatscripts/overnight/bss-headroom.pyalready answers this section's blocker in 0.1s and its own advice says to run it before implementing, yet nothing in the SECTIONS phase calls it. - 2026-08-30 | 01-boot-platform/TODO-13-tpm-measured-boot-attestation.md §32-§35 DEFERRED
f35e245a19848c2680+ shapes repairede15a1e995| the file is now fully parked on the kernel-image ceiling, and the measurement is what makes that a fact rather than a guess. §32 was SPLIT first: its manifest returned SPLIT-RECOMMENDED at 9 items, and the seam is fixture CAPABILITY rather than subject matter --tpm_fake_tis.cholds exactly one NV index, has no provisioned authority, no per-index failure rc and noTPM2_CC_CREATE_PRIMARY, so four items could not be written at all until it grows those. §32 kept the five writable on today's fixtures, new §35 owns the extension and the four gated on it, both at 5 items, and the six in-file references that named §32 for the moved work were repointed. Then §32's first three tests measured+5,216bytes of.textand trippedBSS COLLISION. §33 is the sharper datum: its production change ALONE is+96bytes (llvm-size4737085 -> 4737181) and that moved__kernel_endfrom 0x7ff000 to exactly 0x800000, because the image sections are page-aligned and chain -- so the tree admits essentially NO new kernel code, not the one pagebss-headroom.pyreports. §34 and §35 are therefore parked UNSTARTED on that measurement rather than each attempted and reverted, which is the honest call and saves two design reviews on sections that cannot link. Both design reviews earned their dispatch by falsifying a plan premise: §32's caught that the two wrapper refusals are mutation-DECORATIVE (deleting either early return falls through totpm_authz_write_record, which re-reads the same anchor attpm_authz.c:782-783and returns the SAME status with no write, so only a read-exactly-once transcript assertion pins them), and §33's caught thatTPM_BASELINE_BUSY's "nothing was submitted" contract goes FALSE the moment snapshot can return it, sincetpm_baseline_verify_detailcompletes its NV read at:1126before snapshotting at:1206. Both outcomes are recorded in the section bodies and both diffs preserved (.claude/state/deferred-todo13-s32.patch,-s33.patch), so each redo is apply-then-re-verify. FILE_CLOSE repaired all 32 of the file'sopen-in-deferreditems one at a time against their own stamps -- five markedoperator-gated, ten recorded honestly as parked WITH their section rather than technically blocked -- taking the file's reachability report to empty, and split two pre-existing 1,167 and 1,033-char leads into sub-bullets rather than wrapping them. Filed the SECOND occurrence of the missing pre-implement headroom probe against the v18 item that predicted it, with the sharpening that the probe must fire for anysrc/kernel/test/target and not only for sections adding static data. - 2026-09-03 | 01-boot-platform/TODO-14-boot-diagnostics.md | FILE CLOSED
d50b09aca+ counts605bb8559| sweep-only close-out (13 of 20 sections are[/], so full close-out mode does not apply); the oracle already classed the file DONE after section 20 shipped. All 24open-in-deferreditems reshaped one at a time: 17 now carry a cross-TODO owner and 7 areoperator-gated, and the split was CHECKED rather than assumed by runningstranded_deferrals.py's own_TODO_REF_RE/_SECTION_RE/_resolve_targetover every new lead (17 resolvable, 0 unresolved). Two XREF targets had closed with nothing reporting it: section 8's blocker02-kernel-core/TODO-25 §7shipped 2026-07-20 (4b541c54,task_acct_sample()publishes the per-process CPU time it named), and section 6'sTODO-03 §14shipped 2026-05-02 but was only ever a reuse SEED. Section 8 is NOT re-opened, because a second gate binds first:bss-headroom.pymeasured 47 bytes of.textslack today, so it is re-owned to02-kernel-core/TODO-33 §7with the resolution recorded rather than left stranded. Four stamps read as open work that is not: section 14's Deferred stamp still listed section 18's item, shipped in8cf0a2f33; both section 5 Accepted stamps pointed at section-5 items that do not exist (the work landed in section 1441753ca67and the IXFS park moved to section 12 with its true owner); section 11's Notes claimed three items were open when all seven are[x], and its stamp read 6/9 against the pre-split body. Doc sync owed by sections 18 and 20 and unpaid at ship: a new "Uninitialised.bssin the Loader" group inbare-metal-gotchas.mdplus the CLAUDE.md short-form bullet, carrying the two halves that make it actionable (reset first, because a constant cookie tells poison from ready and never this boot from the last; andvolatileor clang narrows the cookie to one byte and deletes the wide compare, measured on the real-O2objects). The count corrections were SPLIT into their own commit rather than opted out of:todo-staged-checkreads any modifiedVerified:line as "stamping this section now" and refused the parks alongside them, which is a true reading of the diff and a false reading of the intent. Filed two runner findings, including thatlint.shCheck 24 reports 192 reachability items where the truth is 1417 whenbuild/todo-cache.jsonis absent (controlled in both directions on one tree;build.sh cleandeletes it). Re-run at close-out:=== BUILD OK ===, 32,845 kernel + 17 user tests. - 2026-09-03 | ADVANCE drain | 01-boot-platform/TODO-15-visual-post-display.md | 19
open-in-deferreditems repairedefd7d59d1in a file the oracle classes DONE, which the normal pipeline never revisits. Twelve are kernel.textthat cannot link against the 47-byte ceiling and now carry a resolvable XREF to02-kernel-core/TODO-33 §7: the panic-path NVRAM write on the sleepable UEFI RT mutex, section 2's three POST16 coverage gaps, the unbounded raw header render helpers, the BGRX-assumed colour packing, and the failing-stage preservation. Seven areoperator-gatedand say why: sections 9, 10 and the section-13 panic display are all downstream of a Tier 2 splash DESIGN that has not been settled, which is a decision and not a prerequisite, so inventing a TODO owner for them would have produced a park that looks routable and is not. The scope was taken fromtodo-reachability.py's own per-section attribution, which mattered: the first attempt read a line listing by eye, reshaped 26 items, and caught seven that sit in the file-level Unit Tests and Verification blocks where manual bare-metal and on-screen checks must stay- [ ]. Reverted and redone against the tool. Seven stamp line pointers re-resolved from the current bodies. - 2026-09-03 | 01-boot-platform/TODO-23-boot-watchdog.md §7 DEFERRED
c9aadb97b+ FILE CLOSEDb32b5ef53| the last open section was written, measured, and reverted. §7's two live items are a direct Intel iTCO fallback for when no ACPI WDAT exists and memory-space GAS support for the WDAT driver; both were implemented against the PRIMARY Intel datasheets rather than a driver, because LinuxiTCO_wdtis GPL-2.0-only and incompatible with this GPL-3.0-only tree. The ICH9 316972-004 and ICH10 319973 PDFs were fetched and read directly after the spec researcher returned every load-bearing constant as UNSOURCED: TCOBASE is PMBASE+0x60, GCS NO_REBOOT is RCBA+0x3410 bit 5, TCO_LOCK is TCO1_CNT bit 12, TCO_TMR is a 10-bit field at ~0.6 s per tick, and the reset lands on the SECOND expiry -- all quoted, and the two generations verified register-identical. The Codex design review returned 7 findings and all 7 were fixed rather than accepted; the two that outlive the parking are a LIVE defect in the shipped I/O path (gas_usablereads neither GASaccess_sizenorbit_offsetwhilegas_read/gas_writesize the transaction frombit_width) and the demonstration that a negative not-usable-RAM test still admits ACPI reclaim, NVS, runtime and persistent memory, becausepmm.c:172counts only conventional/loader/boot-services. The blocker is size and only size:bss-headroom.pymeasured 47 bytes of.textslack atc6b8af000against ~11 KiB of new code, and the build failed on the BSS-collision guard at0x803000, three pages over. That was MEASURED against a HEAD baseline rather than assumed to be the change's fault. Preserved at.claude/state/deferred-todo23-s7.patchwith a reciprocal item on02-kernel-core/TODO-33 §7. Close-out then reshaped all 31open-in-deferreditems to empty and found an ownerless capability the deterministic tools could not: §5's Notes named three follow-ups, §7 had taken two, and the third (persist the WDAT boot-status throughboot_info) was pointed at byTODO-01:44 as this file's §6 -- which is the VPD countdown display and never covered it. Filed in §7, both pointers corrected. Stale stamps re-measured rather than estimated: boot suite 2794+16 -> 5299+17, smoke ~2.06s -> 2.740s, while "16 cases / 17 assertions" was checked and left alone because it is still exact. The pre-push tooling gate refused on the known load-sensitives30mutation flake at 843/844; the pack was re-run out of band on the identical bytes at 1372/1372 and the receipt route used, notSKIP_TOOLING_SUITE=1. - 2026-09-03 | 01-boot-platform/TODO-29-boot-perf-health-observability.md §21 DEFERRED
6c67e8e26+ shape repairc8a20c0b5+ FILE CLOSEDc7be5d98f| the last open section was parked BEFORE its first line of code, which is a departure from §19/§20/TODO-23 §7 and was argued from measurement rather than convenience:bss-headroom.pyreports 15 bytes of.textslack (precision: section-exact,tightest: .text) andllvm-nm --print-sizeputs the smallest comparable helper already shipped in the consumer file,boot_health_secureboot_name, at 30 bytes on its own -- twice the whole budget before an emit loop, a name table or the publish store. The Codex design review agreed independently ("Do not implement merely to reconfirm the already section-exact 15-byte limit") and the sensor's own advice says park before implementing when TIGHT. It also found a real defect in the PLAN, which is the part worth having paid for:storage_unsafeis NOT the degraded set. It is populated only for FATAL-fallback steps that ended SKIP, so theasync_rc == BOOT_DEGRADEDbranch atboot_storage.c:531leaves it zero and the sequential branch at:560discards every initializer's return value -- adegraded_storage_driversarray built from it would have read EMPTY for a driver that explicitly failed, inverting the section's whole purpose. That, the rejectedSUBSYS_AHCI/SUBSYS_NVMEwidening (SUBSYS_COUNT30 against a_Static_assertcap of 32, so four more forcesdegraded_masktouint64and aBOOT_INFO_VERSIONbump), the named-{bit, name}-entries decision, the publish point before the AHCI suppression branch rather than beforeblkdev_register_all(), and thedocs/boot/boot-health-schema.mdrow the redo owes are all recorded in the Deferred stamp, so the redo is implement-then-verify with no patch to lose. All 57open-in-deferreditems across the 12 parked sections were reshaped one at a time: 5 sections carry a real cross-TODO owner (8 -> TODO-23, 11 and 14 -> 05-storage-filesystems/TODO-04, 13 -> TODO-03 §20, 15 -> 02-kernel-core/TODO-22) and 7 areoperator-gatedand say why, and two- [ ] -> XREF:lines in §8 and §18 were ownership statements wearing a checkbox and are plain bullets now. Close-out found a mis-pointed owner no deterministic check could see because the target EXISTS: §13's stamp and its IO Depends-On named01-boot-platform/TODO-01§11 as the boot history owner, which is Capability Negotiation and Degraded-Feature Flags;BOOT_HIST_RING_LENis owned by01-boot-platform/TODO-03§20/§21, both shipped. Five drifted citations fixed and each verified first: a 3/6 stamp over a 5-item body, 470 SSDT main slots againstSSDT_MAIN_COUNT477, aboot_perf_budget.h:31citation for aDESKTOP_READYstring that is not in that header at all, twobuild/smoke-test.stripped.logline citations against a file that is regenerated per run and is currently empty (the exact staleness §20's own text warns about), andboot_trend.c:268for an early return that is at:255-262. The Unit Tests test-runner note claimed 5 pure-helper suites covering §1/§2/§3/§5/§8; the 5 suites intest_boot_health.call cover the §2 Secure Boot classifier, §5's coverage is 6 suites intest_mat_violation.c, and the §1/§3/§8 helpers it names do not exist, which is why those items are open. Doc sync owed and unpaid at §3's ship:boot-health-schema.mdstill calledboot-trend.jsonplanned, described it as aggregatingrecent_boot_times_unixandperf_breacheswhen its entries are{boot_seq, unix_time, phase_durations_ms}, and named itself the CI-gate owner when TODO-29:161 hands that to TODO-28 §9;black-box-artifacts.mdhad noboot-trend.jsonrow at all. One auditor finding REJECTED on evidence: 1935x1080 is not a transposition,resources/backgrounds/background.jpgmeasures 1935x1080. - 2026-09-03 | 02-kernel-core/TODO-02-kernel-configuration-policy.md §12 DEFERRED
4e951aea2+ FILE CLOSEDa7d95ecbb| the file's last open item was a privileged production write path for tunables, parked BEFORE any code on the same ceiling as the three sections before it:bss-headroom.pyreports 15 bytes of.textslack, section-exact, against a newNtSetSystemInformationset class plus its privilege gate and name marshalling. No design-review leg was spent, because the blocker is a measurement and not a design question; the design of record was written from verified evidence instead, so the redo starts from a design rather than a blank page: the set class rides the stub atnt_syscall.c:1556, marshals with the probe-then-copy discipline the read path already uses at:934, dispatches tokernel_tunable_set(name, value, TUNABLE_SET_PRIVILEGED)against tunables that already registerTUNABLE_PRIVILEGED(quota_config.c:151), and gates onSeSinglePrivilegeCheck(&SeSystemProfilePrivilege, ssdt_previous_mode())exactly as the performance-counter class does at:1265. Two alternative routes were checked and rejected in writing: the registry merge is itself parked on the operator-reserved §3 ordering decision, and atunable.<name>=boot argument cannot reach the parser as authored, becauseboot_args_parse_cmdlinehard-fails the WHOLE cmdline withBOOT_ARGS_ERR_OVERFLOWon any key overBOOT_ARG_NAME_CAP31 (config.c:357) while the longest tunable key is 37, and an unknown non-kernel.key is dropped unrecorded (config.c:367). The close-out then found the staleness that mattered: §8's Notes, Deferred stamp and three[/]items ALL said the write path waits on the SRM buildingSeSinglePrivilegeCheck, which shipped 2026-07-05 atprivileges.c:241-- but only HALF the stamp was stale, because the per-token lock it also named did NOT ship andsep_token_holds(privileges.c:171) still scanstok->Privileges[]unlocked, so the residue was repointed at its real ownerTODO-15 §4rather than annotated RESOLVED. §8's Accepted stamp claimingcopy_to_useris not fault-recoverable was genuinely resolved byTODO-23 §13commitc2d25f639(cpu_security.c:674delegates to__uaccess_copy_to), annotated with the note that the mechanism that shipped is a static RIP-keyed table and not the per-CPUsafe_return_ripslot the XREF named. The[!IMPORTANT] Current stateblock, the second thing a reader sees, still claimed there is no typed config API, no safe-mode object and no tunable registry and thatkusd_init()does not populate the KUSD policy fields, against eight shipped sections andkusd_time.c:179-189; refreshed to the real shipped/open split. Twocommit \pending`placeholders resolved tofb050e700and2d3b2fb07, two stamp line pointers re-resolved (TODO-16 84 -> 155, TODO-05 155 -> 157), and themake test-bootclaim of3209 kernel + 16 userfrom 2026-06-20 re-measured to32845 + 17on KVM and32819 + 17underFORCE_TCG=1, both exit 0, which also closed the TCG and KVM legs of the platform item and left WHPX, VirtualBox and bare metal operator-gated. All 13open-in-deferreditems in §3 and §4 were reshaped one at a time with a named blocker owner each, and markedoperator-gatedwhere the §3/§4 reorder decision binds, sotodo-reachability.pynow returns{}` for the file. - 2026-09-03 | 02-kernel-core/TODO-04-system-logging.md §14 SHIPPED-PARTIAL
56e11533e+ §16 item SHIPPED24396db0f+ §15/§16/§17 DEFERREDc99a24340+ FILE CLOSEDeda8ad8a9| the first section in four to ship real code against the ceiling rather than park whole, because the fix was chosen for its image cost. §14's latent overflow was achar tmp[8]holding the decimal digits of auint32_tsec, so any value past 100,000,000 (~3.17 years uptime) walked off a stack buffer; the shipped bound sizes the buffer fromKLOG_DEC_DIGITS_MAX(sizeof(uint32_t))inklog.hand pins it with_Static_assert(sizeof(tmp) >= KLOG_DEC_DIGITS_MAX(sizeof(sec))), which costs the image ZERO bytes --__kernel_endand the.textbudget were byte-identical before and after -- and the assert was verified in BOTH directions rather than assumed, narrowing the buffer by one failing the build with that exact message.test_usermode.c'sKLOG_WIRE_TIMESTAMP_MAXnow DERIVES from the same macro (15 -> 17) instead of restating a digit count, which is what let the two drift twice before: 12 assumed 5 digits and 15 modelled the 8-byte buffer. The runtime guard-byte test the section also asks for was written IN FULL, measured, and reverted with the tree green: Codex adversarial raised its absence as[medium]and the finding was ACCEPTED as blocked rather than rejected, with both legs measured -- the bounded-helper extraction the reviewer recommended fails on its own, and helper-plus-test overshoots further. Re-adversarial then caught that the comment recording those measurements had conflated the raw allocated end with the PAGE-ALIGNED__kernel_endthe guard actually compares (build/kernel.map0x7ff000;scripts/build.sh:402takes the highestb/Bsymbol) and had overstated the assert as catching a widenedsnapshot.timestampwhen it trackssec, which an explicit(uint32_t)cast holds at 32 bits -- both verified at source and corrected in the code and both TODOs. §16's magic-test item landed for the opposite reason to everything else this session: it FREED.textrather than spending it.test_klog_crash_magicandtest_etw_session_magichad EMPTY bodies and were registered, so the runner reported two passes that verified nothing; deleting both and pinning the constants with_Static_assert(to their value AND to the ASCII they spell, verified non-vacuous) moved the.textbudget 15 -> 95 and.rodata1794 -> 1826, and the coverage artifact 3212 -> 3210 functions with assertions unchanged at 14252. Adversarial caught that the first draft of the explaining comment named the assert macro literally, andscripts/test-coverage.sh:50is a baregrep -cwith no comment filter -- so a fix for false coverage would have shipped one phantom assertion of its own. Reworded; the counter itself is left alone and filed, because 33 comment-borne tokens already exist corpus-wide and correcting it moves every reported number at once. The session's real finding is structural, not in this file: every kernel section deferred today funnels into02-kernel-core/TODO-33§7, which is cascade-blocked on §3, which is operator-deferred pendingtodo/answers.mdQ3 -- so the whole queue was parking into a chain terminating at a decision no run can make. §12 had written the escape down ("A third pass IS expected", trigger "headroom under one page") and named the reserve, but had nowhere to put it: §12 is stamped and scoped to ONE conversion, §10's table is spent. The closed surface was searched first as required, no third-pass section existed in any state, soTODO-33§13 was filed WITH an Implementation Order row -- which is what makes it visible -- and the file reclassified BLOCKED -> NEEDS_WORK. It records the non-obvious mechanism (reclaiming.bssbuys.textheadroom, because the guard tests__kernel_endand the per-section budgets are all distances to the same page boundary) and its own SPLIT-RECOMMENDED verdict at filing time so the next pass decides rather than re-derives. Close-out: all 7open-in-deferreditems reshaped one at a time, one markedoperator-gatedbecause its Critical stamp records verifier-key anchoring as operator-reserved and no TODO can ever clear it. The hygiene auditor returned 4 findings, all verified at file:line before applying, and one MATTERED -- §14's park cited the 15-byte budget that §16 moved to 95 the same day and had never been re-checked, so it was RE-MEASURED rather than renumbered: at 95 the helper still fails identically, so it costs more than 95 bytes and the park now stands on a current measurement. That re-measurement also exposed that the preserved patch no longer applies cleanly, its base having moved when the section shipped. Two inbound stamps whose targets closed were annotated RESOLVED rather than deleted, the usermode one stating explicitly that the parked runtime test is NOT covered. One process note: a first attempt at the section-15/16/17 parks flipped 28 items by regex and ran past the section bounds into the Unit Tests and Verification blocks -- reverted and redone with per-item judgment over the real population of 16, which is exactly the bulk-flip the doctrine forbids and the reason it forbids it. Also filed to v19:build.ymlhas produced NO verdict for 8 consecutive pushes becausecancel-in-progressplus a ~29-minute build means each run is killed by the next commit ~5 minutes later, andci-check.pystill reportsours_red: falsebecause a cancelled run is not a failed one. - 2026-09-03 | 02-kernel-core/TODO-09-x86-64-architecture.md §20 DEFERRED
cb0495567+ FILE CLOSED414b4c446| the file's last open item was implemented in full, MEASURED against a control, and reverted -- the opposite discipline to the three park-before-code sections that preceded it, and the reason the redo is a re-apply rather than a re-implementation. §20's item askedtopology_init()to derivep_core_mask/e_core_maskfrom each AP's own core type; the shipped change readsper_cpu_data.core_type, whichcpu_validate_ap_features()writes at the TOP ofap_cpu_harden()whilesmp_publish_cpu_online()writes the online-mask bit LAST, so an acquire-load of that bit is what carries the value and no lock is needed. Slot 0 is seeded from the BSP's own CPUID0x1Abecause the BSP never runs that path at all, which makesper_cpu_dataa single source of truth for every slot instead of a loop with a BSP special case, and a bit is set only forCORE_TYPE_P/CORE_TYPE_Eon an ONLINE slot -- an offline slot published nothing, and the mask is what a future scheduler would place work on._Static_assert(MAX_CPUS <= 64)pins the mask width against the1ULL << ishift, and threeTEST_CAT_X86suites assert the mask-vs-core_typeiff, disjointness and range, and online-only classification, which is the assertion the existing "core_type is a defined constant" test could never make becauseCORE_TYPE_GENERICis0x00and a never-populated slot satisfies it. The control is the part worth recording: a clean HEADd1cd53651builds green at__kernel_end0x7fead5with a.textbudget of 95 bytes, and the change moves it to0x7ffad5, page-aligning onto0x800000=USER_BASEexactly -- a FULL PAGE against 95 bytes, so it cannot be trimmed to fit, and the failing and passing builds were both run rather than one being inferred from the other. Preserved at.claude/state/deferred-TODO-09-x86-64-architecture-s20.patchbuilt withgit add -Nso the new test hunks are included. The item text itself was WRONG as filed, which no gate could have caught: it said "today BSP core type is applied to all CPUs", andtopology.chad already been fixed to leave every slotCORE_TYPE_GENERICwith both masks zero, so the defect is missing classification rather than a wrong one. That stale phrase turned out to have a twin the §20 backfill never went back for: §9's own[x]item still claimed it "Populatesp_core_mask/e_core_mask", contradicted by the section's own Verified stamp two lines below, and the OS Comparison cell read "✅ §9 BSP-only" -- parity the always-zero masks do not support, now "⚠️ §9 detect only". Two Outcome bullets described AMX/XFD and split-lock detection in the PRESENT tense against parked sections whose symbols (CPU_FEATURE_AMX_TILE,MSR_IA32_XFD,CPU_FEATURE_CORE_CAPS,IA32_TEST_CTL) appear nowhere insrc/kernel, and §5's[x]Win32 item folded shipped kernel-sidepku_set_permissions()together withSetThreadMemoryZone(), which exists in no source file anywhere -- split, with the unshipped half marked design-only and theCommit:line left byte-exact because it quotes the real messaged3ad09b5f. The auditor's fifth finding was REJECTED on evidence: the per-section "Expected: N suites" figures are historical snapshots taken as each section shipped, not a current-state claim, so re-basing them to today's ~122TEST_CAT_X86registrations would rewrite history rather than fix a lie. All 56open-in-deferreditems across sections 7, 8, 12, 14, 15, 16, 17 and 18 were reshaped one at a time: 7/8/12/16/18 areoperator-gatedand say which platform is missing (FRED silicon, LKGS silicon, AMD Zen+ bare metal, bare-metal UEFI sign-off, Rocket/Alder Lake), 17 names the per-thread XSAVE prerequisite ahead of its hardware, and 14/15 already carried concrete cross-TODO owners so only the marker changed;todo-reachability.pynow returns{}for the file and corpus Check 24 fell 1208 -> 1152. Two §16 items were ALREADY over the 250-char cap (349 and 391) and were split into short leads plus sub-bullets rather than left unparked, since a[ ]->[/]flip re-presents the line to the staged check as new. The structural find is an ownerless prerequisite: the per-struct threadXSAVE redesign blocks §17 here (AMX tile state leaks between sibling threads) AND02-kernel-core/TODO-10§9 (IA32_XSS-backed CET state corruptsPL0_SSPacross same-process thread switches) -- both NAME it, neither owns it, and a corpus search found no section owning it in any state, closed or parked. Filed as03-memory-concurrency/TODO-06§16 with an IO row,Spawned-by: root, and reciprocal XREFs on both blocked sides; domain-correct because it is the scheduler's context-switch state model, and it carries a regression test that fails on the CURRENT shared-buffer model rather than only passing after the fix. Check 7's baseline moved 1665 -> 1664 withresolvedflat at 486, updated deliberately in the same commit as its refusal asks and derived from the checker's own_walkrather than the diff -- exactly one owner moved (57 -> 56) by the mechanism the PREVIOUStotal_moved_byentry had recorded: the resolver binds a ref on a lead line and not on an indented continuation, so moving theSetThreadMemoryZoneclause onto a sub-bullet moved the denominator with no producer change behind it. The pre-push tooling gate refused on1/1373-- the identity-gate reap-mutation control, the same sub-test seen flaky earlier today and unreachable from a diff oftodo/plus a lint baseline -- and was answered by the RECEIPT route rather thanSKIP_TOOLING_SUITE=1: the pack ran out of band on the identical bytes at1373/1373, exit 0, and the gate then skipped honestly. - 2026-09-03 | 02-kernel-core/TODO-11-peb-teb-user-abi.md §28 items 1-2 VERIFIED already-shipped, item 3 DEFERRED
04f1aa53e| the section's headline defect was already fixed independently of its own filing:2edb130b5(2026-08-02) ordered the TEB/kernel_gs_base publication (gs_base first, TEB release-stored second intask_exec) and the readers (both switch paths acquire-load TEB before gs_base), closing the intermittent 2-CPU boot halt this section existed to track. Verified still in place at HEAD21921b527by reading the actual code rather than trusting the historical NOTE box, which still called the fix an open operator-reserved judgment call; that NOTE and a stale inbound> **Deferred:**stamp in00-infrastructure/TODO-04§51 were both corrected in the same commit. Item 3 (an SMP regression test for the pairing invariant) got a full design-review cycle: a first design (a truth-table predicate test over fabricated pointers) was REJECTED by Codex adversarial design review as unable to detect a regression that reorders the real writer's two stores or the real reader's two loads while leaving final values unchanged. The redo extracted the real sequences into sharedtask.hhelpers (sched_publish_teb_gs_base,sched_load_teb_gs_pair) used verbatim at all 3 production call sites (measured net ZERO.textgrowth) plus a test-only pause-hook parameter (NULL and constant-folded away in every production call), so a kthread test could pause the REAL writer mid-sequence via the existingtest_race_barrier_trendezvous and prove the REAL reader never observes a half-published pair, with a hand-written mutation writer proving the harness detects the exact2edb130b5bug shape when reintroduced. Built and it does not fit:.textbudget is 95 bytes at this HEAD, and the test pushes__kernel_endto exactlyUSER_BASE,BSS COLLISION. Reverted; preserved at.claude/state/deferred-TODO-11-peb-teb-user-abi-s28.patch; deferred with the design of record and an XREF to02-kernel-core/TODO-33§13 (the open image-headroom reclamation section), with a reciprocal entry added there. File reclassifies DONE. - 2026-09-03 | 02-kernel-core/TODO-12-native-api-ssdt.md §32 design-rejected, re-scoped
67805bff4| items 1-2 (FILE_OBJECT canonical-path sync across aliased handles on rename + serializing path-mutating NtSetInformationFile) went through the mandatory pre-edit design gate before any code was written, and Codex rejected the caller-local (nt_file.c) fix on three independently source-verified grounds: writing a canonical path on every open cannot fix the open-vs-rename race alone;vfs_rename_exhas other direct callers (kernel log rotation) that would bypass a caller-local lock, and directory rename affects every open descendant; andstruct vfs_nodeis not a stable identity on FAT32 (fat32_dir.c:544-574's own comment documents cache-slot reassignment to a different occupant as a known node-lifetime gap). The real fix belongs at the VFS namespace boundary, which already had a home:05-storage-filesystems/TODO-04§18's open "VFS per-vnode share-mode locking" item, so the work was filed there with the new security-consequence evidence and a reciprocal XREF rather than a duplicate new section (the exact CLAUDE.md rule this avoids: "NEVER CREATE A SECOND SECTION FOR WORK THAT ALREADY EXISTS"). A candidate globalmutex_tfor the serialization was independently evaluated and rejected: verified atsrc/kernel/sched/mutex.c:73-105that the 17th+ concurrent waiter on ANY mutex is permanently stranded (enqueue is skipped pastMUTEX_MAX_WAITERSbut the thread still blocks forever, andmutex_unlock's wake scan only iterates the bounded waiter array) -- a real, independent, pre-existing defect in the shared primitive, filed into03-memory-concurrency/TODO-08-advanced-sync§11, the section's own designated home for exactly this class of finding. Items 3-5 (tail-packFILE_OBJECT.path, variable-lengthunveil_entry,NtSetInformationFileACCESS_MASK enforcement) are blocked on the same kernel-image.textceiling (95 bytes) that deferred TODO-11 §28 and TODO-10 §31 earlier today; items 3-4 keep their original perf-only deferral, item 5 got a full design of record (new NTFILE_WRITE_*constants, agranted_accessfield, threading the ACCESS_MASK already decoded-and-discarded inNtCreateFile_handlerthrough toFILE_OBJECT, and the legacy INT 0x80 path's missing ACCESS_MASK concept) but was not built, since 3-4 already establish the ceiling binds. All three XREF02-kernel-core/TODO-33§13 with a reciprocal entry. No source code shipped this section -- a design-review-driven re-scope, not an implementation; file reclassifies DONE. - 2026-09-03 | Codex backend outage 16:53-17:07+ -- TODO-14 s16
f2d93f08a, TODO-19 s118cf240902+081781fcb, TODO-21 s20/s21a98dbe12aall parked | 6+ consecutive Codex dispatches (design reviews + a health probe) all failed identically withunexpected status 404 Not Foundfromchatgpt.com/backend-api/codex/responsesover ~15 minutes;codex-companion.mjs setup --jsonconfirmed local CLI/auth/node/npm all ready, so this is a remote outage, not a config problem. Recorded once in.claude/state/live-gotchas.md(expires 2026-09-10) rather than re-explained per file. TODO-14 s16 (RegSaveKey/RegRestoreKey hive I/O) got a full, source-verified design of record (bound-copy lpFile, scratch reg_key_t stack local for restore with a caught dangling-pointer hazard on re-parenting) written and ready for the redo once Codex recovers. TODO-19 s11 (code-integrity policy wiring, Ed25519 signature auth, anti-rollback, ratchet-domain merge, dynamic-code gating) is SPLIT-RECOMMENDED and security-sensitive -- parked whole rather than attempted blind, its 5 items reshaped to[/]so the park does not add new reachability backlog. TODO-21 s20 (page-table lifetime across reap+fork/exec, 11 items, security/correctness-critical SMP) parked whole; s21's 5th item (a pure documentation fix disentangling two conflated task_create concurrency invariants -- slot CLAIM vs PUBLICATION -- in a stamped section's Accepted note) needed no code and shipped, verified attask.c:830-835vs:1119-1125. All three files reclassify DONE. - 2026-09-03 | 02-kernel-core/TODO-23-exception-dispatch-seh.md s18/s19/s20 parked
f995fea8d| s18 (unwind fixture sentinel anchoring) and s20 (owner-stable SEH stack bounds + fault-address provenance, an SMP/exception-ABI decision) parked on the same Codex outage as the rest of this batch. s19 is separately blocked regardless of Codex: its own filed text already says the fix touchesMakefile/scripts/build.sh(the receipt surface), which an unattended run may never edit -- reshaped its 3 items tooperator-gated:rather than the outage wording. File reclassifies DONE. - 2026-09-03 | 02-kernel-core/TODO-24-alpc-message-ports.md s13 parked
ef52013e6| attacker-reachable (handle-quota exhaustion) SMP double-free inAlpcAcceptConnectPort's failure unwind, parked on the same ongoing Codex backend outage (8th consecutive dispatch failure confirmed at this point, ~25 min in). File reclassifies DONE. - 2026-09-03 | 02-kernel-core/TODO-33-higher-half-kernel-relocation.md §13 SHIPPED
67e7ca12c, reviewed5a235fa18| Third tactical BSS reclamation pass: convertedctrl_windows(180,736 bytes,src/desktop/controls.c) from static BSS to apmm_alloc_pages_hhdm-backed pool guarded by a 3-state atomic CAS (ctrl_init_state), wired the previously-deadctrl_init()intoboot_desktop.cPhase 3, and madegallery_open()refuse cleanly instead of silently opening a broken dialog on OOM; swept 12 registered-but-empty dead test functions across 7 files.__kernel_endmoved0x7ff000->0x7d4000(headroom95->178735.textbytes), unparking the ceiling-stalled queue this file's §11/§12 had been accumulating all day (TODO-04§14,TODO-09§20,TODO-10§32,TODO-11§28,TODO-12§32,TODO-26§2 -- re-apply tracked as a new §11 item, not done here). Fullreview-todo-sectionpipeline ran post-ship (adversarial + consistency + perf Codex,kernel-quality-auditor): fixed a teardown-ordering bug in the test-only pool-reset helper (freed before un-publishing state, the inverse ofctrl_init()'s own publish-last order), a klog varargs type mismatch, and 3 of the 12 dead-test removals that had broken evidence claims inTODO-31§13 andTODO-11§12/§13 (two reimplemented with real non-tautological assertions after a self-caught lint finding on the first attempt; one left removed since its claim was already covered by an existing_Static_assert). Two low-severity findings rejected with recorded reasoning (no live caller triggers either path today). 32863 kernel + 17 user-mode tests, 0 failures; smoke matrix 4/4; lint 0 errors. File stays NEEDS_WORK (§3-§9 still cascade-blocked on the operator-reserved address-space decision; §11's re-apply sweep is open). - 2026-09-03 | 02-kernel-core/TODO-26-power-management.md §1 REVIEWED + stamped
6a9e640da| Section 1 (ACPI sleep object parsing + PM1 state machine) was fully implemented but carried no stamps, so this was a review-only pass that became a substantial hardening of the firmware-facing ACPI surface: Codex 10x (adversarial + consistency + perf, then re-adversarial x7 to the round cap, every round returning measured findings) pluskernel-quality-auditor,concurrency-evidence-mapperandparity-research-analyst. The DSDT drives every AML scan and was entirely untrusted --acpi_table_valid()now gates signature, a 16 MiB length cap, containment inside ONE UEFI memory-map descriptor of an ACPI-bearing class, and only then the checksum, with the HEADER's own containment proven beforesig_match()or the length field are read (both are dereferences);aml_read_pkglength()decodes the PkgLength instead of skipping it;aml_read_integer()decodes Zero/One/Ones and the four integer prefixes, where the old code returned every non-BytePrefix OPCODE BYTE as the value.pm1_write_sleep()became a masked read-modify-write because the old wholesale write cleared SCI_EN, dropping the machine out of ACPI mode at the moment it was asked to sleep;acpi_pm1_control_owned()reads SCI_EN from both control blocks ORed (matchingAcpiHwReadMultiple) and performs the SMI_CMD handshake itself under a 3-second PM-timer deadline plus an iteration ceiling. The SCI ISR no longer logs:klog()reachesklog_disk_flush()->vfs_open/vfs_writewhen live disk logging is armed, andklog_disk_enable()runs atboot_storage.c:940beforeacpi_register_sci()at:1151, so the first SCI could perform disk I/O in hard-IRQ context and deadlock against the storage completion interrupt it waited on. Two Codex recommendations REJECTED with evidence from the ACPICA vendored in this tree (AcpiGetSleepTypeDataaccepts a one-element package and truncates to UINT8 rather than range-rejecting; obeying either would report S5 unsupported on firmware ACPICA handles, i.e. a machine that cannot power off). Tests 8 -> 28 (11 -> 50 assertions) on a new test-only entry point running synthetic and malformed tables through the REAL parser, with the probe verified by mutation (bypassing the checksum makes "rejects bad checksum" fail). Filed rather than fixed: a new §24 for ACPI GPE block handling (found independently by the auditor and the parity analyst; nothing in the roadmap owned GPE enable or dispatch, and an unacknowledged GPE-raised SCI gets the GSI quarantined after 1000 all-NONE dispatches),_PTS/_GTS/_WAKevaluation (§3/§4), AP quiesce before S1 (§2), PM1b-only end-to-end support (§24), and SSDT\_Sxresolution + extended GAS registers + ACPI Global Lock (D04 T03 §1, whose SCI_EN item was corrected in place -- it named a direct SCI_EN write, which is not how OSPM enters ACPI mode). 32902 kernel + 17 user-mode tests, 0 failures; smoke matrix 4/4; lint 0 errors. The pre-push tooling gate failed once ontest_build.shs30 with "the TODO corpus moved while this build was reading it" and passed 1373/1373 out of band on the same bytes, so it was confirmed a flake and pushed via the receipt route rather than the suite opt-out. Also drained TODO-19's deferred-item backlog first (b7e3cfe76, 22 parked items reshaped with named blockers, reachability 22 -> 0 for that file). - 2026-09-04 | 02-kernel-core/TODO-26-power-management.md §2 SHIPPED
aca6a57ce, filingsd153b95cc+a9e1eba6e/c3f83b631| Section 2 was PARKED at 17:48 the previous evening on a 95-byte kernel.textceiling; TODO-33 §13 cleared that at 18:34 (headroom now 164,804 bytes), so the park's premise was 46 minutes stale and the section was re-opened rather than re-deferred. The pre-implementation design review then rewrote it before any code: the spec putacpi_enter_sleep_state(1)in the idle loop, which is unimplementable here (that function refuses every caller off the BSP atacpi.c:1613and confirms its wake throughWAK_STS, which a timer tick never sets) and wrong regardless, since ACPI 6.5 §8.1 makes C1-Cn the processor idle states and S1 a whole-machine transition. Shipped instead:pm_idle_c1()(race-safe C1 entry, always halts, reports readiness),pm_deep_idle_allowed(), per-CPUidle_tsc_cycles, a release/acquirePowerIdleEnablecache, wiring at both BSP terminal idle points and the AP park loop, and 9 tests. The load-bearing correction was round 1's: letting a false predicate REFUSE the halt would have spun a parked AP forever, because an idle AP has no DPC drain trigger (ktimer.c:248-251). Every DPC depth access in the tree is now one relaxed-atomic discipline. Four halt oracles were tried and rejected (elapsed TSC, the deadper_cpu_data.irq_count, an advancing tick counter, a 512-byte opcode search) before a labelled halt site plus a per-CPU reachability counter held. 14 Codex rounds, 6H+18M+2L fixed, 1 rejected, 6 accepted/deferred; a missing declaration only the RELEASE build could catch was among them. Also authored §25 (idle telemetry, blocked on the accounting precision) and filed TODO-07 §19 for the pre-existing interference-prone DPC depth assertions. Push neededSKIP_TOOLING_SUITE=1: four pack runs over identical bytes each failed1/1373naming a DIFFERENT test, filed as a rotating-single-failure gate defect in overnight-runner-improvements-v19. - 2026-09-04 | 02-kernel-core/TODO-26-power-management.md | s3 split + deferred (ACPICA namespace never initialized, s9 callbacks and s8 D-states absent; all three verified by grep), s26 SHIPPED + REVIEWED (
383b32805+74c945203): resumable generation-tagged stop-the-world CPU rendezvous, vector 0xF9, 29 tests. s27 opened for the residue (mutation-proving test seam, retract-side quiescence window, SLP_EN integration). 10 Codex legs + Opus kernel-quality-auditor + 2 mappers; 26 findings fixed, 2 accepted, 3 deferred. 33054 kernel + 17 user tests, smoke matrix 4/4. - 2026-09-04 | 02-kernel-core/TODO-26 §5 ACPI Embedded Controller driver | shipped
4cbcc16ef+ reviewed2ee0bfd24| ECDT discovery/validation, polled RD_EC/WR_EC, burst-wrapped block read, transposed-port firmware quirk, Phase 2 init; 41 test cases. Readiness deliberately GATED OFF (GPE acknowledgement + ACPI Global Lock both absent), so the section ships no live capability and says so at the IO row. Codex 9x, converged round 6 zero findings; 3 parity gaps filed in owning open sections (AML EC OperationRegion handler -> 04-drivers-hardware/TODO-03 §1, EC sleep/resume -> §9, controller-reset boundary -> §24). Gates: build OK, 33478+17 tests, smoke 4/4, lint 0. - 2026-09-04 | 02-kernel-core/TODO-26 §6 and §7 splits + §7 shipped |
eb72bfdbfshipped,3f505518ereviewed | §6 split into §6/§29/§30 and §7 into §7/§31/§32 (both SPLIT-RECOMMENDED, both bundling work with different blockers); §7 power and sleep button dispatch shipped and reviewed; §6, §30, §31, §32 deferred with XREFs. 7 Codex legs plus the kernel-quality auditor, concurrency mapper and parity researcher; 8H+5M+2L fixed, 4 accepted with concrete XREFs. Tooling-pack flake occurrences 6-8 filed to v19, disproving the stdout-misclassification hypothesis and naming the real assertion (a wall-clock scaling check). - 2026-09-04 | 02-kernel-core/TODO-26 §8 split + §8 shipped |
9d40a3ba6shipped,9cc5c4a9dreviewed | §8 was SPLIT-RECOMMENDED at 8 items with three different prerequisites, so it became §8 (PM capability + D0/D1/D2/D3hot, config space only), §33 (pm_device_tregistry) and §34 (D3cold via ACPI_PS0/_PS3, blocked on an uninitialised ACPICA namespace). The shippable half shipped. Twelve implementation-round adversarial passes converged to SHIP, and the post-commit kernel-quality-auditor then found a HIGH none of them had:pci_write16implemented a 16-bit config write as a 32-bit read-modify-write, so writingPCI_COMMANDrewrotePCI_STATUSwhose error bits are write-1-to-clear, silently acknowledging latched bus errors at ten driver call sites. Pre-existing, one function from the PMCSR write-1-to-clear hazard this section was built around. Five review legs plus four re-adversarial rounds; 12H+9M fixed, 5 accepted into §33 and §12. Two fixes were made and WITHDRAWN as worse than the defect (a "conservative" reinit obligation that would tear down a live controller's BARs, and aklogpoison diagnostic that reaches disk I/O through the controller it just declared unsafe). Also filed:mono_clock.c:234selects PMTMR on a FADT port alone with no probe that the counter advances (TODO-08 §18). Gates: build OK, 33709+17 tests, smoke matrix 4/4, lint 0, tooling pack 1373/1373. The first ship push failed in the pre-push pack with "TODO corpus moved while this build was reading it" because the review was editing concurrently; re-run clean out-of-band it passed, and the ordering hazard is now a live gotcha. | 2026-09-05 | 02-kernel-core/TODO-26 §9 | shippedba2268f03, reviewed9a8f0991a| Driver power callbacks: priority-ordered registry, sleep/resume walks, sleep/resume-spanning transaction, two masks (quiesced drives the abort unwind, wake drives the resume), terminal PM_TXN_DEGRADED with a LOCKED recovery exit, EC wake idle-proof. 5/6 items; the four driver registrations are parked because no driver exposes a quiesce primitive (xHCI half filed into 04-drivers-hardware/TODO-10 §1). Review found the degraded state was a one-way door in production and that a transient EC lock contention reached it; both fixed. Corrected a false[x]in the Unit Tests section (test_register_power() names a function and file that do not exist), which shrank the stub-lint population 1703 -> 1701. Tests consolidated 26 -> 9 suites after the kernel image hit its 0x800000 ceiling and the link failed. 33830 kernel + 17 user-mode tests pass. | | 2026-09-05 | 02-kernel-core/TODO-26 §10 | shipped0c1e8cd08, revieweda073f35ec| Section 10 was SPLIT-RECOMMENDED at 19 items and became §10/§35/§36, then the pre-implementation design review found FOUR of the draft's own items factually wrong and the system-entry half unimplementable, so §37 took that residue too. Corrected rather than implemented: the draftedmwaitasm had no MONITOR and no ECX (SDM: MWAIT without an armed MONITOR silently no-ops; a masked interrupt breaks only under CPUID.05H:ECX[1] + ECX[0]);MWAIT_HINT_C10has no architectural basis (leaf 5 enumerates to C7 and the SDM calls those processor-specific, not ACPI, states);MC_PM_STShas no public per-generation contract and was REJECTED outright, and_OSCis capability negotiation not an entry notification; the one-second TSC heuristic is circular and ignores invariant TSC. Also corrected: FADT bit 21 does NOT assert S3 is absent. Shipped the half that is real and provable today --acpi_fadt_s0ix_capable/acpi_s0ix_supported,CPU_FEATURE_MONITOR, and three pure MWAIT hint/refusal functions that take CPUID words as ARGUMENTS, so the suite proves the SDM Table 4-11 encoding on hosts reporting no leaf 5 (every CI host here). The post-ship kernel auditor then found two mediums:pm_mwait_deepest_hintread EDX nibbles without consulting ECX[0] (the constant was defined and consumed by nothing, which was the tell), andCPU_FEATURE_MONITORwas BSP-only while its ring-3 twin WAITPKG was in the AP probe list. Codex 4x plus auditor and parity researcher; 3M+8L fixed, 0 open. Accepted [H] into a new §38: ACPI table discovery checksums over a firmware-declared length and publishesfadt_ptrwithout validating the backing extent -- pre-existing (the ship commit added 28 lines to acpi.c and deleted none), and the tree already hasacpi_table_valid()with the right checks that discovery simply does not call. The kernel image hit its 0x800000 ceiling MID-SECTION on test assertion strings alone;.rodataheadroom is now 306 bytes. Gates: build OK, 33871+17 tests, smoke matrix 4/4, lint 0. Ship push refused by two pre-push audits that fail on a local plugin's MANIFEST drift, verified identical at the base commit and unfixable from inside the run; filed to v19 and pushed with a scoped skip. | - 2026-09-05 | 02-kernel-core/TODO-26 | s11 deferred (no hibernation write path, no bootloader resume entry, 306 B .rodata headroom); s38 shipped
c744b4ee6+ reviewedcf5e019b2-- ACPI table discovery validates extents before the checksum walk and before publishingfadt_ptr; s39 filed for the RSDP-side residue. 17 Codex legs / 9 rounds + an Opus kernel audit; 33,889 kernel + 17 user tests, smoke matrix 4/4. Kernel.rodataheadroom now 2 bytes: no further kernel section can link until the higher-half relocation lands. - 2026-09-05 | 02-kernel-core/TODO-33 | s15 SPLIT on the manifest verdict (test-side residue -> new s16) then shipped
db0fc9ac5+ reviewed7ab39396b-- thepipespool (73,216 B) moved off.bssto frame-backed storage behind an atomic three-state init, readiness guards at all four entry points, and the lazypipe_init()the PMM contract forbids deleted.__kernel_end0x7df000 -> 0x7ce000, 17 pages, headroom 131,535 -> 200,787 B. Ran EARLY rather than on the under-one-page trigger, on s14's own measured refill rate. The atomic init also closed a latent bug: repeatpipe_init()was silently freeing every live pipe on each test boot. 22 Codex legs across 9 rounds plus an Opus kernel audit, a concurrency mapper and a parity researcher; the reset helper took its token WRONG twice beforeREADY -> INITIALIZINGheld through teardown, and the consistency leg caught a stale measurement on three separate rounds. Filed rather than fixed: new03-memory-concurrency/TODO-09 s11owns the unlocked slot claim (two ring-3 callers can be handed the SAME pipe id -- a cross-process data leak), the unlockedcount/read_openreads, the collapsed error codes, the 16-pipe machine-wide cap and the broken POSIXPIPE_BUFatomicity. 33,907 kernel + 17 user tests, smoke 2.720s, lint 0 errors. - 2026-09-05 | 02-kernel-core/TODO-33 | s16 shipped
5445e921e+ reviewed81189432c-- the test-side residue s14 filed and s15 split out:s_cap_valand 26boot_entries_parse_result_tSTACK locals ontoTEST_SCRATCH_KBUF, andtest_scratch_allocoff its raw phys-as-pointer cast onto the sharedpmm_alloc_pages_hhdm(), recording the physical base so the free path never round-trips through a relation whose 0 means failure. Frame win MEASURED not argued and reproduced independently by Codex: 27 over-limit frames -> 1, largest 37,016 B -> 3,944 B. TWO claims proved by CONTROL: droppingphysfrom the swap-with-last failed exactly its two intended assertions with the precise 16-frame leak (8409 vs 8393), and breaking an assertion under the new klog tag proved the failure text is still readable. That klog tag was itself a re-adversarial finding -- the allocator logged under"TEST", the same tag the runner uses for assertion FAILURES at LOG_ERROR, so a test suppressing the expected warning would have discarded its own evidence. The post-commit Opus audit then found the sweep incomplete:s_bt_val, an identical 8 KiB static two functions below the one the section converted, in the same file. It also foundscratch.hstill documenting the raw-physical behaviour the section had just retired. Accepted rather than fixed: [H]boot_entries_parse()accepts a REPEATED top-levelentrieskey --idxandall_ids_countare block-scoped and reset per occurrence whileout->entry_countdoes not, and the only cap check is againstidx, so a second array writes past the fixed 64-entryentries[]on disk-sourced boot config parsed before ExitBootServices; filed as a NEW01-boot-platform/TODO-07s19 WITH an Implementation Order row, which flipped that DONE file back to NEEDS_WORK so the queue can actually reach it. Also accepted [M]env.c:309, the production twin of the retired cast, to the identity-map teardown that owns all ~20 such sites. 18 Codex legs (2 adversarial crashed in the reviewer sandbox on dynamic-object probing and completed clean once re-dispatched static-only) + kernel-quality-auditor + concurrency-evidence-mapper; 6M+8L fixed, 2 accepted, 0 open. 33,973 kernel + 17 user tests, smoke matrix 4/4, lint 0 errors. Headroom 209,698 B and.bssis no longer the tightest section. TODO-33 now BLOCKED on s3 alone (operator decision Q3 intodo/answers.md). - 2026-09-05 | 01-boot-platform/TODO-07 | s19 shipped
a4f5f4982+ reviewedd2c63a5f0-- the OOB write TODO-33 s16 filed: a repeated top-levelentrieskey reset the block-scopedidx/all_ids_countwhileout->entry_countclimbed, so a second 64-element array wrote ~36 KB pastentries[]on disk-sourced config parsed before ExitBootServices, and the same reset disarmed the cross-occurrence duplicate-id gate. Shipped as a fail-closed PREFIX RESCAN (key_seen_before) rather than a seen-key table, because a table must hard-fail on overflow and would turn skipped forward-compat keys into a whole-store rejection at boot AND force the host to mirror the ceiling; plus literal-key enforcement (find_crc32_keyalready required it, so codification not restriction) and a boundedentries_retain(). The design review's own alternative was taken over my first design, and rounds 2-4 each found a defect in the round before: the rescan charged the entries array and entry object to the payload's depth budget, so a store the parser ACCEPTED could exhaust it and "could not finish" read as "no duplicate" -- silently disabling the check on attacker-chosen input. Fixed with the exact +2 and a tri-state both callers reject on. Host parity followed the same arc:strict_loads()+validate_value_depths()mirror the key and depth rules across the validator CLI,bootcfgreads and its add path; both writers stopped escaping keys and now re-parse their own serialized bytes; and the crc-stamping mode, which had been running its whole pipeline against the DESTINATION, was measured DESTROYING a 1321-byte store down to 0 bytes on a lone surrogate before the encoder raised. One sharedatomic_write_bytes()replaced two copies that had diverged in exactly the part that matters -- a predictable temp path a symlink could own. The POST-SHIP review then found the fix was only half a fix:boot_policy_menu_collect()ignoredreject_code, and because the ladder short-circuits WITHOUT filtering,decision->rejected[]is empty on that path, so a rejected store still listed its retained entries and F11 made one the boot selection. Guarding the three loader publishers by early return turned out to be wrong twice more in a row -- they areEFI_VARIABLE_NON_VOLATILE, so skipping a write leaves the PREVIOUS boot's list and selected id published; all three now CLEAR. EVERY guard was mutation-verified rather than asserted: nest7/nest8 fail with the depth budget reverted while nest6 passes either way, a fail-open rescan and an off-by-one budget each fail exactly their own test, deleting the menu guard exposes 2 candidates where 0 are expected, and revertingbootcfgtojson.loadsfails three cases. The kernel auditor caught the one that could NOT fail: the prefix-sharing fixture had the shorter key first, so deleting the key-length clause still passed -- reordered longer-first, which now catches it. 36 Codex legs across ~14 rounds (design, adversarial, re-adversarial x6, consistency, perf, test-coverage) + boot- and kernel-quality auditors. 34,026 kernel + 17 user tests, 99 validator + 38 bootcfg host cases, smoke matrix 4/4, lint 0 errors. Filed rather than fixed: s20 (the crc32 header is located by string match, so a store carrying that text in a VALUE before the real header is rejected by firmware while the host accepts it) and s21 (published loader variables need an explicit set-or-clear outcome;LoaderDevicePartUUIDgoes stale on an unknown partition identity, an axis store rejection never reaches). Both pushes were refused by the pre-push audits over one missing.claude/hooks/MANIFEST.mdrow for a third-party plugin -- pre-existing, control-plane, already filed in v19; pushed with a scopedSKIP_TOOLING_SUITE=1. Two of the first pack run's four failures were MINE, from editing the TODO corpus while the backgrounded pack read it; recorded in v19 because the out-of-band pack route the doctrine recommends walks straight into that trap. - 2026-09-05 | 01-boot-platform/TODO-07 | s20 shipped
598bc0749+ reviewed4cbaec63a-- the crc32 integrity header was located by scanning the whole file for the seven bytes"crc32", so a store beginning{"note":"crc32", ...}matched inside the note's VALUE and the firmware rejected it with BAD_CRC32_FIELD while the host regex tie-broke differently and accepted it; the user's boot selection silently discarded and the firmware fallback booted instead. Replaced with a bounded STRUCTURAL walk of the root object (the file's own lexer +skip_value_depthat the RESCAN budget, because this walk skips the rootentriesvalue two container levels further out than the authoritative walk does) returning a tri-state so a broken root maps to JSON_PARSE and an absent-or-misshaped header keeps BAD_CRC32_FIELD. The design review caught the firmware accepting0Xand an over-long value where the host already required lowercase0xand exactly ten characters, so the value shape tightened to match. The host mirror was rewritten from a regex to a token-level copy of the FIRMWARE's rules after the test-coverage leg MEASURED the first draft locating a header in three stores the firmware calls malformed, and_CRC_VALUE_RE.matchwith$accepting a trailing newline inside the value. The controls are the story of this section. Three separate drafts of the decoy fixtures did not reproduce the defect and looked identical to ones that did: the firmware fixture spelled the decoy"crc32 lives below", whose bytes never contain the 7-byte needle; both host decoys sat AFTER the header so the old locator reached the real one first; and the escaped-quote shape broke NEITHER locator because a backslash sits where the old needle wanted a quote. Each was caught by running the old locator in-suite rather than by inspection, and every fixture is now classified by measurement, per side -- the string-value shape breaks the firmware scan but not the host regex. The adversarial leg then caught the control itself being more permissive than the code it stood for (it had dropped the original'sparse_hex8, certifying agreement on0xGGGGGGGG), and the perf leg measured the extra control fixture costing 261 bytes of.rodatain the linked image, so it became a two-byte mutation of a fixture already in the buffer. Every locate assertion checks an INDEPENDENT offset oracle, because the fixture's CRC is patched at whatever span the locator reports -- a consistently-wrong locator writes a self-consistent file and every end-to-end case passes anyway. Post-commit review: Codex adversarial/consistency/perf all clean; the boot auditor found the tri-state itself wrong on two shapes (trailing comma at root, truncation after the crc32 colon, both reading ABSENT where the root is genuinely broken) and both were fixed on both sides, since a tri-state whose third state is wrong on the inputs it exists to classify is the contract being wrong, not an imprecision. The parity pass filed two MEDIUMs it verified at file:line: a rejected store is invisible on screen (the sole matchingefi_printis an unrelated consent line, the menu cannot cover for it because the candidate list is empty, and the QR-code error screen this repo already shipped is simply never invoked) -> TODO-03 §22, filed WITH an Implementation Order row because that file is COMPLETED and a body-only filing is invisible to the oracle; and a corrupt store has no shadow copy, A/B pair or regeneration route -> TODO-07 §23.stub-lint-baseline.jsonre-recorded twice: the first attribution named refs that are not counted and carried a bucket figure forward instead of measuring it, and the second was correct until the 250-char cap forced an item lead to split, moving a ref onto a continuation where the resolver does not bind it -- the file's own warning, met twice in one section. 34,089 kernel + 17 user tests, 6,317 boot-suite, 141 host validator cases, smoke matrix 4/4, lint 0 errors. Ship push refused a third consecutive time by the unsatisfiable plugin-MANIFEST row (filed in v19, control plane, verified byte-identical to HEAD~1) alongside the in-pack-onlytest_build.shflake at 843/844 against 844/844 standalone; pushed with a scopedSKIP_TOOLING_SUITE=1. - 2026-09-05 | 01-boot-platform/TODO-03 §23 shipped
77d7a2f98+ reviewed5ca1a2185-- the error-screen resolution floor became one shared predicate (bsod_tier_for) plus a compact renderer; all four gated call sites converted and the old boolean deleted. Floors measured against the shipped atlases (full stays 800x600; compact 480x256). The post-review parity pass caught a HIGH five Codex legs had approved past: the anti-rollback halt had no NONE arm and no QR call, so below the floor it still refused a boot in silence. Also filed TODO-28 §12 (pixel oracle) with an IO row, and six findings into overnight-runner-improvements-v19. - 2026-09-28 | 00-infrastructure/TODO-10 | validated
93323a9b8+ gap-audited4511836c3(new §24 versioned release docs, §25 search + accessibility, §23 link check; reciprocal D12 T06) | §3 shipped386814181+ reviewed3ec5b3c03-- docs page contract, template and folder map; PageContract tests pin every section's page folder; create-todo step upgrade parked operator-gated (v20 capture)