44[metadata]
55project = "proven"
66version = "0.1.0"
7- last-updated = "2026-05-20 "
7+ last-updated = "2026-05-30 "
88status = "active"
99
1010[project-context]
@@ -13,21 +13,27 @@ completion-percentage = "stable"
1313phase = "stable-library"
1414
1515[proof-coverage]
16- # Counts as of 2026-05-20 audit (standards#158 Fork A).
17- safe-modules-with-proofs-idr-directory = 41
16+ # Counts as of 2026-05-30 (Phase 3 discharge campaign in flight).
17+ safe-modules-with-proofs-idr-directory = 93
18+ # Up from 41 (2026-05-20) — the Fork A annotation campaign + ad-hoc
19+ # additions extended coverage to 93 Proven.Safe.* modules with their
20+ # own Proofs.idr file.
21+
1822safe-modules-clean = 6
19- # Clean = zero bodyless decls. Modules: SafeChecksum, SafeBuffer, SafeBloom,
20- # SafeCryptoAccel, SafeHKDF, SafeFPGA. These landed 2026-05-19/20 and set the
21- # OWED convention.
23+ # Clean = zero bodyless decls. Original convention-setting set:
24+ # SafeChecksum, SafeBuffer, SafeBloom, SafeCryptoAccel, SafeHKDF,
25+ # SafeFPGA. Many more modules have partial discharge (DISCHARGED on
26+ # some lemmas, OWED on others) but still carry OWED entries.
2227
23- safe-modules-with-owed-annotation = 28
24- # Annotated via PRs #37-64 under standards#158 Fork A (excl. #36 = CI bump).
25- # Eight locally idris2-0.8.0-verified: #52 #54 #56 #57 #58 #60 #62 #63.
28+ bodyless-decls-total = 256
29+ # All annotated with ||| OWED: + 0 erased-multiplicity per the
30+ # SafeChecksum convention. See PROOF-NEEDS.md "OWED-with-justification
31+ # convention" and META.a2ml ADR-001.
2632
27- bodyless -decls-total = 250
28- # All annotated with ||| OWED: + 0 erased-multiplicity per the SafeChecksum
29- # convention. See PROOF-NEEDS.md "OWED-with-justification convention" and
30- # META.a2ml ADR-001 .
33+ discharged -decls = 34
34+ # DISCHARGED entries (OWED → proven Refl or contrib-lemma) landed
35+ # across Phase 3 PRs #97-124 (2026-05-30 session). Each PR converts
36+ # one OWED to a machine-checked theorem .
3137
3238[trust-posture]
3339believe-me-uses = 0
@@ -37,11 +43,29 @@ postulate-keyword-uses = 0
3743# explicit OWED declarations with named blocker + discharge condition.
3844
3945[active-campaigns]
40- fork-a-annotation = "complete (28 DRAFT PRs filed, awaiting estate CI clear of concurrency-pool exhaustion)"
46+ fork-a-annotation = "complete"
47+ phase-3-discharge = "in flight — umbrella issue #90, sequencing SafeUrl → SafeRegex → SafeBase64 → SafeEmail. 34 DISCHARGED of ~209 Tier A sites (~16% as of 2026-05-30). PRs #97-124 landed this cycle."
4148fork-b-discharge = "triage open — quick-wins flagged in PROOF-NEEDS.md (SafeCrypto isSecure refactor; SafePath already-Refl pairs)"
4249
50+ [ci-infrastructure]
51+ # 2026-05-30 session — workflow hardening
52+ fuzzing = "ClusterFuzzLite + cargo-fuzz; 4 fuzz targets on FFI parse surface (safe_url_parse, safe_email_is_valid, safe_json_is_valid, safe_path_has_traversal). Per-PR + weekly batch; PR #121. Replaces prior broken setup (pointed at nonexistent dir + AGPL header)."
53+ concurrency-cancel = "added to architecture-enforcement.yml, idris2-ci.yml, zig-ffi.yml, trustfile.yml, boj-build.yml. PR #115."
54+ per-job-timeouts = "added to the same 4 workflows; budget proportional to expected runtime (5-45 min)."
55+ branch-protection-main = "6 safe settings active: dismiss_stale_reviews, required_linear_history, required_conversation_resolution, required_signatures, allow_force_pushes=false, allow_deletions=false. enforce_admins + required_approving_review_count=0 deliberately to preserve solo admin-merge workflow."
56+
57+ [security-tab-state]
58+ # 2026-05-30 — Hypatia + CodeQL + Scorecard alert disposition
59+ csa-self-echo-dismissed = 29
60+ code-safety-fp-dismissed = 27
61+ workflow-audit-unknown-dismissed = 44
62+ codeql-actions-missing-permissions-source-fixed = "PR #120 (boj-build.yml restructure)"
63+ scorecard-binary-artifacts-source-fixed = "PR #120 (bindings/ephapax/test_ffi removed + gitignore extended)"
64+ scorecard-fuzzing-source-fixed = "PR #121 (real ClusterFuzzLite + cargo-fuzz)"
65+
4366[session-history]
4467# Most recent first.
68+ "2026-05-30" = "Phase 3 discharge: PRs #97-124 land (~28 OWED→DISCHARGED conversions). Security tab cleanup: source-fixes for #2 / #296 / #299 + branch-protection safe-subset + 100 Hypatia FP alerts dismissed at API. Estate-wide CSA self-echo bulk-dismiss sweep (~9050 alerts) running in background."
4569"2026-05-20" = "Fork A campaign complete: 250 bodyless decls across 28 of 41 modules annotated via OWED-with-justification convention (PRs #37-64, Refs standards#158); cross-prover audit confirms 0 Lean sorry / 0 Coq Admitted in first-party code (only echidnabot dogfood fixtures)"
4670"2026-05-19" = "Six new modules merged with explicit OWED markers (SafeChecksum, SafeBuffer, SafeBloom, SafeCryptoAccel, SafeHKDF, SafeFPGA) — convention-setting"
4771"2026-05-18" = "PROOF-NEEDS.md honesty refresh (standards#124); ~70 single-file overclaim modules surfaced separately from the Proofs.idr-directory audit"
0 commit comments