Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .clinerules
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
# state, estate governance/CI scaffold, and CROSS-project proofs in
# verification/proofs/ that import >=2 constituent repos (e.g. agda/EchoTyping.agda).

# Then: read 0-AI-MANIFEST.a2ml, then .machine_readable/6a2/STATE.a2ml.
# Then: read 0-AI-MANIFEST.a2ml, then .machine_readable/descriptiles/STATE.a2ml.
# Licence MPL-2.0 (never AGPL) + SPDX header on every file.
# Banned langs: TypeScript->ReScript, npm/Node->Deno, Go->Rust, Python->Julia/Rust.
# Containers: Podman + Containerfile. Build via just.
Expand Down
2 changes: 1 addition & 1 deletion .cursorrules
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
# state, estate governance/CI scaffold, and CROSS-project proofs in
# verification/proofs/ that import >=2 constituent repos (e.g. agda/EchoTyping.agda).

# Then: read 0-AI-MANIFEST.a2ml, then .machine_readable/6a2/STATE.a2ml.
# Then: read 0-AI-MANIFEST.a2ml, then .machine_readable/descriptiles/STATE.a2ml.
# Licence MPL-2.0 (never AGPL) + SPDX header on every file.
# Banned langs: TypeScript->ReScript, npm/Node->Deno, Go->Rust, Python->Julia/Rust.
# Containers: Podman + Containerfile. Build via just.
Expand Down
2 changes: 1 addition & 1 deletion .envrc
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ fi
export PROJECT_NAME="nextgen-typing — Type Theory Pipeline"
export RSR_TIER="infrastructure"
# export DATABASE_URL="..."
# export API_KEY="..."
# Supply any service credentials through the ignored .env file, never here.

# Source .env if it exists (gitignored)
dotenv_if_exists
6 changes: 3 additions & 3 deletions .github/workflows/actions.lock
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ workflows:
- 'dependabot/fetch-metadata@v2.2.0'
'.github/workflows/dogfood-gate.yml':
- 'actions/checkout@v4.3.1'
- 'hyperpolymath/a2ml-ecosystem@main'
- 'hyperpolymath/deed-ecosystem@main'
- 'hyperpolymath/k9-ecosystem@main'
'.github/workflows/e2e.yml': []
'.github/workflows/governance.yml': []
Expand Down Expand Up @@ -125,9 +125,9 @@ dependencies:
commit: 'sha1-c6f931105cb2c34c8f901cc885ba1e2e259cf745'
owner_id: 9919
repo_id: 259445878
'hyperpolymath/a2ml-ecosystem@main':
'hyperpolymath/deed-ecosystem@main':
ref: 'main'
commit: 'sha1-aa4b836bd969df2bc58128cb8e3d20bbc88d5e79'
commit: 'sha1-f7a40a4d5cc82b2e73f861119baa6818d77a448d'
owner_id: 6759885
repo_id: 1275649586
'hyperpolymath/k9-ecosystem@main':
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/dogfood-gate.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: MPL-2.0
# This workflow is managed by gh actions-lock.
# SPDX-License-Identifier: MPL-2.0
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
#
# dogfood-gate.yml — Hyperpolymath Dogfooding Quality Gate
Expand Down Expand Up @@ -40,7 +40,7 @@ jobs:

- name: Validate A2ML manifests
if: steps.detect.outputs.count > 0
uses: hyperpolymath/a2ml-ecosystem/validate-action@main
uses: hyperpolymath/deed-ecosystem/validate-action@f7a40a4d5cc82b2e73f861119baa6818d77a448d # main; same revision as actions.lock
with:
path: '.'
strict: 'false'
Expand Down Expand Up @@ -385,4 +385,3 @@ jobs:
*Generated by the [Dogfood Gate](https://github.com/hyperpolymath/rsr-template-repo) workflow.*
*Dogfooding is guinea pig fooding — we test our tools on ourselves.*
EOF

14 changes: 7 additions & 7 deletions .github/workflows/openssf-compliance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,13 +75,13 @@ jobs:
exit 1
fi

# Canonical location is .machine_readable/6a2/ (estate standard;
# Hypatia SD004 flags any *.a2ml of the 6a2 set OUTSIDE 6a2/).
if [ ! -f ".machine_readable/6a2/STATE.a2ml" ]; then
echo "::error::.machine_readable/6a2/STATE.a2ml is required"
# Canonical location is .machine_readable/descriptiles/ (estate standard;
# Hypatia SD004 flags any *.a2ml of the descriptiles set OUTSIDE descriptiles/).
if [ ! -f ".machine_readable/descriptiles/STATE.a2ml" ]; then
echo "::error::.machine_readable/descriptiles/STATE.a2ml is required"
exit 1
fi
echo ".machine_readable/6a2/STATE.a2ml: OK"
echo ".machine_readable/descriptiles/STATE.a2ml: OK"

- name: Check CHANGELOG exists
run: |
Expand All @@ -99,8 +99,8 @@ jobs:
# Collect all required files that exist
for f in SECURITY.md SECURITY.adoc .github/SECURITY.md LICENSE LICENSE.txt \
CONTRIBUTING.md CONTRIBUTING.adoc README.md README.adoc \
.machine_readable/6a2/STATE.a2ml .machine_readable/6a2/META.a2ml \
.machine_readable/6a2/ECOSYSTEM.a2ml CHANGELOG.md CHANGELOG.adoc; do
.machine_readable/descriptiles/STATE.a2ml .machine_readable/descriptiles/META.a2ml \
.machine_readable/descriptiles/ECOSYSTEM.a2ml CHANGELOG.md CHANGELOG.adoc; do
[ -f "$f" ] && REQUIRED_FILES="$REQUIRED_FILES $f"
done

Expand Down
32 changes: 13 additions & 19 deletions .github/workflows/workflow-linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,13 @@ jobs:
failed=0
for file in .github/workflows/*.yml .github/workflows/*.yaml; do
[ -f "$file" ] || continue
if ! head -1 "$file" | grep -q "^# SPDX-License-Identifier:"; then
if ! awk '/^#/ { if ($0 ~ /^# SPDX-License-Identifier:/) found=1; next } /^[[:space:]]*$/ { next } { exit } END { exit !found }' "$file"; then
echo "ERROR: $file missing SPDX header"
failed=1
fi
done
if [ $failed -eq 1 ]; then
echo "Add '# SPDX-License-Identifier: MPL-2.0' as first line"
echo "Add '# SPDX-License-Identifier: MPL-2.0' to the opening comment header"
exit 1
fi
echo "All workflows have SPDX headers"
Expand All @@ -62,24 +62,18 @@ jobs:
fi
echo "All workflows have permissions declared"

- name: Check SHA-Pinned Actions
- name: Verify action lockfile coverage
env:
GH_TOKEN: ${{ github.token }}
GH_CONFIG_DIR: ${{ runner.temp }}/workflow-linter-gh
XDG_DATA_HOME: ${{ runner.temp }}/workflow-linter-data
run: |
echo "=== Checking Action Pinning ==="
# Find any uses: lines that don't have @SHA format
# Pattern: uses: owner/repo@<40-char-hex>
unpinned=$(grep -rnE "^[[:space:]]+uses:" .github/workflows/ | \
grep -v "@[a-f0-9]\{40\}" | \
grep -v "uses: \./\|uses: docker://\|uses: actions/github-script" || true)

if [ -n "$unpinned" ]; then
echo "ERROR: Found unpinned actions:"
echo "$unpinned"
echo ""
echo "Replace version tags with SHA pins, e.g.:"
echo " uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.1"
exit 1
fi
echo "All actions are SHA-pinned"
# Binary extensions accept release tags, not source commit pins.
# Verify the v0.1.6 linux-amd64 release bytes before executing them.
gh release download v0.1.6 --repo github/gh-actions-lock --pattern linux-amd64 --output "$RUNNER_TEMP/gh-actions-lock"
echo "4181ec1da5408b34b9a542a7ee5c6ce3a4d6ac815c7d0206a00ceca8a817f4e3 $RUNNER_TEMP/gh-actions-lock" | sha256sum --check --strict
chmod +x "$RUNNER_TEMP/gh-actions-lock"
"$RUNNER_TEMP/gh-actions-lock" --verify-local

- name: Check for Duplicate Workflows
run: |
Expand Down
4 changes: 2 additions & 2 deletions .machine_readable/ai/AI.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ constituent repos) under `verification/proofs/`.

## Workflow

1. Read `0-AI-MANIFEST.a2ml`, then `.machine_readable/6a2/STATE.a2ml` for
1. Read `0-AI-MANIFEST.a2ml`, then `.machine_readable/descriptiles/STATE.a2ml` for
blockers and next actions.
2. Respect `.machine_readable/6a2/AGENTIC.a2ml` constraints.
2. Respect `.machine_readable/descriptiles/AGENTIC.a2ml` constraints.
3. Before creating any file, confirm placement against `placement.a2ml`.
4. After edits, update STATE with outcomes; commit with a concise message.

Expand Down
4 changes: 2 additions & 2 deletions .machine_readable/ai/README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ Recommended machine read order:
* `.machine_readable/policies/MAINTENANCE-AXES.a2ml`
* `.machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml`
* `.machine_readable/policies/SOFTWARE-DEVELOPMENT-APPROACH.a2ml`
* `.machine_readable/6a2/STATE.a2ml`
* `.machine_readable/6a2/META.a2ml`
* `.machine_readable/descriptiles/STATE.a2ml`
* `.machine_readable/descriptiles/META.a2ml`
2 changes: 1 addition & 1 deletion .machine_readable/anchors/README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
// Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
= anchors Registry

MOVED: the anchor record now lives at `.machine_readable/6a2/anchor/ANCHOR.a2ml`
MOVED: the anchor record now lives at `.machine_readable/descriptiles/anchor/ANCHOR.a2ml`
(estate-standardization layout, 2026-06-12). This directory remains only as a
forwarding stub for older references.
2 changes: 1 addition & 1 deletion .machine_readable/bot_directives/README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ interactive agents.

== Relationship to Other Files

* `../6a2/AGENTIC.a2ml` says WHAT agents can do (permissions, gating)
* `../descriptiles/AGENTIC.a2ml` says WHAT agents can do (permissions, gating)
* `bot_directives/` says HOW agents should work (methodology) and what
the automation fleet may do (fleet-specific)
* `CLAUDE.md` (where present) says how Claude specifically should work
Expand Down
4 changes: 2 additions & 2 deletions .machine_readable/bot_directives/gitbot-fleet.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ ci-green-before-merge = true
# Adapted for nextgen-typing: no .claude/CLAUDE.md exists here (listed
# defensively), proofs live under verification/proofs/, and the ABI scaffold
# under src/interface/ is frozen pending the OQ-001 identity decision
# (see 6a2/STATE.a2ml). The anchor is maintainer-only.
# (see descriptiles/STATE.a2ml). The anchor is maintainer-only.
never-touch = [
".claude/CLAUDE.md",
"verification/proofs/",
"src/interface/",
".machine_readable/6a2/anchor/ANCHOR.a2ml",
".machine_readable/descriptiles/anchor/ANCHOR.a2ml",
"LICENSE",
]

Expand Down
7 changes: 5 additions & 2 deletions .machine_readable/bot_directives/placement.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

[metadata]
version = "1.0.0"
last-updated = "2026-06-19"
last-updated = "2026-09-09"
applies-to = "nextgen-typing"
precedence = "maintainer > this directive > bot defaults"

Expand Down Expand Up @@ -51,12 +51,15 @@ rules = [
{ subject = "TypeLL kernel: dependent/linear/session types, QTT, proof-carrying code, effects", owns = "typell" },
{ subject = "WasmGC memory-safety proofs, verified convergence ABI, aggregate-library conventions", owns = "typed-wasm" },
{ subject = "echo-types library: fiber-based structured loss (Echo/EchoLinear/EchoResidue/EchoCharacteristic)", owns = "echo-types", companion = "EchoTypes.jl" },
{ subject = "standpoint-indexed access, warrants and sound proof transport", owns = "epistemic-types" },
{ subject = "evidence-indexed residual models, explorer, candidate-world proofs and tests", owns = "residual-evidence-types" },
{ subject = "cross-project type-family map, shared glossary and connection obligations", owns = "nextgen-typing" },
{ subject = "choreographic / multiparty session types", owns = "choreographic-types" },
{ subject = "TypeFix Zero / micro-Type-0 calibration calculus", owns = "typefix-zero" },
{ subject = "AffineScript language code", owns = "affinescript" },
{ subject = "Ephapax language code / region calculus", owns = "ephapax" },
{ subject = "query-language type safety (SQL/GraphQL/Cypher/SPARQL/VQL)", owns = "typedqliser", also = "vcl-ut" },
{ subject = "tropical / semiring type theory (Isabelle/Lean)", owns = "tropical-resource-typing" },
{ subject = "tropical / semiring type theory (Isabelle/Lean)", owns = "tropical-types", former-name = "tropical-resource-typing" },
{ subject = "transport-adapter / max-plus pathfinding", owns = "protocol-squisher" },
{ subject = "eNSAID reference env (downstream consumer of TypeLL)", owns = "panll" },
]
Expand Down
8 changes: 4 additions & 4 deletions .machine_readable/contractiles/Adjustfile.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ output this repo produces (docs, CLI tooling, diagrams).
## Documentation Drift

### readme-state-sync
- description: README.adoc, docs/ARCHITECTURE.adoc, docs/PIPELINE.adoc and 6a2/{STATE,META,ECOSYSTEM}.a2ml should agree
- tolerance: No contradictions between narrative docs and 6a2 metadata
- corrective: Run the periodic drift scan listed in 6a2/STATE.a2ml critical-next-actions
- description: README.adoc, docs/ARCHITECTURE.adoc, docs/PIPELINE.adoc and descriptiles/{STATE,META,ECOSYSTEM}.a2ml should agree
- tolerance: No contradictions between narrative docs and descriptiles metadata
- corrective: Run the periodic drift scan listed in descriptiles/STATE.a2ml critical-next-actions
- severity: advisory

### pipeline-currency
Expand All @@ -40,7 +40,7 @@ output this repo produces (docs, CLI tooling, diagrams).
- tolerance: 0 {{PLACEHOLDER}} markers outside .machine_readable/ai/PLACEHOLDERS.adoc
- corrective: Fill per PLACEHOLDERS.adoc (just init or manual sed pass)
- severity: advisory
- notes: As of 2026-06-12 placeholders remain in .github/ community files, self-validating/ k9 templates, and QUICKSTART-MAINTAINER.adoc (tracked as OQ-002 in 6a2/STATE.a2ml)
- notes: As of 2026-06-12 placeholders remain in .github/ community files, self-validating/ k9 templates, and QUICKSTART-MAINTAINER.adoc (tracked as OQ-002 in descriptiles/STATE.a2ml)

## Structural Drift

Expand Down
2 changes: 1 addition & 1 deletion .machine_readable/contractiles/Bustfile.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ a working recovery path is a gate failure under the bust verb.
### metadata-corruption
- description: A .a2ml file becomes unparseable or contradicts reality
- class: partial_write
- recovery: restore from git history (git checkout origin/main -- <file>); 6a2/ is canonical, root pointers are derivable
- recovery: restore from git history (git checkout origin/main -- <file>); descriptiles/ is canonical, root pointers are derivable
- expected-recovery-time-seconds: 300
- status: declared

Expand Down
4 changes: 2 additions & 2 deletions .machine_readable/contractiles/Dustfile.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ dust items accumulate as warnings, they do not gate.
- severity: info

### no-root-scm-state
- description: Root S-expr state files retired — 6a2 A2ML is canonical; root STATE.a2ml is a pointer only (2026-06-12)
- description: Root S-expr state files retired — descriptiles A2ML is canonical; root STATE.a2ml is a pointer only (2026-06-12)
- run: "! grep -l '^(state' .machine_readable/*.a2ml 2>/dev/null | head -1 | grep -q ."
- severity: warning
- notes: Root META.a2ml / ECOSYSTEM.a2ml still carry S-expr bodies duplicating 6a2/; proposed for the same pointer-ization (see 2026-06-12 checkpoint report)
- notes: Root META.a2ml / ECOSYSTEM.a2ml still carry S-expr bodies duplicating descriptiles/; proposed for the same pointer-ization (see 2026-06-12 checkpoint report)

## Build Artifacts

Expand Down
10 changes: 5 additions & 5 deletions .machine_readable/contractiles/Intentfile.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
# Provenance: repo-true rewrite at the 2026-06-12 governance checkpoint.
# The former root INTENT.contractile was an unfilled rsr-template stub
# ({{ONE_PARAGRAPH_PURPOSE}} placeholders); purpose/anti-purpose below are
# populated from README.adoc, EXPLAINME.adoc and 6a2/META.a2ml ADRs.
# populated from README.adoc, EXPLAINME.adoc and descriptiles/META.a2ml ADRs.

@abstract:
North-star contractile for nextgen-typing, the coordination monorepo for
Expand Down Expand Up @@ -62,7 +62,7 @@ This repository is NOT:
## If In Doubt

If you are unsure whether a change is in scope, ask. Sensitive areas:
- .machine_readable/ contractile definitions and 6a2/anchor/
- .machine_readable/ contractile definitions and descriptiles/anchor/
- verification/proofs/ + src/interface/ (frozen pending OQ-001)
- Governance docs (GOVERNANCE.adoc, MAINTAINERS.adoc, CODEOWNERS)
- License policy documents
Expand All @@ -71,15 +71,15 @@ If you are unsure whether a change is in scope, ask. Sensitive areas:

### decide-oq-001
- description: Decide the identity contradiction — docs-only coordination monorepo vs real proof repo (drop or re-scope the RSR code scaffold)
- probe: grep -q 'OQ-001.*status = "open"' .machine_readable/6a2/STATE.a2ml && echo open
- probe: grep -q 'OQ-001.*status = "open"' .machine_readable/descriptiles/STATE.a2ml && echo open
- status: declared
- notes: Raised 2026-06-05 (PR #31); blocks proof-debt resolution (6 believe_me markers)

### placeholder-fill
- description: Replace remaining template placeholders per .machine_readable/ai/PLACEHOLDERS.adoc
- probe: "! grep -rl 'hyperpolymath' .github/ 2>/dev/null | head -1 | grep -q ."
- status: declared
- notes: Tracked as OQ-002 in 6a2/STATE.a2ml
- notes: Tracked as OQ-002 in descriptiles/STATE.a2ml

### track-tropical-extensions
- description: Track Tropical.thy extensions (linorder instance, tropical matrices, Kleene algebra) in tropical-resource-typing and mirror in docs
Expand All @@ -102,7 +102,7 @@ If you are unsure whether a change is in scope, ask. Sensitive areas:
- notes: Proposed in README.adoc (2026-06-09); design-stage

#### drift-scan-automation
- description: Periodic automated drift scan keeping README/ARCHITECTURE/PIPELINE/6a2 synchronized
- description: Periodic automated drift scan keeping README/ARCHITECTURE/PIPELINE/descriptiles synchronized
- horizon: near
- status: declared

Expand Down
8 changes: 4 additions & 4 deletions .machine_readable/contractiles/Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,7 @@ verify-template:
fi

# Check for empty SCM files
for f in .machine_readable/6a2/STATE.a2ml .machine_readable/6a2/META.a2ml .machine_readable/6a2/ECOSYSTEM.a2ml; do
for f in .machine_readable/descriptiles/STATE.a2ml .machine_readable/descriptiles/META.a2ml .machine_readable/descriptiles/ECOSYSTEM.a2ml; do
if [ -f "$f" ] && grep -q '{{'{{'}}' "$f" 2>/dev/null; then
echo "⚠ $f still has template placeholders"
FOUND=1
Expand Down Expand Up @@ -403,10 +403,10 @@ self-assess:
fi
done

if [ -d ".machine_readable/6a2" ]; then
echo " ✓ .machine_readable/6a2/ — KEEP (SCM checkpoint files)"
if [ -d ".machine_readable/descriptiles" ]; then
echo " ✓ .machine_readable/descriptiles/ — KEEP (SCM checkpoint files)"
else
echo " ✗ .machine_readable/6a2/ — MISSING (RSR violation!)"
echo " ✗ .machine_readable/descriptiles/ — MISSING (RSR violation!)"
fi

if [ -d ".github/workflows" ]; then
Expand Down
12 changes: 6 additions & 6 deletions .machine_readable/contractiles/Mustfile.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
# Folds the former nested contractiles/must/Mustfile.a2ml checks and the
# universal invariants of the former root MUST.contractile (both removed
# by the estate-standardization merge). Directory checks updated to the
# post-merge flat layout (no nested bust/dust dirs; 6a2/anchor singular).
# post-merge flat layout (no nested bust/dust dirs; descriptiles/anchor singular).

@abstract:
Physical-state invariants for nextgen-typing, the coordination monorepo
Expand Down Expand Up @@ -69,13 +69,13 @@ hooks fail if any check fails.
- severity: critical

### six-directory-present
- description: 6a2 directory exists with required files
- run: test -d .machine_readable/6a2 && test -f .machine_readable/6a2/META.a2ml && test -f .machine_readable/6a2/ECOSYSTEM.a2ml && test -f .machine_readable/6a2/STATE.a2ml && test -f .machine_readable/6a2/PLAYBOOK.a2ml && test -f .machine_readable/6a2/AGENTIC.a2ml && test -f .machine_readable/6a2/NEUROSYM.a2ml
- description: descriptiles directory exists with required files
- run: test -d .machine_readable/descriptiles && test -f .machine_readable/descriptiles/META.a2ml && test -f .machine_readable/descriptiles/ECOSYSTEM.a2ml && test -f .machine_readable/descriptiles/STATE.a2ml && test -f .machine_readable/descriptiles/PLAYBOOK.a2ml && test -f .machine_readable/descriptiles/AGENTIC.a2ml && test -f .machine_readable/descriptiles/NEUROSYM.a2ml
- severity: critical

### anchor-directory
- description: anchor directory exists in 6a2 with ANCHOR.a2ml
- run: test -f .machine_readable/6a2/anchor/ANCHOR.a2ml
- description: anchor directory exists in descriptiles with ANCHOR.a2ml
- run: test -f .machine_readable/descriptiles/anchor/ANCHOR.a2ml
- severity: warning

### self-validating-structure
Expand Down Expand Up @@ -133,7 +133,7 @@ hooks fail if any check fails.
- description: No believe_me in Idris2 code
- run: "! grep -r 'believe_me' --include='*.idr' . 2>/dev/null | grep -v node_modules | head -1 | grep -q ."
- severity: critical
- notes: 6 believe_me markers currently exist in scaffold proof files; recorded tech debt (docs/tech-debt-2026-05-26.md, PRs #12/#18), pending the OQ-001 identity decision in 6a2/STATE.a2ml. The check stays red until that decision lands — do not weaken it to hide the debt.
- notes: 6 believe_me markers currently exist in scaffold proof files; recorded tech debt (docs/tech-debt-2026-05-26.md, PRs #12/#18), pending the OQ-001 identity decision in descriptiles/STATE.a2ml. The check stays red until that decision lands — do not weaken it to hide the debt.

### no-sorry
- description: No sorry in Lean code
Expand Down
Loading
Loading