Skip to content

Phase 0: make the status surfaces true (trope-checker) - #102

Open
hyperpolymath wants to merge 16 commits into
mainfrom
claude/new-session-snuoro
Open

hyperpolymath wants to merge 16 commits into
mainfrom
claude/new-session-snuoro

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Phase 0 of the trope-stack plan ("make the truth legible"): one normative spec on the ratified carrier, a CI pin that actually typechecks Theorem B, and every status surface rewritten from commands run in the session that wrote it. Nine commits, one per task: the two pre-existing patches (spec v0.2 consolidation; proofs.yml Agda pin + Lean gate) followed by T1–T7 of the Phase 0 brief. No semantics changed; no theorem proved; the IR stays 0.2.

Sibling PRs: hermeneia #76 · vocarium #42 · haec #81 · trope-particularity-workbench #77. Suggested landing order: this one first, then workbench, haec, hermeneia, vocarium.

Changes

  • Patch 0001 spec/calculus.adoc consolidated at v0.2: nine effects with the atom-family table, A1–A3 inline, L1–L6 with lemma names (L6 commutativity new), cancellation structure C1–C3, tropical factorisation recorded as (B′) sighted, §7 as greatest post-fixed point + T-Fix-Decl, §8 soundness with per-result status, §9.3 prover roles, §10 with O1 split / O4 RESOLVED / O5 DEFINED / O6 opened / CO-1 DESIGNED-mechanisation-OPEN. spec/calculus-v0.2-draft.adoc folded in and removed; README and INTEGRATION-REPORT aligned.
  • Patch 0002 proofs.yml: the Agda job fetches Agda 2.7.0.1 + agda-stdlib 2.0 by SHA-256 (ubuntu-latest's apt pair, 2.6.3 + 1.7.3, fails at Data.Product.Base); the Lean honesty gate and verify-all cover all eight .lean files. actionlint clean.
  • T1 docs/status/PROOF-STATUS.adoc rewritten to the ratified world: one Proved table (Carrier & laws / Cancellation / Factorisation / Metatheory / Soundness) citing only identifiers that exist (grep-verified: 38 Idris2 + 43 Agda + 44 Lean names); Open list = spec §10; modelling notes carried over; 06-22/06-23/06-29 collapsed into dated History paragraphs.
  • T2 docs/status/ROADMAP.adoc: Shipped (v0.2); Open problems by reference to §10; "gated by O4", lax L4 and OPEN-B/B′/C gone as current items.
  • T3 AFFIRMATION.adoc: a 2026-10-27 entry from a full re-run (below), with two findings.
  • T4 TB/Reduction.agda footer (comment only): O4 is RESOLVED by ADR 0004; the single remaining obstruction is the operational model, DESIGNED in the CO-1 note, mechanisation plan §6 steps 1–5 extending this module; "NOT-REACHED, NO postulate" kept. just build-agda still exits 0.
  • T5 the three never-instantiated prover templates (coq/TypeSafety.v, tlaplus/StateMachine.tla, agda/Properties.agda) removed with their tree and recipe references; git grep for their names now hits only INTEGRATION-REPORT (history).
  • T6 docs/decisions/0005-v0.2-consolidation-o5-and-prover-roles.adoc (Proposed — owner to accept): D1 v0.2 normative; D2 O5 adopted from the workbench proposal of 2026-07-17; D3 O6 opened; D4 prover roles (Agda kernel, Idris2 reference, Lean provenance, Rust fast core); D5 three provers; D6 recorded-not-decided: fidelity carrier as a parameter (resource-algebra), Phase 1A.
  • T7 CHANGELOG.adoc: the v0.2 line and one line each for T3–T6. docs/status/READINESS.adoc grepped for the stale phrases: none, left untouched.

RSR Quality Checklist

Required

  • Tests pass — just trope-build && bash tests/conformance/run.sh (13 + 9), just trope-rust (13 + 9), just build-agda (exit 0); just build-lean NOT RUN locally (see Testing) — proofs.yml on this branch is the check
  • Code is formatted (the only non-prose change is an Agda comment)
  • Linter is clean (actionlint -shellcheck= -pyflakes= .github/workflows/proofs.yml clean)
  • No banned language patterns
  • No unsafe blocks without // SAFETY: comments (none added)
  • No banned functions (grep -rnE 'believe_me|assert_total|postulate' over the Idris2 trees → none; Lean honesty regexes over 8 files → clean; Agda --safe)
  • SPDX license headers present on all new/modified source files
  • No secrets, credentials, or .env files included

As Applicable

  • trope-checker_chora.deed — not touched (brief: deeds are owner-only)
  • Documentation updated for user-facing changes
  • docs/architecture/TOPOLOGY.adoc — architecture unchanged
  • CHANGELOG updated
  • New dependencies — none
  • ABI/FFI changes — none

Testing

All on this branch, 2026-10-27, Ubuntu 24.04 container; toolchain Agda 2.7.0.1 + agda-stdlib 2.0 (tag v2.0), Idris2 0.8.0 (built from tag v0.8.0 on Chez 9.5.8), rustc 1.97.0, just 1.40.0:

idris2 --typecheck verification/proofs/idris2/trope.ipkg      -> exit 0 (8 modules, %default total)
just trope-build && bash tests/conformance/run.sh             -> 13 verdict cases ok (witnesses match), 9 schema-invalid rejected; all pass
just trope-rust                                                -> same 13 + 9 against tropecheck-rs; all pass
just build-agda                                                -> All.agda + Smoke.agda --safe --without-K exit 0 (77 s + 5 s cold)
just proof-status                                              -> Idris2 14, Lean4 8, Agda 9 files
just proof-scan-dangerous                                      -> PASS
apt agda 2.6.3 + agda-stdlib 1.7.3 on All.agda                 -> exit 42, Data.Product.Base not found (finding 1, reproduced)
lean-source-honesty regexes over 8 tracked .lean files         -> clean
actionlint proofs.yml                                          -> clean

Not run locally: just build-lean — no lake, and the Lean toolchain and Mathlib cache hosts are unreachable from the container. The proofs.yml lean-build matrix on this branch is the attestation; it is paths-filtered, so it has been workflow_dispatched on claude/new-session-snuoro and its run will be cited here when green.

Observed, not fixed (pre-existing, issue filed): just proof-check-all is red on main too: proof-check-idris2 / proof-check-agda run per-file checks from the repo root so module names do not resolve, and the verification/proofs/idris2/ABI/* + Types.idr mint templates do not typecheck. The gates that mean something (just check, build-agda, trope-rust, verify-all) are green.

Owner-only items

  • Accept ADR 0005 (filed as Proposed).
  • Sign the AFFIRMATION commit on landing.
  • Decide D6 (fidelity carrier as a parameter) — Phase 1A.
  • Known reds on main as of the brief (scorecard, hypatia-scan, governance, Secret scan, Trope conformance) will be triaged on this PR's checks as they report.

Screenshots

n/a


Generated by Claude Code

… on the ratified carrier

spec/calculus.adoc was a v0.1 document (revnumber 0.1, 2026-06-22) with the
2026-07-07 ratification spliced in as notes, a separate never-merged v0.2
addendum (spec/calculus-v0.2-draft.adoc, 2026-06-23), and two design notes
carrying the operational model and the L4 analysis. It still said "seven
effects" while the vocabulary, EffectAtoms.lean and the IR say nine. A reader
— or an agent — following the spec alone got the pre-ratification world.

This folds the four into one v0.2 spec. What changed, section by section:

- §1: the object is stated as "property-instances as particulars", which every
  instance ontology supplies (tropes, modes, moments, qualities, SDCs), rather
  than as a commitment to one-category trope theory; §2 names the two
  constructs (attenuate, detach/FloatingQuality) that need instances to be
  particulars and would not survive a change of ontology.
- §3: the fate chain, bond fibring (HC-4) and merge are stated on the ratified
  carrier with A1–A3 inline; new §3.5 gives the nine-effect / nine-atom-family
  table (EffectAtoms.lean) and the two structure theorems, so "seven" and
  "nine" are reconciled: nine families, six writable, three faults.
- §4: L3 and L5 cover all three deceptive bottoms (two-sided zeros, A1); L4 is
  stated as holding in full with the Idris2/Lean/Agda lemma names; L6
  (commutativity) is new; the addendum's R-2026-06-23-02..04 become the
  cancellation structure C1–C3 with the ratified lemma names; the tropical
  factorisation re-run is recorded as (B′) sighted, with the pre-ratification
  (B) result kept as history.
- §5 T-Fuse: ⊔ is written ⊓ — the retention-order meet, "no better than its
  worse constituent" — matching the CO-1 note. Same meaning, one symbol.
- §6: the prevent/detect decision now names all three deceptive duals.
- §7: restated as greatest post-fixed point in the retention order with the
  decidable T-Fix-Decl rule, from the CO-1 note; the operational model is
  marked DESIGNED and its mechanisation OPEN.
- §8: each soundness result carries its status (exact lowering and β/let
  PROVED; conservative lowering and fix OPEN); the third firewall now cites a
  defined O5.
- §9.3: prover roles per the 2026-10-12 kernel ruling (Agda kernel, Idris2
  executable reference, Lean provenance, Rust fast core) — see ADR 0005.
- §10: O1 split into O1-carrier (PROVED) and O1-coord (OPEN, with the
  bond-transfer probe recorded as the live falsifier); O4 RESOLVED (ADR 0004);
  O5 DEFINED (adopted from the workbench proposal of 2026-07-17); O6 (ceiling
  verdict) newly opened; CO-1 listed with its DESIGNED/OPEN split.

Every lemma name cited in the spec was checked against the source files on
this branch (Idris2 Trope.*, Agda TB.*, Lean grade-boundary/* and
grade-factorisation/*). No normative rule changes semantics; the IR stays 0.2.

The README's repo map, firewall 3 and Status paragraph are brought into step;
INTEGRATION-REPORT.adoc gets a header note marking it historical rather than
being rewritten. CHANGELOG, ADR 0003 and PROOF-STATUS's dated history keep
their references to the addendum as records of what was true when written.
…n source

The `agda-theorem-b` job installed Agda from the runner's apt. ubuntu-latest is
24.04, whose agda-stdlib is 1.7.3, and Theorem B imports Data.Product.Base
(stdlib >= 2.0): the job fails at scope checking (exit 42). Reproduced here
2026-10-13 with Agda 2.6.3 / stdlib 1.7.3, exactly the runner's pair. The
workflow's own comment records a green run "under 2.6.4.3", which was a
Debian machine, not the runner. Because the workflow is paths-filtered to
verification/proofs/**, it has not run since the last proof change and the
red was never seen.

Fix: fetch the Agda 2.7.0.1 release binary and the agda-stdlib v2.0 archive,
verify both SHA-256 sums, register the stdlib under the name
theorem-b.agda-lib depends on (`standard-library`; the 2.0 archive calls
itself `standard-library-2.0`), set Agda_datadir and a UTF-8 locale. Verified
2026-10-13 with exactly these artefacts and sums: All.agda and Smoke.agda
typecheck under --safe --without-K, exit 0 (~100 s cold). The stdlib sum is
of the GitHub-generated tag archive (no release asset exists); if GitHub ever
regenerates it the checksum step fails loudly instead of testing something
else.

Also: `lean-source-honesty` and the mirroring `verify-all` recipe gated only
the two v0.1 files (GradeBoundary, GradeFactorisation). The spec now cites
GradeRatified, L4Monotonicity, TierTwoComplete, EffectAtoms and
GradeFactorisationR, so both now iterate every tracked Lean source. All eight
files pass the gate's regexes as they stand (run here).

actionlint -shellcheck= on proofs.yml: clean. The job's real run is still
needed: this sandbox has no Lean, so the lean-build matrix was not exercised.
What was wrong: PROOF-STATUS.adoc (revdate 2026-06-23) described the v0.1
carrier — a non-commutative ▷, a lax L4 that "fails on fate", CO-1 "gated by
O4", the OPEN-B/B′/C documentation gaps, "10/10" conformance — and listed as
open several results (O1 exhaustiveness, L4/L5 as lemmas) that are now proved.
A reader following it alone got the pre-ratification world.

What changed: one "Proved" table on the ratified carrier (Carrier & laws /
Cancellation / Factorisation / Metatheory / Soundness), citing only lemma names
that exist in the Idris2, Agda and Lean sources; one "Open" list matching
spec/calculus.adoc §10 (CO-1 mechanisation, O1-coord, O2, O3, O5 mechanisation,
O6) with where each is specified; the four modelling notes carried over; the
06-22 / 06-23 / 06-29 sections collapsed to one dated paragraph each under
"History", prefixed as superseded by R-2026-07-07 where they disagree.

What I ran: every cited identifier checked present by grep over
verification/proofs/{idris2/Trope,agda/theorem-b/TB,lean4} (38 + 43 + 44 names,
none missing); the acceptance grep for the stale phrases outside "== History"
returns nothing.

What I did not run: no prover in this commit (the AFFIRMATION commit carries
the runs).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDh3p24SCUjyM9HHT31
What was wrong: ROADMAP listed v0.2 as "in progress" with the v0.1 vocabulary
(CO-1 "gated by O4", the lax-L4 argument, OPEN-B/B′/C, a separate spec
addendum) although the carrier was ratified on 2026-07-07 and the spec
consolidated at v0.2.

What changed: "Shipped (v0.2)" lists the ratified carrier (ADR 0004), the Agda
carrier migration, L4 in full and L6, the atom factorisation (O1-carrier),
TierTwoComplete, the sighted factorisation re-run and the spec consolidation;
"Open problems" defers to spec/calculus.adoc §10 by reference and names CO-1
mechanisation as the next proof work; Deferred items kept.

What I ran: grep for "gated by O4|lax|OPEN-B|OPEN-C" over the file — no hits.

What I did not run: nothing else; documentation-only.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDh3p24SCUjyM9HHT31
What was wrong: the newest AFFIRMATION entry (2026-06-29) described the v0.1
carrier and cited 10/10 conformance cases and 8 schema-invalid fixtures; the
corpus has been 13 + 9 for months and the carrier was ratified on 2026-07-07.

What changed: a dated entry with an anchor (branch, commit, UTC time, exact
toolchain), one bullet per command, a short proved/open paragraph naming only
identifiers that exist, and two findings; :revdate: bumped.

What I ran (all in this session, on this branch):
  idris2 --typecheck verification/proofs/idris2/trope.ipkg   -> exit 0
  just trope-build && bash tests/conformance/run.sh           -> 13 + 9, all pass
  just trope-rust                                              -> 13 + 9, all pass
  just build-agda                                              -> PASS (All + Smoke)
  apt agda 2.6.3 + agda-stdlib 1.7.3 on All.agda               -> exit 42 (finding 1)
  lean-source-honesty regexes over 8 .lean files               -> clean

What I did not run: just build-lean (no lake / Mathlib reachable here) — written
as NOT RUN with the command named; the proofs.yml lean-build job is the
attestation and is cited in the PR.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDh3p24SCUjyM9HHT31
…n CO-1 alone

What was wrong: the NOT-REACHED footer of TB/Reduction.agda listed two
obstructions to fix-subject-reduction, the second being "a LIMIT CARRIER …
the open O4 fork (Conat-vs-tag)". ADR 0004 resolved O4 on 2026-07-07 (the
finitary carrier suffices; transfinitely deep fix is inexpressible), and the
operational model has since been designed.

What changed (comment only, no code): the footer now states one obstruction —
the operational model — DESIGNED in spec/notes/2026-07-07-co1-operational-model.adoc
(λ-trope, tagged values, T-Fix-Decl) with its mechanisation plan (that note's §6,
steps 1–5, extending this module), records O4 as RESOLVED by ADR 0004, and keeps
"NOT-REACHED, NO postulate" and the tier-stability remark.

What I ran: just build-agda (agda --safe --without-K All.agda + Smoke.agda) with
this edit in the tree -> PASS, exit 0.

What I did not run: nothing else applies.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDh3p24SCUjyM9HHT31
What was wrong: verification/proofs carried TypeSafety.v (Coq), StateMachine.tla
(TLA+) and Properties.agda — mint templates whose own text says "Replace with
your project's …", never instantiated — and the trees, usage lines and recipes
advertised a fourth and fifth prover the roles ruling does not assign here.

What changed: git rm of the three files; their lines dropped from the
verification/proofs/README.adoc and docs/status/PROOF-NEEDS.adoc trees and the
`just proof-check-coq` usage line; proof-check-coq removed from proof-check-all
and the Coq/TLA+ lines from proof-status (proof-scan-dangerous keeps its
harmless -name '*.v'); the awk's historical false-positive note no longer names
the removed file by path. The INTEGRATION-REPORT mention stays as history.

What I ran: git grep -n "TypeSafety\|StateMachine\|Properties.agda" -> only
INTEGRATION-REPORT.adoc; just proof-status -> runs (Idris2 14, Lean4 8, Agda 9
files); just proof-check-all -> runs and is red for pre-existing reasons
unrelated to this change (per-file idris2/agda checks from the repo root cannot
resolve module names; the ABI/Types Idris2 mint templates do not typecheck) —
recorded in AFFIRMATION and as an issue; just proof-scan-dangerous -> PASS.

What I did not run: coqc / tlc (not installed, and no longer referenced).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDh3p24SCUjyM9HHT31
…er roles (Proposed)

What was wrong: the spec consolidation of 2026-10-13 adopted O5, opened O6,
wrote the prover roles into §9.3 and cited "ADR 0005" for all of it, but no
ADR 0005 existed; the carrier-as-parameter question had no recorded home.

What changed: docs/decisions/0005-…adoc in the 0004 layout — Status (Proposed,
owner to accept), Context, Decisions D1–D6 (D1 v0.2 normative; D2 O5 adopted
from the workbench proposal of 2026-07-17 unchanged in substance; D3 O6 opened;
D4 prover roles per the 2026-10-12 kernel ruling; D5 three provers, templates
removed; D6 recorded-not-decided: fidelity carrier as a parameter, Phase 1A),
Consequences, Rejected alternatives.

What I ran: nothing to run; the referenced files and identifiers were checked
present (workbench note path, spec §9.3/§10, the removed templates).

What I did not run: n/a.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDh3p24SCUjyM9HHT31
What was wrong: CHANGELOG [Unreleased] stopped at the IR 0.2 normalisation and
the 2026-06 developments; the spec consolidation, the proofs.yml pin, the status
rewrites, ADR 0005 and the template removal were unrecorded.

What changed: the v0.2 consolidation line from the foot of spec/calculus.adoc;
one line each for the status-surface rewrites (T1–T4), the proofs.yml pin, ADR
0005 (Added) and the template removal (Removed). docs/status/READINESS.adoc was
grepped for the same stale phrases as PROOF-STATUS and has none, so it is
untouched (it remains the unfilled CRG template, which is not false).

What I ran: grep -nE "non-commutative|lax L4|L4 fails|OPEN-B|OPEN-C|gated by
O4|10/10|8 schema" docs/status/READINESS.adoc -> no hits.

What I did not run: n/a.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDh3p24SCUjyM9HHT31
@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 12 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: e86bf0d3-3574-45c6-b4ea-e8c5d33dbef1
Commits

Reviewing files that changed from the base of the PR and between 0169a8c and 9453337.

Files selected for processing: 22
  • .github/workflows/proofs.yml
  • AFFIRMATION.adoc
  • CHANGELOG.adoc
  • Justfile
  • README.adoc
  • build/just/proofs.just
  • docs/status/PROOF-NEEDS.adoc
  • docs/status/PROOF-STATUS.adoc
  • docs/status/ROADMAP.adoc
  • spec/calculus.adoc
  • tests/e2e.sh
  • verification/proofs/README.adoc
  • verification/proofs/agda/theorem-b/TB/Grade.agda
  • verification/proofs/agda/theorem-b/TB/Reduction.agda
  • verification/proofs/idris2/Trope/Coords.idr
  • verification/proofs/lean4/grade-boundary/EffectAtoms.lean
  • verification/proofs/lean4/grade-boundary/GradeBoundary.lean
  • verification/proofs/lean4/grade-boundary/GradeRatified.lean
  • verification/proofs/lean4/grade-boundary/L4Monotonicity.lean
  • verification/proofs/lean4/grade-boundary/TierTwoComplete.lean
  • verification/proofs/lean4/grade-factorisation/GradeFactorisation.lean
  • verification/proofs/lean4/grade-factorisation/GradeFactorisationR.lean
📝 Summary

Summary by CodeRabbit

  • Specification

    • Published the consolidated v0.2 calculus, including updated composition, validation, verdict, recursion and proof requirements.
    • Clarified open obligations, proof status and the roles of the verification tools.
  • Documentation

    • Updated the roadmap, proof status, changelog and project overview to reflect v0.2 and current results.
    • Added a proposed decision record and marked older integration notes as historical.
  • Verification

    • Updated automated checks to scan tracked Lean files and use pinned Agda versions.
    • Removed unused Coq and TLA+ proof templates and related verification instructions.

The pull request consolidates the calculus specification at v0.2, records prover roles and open obligations, updates proof tooling, and revises project status documents. It also removes unused proof templates and aligns their references with the remaining proof setup.

Changes: Calculus consolidation and proof status

Layer / File(s) Summary
Normative calculus and prover decisions
spec/calculus.adoc, spec/calculus-v0.2-draft.adoc, docs/decisions/0005-v0.2-consolidation-o5-and-prover-roles.adoc
The specification now defines the v0.2 carrier, effects, composition, verdict, recursion, IR requirements, and open obligations. Proposed ADR 0005 identifies the normative specification and records decisions on O5, O6, prover roles, and the fidelity carrier.
Prover setup and template retirement
.github/workflows/proofs.yml, build/just/proofs.just, verification/proofs/*, verification/proofs/agda/Properties.agda, verification/proofs/coq/*, verification/proofs/tlaplus/*, docs/status/PROOF-NEEDS.adoc, tests/lib/strip-proof-comments.awk, CHANGELOG.adoc
CI pins Agda 2.7.0.1 and standard library 2.0 with checksum verification, and expands the tracked Lean source scan. Proof commands and repository references remove Coq and TLA+ templates and an Agda example module.
Proof and project status records
AFFIRMATION.adoc, README.adoc, CHANGELOG.adoc, docs/status/PROOF-STATUS.adoc, docs/status/ROADMAP.adoc, verification/proofs/INTEGRATION-REPORT.adoc, verification/proofs/agda/theorem-b/TB/Reduction.agda
Status documents record reported proof results, tool outcomes, and open obligations for v0.2. The Agda reduction note describes the declared-grade rule and identifies operational-model mechanisation as remaining work.

Priority: Normal

Estimated code review effort: 4 (Complex) | ~60 minutes

Change: Other

Merge Risk: Moderate · previous review 0169a

This PR makes the spec and status documents describe the ratified v0.2 calculus. Several normative claims are stronger than the proofs and rules they cite: commutativity over labelled grades, and the no-laundering statement for the Dropped rule. Fix or qualify these before merge so the spec stays accurate. The remaining issues are a CI gate gap and stale status text, which are lower risk.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title clearly identifies the Phase 0 objective and accurately summarises the main status and verification updates.
Description check Passed The description includes the required Summary, Changes, RSR Quality Checklist, Testing, and Screenshots sections. It records completed checks, limitations, pre-existing failures, and owner-only action…
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Documentation-only edits and deletions within survi…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description includes the required Summary, Changes, RSR Quality Checklist, Testing, and Screenshots sections. It records completed checks, limitations, pre-existing failures, and owner-only actions with sufficient detail.

Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (14 skipped: 14 unsupported.)

Finishing Touches
🛠️ Fix failing CI checks
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review 🔄 Running since 2026-10-27T08:47:47.839004Z 70a8109 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Comment thread spec/calculus.adoc
Comment thread spec/calculus.adoc Outdated
Comment thread verification/proofs/agda/theorem-b/TB/Reduction.agda Outdated
…I Lean run

What was wrong: spec §9.3, PROOF-STATUS and verification/proofs/README said the
Lean developments' axiom audits show "propext/Quot.sound only". The proofs.yml
lean-build run on this branch (40472568287) prints the audit: Trope.nine_families
(EffectAtoms.lean), FateA.Q_add_left_cancel and FateA.atten_cancel_on_normalForms
(GradeRatified.lean) also depend on Classical.choice. GradeBoundary.lean's own
footer had listed Classical.choice all along; the surfaces overclaimed.

What changed: the three surfaces now say "no sorryAx, no user axiom; propext,
Quot.sound and, in three theorems, Classical.choice"; the AFFIRMATION entry's
Lean bullet cites the CI run (lake build succeeded for both packages; the job is
red only in lean-action's optional nanoda step, which cannot compile its
lean4export under the v4.16.0 toolchain, as on main — issue #104) and records
this as finding (3).

What I ran: read the job logs of run 40472568287 (both Lean jobs): "Build
completed successfully", one axiom line per theorem, then "nanoda check failed".

What I did not run: lake build locally (unchanged: no lake here).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDh3p24SCUjyM9HHT31

Copy link
Copy Markdown
Owner Author

CI triage on this PR (head 0169a8c, plus the follow-up commit just pushed)

Green and load-bearing

  • verified-core-and-conformance, rust-fast-core, ir-wellformed — the Idris2 reference + Rust fast core + 13 + 9 conformance corpus.
  • Agda Theorem B (--safe --without-K) — green on both the PR-triggered run and the workflow_dispatch the brief asks for: https://github.com/hyperpolymath/trope-checker/actions/runs/40472568287 (job 122083092356) and https://github.com/hyperpolymath/trope-checker/actions/runs/40472559388 (job 122082909268). This is the job patch 0002 fixes; before the pin the runner's apt pair exited 42 (reproduced locally, AFFIRMATION finding 1).
  • Lean sources: no sorry / admit / native_decide / user axiom — green over all eight files.
  • CodeQL, Hypatia, panic-attack, dogfooding, DEED/K9 manifests, runtime policy, code-quality, security-policy.

Red, and why (none caused by this PR)

Observed, pre-existing, reported: just proof-check-all is red on main (#103).

Owner-only: accept ADR 0005; sign the AFFIRMATION commit; decide D6; the three issues above.


Generated by Claude Code

… ratified carrier

What was wrong (review findings on #102): the Reduction.agda footer said "the
gfp's fidelity lands in the absorbing tops {total, unknown}" for every fix; that
holds for a body that attenuates and recurses without bound, not for F(γ) = γ
(gfp Present) or a body that ignores its binder (finite gfp). PROOF-NEEDS.adoc
rows DOM-1/2/6/7/8 still described a non-commutative ▷, CO-1 "gated by O4", a
"lax L4", and "propext/Quot.sound only".

What changed: the footer restricts the absorbing-top argument to unbounded
attenuation and names the other cases the fix proof must cover (comment only);
DOM-1 marks non-commutativity historical and points at GradeRatified.lean,
DOM-2 drops "non-commutative", DOM-6 records CO-1 as DESIGNED (O4 resolved) with
mechanisation OPEN, DOM-7 drops the lax-L4 framing, DOM-8 records the (B′)
re-run; "propext/Quot.sound only" becomes "no user axiom".

What I ran: just build-agda after the footer edit -> PASS (All.agda + Smoke.agda);
grep -n "non-commutative\|gated by O4\|lax L4\|Quot.sound" docs/status/PROOF-NEEDS.adoc -> none.

What I did not run: n/a.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDh3p24SCUjyM9HHT31

Copy link
Copy Markdown
Owner Author

Review round 1 — summary and hand-back state

Changed since the CI triage comment (head now 3d907be):

  • cb549c7 — the three surfaces that said "propext/Quot.sound only" now say "no sorryAx, no user axiom" and name the three theorems that also use Classical.choice (AFFIRMATION finding 3); the Lean bullet cites run 40472568287.
  • 3d907be — Reduction.agda footer qualified (gfp tier argument restricted to unbounded attenuation; F(γ) = γ and binder-ignoring bodies named as the cases the fix proof must cover) — just build-agda PASS; docs/status/PROOF-NEEDS.adoc DOM rows brought to the ratified carrier (CodeRabbit's outside-diff Minor).

Review threads

Not run here: lake build (no Lean toolchain reachable); CI ran it — both packages build, the job fails only in lean-action's nanoda step (#104, red on main too). SonarCloud: "C Security Rating on New Code (required ≥ A)" — the dashboard is not reachable from this session; the only non-prose change in the diff is proofs.yml's checksummed downloads, so that is the likely target. Owner, please read the finding; if it is the curl+sha256sum -c pattern, I would argue it is the safe form of what it flags.

Owner-only: accept ADR 0005; sign the AFFIRMATION commit on landing; decide D6; the two open normative threads above; #103 / #104 / #105; SonarCloud.


Generated by Claude Code

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3d907be7d2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread spec/calculus.adoc
Comment thread spec/calculus.adoc Outdated
Comment thread docs/status/PROOF-NEEDS.adoc
Comment thread .github/workflows/proofs.yml
Comment thread spec/calculus.adoc
Comment thread README.adoc Outdated
Comment thread spec/calculus.adoc
Comment thread spec/calculus.adoc
… theorem is on

Review round 2 (Codex, CodeRabbit) on PR #102:

- proofs.yml lean-source-honesty and the `verify-all` recipe strip comments
  with tests/lib/strip-proof-comments.awk and match the bare `sorry`/`admit`
  tokens, so `:= by` followed by an indented `sorry` on the next line fails the
  gate (the old line-anchored regex passed it; ApiTypes.lean is not built by
  either Lake package, so the gate was its only check). Tested: all eight
  tracked .lean files still PASS; synthetic multiline sorry/admit now FAIL;
  "sorry-free" prose in comments still PASSes. actionlint clean.
- README / ROADMAP: "carry no axioms" -> "no `sorryAx` and no user axiom", the
  wording the axiom audit supports (propext, Quot.sound, Classical.choice x3).
- PROOF-STATUS, README, AFFIRMATION: the atom factorisation (`EffectAtoms.lean`)
  imports GradeBoundary and is a theorem about the v0.1 `Grade`; no GradeR
  restatement exists. Recorded as Open (O1-carrier on GradeR) and as AFFIRMATION
  finding (4); the spec's §6/§10 wording is left for the owner.
- PROOF-NEEDS DOM-3: symmetric cut holds on the ratified carrier
  (`cut-grade-comm`); the v0.1 refutation is historical.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDh3p24SCUjyM9HHT31

Copy link
Copy Markdown
Owner Author

Review round 2 (Codex on 3d907be) — pushed as 70a8109.

Fixed:

  • proofs.yml lean-source-honesty and the mirrored verify-all recipe are now comment-aware and token-based (strip with tests/lib/strip-proof-comments.awk, then grep the bare sorry/admit tokens), closing the multiline := by + sorry hole both bots flagged. Tested: the eight tracked .lean files pass; synthetic multiline sorry/admit fail; comment prose passes; actionlint clean.
  • README / ROADMAP: "no axioms" → "no sorryAx and no user axiom" (the audit's propext/Quot.sound/Classical.choice named in the README).
  • PROOF-NEEDS DOM-3: symmetric cut holds on the ratified carrier (cut-grade-comm); the v0.1 refutation is historical.
  • O1-carrier: EffectAtoms.lean is a theorem about the v0.1 Grade (it imports GradeBoundary; no GradeR restatement exists). PROOF-STATUS (row + new Open item), README and AFFIRMATION (finding 4) now say so.

Deferred to the owner, threads left open, collected in #106: L3 vs Attenuated(⊤) ▷ Dropped and whether fidelity Unknown is deceptive at all (CodeRabbit and Codex pull in opposite directions); L6 on labelled grades; C2 over the normalised carrier; the detect profile for Falsified/Misbound; the spec's ratified-carrier citation of the atom factorisation. That answers CodeRabbit's "follow-up issue?" on the L3 and L6 threads.

CI on this head: still the pre-existing reds only (Lean jobs red in lean-action's nanoda step, #104; lint-workflows/estate-audit, #105; SonarCloud "C Security Rating on New Code", unreadable from here). The gate change does not alter which jobs run.


Generated by Claude Code

@hyperpolymath
hyperpolymath enabled auto-merge (squash) October 27, 2026 11:04
@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

✅ Coding Agent task started: View task and status

The task will inspect the CI failures, validate its fix, and commit the fix to this branch automatically.

Note: Fixing CI failures is a beta feature and may encounter errors. Expect some limitations and changes as we gather feedback and continue to improve it.

⏭️ Checks skipped: 4 · already failing on `main` (not caused by this PR)
  • GitHub Actions: Central Estate CI/CD Audit / 0_estate-audit.txt
  • GitHub Actions: 🟡 Check: Workflow security lint / 0_lint-workflows.txt
  • GitHub Check: estate-audit
  • GitHub Check: lint-workflows

@coderabbitai

coderabbitai Bot commented Oct 27, 2026

Copy link
Copy Markdown

Add Carrot credits or activate Agent usage billing to use Autofix

hyperpolymath added a commit to hyperpolymath/vocarium that referenced this pull request Oct 27, 2026
## Summary

Phase 0 of the trope-stack plan ("make the truth legible"): reconcile
this repo's status surfaces with what actually runs. Tasks V1–V2 of the
Phase 0 brief (V3 is filed as an issue, not changed here). One commit
per task. Documentation only; no code changed.

Sibling PRs: [trope-checker
#102](hyperpolymath/trope-checker#102) ·
[trope-particularity-workbench
#77](hyperpolymath/trope-particularity-workbench#77)
· [haec #81](hyperpolymath/haec#81) · [hermeneia
#76](hyperpolymath/hermeneia#76). Suggested
landing order: trope-checker, workbench, haec, hermeneia, this one.
Deferred: [#43 A2ML
retirement](#43), [#44
TROPECHECK_PIN
bump](#44).

## Changes

- **V1** `AFFIRMATION.adoc` — the estate template is filled. The two
executable claims (`zig build test`; the invoke-slice gate
`tests/e2e/invoke_slice.sh`) are marked **NOT RUN here** with the exact
command and the reason: the session could not execute Zig 0.16.0
(ziglang.org and all community mirrors were unreachable through the
proxy; a checksummed conda-forge 0.16.0 binary was fetched but the
session's permission classifier refused to run it). The CI workflow
`vocarium-ci.yml` (mlugg/setup-zig pinned to 0.16.0 → `zig build test` →
the gate) is named as the attestation; its run on this PR is cited below
once it completes. The store-format / wire-boundary claim is "affirmed
(by reading)". "What we do NOT claim":
evoke/convoke/transvoke/provoke/revoke, the M2 `StoreProvider` adapter,
Haec ingestion, `neighbours`, and that nothing of `voc` was executed in
the session. The gate's own checker pin `69221ad6` is recorded.
- **V2** `README.adoc` — new `## Where this repo sits` with the
five-repo map paragraph, verbatim.
- **V3** — recorded as issue #44, not changed: bump `TROPECHECK_PIN` in
`tests/e2e/invoke_slice.sh` to a post-ratification checker commit once
Phase 0 lands upstream.

## RSR Quality Checklist

### Required

- [ ] Tests pass — `zig build test` NOT RUN in the authoring session
(see above); CI on this PR is the check
- [x] Code is formatted (no code changed)
- [x] Linter is clean (no code changed)
- [x] No banned language patterns
- [x] No `unsafe` blocks without `// SAFETY:` comments (none added)
- [x] No banned functions
- [x] SPDX license headers present on all new/modified source files
- [x] No secrets, credentials, or `.env` files included

### As Applicable

- [ ] `vocarium_chora.deed` — not applicable (A2ML still in place here;
retirement is issue #43)
- [x] Documentation updated for user-facing changes
- [ ] `docs/architecture/TOPOLOGY.adoc` — architecture unchanged
- [ ] `CHANGELOG` — not touched (docs-only status pass)
- [ ] New dependencies — none
- [ ] ABI/FFI changes — none

## Testing

Nothing of `voc` was run in the authoring session; the AFFIRMATION says
so in each row rather than copying a result. The checks that were run
elsewhere in the same session and that this repo's claims depend on:
`tropecheck-rs` built from trope-checker `44020f9`; its conformance
corpus 13 + 9 passing.

Not run: `zig build test`; `TROPECHECK_BIN=<tropecheck-rs> bash
tests/e2e/invoke_slice.sh`. Expected from CI: `GATE PASS: invoke slice
proven (use-relativity + warrant door + unit tests)`.

## Owner-only items

- Sign the AFFIRMATION commit on landing.
- A2ML retirement in this repo (issue #43).
- The `TROPECHECK_PIN` bump (issue #44) once the trope-checker Phase 0
PR lands.

## Screenshots

n/a

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01J4QvDh3p24SCUjyM9HHT31

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
hyperpolymath added a commit to hyperpolymath/trope-particularity-workbench that referenced this pull request Oct 27, 2026
#77)

## Summary

Phase 0 of the trope-stack plan ("make the truth legible"): one
ground-truthed table for the whole stack, and the research programme
brought into step with the consolidated calculus (spec v0.2, ADR 0005
Proposed). Tasks W1–W2 of the Phase 0 brief. One commit per task.
Documentation only.

Sibling PRs: [trope-checker
#102](hyperpolymath/trope-checker#102) · [haec
#81](hyperpolymath/haec#81) · [hermeneia
#76](hyperpolymath/hermeneia#76) · [vocarium
#42](hyperpolymath/vocarium#42). Suggested
landing order: trope-checker, this one, haec, hermeneia, vocarium.

## Changes

- **W1** `docs/status/STATE-OF-THE-STACK.adoc` (new, CC-BY-SA-4.0) — one
table, one row per repo: status · what exists · obligations it owns ·
proof/test citations · ground-truth command · last verified; the
five-repo map paragraph; a Known gaps list (A2ML still in
haec/hermeneia/vocarium; vocarium's checker pin `69221ad6`; this repo's
stuck Pages run and cancelled Secret scan; Lean not run in the Phase 0
session). Linked from `README.adoc` "Where to go next".
- **W2** `docs/status/RESEARCH-PROGRAMME.adoc` — "four-prover
verification stack" → "three-prover (Agda, Idris2, Lean) verification
stack plus a Rust fast core"; WP-2 gains a Status line (delivered: O5 is
defined in `trope-checker/spec/calculus.adoc §10`, ADR 0005,
ratification pending); one sentence puts O6 (the ceiling verdict) on the
spine as the security-facing obligation; the References caveat about
stale checker status files becomes "Current as of 2026-10-27";
`:revnumber:` 0.3, `:revdate:` 2026-10-27. ("gated by O4" does not occur
in the file.)
`docs/theory/formalisms/defining-o5-veridicality-oracle.adoc` Status
section now opens with "Adopted into trope-checker spec §10 on
2026-10-13 (ADR 0005, pending owner ratification)."

## RSR Quality Checklist

### Required

- [x] Tests pass (`bash tests/check-vocabulary.sh` → nine effects
consistent)
- [x] Code is formatted (no code)
- [x] Linter is clean (no code)
- [x] No banned language patterns
- [x] No `unsafe` blocks (n/a)
- [x] No banned functions (n/a)
- [x] SPDX license headers present on all new/modified source files
- [x] No secrets, credentials, or `.env` files included

### As Applicable

- [ ] `trope-particularity-workbench_chora.deed` — project state
unchanged (documentation repo)
- [x] Documentation updated for user-facing changes
- [ ] `docs/architecture/TOPOLOGY.adoc` — n/a
- [ ] `CHANGELOG` — not touched
- [ ] New dependencies — none
- [ ] ABI/FFI changes — none

## Testing

Run in the session on workbench `ae42fdf`, 2026-10-27:

```
bash tests/check-vocabulary.sh
  vocabulary-check: nine effects consistent across vocabulary/ (9), trainer, map, README
grep -n "four-prover\|gated by O4\|Caveat" docs/status/RESEARCH-PROGRAMME.adoc   -> no hits
```

The dates in the STATE-OF-THE-STACK table are the dates the cited
commands were run in the same session (recorded in the sibling repos'
AFFIRMATION entries). The vocarium row says NOT RUN and points at CI.

## Owner-only items

- Unstick the GitHub Pages (trainer) run queued since 2026-10-06 and the
cancelled Secret scan (repository settings).
- Accept ADR 0005 upstream (trope-checker #102), on which the WP-2
"delivered" line depends.

## Screenshots

n/a

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01J4QvDh3p24SCUjyM9HHT31

---------

Co-authored-by: Claude <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

🤖 Completed: Fix CodeRabbit issues in PR #102 — View commit dade336

@hyperpolymath
hyperpolymath enabled auto-merge (squash) October 27, 2026 14:34
hyperpolymath added a commit to hyperpolymath/hermeneia that referenced this pull request Oct 27, 2026
## Summary

Phase 0 of the trope-stack plan ("make the truth legible"): reconcile
this repo's status surfaces with what actually runs, from commands run
in the session that wrote them. Tasks H1–H3 of the Phase 0 brief. One
commit per task. Documentation only; no code or semantics changed.

Sibling PRs: [trope-checker
#102](hyperpolymath/trope-checker#102) ·
[trope-particularity-workbench
#77](hyperpolymath/trope-particularity-workbench#77)
· [haec #81](hyperpolymath/haec#81) · [vocarium
#42](hyperpolymath/vocarium#42). Suggested
landing order: trope-checker, workbench, haec, this one, vocarium.
Deferred: [#77 A2ML
retirement](#77).

## Changes

- **H1** `AFFIRMATION.adoc` — the estate template is filled from a real
run: `cargo test --workspace` (39 tests: gate 4, store 7, ir 11, core 8,
syntax 9) and the e2e invoke slice (7 tests). Anchor: commit `21b1593`,
2026-10-27T07:50Z, rustc 1.97.0, checker binary built from trope-checker
`44020f9`. "What we do NOT claim": the six unimplemented vokes, `show
loss` / `show warrant`, nothing Integrated (stub store), no proofs of
our own.
- **H2** `docs/THEORY.adoc` — "six-coordinate grade" (5 occurrences) →
"three coordinate kinds — fate (per field), bond, merge — over six
slots", matching `trope-checker/spec/calculus.adoc §3`; the open
question becomes "whether the three coordinate kinds are complete"
(calculus O1-coord).
- **H3** `README.adoc` — under the voke-family table: "Implemented
end-to-end and tested: `invoke`. The other six parse and are refused as
unimplemented — status table in `docs/SPEC.adoc`."; new `## Where this
repo sits` with the five-repo map paragraph. No other README claim
changed.

## RSR Quality Checklist

### Required

- [x] Tests pass (`cargo test --workspace` → 39 passed; e2e slice → 7
passed)
- [x] Code is formatted (no code changed)
- [x] Linter is clean (no code changed)
- [x] No banned language patterns
- [x] No `unsafe` blocks without `// SAFETY:` comments (none added)
- [x] No banned functions
- [x] SPDX license headers present on all new/modified source files
- [x] No secrets, credentials, or `.env` files included

### As Applicable

- [ ] `hermeneia_chora.deed` updated — not applicable (A2ML still in
place here; retirement is a deferred issue)
- [x] Documentation updated for user-facing changes
- [ ] `docs/architecture/TOPOLOGY.adoc` — architecture unchanged
- [ ] `CHANGELOG` — not touched (docs-only status pass)
- [ ] New dependencies — none
- [ ] ABI/FFI changes — none

## Testing

Run in the session, on hermeneia `21b1593` (Ubuntu 24.04 container,
rustc 1.97.0):

```
cargo test --workspace                                                  -> 39 passed, 0 failed
HERMENEIA_TROPECHECK=<tropecheck-rs> cargo test -p hermeneia-cli --features e2e --test slice
                                                                         -> 7 passed, 0 failed
grep -n -i "six-coordinate\|six coordinates" docs/THEORY.adoc            -> no hits
```

`tropecheck-rs` was built with `cargo build --release` from
trope-checker `44020f9` (`main` 216f23b plus the two Phase 0 spec/CI
patches, which do not touch `src/rust`).

Not run: nothing else is claimed.

## Owner-only items

- Sign the AFFIRMATION commit on landing.
- Decide whether the README demotion in H3 should go further.
- A2ML retirement in this repo (deferred; issue #77).

## Screenshots

n/a

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01J4QvDh3p24SCUjyM9HHT31
hyperpolymath added a commit to hyperpolymath/haec that referenced this pull request Oct 27, 2026
## Summary

Phase 0 of the trope-stack plan ("make the truth legible"): reconcile
this repo's status surfaces with what actually runs, from commands run
in the session that wrote them. Tasks A1–A2 of the Phase 0 brief. One
commit per task. Documentation only.

Sibling PRs: [trope-checker
#102](hyperpolymath/trope-checker#102) ·
[trope-particularity-workbench
#77](hyperpolymath/trope-particularity-workbench#77)
· [hermeneia #76](hyperpolymath/hermeneia#76) ·
[vocarium #42](hyperpolymath/vocarium#42).
Suggested landing order: trope-checker, workbench, this one, hermeneia,
vocarium. Deferred: [#82 A2ML
retirement](#82).

## Changes

- **A1** `README.adoc` — the five-repo map paragraph, verbatim, appended
to "Where it sits — the three-repo picture".
- **A2** `AFFIRMATION.adoc` — a `== As of 2026-10-27` entry from
`TROPECHECK_BIN=<tropecheck-rs> bash tests/check-examples.sh`: 3
examples well-formed, the vendored `design/trope-ir.schema.json` matches
the canonical checker schema, 3 round-trips to the stated verdicts
(`faithful-record` sufficient, `survey-collapse` insufficient at
`e_collapse/fate.quality`, `station-average` sufficient). The honest
scope is kept: no compiler, no LSP, no runtime, O2 stated not
discharged, no proofs. `:revdate:` bumped.

## RSR Quality Checklist

### Required

- [x] Tests pass (`tests/check-examples.sh` → all ok)
- [x] Code is formatted (no code changed)
- [x] Linter is clean (no code changed)
- [x] No banned language patterns
- [x] No `unsafe` blocks without `// SAFETY:` comments (none added)
- [x] No banned functions
- [x] SPDX license headers present on all new/modified source files
- [x] No secrets, credentials, or `.env` files included

### As Applicable

- [ ] `haec_chora.deed` — not applicable (A2ML still in place here;
retirement is issue #82)
- [x] Documentation updated for user-facing changes
- [ ] `docs/architecture/TOPOLOGY.adoc` — architecture unchanged
- [ ] `CHANGELOG` — not touched (docs-only status pass)
- [ ] New dependencies — none
- [ ] ABI/FFI changes — none

## Testing

Run in the session on haec `e9bee39`, 2026-10-27T07:49Z:

```
TROPECHECK_BIN=<tropecheck-rs> bash tests/check-examples.sh
  ok   faithful-record.haec → faithful-record.ir.json (well-formed IR, expects p-sufficient)
  ok   survey-collapse.haec → survey-collapse.ir.json (well-formed IR, expects p-insufficient)
  ok   station-average.haec → station-average.ir.json (well-formed IR, expects p-sufficient)
  ok   vendored design/trope-ir.schema.json matches the canonical checker schema
  ok   round-trip faithful-record.ir.json → p-sufficient
  ok   round-trip survey-collapse.ir.json → p-insufficient (witness e_collapse/fate.quality)
  ok   round-trip station-average.ir.json → p-sufficient
  examples: all lower to valid Trope IR
```

`tropecheck-rs` built from trope-checker `44020f9` (`main` 216f23b plus
the two Phase 0 spec/CI patches, which do not touch `src/rust`).

Not run: nothing else is claimed.

## Owner-only items

- Sign the AFFIRMATION commit on landing.
- A2ML retirement in this repo (issue #82).

## Screenshots

n/a

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01J4QvDh3p24SCUjyM9HHT31

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

hyperpolymath added a commit that referenced this pull request Oct 28, 2026
…lus knots

Review-thread remediation for PRs #102/#107 (Codex + CodeRabbit):

- proofs.yml axiom audit could hide a source axiom given a
  compiler-internal-looking name (private axiom forged_spec): the old
  filter excused any component containing _spec/_cstage/_unfold as a
  substring and dropped violations by declaration shape. Now: anchored
  compiler-minted component shapes only; any axiom DECLARED in the gated
  sources is never excused; a violation is dropped only when nothing
  non-allowlisted remains in it. The source tripwire is token-based
  (private/protected axiom now caught) and also rejects
  addDecl/axiomDecl.
- workflow-linter resolver deduplicated by (repo, ref), so only the
  first reusable-workflow path per repo@SHA was existence-checked
  (eight of nine standards paths were unchecked). Dedup is now per
  coordinate; commit/tag resolution still happens once per (repo, ref).
- ci/CI-CRITICALITY.toml: the retired static-analysis-gate entry is
  gone (its earlier removal was clobbered) and fork-governance is
  actually listed.
- spec/calculus.adoc: 'deceptive' disambiguated into grade-deceptive
  (Falsified/Misbound/Conflated) vs fidelity-tier-deceptive
  (Unknown/top), at the Veridicality Derivation, L3 and C3, so Dropped
  absorbing Attenuated(top) no longer reads as laundering; C2 stated
  per carrier (unquotiented iff epsilon; A3-normalized finite core);
  O1-carrier now cites EffectAtomsRatified.GradeR.atom_factorization,
  the proof on the carrier in use; the detect profile is defined
  uniformly for all three deceptive duals (trope-ir aligned).
- tests/workflows/review_regressions_test.sh: regression cases for the
  per-coordinate path check and for the axiom filter (extracted
  verbatim from proofs.yml; forged_spec declared/undeclared,
  internal-decl + sorryAx, genuine IR placeholders).

Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
@hyperpolymath
hyperpolymath enabled auto-merge (squash) October 28, 2026 23:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants