Skip to content

Say what verification/proofs/ actually contains - #83

Merged
hyperpolymath merged 2 commits into
mainfrom
claude/new-session-snuoro
Nov 9, 2026
Merged

hyperpolymath merged 2 commits into
mainfrom
claude/new-session-snuoro

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

docs/status/PROOF-STATUS.adoc reads 0% proven while verification/proofs/ holds ten prover files. That invites the reading that the figure is a backlog against those files. It is not: the whole directory is the unmodified mint set, so 0% is the accurate count. This PR says so, and records two facts about the tree that were not written down anywhere.

Found while auditing the trope stack against PROOF-POLICY.adoc §8 (Proof Witness Grades, owner ruling 2026-11-04). Documentation only.

Changes

docs/status/PROOF-STATUS.adoc gains one section, "What verification/proofs/ currently contains":

  • It is all mint boilerplate. Five files still carry an explicit marker — coq/TypeSafety.v, agda/Properties.agda, lean4/ApiTypes.lean, idris2/Types.idr and tlaplus/StateMachine.tla all say "Replace with your project's …" — and the idris2/ABI/ modules are from the same mint (ABI/Pointers.idr: "Template proof — customise for your project's pointer types"). None states a property of HERMENEIA: the Agda proves length (xs ++ ys) ≡ length xs + length ys, the Lean the functor laws for a template ApiResult, the Coq a toy expression language, the TLA+ a placeholder request pipeline.
  • No escape hatch is present in any body — no believe_me, assert_total, postulate, sorry, Axiom or Admitted — verified with hyperpolymath/mathesis, scripts/census/proof-holes.sh, run over this tree on 2026-11-09: no hole, axiom or unsafe record.
  • One real policy finding, from that same scan, which was not stated anywhere: verification/proofs/agda/Properties.agda carries no OPTIONS pragma at all, so it does not set --safe, let alone the PROOF-POLICY §2.1 invocation --safe --without-K --cubical-compatible. As the file is mint boilerplate rather than a theory entrypoint of this repository, the defensible fix is removal rather than adding flags to a template.
  • No Proof Witness Grade is supported here. Under §8.1 PWG applies to theory obligations; none of this is one. Hermeneia's real obligations are the ones named in PROOF-NEEDS.adoc — the voking/imminence query semantics, not a template ApiResult functor law.
  • Nothing is deleted. hyperpolymath/trope-checker removed the identical never-instantiated templates under ADR 0005 D5. Whether HERMENEIA does the same is the owner's call (doctrine 7: cold is not disposable), so this PR only describes.

RSR Quality Checklist

Required

  • Tests pass (just test or equivalent) — no source or build file changed; AsciiDoc only
  • Code is formatted (just fmt or equivalent) — AsciiDoc only
  • Linter is clean (no new warnings or errors) — asciidoctor 2.0.26 --failure-level=WARN clean on both changed files
  • No banned language patterns (no TypeScript, ReScript, Deno, Node.js/npm, Go or Python)
  • No unsafe blocks without // SAFETY: comments — n/a
  • No banned functions (believe_me, unsafeCoerce, Obj.magic, Admitted, sorry) — confirmed absent from every proof body by the scan above
  • SPDX license headers present on all new/modified source files — existing headers untouched
  • No secrets, credentials, or .env files included

As Applicable

  • hermeneia_chora.deed updated — deeds are owner-only; not touched
  • Documentation updated for user-facing changes
  • docs/architecture/TOPOLOGY.adoc updated — architecture unchanged
  • CHANGELOG or release notes updated
  • New dependencies reviewed — none
  • ABI/FFI changes validated — none

Testing

Run in this session at main 347e42f plus this commit:

asciidoctor -o /dev/null --failure-level=WARN docs/status/PROOF-STATUS.adoc CHANGELOG.adoc
#   -> clean

bash ~/mathesis/scripts/census/proof-holes.sh --summary .
#   -> {"class":"policy","file":"verification/proofs/agda/Properties.agda","lang":"agda",
#       "line":1,"marker":"no --safe","text":"file does not set {-# OPTIONS --safe #-}"}
#      agda policy: 1
#      (no hole, axiom or unsafe record)

grep -rn -E '(^|[^[:alnum:]_])(postulate|Admitted|Axiom|sorry|believe_me|assert_total)([^[:alnum:]_]|$)' \
  verification/proofs/
#   -> only header comments and one line inside a Coq block comment; no declarations

NOT RUN here: Agda, Coq, Lean, Idris2, TLA+ — no toolchain in this environment. Nothing in this PR claims a kernel result.

Screenshots

n/a (documentation).


Generated by Claude Code

docs/status/PROOF-STATUS.adoc reads 0% proven while verification/proofs/ holds ten
prover files, which invites the reading that the figure is a backlog against them.
It is not. The whole directory is the unmodified mint set: five files still carry
an explicit "Replace with your project's …" marker, and ABI/Pointers.idr still
says "Template proof". None states a property of HERMENEIA — the Agda proves
length (xs ++ ys) ≡ length xs + length ys, the Lean the functor laws for a
template ApiResult, the Coq a toy expression language, the TLA+ a placeholder
request pipeline. So 0% is the accurate count, and the note now says so.

Recorded with it:
- no escape hatch is present in any body (no believe_me, assert_total, postulate,
  sorry, Axiom or Admitted), verified with mathesis scripts/census/proof-holes.sh
  over this tree on 2026-11-09: no hole, axiom or unsafe record.
- one real policy finding from that same scan, which had not been stated anywhere:
  verification/proofs/agda/Properties.agda carries no OPTIONS pragma at all, so it
  does not set --safe, let alone the PROOF-POLICY §2.1 invocation. As the file is
  mint boilerplate and not a theory entrypoint of this repository, the defensible
  fix is removal rather than adding flags to a template.
- under PROOF-POLICY §8.1 none of this supports a Proof Witness Grade, because
  none of it is a theory obligation of this repository.
- trope-checker removed the identical never-instantiated templates under ADR 0005
  D5. Whether HERMENEIA does the same is the owner's call (doctrine 7: cold is not
  disposable), so nothing is deleted here.

Documentation only. Verified here: asciidoctor 2.0.26 --failure-level=WARN clean
on both changed files. NOT RUN here: Agda, Coq, Lean, Idris2, TLA+ (no toolchain,
and nothing in the tree would be worth checking if there were).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDh3p24SCUjyM9HHT31
@chatgpt-codex-connector

Copy link
Copy Markdown
Codex Review Summary: ❌ Failed

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

Review Status Commit Review trigger
📝 Code Review ❌ Failed 2026-11-09T13:28:03.005638Z
We couldn’t complete this review. Comment @codex review to try again.
bb4a446 PR opened
ℹ️ 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.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai

coderabbitai Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

Explain Change →

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 43 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: b166131d-8d0d-4d58-935c-480170fefc62
Commits

Reviewing files that changed from the base of the PR and between bb4a446 and f7ab9a6.

Files selected for processing: 2

  • CHANGELOG.adoc
  • docs/status/PROOF-STATUS.adoc

No actionable comments were generated in the recent review.

Summary

Summary by CodeRabbit

  • Documentation
    • Clarified that the proof files are unmodified templates and do not establish properties of HERMENEIA; the reported 0% proven is not a backlog against those files.
    • Documented that the templates do not support Proof Witness Grade, and that the actual proof obligations are listed separately.
    • Recorded a missing safety pragma in one proof file and the owner’s decision to remove templates rather than add flags. Template removal remains an owner decision.

The status document describes the contents and limitations of the proof files, records an Agda safety-policy finding, and identifies PROOF-NEEDS.adoc as the source of actual obligations. The changelog summarises the update.

Changes: Proof status documentation

Layer / File(s) Summary
Proof-file status record
docs/status/PROOF-STATUS.adoc, CHANGELOG.adoc
The status document describes the proof files as template material, records the safety-policy finding and owner decision, and identifies PROOF-NEEDS.adoc as the source of actual obligations. The changelog documents these statements.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Other

Merge Risk: Minimal · previous review bb4a4

The update documents the proof templates and open obligations. No merge-blocking issue remains.

Pre-merge checks: Passed 5

Check name Status Explanation
Title check Passed The title "Say what verification/proofs/ actually contains" names the main change: the PR documents what the ten files in verification/proofs/ contain (mint template boilerplate, no HERMENEIA property…
Description check Passed The description follows the repository template's main structure. It has a Summary section explaining the 0% proven context and why the PR exists. It has a Changes section listing the new section's fo…
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 with cyclomatic complexity of at least 2. Documentat…
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: Title check

Explanation

The title "Say what verification/proofs/ actually contains" names the main change: the PR documents what the ten files in verification/proofs/ contain (mint template boilerplate, no HERMENEIA property proofs, no escape hatches, one Agda pragma finding). It is specific and matches the changeset, which adds a section to PROOF-STATUS.adoc and a CHANGELOG entry. The title is short, single-sentence and free of noise. It does not mention the 0% proven clarification or the Proof Witness Grade point, but it does not need to cover every detail.

Full details: Description check

Explanation

The description follows the repository template's main structure. It has a Summary section explaining the 0% proven context and why the PR exists. It has a Changes section listing the new section's four points. It has the RSR Quality Checklist with Required and As Applicable items, each marked or left unmarked with reasons. It has a Testing section with commands and results, and a Screenshots section marked n/a. The template's SPDX header comment is not carried over, but that comment is an HTML comment in the template and applies to the template file itself, so its absence is not a material gap. Some checklist items are ticked with explanatory notes. The description is thorough and specific, and it matches the raw summary and objectives.

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 with cyclomatic complexity of at least 2. 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. (2 skipped: 2 unsupported.)

  • 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

Recent review info

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: cad58d2e-6b89-4257-b776-e64457448643
Commits

Reviewing files that changed from the base of the PR and between 347e42f and bb4a446.

Files selected for processing: 2

  • CHANGELOG.adoc
  • docs/status/PROOF-STATUS.adoc

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Recent review details

Context from checks skipped due to timeout: 45

  • GitHub Check: CodeRabbit
  • GitHub Check: governance / JS runtimes — deno
  • GitHub Check: governance / Actions lockfile verify
  • GitHub Check: governance / Exemption ratchet
  • GitHub Check: governance / JS runtimes — bun
  • GitHub Check: governance / Licence consistency
  • GitHub Check: scan / Hypatia Neurosymbolic Analysis
  • GitHub Check: governance / JS runtimes — pnpm
  • GitHub Check: governance / JS runtimes — environment provisions Bun first
  • GitHub Check: governance / Debt ratchet
  • GitHub Check: governance / Guix packaging policy (Nix retired)
  • GitHub Check: governance / Trusted-base reduction policy
  • GitHub Check: governance / Well-Known (RFC 9116 + RSR)
  • GitHub Check: governance / Security policy checks
  • GitHub Check: governance / UUID v7 conformance
  • GitHub Check: governance / UUID v8 conformance
  • GitHub Check: governance / Allowlist Preflight
  • GitHub Check: governance / Check Workflow Staleness
  • GitHub Check: governance / Code quality + docs
  • GitHub Check: governance / Workflow security linter
  • GitHub Check: governance / Live Actions policy (credentialed advisory)
  • GitHub Check: governance / Language / package anti-pattern policy
  • GitHub Check: scan / gitleaks
  • GitHub Check: scan / rust-secrets
  • GitHub Check: rust-ci / Detect Cargo.toml
  • GitHub Check: scan / shell-secrets
  • GitHub Check: Groove manifest check
  • GitHub Check: lint
  • GitHub Check: Empty-linter (invisible characters)
  • GitHub Check: SonarQube
  • GitHub Check: Validate K9 contracts
  • GitHub Check: Validate eclexiaiser manifest
  • GitHub Check: Patch Bridge CVE triage
  • GitHub Check: check
  • GitHub Check: panic-attack assail
  • GitHub Check: docs
  • GitHub Check: estate-rules
  • GitHub Check: slice
  • GitHub Check: Validate DEED manifests
  • GitHub Check: openssf-compliance
  • GitHub Check: coaptation
  • GitHub Check: Runtime Policy
  • GitHub Check: Hypatia neurosymbolic scan
  • GitHub Check: check
  • GitHub Check: analyze (actions, none)

docs/status/PROOF-STATUS.adoc published:

  *Overall*: 0% proven

PROOF-POLICY §8.4 rule 7 forbids exactly that form: "Never publish 'X% proved',
an average grade, or a single confidence score." It asks for a census instead —
a count per category with the denominator. The figure was accurate; the shape was
the prohibited one, and a percentage invites being averaged or trended, which is
what the rule exists to prevent.

It now reads as a census (0 done, 0 in progress, 0 blocked, 7 remaining, of 7
recorded obligations), with a note recording what changed and why, and the fact
that no obligation here carries a Proof Witness Grade because none is a theory
obligation of this repository under §8.1.

The same line ships in rsr-template-repo's PROOF-STATUS.adoc, so every repository
minted from it carries the same breach. The note says so: fixing it there is the
solution at source, and this change is the downstream symptom being treated only
because the surface is published today.

Documentation only. Verified here: asciidoctor 2.0.26 --failure-level=WARN clean
on both changed files; no percentage-of-proved claim remains in the file.

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

sonarqubecloud Bot commented Nov 9, 2026

Copy link
Copy Markdown

Copy link
Copy Markdown
Owner Author

CI status: one failure, not this PR's

Deposit findings for gitbot-fleet failed against bb4a446. This PR's diff is two AsciiDoc files, CHANGELOG.adoc and docs/status/PROOF-STATUS.adoc, and touches nothing under .github/. That check reads repository and workflow configuration, which this PR does not change.

It is failing across the trope stack today. Where the logs are explicit — in trope-checker and mathesis — the root cause is the hyperpolymath/cicd-suite → hyperpolymath/proven-cicd-and-workflows repository transfer: a reusable uses: does not follow the redirect, so calls under the old name fail at startup with zero jobs.

A mechanical fix exists, re-pointing each reference at the same pin, as trope-particularity-workbench#78 did. The tooling's own message also requires this repository's Actions allowlist to admit the new owner, which is an owner-only setting in this session, so I can neither complete the fix nor show the check green. I have not widened this documentation PR with a half-fix, and have raised it with the owner.

Green on the current head

SonarCloud quality gate passed, and CodeRabbit's review of this branch reported no actionable comments. asciidoctor 2.0.26 --failure-level=WARN is clean on both changed files.

Nothing in this PR is waiting on me. It is waiting on review and on the Actions allowlist question above.


Generated by Claude Code

@hyperpolymath
hyperpolymath merged commit 2aa57e6 into main Nov 9, 2026
58 checks passed
@hyperpolymath
hyperpolymath deleted the claude/new-session-snuoro branch November 9, 2026 22:44
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