Skip to content
Jonathan D.A. Jewell edited this page Aug 7, 2026 · 3 revisions

Invariant Path

A claim-path debugger, not a truth engine. It does not decide whether a claim is true. It shows the path a claim took, and where along that path it stopped meaning what it meant at the start.

The canonical statement of the idea lives in 0-AI-MANIFEST.a2ml, in a (core-idea …) block marked do-not-paraphrase. Quote it or link to it; this wiki deliberately does not restate it.

Start here

If you want to… Read
Understand what the repository is for 0-AI-MANIFEST.a2ml(core-idea …)
Understand how the work is arranged ARCHITECTURE.md
Understand the three-layer checker The three layers
Know what is broken docs/DEBT.md
Add a profile or a heuristic docs/EXTENDING.md
Follow a ruling docs/decisions/

The one-paragraph version

A claim is asserted in one domain, then re-expressed in another — a specification lowered into code, a source language emitted through several backends, a proof obligation discharged in a different logic. Two things can be true at once: the claim holds on both sides, and it does not mean the same thing on both sides.

That second case is what this tool exists for, and it fails silently by construction. A test inside domain A checks A against itself; a test inside domain B checks B against itself. Cross-domain equality is not expressible from inside either domain, so every test can pass forever while the load-bearing claim is already broken — and everything looks green, because each side really is internally consistent.

Two things live here

The governance front-end for a three-layer claim checker. This is where the layer architecture is decided and recorded. Most of the intellectual work is here, in the ADRs. See The three layers.

A working extractor and classifier. A Rust CLI that finds claim transitions in repository artifacts and records what each preserves and loses. This is what currently ships.

The second is not an implementation of the first. The layers are decided, not built.

Its dual

007's hermeneutic semantics is this repository's mirror, and the two are halves of one concern:

Syntax Semantics The silent failure
Invariant Path different must be the same forms diverge in meaning, each self-consistent
007 / hermeneutic the same may be read differently one form carries two readings; the wrong one is assumed

Many forms, one meaning against one form, many meanings. Work on either without reading the other and the fix is incomplete.

Status

Phase A complete (2026-04-15). ADR-0001 accepted (2026-08-05).

CI was cured on 2026-08-05. Until then every workflow terminated as startup_failure before any step ran, for want of an Actions lockfile, and main had never been green — so every gate was decorative. Ten workflows now pass on main, including Rust CI, CodeQL and Secret Scanner, and they can genuinely fail.

Three residual items: OSSF Scorecard still fails to start, and two workflows fail on content, untriaged. See docs/DEBT.md C1–C4.

⚠ Worth keeping in mind regardless: gh pr checks shows nothing wrong for a parse-rejected workflow, because it emits no check run at all. Use gh run list.

Clone this wiki locally