Skip to content

[ALL] DOCS: refresh NEXT_SESSION handoff — verified baseline, Rocq 9.1.1 fix, corpus-gap pickup - #54

Draft
ib823 wants to merge 1 commit into
mainfrom
claude/codebase-assessment-plan-5pvbh5
Draft

[ALL] DOCS: refresh NEXT_SESSION handoff — verified baseline, Rocq 9.1.1 fix, corpus-gap pickup#54
ib823 wants to merge 1 commit into
mainfrom
claude/codebase-assessment-plan-5pvbh5

Conversation

@ib823

@ib823 ib823 commented Aug 3, 2026

Copy link
Copy Markdown
Owner

Summary

Follow-up to #53 (merged as a5ee2ce). Makes NEXT_SESSION.md usable for a fresh session, and fixes the drift the audit found in this very file.

Docs only — no code, no workflow, no proof changes.

Changes

STEP 2 — Rocq provisioning corrected (FINDING 3). The old block was wrong in three ways: it said 9.2 (the Makefile header, CLAUDE.md and the CI job name all say 9.1.1), it used ocaml-system.4.14.1 instead of ocaml-base-compiler.4.14.2, and it omitted --disable-sandboxing, without which opam init fails in an unprivileged container. Replaced with the exact sequence run end-to-end this session — the one that built all 328 files. Also records the ~25 min provisioning cost against a ~2m15s build, since that ratio is the main argument for a persistent environment.

STEP 3 — baseline replaced with measured values at a5ee2ce: 2912/0 proto, 304/0 tooling, 328/328 Coq files, Qed 12,626 / Admitted 0 / Abort 0 / Axiom 0 / Parameter 30, corpus 64 of 165 passing, and 4 (not 2) expected audit-docs.sh warnings. Adds the SBOM drift check, which was missing entirely.

Two corrections that matter for the next session's trust:

  • cargo clippy --all-targets is NOT clean (FINDING 2) — this file previously asserted it was. The enforced form is plain cargo clippy, which does pass.
  • Notes the 180 Print Assumptions reports, all "Closed under the global context" as the strongest evidence in the repo — kernel-level axiom-freedom, not a grep.

STEP 4 — leads with the audit's structural conclusion. Gate C's only open exit criterion is REQ-28, the external crypto audit, deferred by the owner on 2026-06-10. Every other gate's remaining blocker is external too. So a plan framed as "close the gates" stalls immediately. Points instead at the corpus gap with the measured failure-class breakdown — 70% parse-level, 15% REQ-44(b) forward references, 85% together — and records that the forward-ref half is Rust-only, not Coq-blocked, because the core Coq calculus has no recursion constructor to widen and foundations/RecursionSafety.v already mechanizes the rule.

Also notes CI is green as of a5ee2ce, and that no in-repo gate checks CI status — the blind spot that let it stay red for 8+ pushes.

Type

  • Bug fix
  • New feature
  • Documentation
  • Example .rii file
  • Formal proof
  • Refactor

Testing

  • scripts/audit-docs.sh → exit 0, 0 discrepancies, 4 expected warnings
  • cargo test --all — n/a, no code changed
  • cargo clippy -- -D warnings — n/a, no code changed
  • Coq build — n/a, no proofs changed
  • New tests added — n/a

Checklist

  • No external dependencies added
  • No unsafe without justification — no code changed
  • No Admitted in Coq proofs — no proofs changed
  • Examples use Bahasa Melayu keywords — no examples changed

Note

The branch was restarted from main after #53 merged, per the merged-PR protocol, so this is a new PR rather than a reopen. The force-with-lease push replaced only already-merged history.


Generated by Claude Code

…1.1 fix, corpus-gap pickup

Makes the session bootstrap actually usable after the 2026-08-02 audit, and
fixes the drift the audit found in this very file.

STEP 2 — corrected Rocq 9.2 -> 9.1.1 (FINDING 3). The old block was wrong in
three ways: version, switch package (ocaml-system.4.14.1 -> ocaml-base-compiler
.4.14.2), and it omitted --disable-sandboxing, without which opam init fails in
an unprivileged container. Replaced with the exact sequence run and verified
end-to-end this session (built all 328 files). Records the ~25 min provisioning
cost against a ~2m15s build, since that ratio is the main reason to prefer a
persistent environment.

STEP 3 — replaced the unverifiable baseline with measured values at a5ee2ce:
2912/0 proto, 304/0 tooling, 328/328 Coq files, Qed 12,626 / 0 / 0 / 0 / 30,
corpus 64 pass of 165, 4 (not 2) expected audit-docs warnings. Flags that
`--all-targets` clippy is NOT clean (FINDING 2) so the next session does not
trust a claim this file used to make. Notes the 180 "Closed under the global
context" reports as the strongest evidence in the repo. Adds the SBOM drift
check, which was missing.

STEP 4 — leads with the audit's structural conclusion: Gate C is budget-blocked
on the owner-deferred REQ-28, and every other gate's remaining blocker is
external too, so "close the gates" is not a viable plan. Points instead at the
corpus gap with the measured failure-class breakdown (70% parse-level, 15%
REQ-44(b) forward references, together 85%) and records that the forward-ref
half is Rust-only, not Coq-blocked.

Also notes CI is green as of a5ee2ce and that no in-repo gate checks CI status
-- the blind spot that let it stay red for 8+ pushes.

audit-docs.sh: exit 0, 0 discrepancies, 4 expected warnings.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016qQCunxB3dDkhDzdmKoEmU
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants