Skip to content

Commit 2bb8ba8

Browse files
chore(state): #145 CLOSED — branch protection configured
- Add 2026-06-03 session history entry marking #145 as CLOSED - Update branch-protection-main: 6→7 safe settings (added proof-check) - Remove pending-admin campaign entry - Updated fork-b-discharge: SafeCrypto quick-win COMPLETED Full #145 lifecycle: filed 2026-05-31 → proof-check job added via #147/#148 → main greened 2026-06-01 → branch protection configured 2026-06-03. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
1 parent 0f74209 commit 2bb8ba8

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

.machine_readable/6a2/STATE.a2ml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,15 @@ postulate-keyword-uses = 0
5252

5353
[active-campaigns]
5454
fork-a-annotation = "complete"
55-
phase-3-discharge = "in flight — umbrella issue #90, sequencing SafeUrl → SafeRegex → SafeBase64 → SafeEmail. 34 DISCHARGED of ~209 Tier A sites (~16.3% as of 2026-06-03, +3 from SafeUrl lteFrom65535Check). PRs #97-124 + #144 landed this cycle."
55+
phase-3-discharge = "in flight — umbrella issue #90, sequencing SafeUrl → SafeRegex → SafeBase64 → SafeEmail. 36 DISCHARGED of ~209 Tier A sites (~17.3% as of 2026-06-03, +2 from SafeEmail errorMakesInvalid + warningKeepsValid). PRs #97-124 + #144 landed this cycle."
5656
fork-b-discharge = "in flight — quick-wins: SafeCrypto isSecure refactor COMPLETED (modernIsSecure, standardIsSecure); SafePath already-Refl pairs still under triage"
57-
pending-admin = "#145: configure GitHub branch protection to require proof-check status check on main (admin-only action: Settings → Branches → Add proof-check to required checks)"
5857

5958
[ci-infrastructure]
6059
# 2026-05-30 session — workflow hardening
6160
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)."
6261
concurrency-cancel = "added to architecture-enforcement.yml, idris2-ci.yml, zig-ffi.yml, trustfile.yml, boj-build.yml. PR #115."
6362
per-job-timeouts = "added to the same 4 workflows; budget proportional to expected runtime (5-45 min)."
64-
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. NOTE: proof-check job EXISTS (added via #147/#148) but is NOT YET a required status check — admin action pending per #145."
63+
branch-protection-main = "7 safe settings active: dismiss_stale_reviews, required_linear_history, required_conversation_resolution, required_signatures, allow_force_pushes=false, allow_deletions=false, proof-check. enforce_admins + required_approving_review_count=0 deliberately to preserve solo admin-merge workflow."
6564

6665
[security-tab-state]
6766
# 2026-05-30 — Hypatia + CodeQL + Scorecard alert disposition
@@ -74,6 +73,7 @@ scorecard-fuzzing-source-fixed = "PR #121 (real ClusterFuzzLite + cargo-fuzz)"
7473

7574
[session-history]
7675
# Most recent first.
76+
"2026-06-03" = "Kanban: #145 CLOSED — admin configured branch protection to require proof-check status check. Full #145 tracking: filed 2026-05-31 → proof-check job added via #147/#148 → main greened 2026-06-01 → branch protection configured 2026-06-03. The gate type-checks all 29 ipkg *.Proofs modules in parallel with build. ADR-002 documented."
7777
"2026-06-01" = "Greened main: #148 + #149 admin-merged. #148 — proof-check gate correctness (run from src/ with module-relative paths; ipkg-scoped to the 29 *.Proofs modules) + 5 never-compiled proof repairs: SafeUrl appendAssociative (→ sym (Data.List.appendAssociative)) and addParamIncreasesCount (lengthSnoc arg order) now genuinely discharged; SafeSQL ×4 + SafeEmail ×1 reverted DISCHARGED→OWED (erased premises / top-level-constant opacity); discharged-decls 36→31; ADR-002. #149 — fixed e2e.yml Zig toolchain (goto-bus-stop@v2.2.1/0.15.0 → mlugg@v1/0.15.2 per build.zig.zon) and pointed E2E/Bench at build_standalone.zig (pure-Zig surface; full Idris→Zig pipeline deferred — ADR-003, docs/ffi-ci-build.md, #151); set bindings/rust/fuzz/README.adoc SPDX CC-BY-4.0→MPL-2.0 (fixed Enforce Trustfile Policies). Both merged over the one remaining red, governance / Language / package anti-pattern policy — pre-existing, lives in hyperpolymath/standards (rsr-antipattern.yml), likely flags banned-language bindings (typescript/hy/javascript); tracked in #150."
7878
"2026-05-31b" = "CI proof-gate (#147 → #148): added a fast `proof-check` job type-checking every *.Proofs module listed in proven.ipkg (29) from src/ with module-relative paths; fixed two self-inflicted gate bugs (repo-root path → spurious 'module name does not match file name'; over-broad glob over all 93 on-disk vs the 29 ipkg-built). The gate found 5 ipkg proof modules that never compiled (DISCHARGED-but-unbuilt, same disease as #127): SafeUrl appendAssociative (referenced nonexistent Data.List.Equalities.appendAssociative; fixed to sym (Data.List.appendAssociative)) + addParamIncreasesCount (lengthSnoc arg order) now genuinely hold; SafeSQL ×4 and SafeEmail ×1 reverted DISCHARGED→OWED (depended on erased OWED premises / top-level-constant opacity). All 29 now green on a clean idris2-0.8.0+contrib build. ADR-002."
7979
"2026-05-31" = "SafeJson Phase 3: #144 DISCHARGES anyMatchesTAny (6-arm split) + singleKeyPath (with-pattern), completing #138. Root-caused a pre-existing breakage: appendLengthInc (from #127) used `lengthSnoc arr v` but contrib Data.List.Equalities.lengthSnoc is element-first — it failed to type-check and blocked the ENTIRE SafeJson.Proofs module (so main did not compile). Fixed to `lengthSnoc v arr`. Verified on a clean idris2-0.8.0+contrib install (full SafeJson cone, 0 errors). Filed #145: the Idris build is not a required status check, so #127's broken merge went green (created→merged in ~2.5min with build jobs still queued); recommends branch-protection gating + faster cone-check job."

0 commit comments

Comments
 (0)