Skip to content

Commit 6bc4d47

Browse files
resolve OQ-001 (A): coordinator + verification host — drop redundant src/ ABI/FFI scaffold (#56)
## Summary — resolves OQ-001 (option A) nextgen-typing's long-standing identity contradiction (OQ-001: "docs-only coordinator, no compiler code" **vs** an in-tree RSR ABI/FFI scaffold) is resolved as **coordination monorepo + cross-project verification host** — *not* an ABI/compiler repo. The evidence made the call clear: `src/interface/Abi/{Types,Layout,Foreign}.idr` was a strict **subset** of the fuller canonical `verification/proofs/idris2/ABI/` (Compliance/Platform/Pointers/Layout/Foreign + Types), plus a redundant `src/interface/ffi/` Zig duplicate and **committed Idris build artifacts** (`src/interface/build/ttc/…`). So the scaffold was redundant template residue. ## Changes - **Dropped the `src/` RSR scaffold** (45 files): redundant ABI subset, Zig FFI duplicate, committed `.ttc`/`.ttm` build artifacts, and `src/{aspects,bridges,contracts,core,definitions,errors}` manifest stubs. The canonical proofs in `verification/proofs/` are untouched. - **Justfile**: removed the `src/interface/{Abi,ffi,generated}` existence checks from `validate-rsr` and the `self-assess` structure report. Bonus: fixed stale root→`6a2/` paths in `validate-rsr`'s required-file + META-axis checks (left dead by the #34 migration). `proof-check-idris2` already targets `verification/proofs/` — untouched. - **`.gitignore`**: added `*.ttc`, `*.ttm`, `zig-out/`. - **Identity reconciled**: README.adoc + EXPLAINME.adoc now state "does not contain compiler or application code; it documents and coordinates the pipeline, and hosts the cross-project formal-verification proofs in `verification/proofs/`." STATE.a2ml marks **OQ-001 resolved**, `phase = "coordination + verification-host"`. ## Safety No CI workflow or Justfile recipe executes the dropped `src/` paths (verified — `e2e.yml`/`workflow-linter.yml` only use `src/**` as benign trigger/lang-detection globs). `.claude/` doesn't exist in this repo. STATE parses as TOML. ## Follow-ups (filed as issues, not in this PR) 1. **Proof-CI**: nothing currently builds `verification/proofs/` — a real proof-CI needs agda+stdlib (+echo-types lib), lean4, coq, idris2 toolchains. This is the key next step to make the "verification host" identity enforced rather than asserted. 2. **Doc sweep**: 6 docs (e.g. `docs/developer/ABI-FFI-README.adoc` — a stale stub with an unfilled `{{~ ~}}` token) still mention `src/interface/Abi`; retarget to `verification/proofs/` or drop the ABI/FFI authoring docs. 🤖 Draft — opened for review. https://claude.ai/code/session_01GJatEm2TVFSTBEkKXmserJ --- _Generated by [Claude Code](https://claude.ai/code/session_01GJatEm2TVFSTBEkKXmserJ)_ --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent 626791a commit 6bc4d47

50 files changed

Lines changed: 30 additions & 994 deletions

Some content is hidden

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

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,8 @@ deps/
112112
.cache/
113113
build/
114114
dist/
115+
116+
# Idris2 compiled artifacts (verification/proofs/idris2) + Zig build output
117+
*.ttc
118+
*.ttm
119+
zig-out/

.machine_readable/6a2/STATE.a2ml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
[metadata]
77
project = "nextgen-typing"
88
version = "0.1.0"
9-
last-updated = "2026-06-12"
9+
last-updated = "2026-06-15"
1010
status = "active"
1111

1212
[project-context]
@@ -18,15 +18,16 @@ Hosts cross-repo architecture docs, pipeline roadmap, and research artefacts tha
1818
Does NOT contain compiler code.
1919
"""
2020
# Reconciled 2026-06-05 (PR #31): the earlier completion=100 was inconsistent with
21-
# reality. PROOF-STATUS.md records 0 of 7 mandated proofs done (0% proven), and the
22-
# repo still carries an un-rescoped RSR code scaffold (src/interface/,
23-
# verification/proofs/). Maturity reflects scaffold/early state, not a finished
24-
# coordination layer. Recalibration retained at the 2026-06-12 checkpoint: work
25-
# landed since #31 is CI/governance/docs only — it does not move the scaffold needle.
21+
# reality. PROOF-STATUS.md records 0 of 7 mandated proofs done (0% proven).
22+
# OQ-001 RESOLVED 2026-06-15 (option A): the repo is a docs-only coordination
23+
# monorepo + cross-project verification host. The redundant src/ RSR ABI/FFI
24+
# scaffold was removed (it was a strict subset of the canonical proofs in
25+
# verification/proofs/); "no compiler code" is affirmed. Completion still reflects
26+
# early state: the verification proofs in verification/proofs/ are not yet built in CI.
2627
completion-percentage = 10
2728

2829
[position]
29-
phase = "scaffold"
30+
phase = "coordination + verification-host"
3031
maturity = "scaffold"
3132

3233
[route-to-mvp]
@@ -55,7 +56,7 @@ summary = [
5556

5657
[blockers-and-issues]
5758
issues = [
58-
{ id = "OQ-001", kind = "open-question", status = "open", raised = "2026-06-05", title = "Identity contradiction — coordination monorepo vs RSR proof scaffold", detail = "Narrative/STATE describe a docs-only coordination monorepo (\"does NOT contain compiler code\"), but src/interface/ + verification/proofs/ carry an un-rescoped RSR code scaffold; reconcile (docs-only ⇒ Tier T5/Exempt, drop scaffold) vs (real proof repo ⇒ re-scope). NOT decided here." },
59+
{ id = "OQ-001", kind = "open-question", status = "resolved", raised = "2026-06-05", resolved = "2026-06-15", title = "Identity contradiction — coordination monorepo vs RSR proof scaffold", detail = "Narrative/STATE describe a docs-only coordination monorepo (\"does NOT contain compiler code\"), but src/interface/ + verification/proofs/ carry an un-rescoped RSR code scaffold; reconcile (docs-only ⇒ Tier T5/Exempt, drop scaffold) vs (real proof repo ⇒ re-scope). NOT decided here.", resolution = "Resolved 2026-06-15 (A): docs-only coordinator + cross-project verification host; the redundant src/ RSR ABI/FFI scaffold was removed (canonical proofs live in verification/proofs/); 'no compiler code' affirmed." },
5960
{ id = "OQ-002", kind = "template-residue", status = "open", raised = "2026-06-12", title = "Unreplaced template placeholders across community-health files", detail = "Template tokens (OWNER, REPO, AUTHOR, SECURITY_EMAIL, CONDUCT_*) remain unfilled in .github/ community files, self-validating/ k9 templates, and QUICKSTART-MAINTAINER.adoc; .machine_readable/ai/PLACEHOLDERS.adoc is the index. Needs a maintainer fill-in pass (just init or manual)." },
6061
]
6162

EXPLAINME.adoc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
88
== What This Is
99

1010
`nextgen-typing` is the **coordination monorepo** for the hyperpolymath type
11-
theory pipeline. It does not contain compiler code. It documents, connects,
11+
theory pipeline. It does not contain compiler or application code; it
12+
documents and coordinates the pipeline, and hosts the cross-project
13+
formal-verification proofs in `verification/proofs/`. It documents, connects,
1214
and tracks the pipeline:
1315

1416
----

Justfile

Lines changed: 10 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -419,24 +419,6 @@ self-assess:
419419
echo "── RELEVANT (matches your project) ───────────────────────"
420420
echo ""
421421
422-
if $HAS_IDRIS && { [ -d "src/interface/Abi" ] || [ -d "src/interface/abi" ]; }; then
423-
echo " ✓ src/interface/Abi|abi/ — KEEP (Idris2 ABI definitions)"
424-
elif ! $HAS_IDRIS && { [ -d "src/interface/Abi" ] || [ -d "src/interface/abi" ]; }; then
425-
echo " ? src/interface/Abi|abi/ — No Idris2 detected."
426-
echo " → KEEP if you plan to add formal verification later."
427-
echo " → SAFE TO REMOVE if this project will never use Idris2."
428-
echo " ⚠ Consequence: no formally verified interface definitions."
429-
fi
430-
431-
if $HAS_ZIG && [ -d "src/interface/ffi" ]; then
432-
echo " ✓ src/interface/ffi/ — KEEP (Zig FFI bridge)"
433-
elif ! $HAS_ZIG && [ -d "src/interface/ffi" ]; then
434-
echo " ? src/interface/ffi/ — No Zig detected."
435-
echo " → KEEP if you plan C ABI interop later."
436-
echo " → SAFE TO REMOVE if this is a pure web/scripting project."
437-
echo " ⚠ Consequence: no C-compatible FFI bridge."
438-
fi
439-
440422
if $HAS_API && [ -f ".machine_readable/integrations/groove.a2ml" ]; then
441423
PORT=$(grep '(port ' .machine_readable/integrations/groove.a2ml 2>/dev/null | sed 's/.*(port \([0-9]*\)).*/\1/')
442424
if [ "$PORT" = "0" ]; then
@@ -1053,30 +1035,24 @@ validate-rsr:
10531035
for f in .editorconfig .gitignore Justfile README.adoc LICENSE 0-AI-MANIFEST.a2ml; do
10541036
[ -f "$f" ] || MISSING="$MISSING $f"
10551037
done
1056-
for f in .machine_readable/STATE.a2ml .machine_readable/META.a2ml .machine_readable/ECOSYSTEM.a2ml .machine_readable/anchors/ANCHOR.a2ml .machine_readable/policies/MAINTENANCE-AXES.a2ml .machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml .machine_readable/policies/SOFTWARE-DEVELOPMENT-APPROACH.a2ml; do
1038+
for f in .machine_readable/6a2/STATE.a2ml .machine_readable/6a2/META.a2ml .machine_readable/6a2/ECOSYSTEM.a2ml .machine_readable/6a2/anchor/ANCHOR.a2ml .machine_readable/policies/MAINTENANCE-AXES.a2ml .machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml .machine_readable/policies/SOFTWARE-DEVELOPMENT-APPROACH.a2ml; do
10571039
[ -f "$f" ] || MISSING="$MISSING $f"
10581040
done
10591041
for f in licensing/exhibits/EXHIBIT-A-ETHICAL-USE.txt licensing/exhibits/EXHIBIT-B-QUANTUM-SAFE.txt licensing/texts/MPL-2.0.txt; do
10601042
[ -f "$f" ] || MISSING="$MISSING $f"
10611043
done
1062-
if [ ! -d "src/interface/Abi" ] && [ ! -d "src/interface/abi" ]; then
1063-
MISSING="$MISSING src/interface/Abi"
1064-
fi
1065-
for f in src/interface/ffi src/interface/generated; do
1066-
[ -d "$f" ] || MISSING="$MISSING $f"
1067-
done
10681044
for f in docs/governance/MAINTENANCE-CHECKLIST.adoc docs/governance/SOFTWARE-DEVELOPMENT-APPROACH.adoc; do
10691045
[ -f "$f" ] || MISSING="$MISSING $f"
10701046
done
1071-
if [ -f ".machine_readable/META.a2ml" ]; then
1072-
grep -q 'axis-1 = "must > intend > like"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:axis-1"
1073-
grep -q 'axis-2 = "corrective > adaptive > perfective"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:axis-2"
1074-
grep -q 'axis-3 = "systems > compliance > effects"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:axis-3"
1075-
grep -q 'scoping-first = true' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:scoping-first"
1076-
grep -q 'idris-unsound-scan = "believe_me/assert_total"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:idris-unsound-scan"
1077-
grep -q 'audit-focus = "systems in place, documentation explains actual state, safety/security accounted for, observed effects reviewed"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:audit-focus"
1078-
grep -q 'compliance-focus = "seams/compromises/exception register, bounded exceptions, anti-drift checks"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:compliance-focus"
1079-
grep -q 'effects-evidence = "benchmark execution/results and maintainer status dialogue/review"' .machine_readable/META.a2ml || MISSING="$MISSING META.a2ml:effects-evidence"
1047+
if [ -f ".machine_readable/6a2/META.a2ml" ]; then
1048+
grep -q 'axis-1 = "must > intend > like"' .machine_readable/6a2/META.a2ml || MISSING="$MISSING META.a2ml:axis-1"
1049+
grep -q 'axis-2 = "corrective > adaptive > perfective"' .machine_readable/6a2/META.a2ml || MISSING="$MISSING META.a2ml:axis-2"
1050+
grep -q 'axis-3 = "systems > compliance > effects"' .machine_readable/6a2/META.a2ml || MISSING="$MISSING META.a2ml:axis-3"
1051+
grep -q 'scoping-first = true' .machine_readable/6a2/META.a2ml || MISSING="$MISSING META.a2ml:scoping-first"
1052+
grep -q 'idris-unsound-scan = "believe_me/assert_total"' .machine_readable/6a2/META.a2ml || MISSING="$MISSING META.a2ml:idris-unsound-scan"
1053+
grep -q 'audit-focus = "systems in place, documentation explains actual state, safety/security accounted for, observed effects reviewed"' .machine_readable/6a2/META.a2ml || MISSING="$MISSING META.a2ml:audit-focus"
1054+
grep -q 'compliance-focus = "seams/compromises/exception register, bounded exceptions, anti-drift checks"' .machine_readable/6a2/META.a2ml || MISSING="$MISSING META.a2ml:compliance-focus"
1055+
grep -q 'effects-evidence = "benchmark execution/results and maintainer status dialogue/review"' .machine_readable/6a2/META.a2ml || MISSING="$MISSING META.a2ml:effects-evidence"
10801056
grep -q 'compliance-tooling = "panic-attack"' .machine_readable/policies/MAINTENANCE-AXES.a2ml || MISSING="$MISSING MAINTENANCE-AXES.a2ml:compliance-tooling"
10811057
grep -q 'effects-tooling = "ecological checking with sustainabot guidance"' .machine_readable/policies/MAINTENANCE-AXES.a2ml || MISSING="$MISSING MAINTENANCE-AXES.a2ml:effects-tooling"
10821058
grep -q 'source-human = "docs/governance/MAINTENANCE-CHECKLIST.adoc"' .machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml || MISSING="$MISSING MAINTENANCE-CHECKLIST.a2ml:source-human"

README.adoc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
1616

1717
`nextgen-typing` is the coordination monorepo for the hyperpolymath type
1818
theory research and production pipeline. It does not contain compiler
19-
code. It documents relationships between type-theoretic repos, tracks
19+
or application code; it documents and coordinates the pipeline, and hosts
20+
the cross-project formal-verification proofs in `verification/proofs/`.
21+
It documents relationships between type-theoretic repos, tracks
2022
the pipeline roadmap, and hosts research artefacts that span multiple projects.
2123

2224
== The Main Chain

src/0.1-AI-MANIFEST.a2ml

Lines changed: 0 additions & 27 deletions
This file was deleted.

src/README.adoc

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/aspects/0.2-AI-MANIFEST.a2ml

Lines changed: 0 additions & 17 deletions
This file was deleted.

src/aspects/README.adoc

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/aspects/integrity/0.3-AI-MANIFEST.a2ml

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)