Skip to content

Commit 4d5ecbd

Browse files
hyperpolymatharena-agentcoderabbitai[bot]
authored
Archive non-active provers; migrate a2ml to deed and K9; CodeRabbit config (#187)
## Summary - **Proof stack (owner ruling 2026-10-10):** Idris 2 and Agda are the active stack, with Z3 as a solver. Coq, Lean 4, Isabelle and Mizar are archived under `archive/proofs/`, with the archived six-prover gate and its self-test. New active gate: `proofs/verify-active-provers.sh`. - **CI:** `proofs.yml` now has `agda`, `z3` and `idris` jobs. The `idris` job builds `absolute-zero-abi.ipkg` on the digest-pinned image that `pages.yml` already uses. The `coq` and `lean` jobs are removed. The z3 job no longer runs the archived self-test; a replacement is open. - **Build and containers:** `Justfile` (and its byte-identical copy at `.machine_readable/contractiles/Justfile`), `Containerfile` and `.gitlab-ci.yml` no longer build the archived provers. - **A2ML retirement (D99, D269c, D312, D313):** 20 `.a2ml` sources moved to `archive/a2ml-v1/` with a migration ledger. Added `absolute-zero_chora.deed`, six K9 contracts under `.machine_readable/contractiles/<verb>/`, and `coordination.k9`. - **CodeRabbit (D217):** `.coderabbit.yaml` disables the docstring finishing touch that commits to the branch. The app-side setting still needs changing outside the repo. - **Plan:** `docs/ULTRAPLAN-OPEN-ISSUES-2026-10-10.adoc` (revision 2) revisits the ten open issues. ## Not verified - **Signatures:** the commit `d74e907` is **unsigned**. The signed-commit floor will fail until it is re-landed as a signed cherry-pick (per D215–D218). This PR is a draft for that reason. - **Provers:** Agda, Z3 and Idris 2 were not run. `verify-active-provers.sh` fails closed in the sandbox because the tools are missing. CI results on this branch are the first evidence. - **Migration:** Nickel L2 validation of the K9 files was not run (no binary available). The template's `deed-validate.yml` was not run. The four Hunt contracts (`must`, `trust`, `bust`, `intend`) are unsigned (K-1) and must not run as Hunt until signed. The `author` email in the K9 files is unverified. - **Lock:** `actions.lock` drift (N1) is not addressed here. `main` is red on Governance, Scorecard and CodeQL for that reason. ## Open owner decisions See Q1–Q11 in the ultraplan. Q10 is recorded as the bounded Coq exception for the abstract CNO interface. Nothing is un-archived yet. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Changes** * The active verification suite now runs Idris 2 and Agda checks, alongside bounded Z3 checks. * Coq, Lean 4, Isabelle/HOL, and Mizar proofs are archived and no longer included in the build and verification gates. * Repository metadata and coordination information now use the deed and K9 formats; A2ML materials are archived. * **Documentation** * Updated repository guidance and proof-status documentation to reflect the active proof suite and archived materials. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
1 parent 6010145 commit 4d5ecbd

87 files changed

Lines changed: 2994 additions & 384 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.claude/CLAUDE.md‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
## Machine-Readable Artefacts
22

3-
The following files in `.machine_readable/descriptiles/` contain structured
4-
project metadata (a2ml is TOML-flavoured, not Guile Scheme):
3+
A2ML is retired (standards D99, D269c, D312, D313). The old `.a2ml` sources are
4+
archived under `archive/a2ml-v1/` and must not be recreated or extended. Use:
55

6-
- `STATE.a2ml` - Current project state and progress
7-
- `META.a2ml` - Architecture decisions and development practices
8-
- `ECOSYSTEM.a2ml` - Position in the ecosystem and related projects
9-
- `AGENTIC.a2ml` - AI agent interaction patterns
10-
- `NEUROSYM.a2ml` - Neurosymbolic integration config
11-
- `PLAYBOOK.a2ml` - Operational runbook
6+
- `absolute-zero_chora.deed` - project metadata (state, ecosystem, agentic and
7+
policy clauses). Deed grammar; validate with the estate deed linter.
8+
- `.machine_readable/contractiles/<verb>/<verb>.k9.ncl` - the six contracts
9+
(must, trust, dust, bust, adjust, intend). The four Hunt contracts are unsigned
10+
and must not run as Hunt until signed (ledger K-1).
11+
- `coordination.k9` - coordination metadata (repo root).
1212

1313
---
1414

@@ -29,7 +29,7 @@ project metadata (a2ml is TOML-flavoured, not Guile Scheme):
2929
| **Bash/POSIX Shell** | Scripts, automation | Keep minimal |
3030
| **JavaScript** | Only where AffineScript cannot, or as per-language reference (examples/) | Avoid for new code unless integrating an external JS API |
3131
| **Nickel** | Configuration language | For complex configs |
32-
| **Guile Scheme** | Scripting where needed | (state/meta files are `.machine_readable/descriptiles/*.a2ml`, TOML-flavoured) |
32+
| **Guile Scheme** | Scripting where needed | (metadata is `<repo>_chora.deed`; contracts are `*.k9.ncl`; see Machine-Readable Artefacts) |
3333
| **Julia** | Batch scripts, data processing | Per RSR |
3434
| **OCaml** | AffineScript compiler | Language-specific |
3535
| **Ada** | Safety-critical systems | Where required |

‎.coderabbit.yaml‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# SPDX-License-Identifier: MPL-2.0
2+
# CodeRabbit configuration. Schema: https://coderabbit.ai/integrations/schema.v2.json
3+
#
4+
# Ruling D217: CodeRabbit does not push commits to PR branches. Bot commits on a
5+
# PR branch are unsigned and fail the estate signed-commit floor. Docstrings,
6+
# fix_ci and resolve_merge_conflict finishing touches are disabled here.
7+
# The matching app-UI settings must also be off; they live outside
8+
# this repo and are tracked in the ULTRAPLAN.
9+
#
10+
# The docstring pre-merge check stays advisory (mode: warning), as in
11+
# rsr-template-repo. CodeRabbit is advisory.
12+
reviews:
13+
pre_merge_checks:
14+
docstrings:
15+
mode: warning
16+
threshold: 80
17+
finishing_touches:
18+
docstrings:
19+
enabled: false
20+
fix_ci:
21+
enabled: false
22+
resolve_merge_conflict:
23+
enabled: false

‎.github/workflows/proofs.yml‎

Lines changed: 27 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,15 @@
11
# This workflow is managed by gh actions-lock.
22
# SPDX-License-Identifier: MPL-2.0
3-
# This workflow is managed by gh actions-lock.
4-
# This workflow is managed by gh actions-lock.
53
# Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
64
#
7-
# Proof verification CI. Runs the LIGHTWEIGHT provers that are fast and reliable
8-
# on a standard GitHub runner — Coq (both pillars, all 14 theories), Agda (CNO +
9-
# OND), and Z3 (CNO + OND bounded instances). Each is an INDEPENDENT job, so one
10-
# flaking never blocks the others.
5+
# Proof verification CI for the ACTIVE proof stack (owner ruling 2026-10-10):
6+
# * Agda — CNO + OND + EchoBridge (--safe --without-K)
7+
# * Z3 — CNO + OND bounded checks (expect-annotated)
8+
# * Idris 2 — the ABI package (absolute-zero-abi.ipkg)
9+
# Each is an INDEPENDENT job, so one flaking never blocks the others.
1110
#
12-
# The Mathlib-free Lean core (CNO, OND, CNOCategory, CNOBridge, FilesystemCNO,
13-
# LambdaCNO) is built here too, with the toolchain pinned in
14-
# proofs/lean4/lean-toolchain, and proofs/lean4/AxiomAudit.lean pins the
15-
# signature of every axiom and the axiom list of every theorem (issue #125).
16-
#
17-
# The heavy provers (Lean + multi-GB Mathlib for QuantumCNO/StatMech, Isabelle
18-
# ~1.2 GB, Mizar i386 + MML, Idris 2 from source) are NOT run here — they are
19-
# covered by the local/container gate `proofs/verify-all-provers.sh`
20-
# (ALL-PROVERS-GREEN). See PROOF-STATUS.adoc.
11+
# Coq, Lean 4, Isabelle/HOL and Mizar are ARCHIVED under archive/proofs/ and are
12+
# not gated here. See archive/README.adoc for the archive and its status.
2113
name: Proofs
2214

2315
on:
@@ -26,11 +18,14 @@ on:
2618
pull_request:
2719
paths:
2820
- 'proofs/**'
21+
- 'src/**'
22+
- 'scripts/check-proof-patterns.sh'
23+
- 'tests/check-proof-patterns.sh'
24+
- '.machine_readable/contractiles/trust/trust.k9.ncl'
2925
- 'absolute-zero-abi.ipkg'
3026
- '.github/workflows/proofs.yml'
3127
- 'Justfile'
3228
- '*.agda-lib'
33-
- 'lakefile*'
3429

3530
permissions:
3631
contents: read
@@ -41,37 +36,16 @@ concurrency:
4136
cancel-in-progress: true
4237

4338
jobs:
44-
coq:
45-
name: Coq — CNO + OND (14 theories)
39+
proof-patterns:
40+
name: Proof escape-hatch baseline
4641
runs-on: ubuntu-24.04
4742
steps:
4843
- uses: actions/checkout@v7.0.1
49-
- name: Install Coq
50-
run: sudo apt-get update && sudo apt-get install -y coq
51-
- name: Build all theories via coq_makefile
52-
working-directory: proofs/coq
53-
run: |
54-
coqc --version
55-
coq_makefile -f _CoqProject -o Makefile.all
56-
make -f Makefile.all -j"$(nproc)"
57-
echo "✓ Coq: 14/14 theories compiled (CNO + OND)"
58-
- name: Print Assumptions gate (17 named theorems closed) + control
59-
working-directory: proofs/coq
60-
run: |
61-
bash check-assumptions.sh
62-
bash check-assumptions.sh --control
63-
- name: Axiom tag grammar gate + control (issue #171)
64-
working-directory: proofs/coq
65-
run: |
66-
bash check-axiom-tags.sh
67-
bash check-axiom-tags.sh --control
68-
- name: Axiom dependency census (issue #171)
69-
working-directory: proofs/coq
70-
run: |
71-
bash census-assumptions.sh
44+
- run: bash scripts/check-proof-patterns.sh
45+
- run: bash tests/check-proof-patterns.sh
7246

7347
agda:
74-
name: Agda — CNO + OND
48+
name: Agda — CNO + OND + EchoBridge
7549
runs-on: ubuntu-24.04
7650
timeout-minutes: 25
7751
steps:
@@ -114,25 +88,18 @@ jobs:
11488
z3 --version
11589
bash proofs/z3/verify.sh
11690
echo "✓ Z3: every (check-sat) verdict matched its ; expect annotation"
117-
- name: Gate self-test (stub provers + z3 mutants must turn the gate red)
118-
run: bash proofs/tests/gate-selftest.sh
11991
120-
lean:
121-
name: Lean — core CNO (6 modules + axiom audit)
122-
runs-on: ubuntu-24.04
123-
timeout-minutes: 20
92+
idris:
93+
name: Idris 2 — ABI package (absolute-zero-abi.ipkg)
94+
runs-on: ubuntu-latest
95+
timeout-minutes: 30
96+
container:
97+
# Same pinned idris2-pack image as pages.yml (digest-pinned).
98+
image: ghcr.io/stefan-hoeck/idris2-pack@sha256:f0758996a931fb35d9ecb1de273c4d59dabe2a09b433afc7e357f65a08b7e1ff
12499
steps:
125100
- uses: actions/checkout@v7.0.1
126-
- name: Install elan v4.2.4 (sha256-verified) and the pinned toolchain
127-
# elan is fetched as a release tarball and checksum-verified rather than
128-
# via a third-party action, so the repo's Actions allow-list is not in
129-
# play. The toolchain itself comes from proofs/lean4/lean-toolchain.
101+
- name: Build the ABI package (type-checks every src/abi module)
130102
run: |
131-
curl -fsSL --retry 3 -o elan.tgz \
132-
https://github.com/leanprover/elan/releases/download/v4.2.4/elan-x86_64-unknown-linux-gnu.tar.gz
133-
echo "42b94d4244e8353142c456ec0e4ca6528fd898a6c604d4059f494e706e431f63 elan.tgz" | sha256sum -c -
134-
tar -xzf elan.tgz
135-
./elan-init -y --no-modify-path --default-toolchain none
136-
echo "$HOME/.elan/bin" >> "$GITHUB_PATH"
137-
- name: Build the six Mathlib-free modules and run the axiom audit
138-
run: bash proofs/lean4/check-core.sh
103+
idris2 --version
104+
idris2 --build absolute-zero-abi.ipkg
105+
echo "✓ Idris 2: absolute-zero-abi.ipkg builds"

‎.gitlab-ci.yml‎

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -46,20 +46,6 @@ build:affinescript:
4646
# Verification Stage
4747
# ============================================================================
4848

49-
verify:coq:
50-
stage: verify
51-
image: coqorg/coq:latest
52-
script:
53-
- cd proofs/coq/common
54-
- coqc CNO.v
55-
- cd ../malbolge
56-
- coqc -R ../common CNO MalbolgeCore.v
57-
artifacts:
58-
paths:
59-
- proofs/coq/**/*.vo
60-
expire_in: 1 day
61-
allow_failure: false
62-
6349
verify:z3:
6450
stage: verify
6551
image: ubuntu:22.04
@@ -70,26 +56,6 @@ verify:z3:
7056
- z3 cno_properties.smt2
7157
allow_failure: false
7258

73-
verify:lean4:
74-
stage: verify
75-
image: leanprover/lean4:latest
76-
script:
77-
- cd proofs/lean4
78-
- lake build
79-
artifacts:
80-
paths:
81-
- proofs/lean4/.lake/
82-
expire_in: 1 day
83-
allow_failure: true # Lean 4 may not be fully set up
84-
85-
verify:isabelle:
86-
stage: verify
87-
image: makarius/isabelle:latest
88-
script:
89-
- isabelle build -D proofs/isabelle
90-
allow_failure: true # Isabelle setup may vary
91-
92-
# ============================================================================
9359
# Test Stage
9460
# ============================================================================
9561

@@ -140,10 +106,8 @@ verify:summary:
140106
- echo "=========================================="
141107
- echo "Multi-Prover Verification Summary"
142108
- echo "=========================================="
143-
- echo "Coq: ✓ (if verify:coq passed)"
144109
- echo "Z3: ✓ (if verify:z3 passed)"
145-
- echo "Lean 4: ⚠ (if verify:lean4 passed, else optional)"
146-
- echo "Isabelle: ⚠ (if verify:isabelle passed, else optional)"
110+
- echo "Coq, Lean 4, Isabelle: archived under archive/proofs/ (retired 2026-10-10; not gated)"
147111
- echo ""
148112
- echo "Multi-prover agreement increases confidence!"
149113
when: always

‎.machine_readable/bot_directives/README.adoc‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
// SPDX-License-Identifier: CC-BY-SA-4.0
22
// Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
33
= bot_directives — per-repo directives for automated agents
4+
5+
NOTE: Retired 2026-10-10. The A2ML files described below are archived under `archive/a2ml-v1/` (see `archive/a2ml-v1/MIGRATION-LEDGER.adoc`). Repository metadata now lives in `absolute-zero_chora.deed`, and contracts live in `.machine_readable/contractiles/<verb>/<verb>.k9.ncl`. The text below describes the retired set and is kept as history until it is rewritten.
6+
47
:toc:
58

69
== Purpose

0 commit comments

Comments
 (0)