Skip to content

docs(proofs): inventory Agda-first reconciliation without retiring Idris2 - #137

Merged
hyperpolymath merged 1 commit into
mainfrom
proofs/agda-reconciliation-policy-2026-11
Nov 2, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
proofs/agda-reconciliation-policy-2026-11

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Adds verification/proofs/AGDA-RECONCILIATION.adoc: concrete L4, L6–L10, epistemic/transition and engineering/wire obligations with statuses OPEN, canonical Agda command, three-prover bridge requirements and explicit independence from Mathesis/ECHIDNA. Preserves the existing source-grounded Idris2 corpus, honesty guard and CI unchanged. No Agda port or external witness is claimed.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 1, 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 ✅ Completed 2026-11-01T01:08:47.347678Z 4a2ca0f 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.

@coderabbitai

coderabbitai Bot commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

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: 2d7e7b28-45b2-4b56-8be7-e4ab12f87d61
Commits

Reviewing files that changed from the base of the PR and between 002b654 and 4a2ca0f.

Files selected for processing: 1
  • verification/proofs/AGDA-RECONCILIATION.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: 26
  • GitHub Check: github-advanced-security
  • GitHub Check: scan / gitleaks
  • GitHub Check: scan / shell-secrets
  • GitHub Check: scan / rust-secrets
  • GitHub Check: Validate K9 contracts
  • GitHub Check: Validate eclexiaiser manifest
  • GitHub Check: Groove manifest check
  • GitHub Check: Empty-linter (invisible characters)
  • GitHub Check: Validate DEED manifests
  • GitHub Check: attest — clippy / tests
  • GitHub Check: Validate Echidna prover catalogue
  • GitHub Check: panic-attack assail
  • GitHub Check: vcltotal-parse — panic-free / clippy / tests
  • GitHub Check: idris2 0.8.0 --build vclut-core
  • GitHub Check: ffi/zig — fmt / header / zig build test
  • GitHub Check: recompute-wasm — clippy / tests
  • GitHub Check: idris2 0.8.0 --build vclut-abi
  • GitHub Check: analyze (actions, none)
  • GitHub Check: Root workspace tests
  • GitHub Check: Aspect tests
  • GitHub Check: Dependency audit
  • GitHub Check: Hypatia neurosymbolic scan
  • GitHub Check: openssf-compliance
  • GitHub Check: E2E structural validation
  • GitHub Check: license-policy
  • GitHub Check: semgrep-cloud-platform/scan
Summary

Summary by CodeRabbit

  • Documentation
    • Added an open inventory of proof-reconciliation obligations, including the current status of candidate theory areas across Agda, Lean and Coq/Rocq.
    • Clarified that existing engineering checks remain the validation gate, and that wire conformance is not automatically treated as a theory port.
    • Documented the evidence needed to record reconciliation, including corresponding statements, versions, revisions, assumptions and a correspondence receipt.

The change adds an open inventory of VCL-UT proof-reconciliation obligations. It records candidate theory areas, current Agda and Lean/Coq statuses, and evidence requirements. It also states that the existing Idris2 checks remain the engineering gate.

Changes: Proof reconciliation

Layer / File(s) Summary
Reconciliation inventory
verification/proofs/AGDA-RECONCILIATION.adoc
The document lists candidate theory areas and their Agda and Lean/Coq statuses. It specifies an Agda check followed by separate Coq/Rocq and Lean inspection for implementation-independent claims. Reconciliation requires statement correspondence, with versions, revisions, assumptions and a correspondence receipt recorded in the owning proof status.

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

Change: Other

Possibly related PRs

  • hyperpolymath/vcl-ut#126: Updates the Idris2 proof-corpus gate and wire proof modules that the reconciliation inventory identifies as existing engineering checks and obligations.
  • hyperpolymath/vcl-ut#128: Adds Idris wire-conformance proofs and decoder tests for wire obligations listed in the inventory.
Merge Risk: Minimal · up to 4a2ca

The inventory makes no completed proof-port claims and preserves the existing engineering checks. No actionable merge-blocking risk is identified.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Description check Warning The description accurately summarises the document and its scope, but it does not follow the required template. It omits the Summary, Changes, RSR Quality Checklist, Testing, and Screenshots sections. Add the required template sections. List the key changes, complete the RSR Quality Checklist, and describe the testing performed. State that Screenshots are not applicable if no screenshots or terminal output exist.
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title clearly identifies the Agda reconciliation inventory and states that Idris2 remains in place. It accurately summarises the main change.
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: 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. (1 skipped: 1 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

@sonarqubecloud

sonarqubecloud Bot commented Nov 1, 2026

Copy link
Copy Markdown

@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: 4a2ca0f2d1

ℹ️ 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".

|===
|ID |Source and intended theory statement |Agda |Lean/Coq + bridge
|VCL-L4 |The proof of `NoRawUserInput` preservation under the specified statement join in `src/core/Composition.idr`; inspect actual definition of `joinWhere` and literal recognition rather than replacing it with a toy Boolean |OPEN |OPEN — exact proposition and source/target correspondence not yet compared
|VCL-L6–L10 |Composition closure for the actual indexed level predicates in `Composition.idr` |OPEN |OPEN — do not presume universal level monotonicity

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge State the L10 side condition in the ledger

When this ledger guides the Agda port, describing all of L6–L10 as composition closure asks for a false unconditional L10 theorem: src/core/Composition.idr:820-839 explicitly shows that two individually acyclic L10 requirement sets can become cyclic when joined, so l10Compose requires epiNoCycle (composeJoin q1 q2) = True. Split L6–L9 from L10 or record this JoinSideCondition, otherwise the instruction below to reprove the “exact theorem” misstates the actual obligation.

Useful? React with 👍 / 👎.


[source,shell]
----
agda --safe --without-K --cubical-compatible <module.agda>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Replace the shell-redirection placeholder

When a reader copies this [source,shell] recipe, <module.agda> is parsed by Bash and other POSIX shells as input/output redirection, and the trailing > has no target, so the shell exits with a syntax error before Agda runs. Use an ordinary example path such as path/to/Module.agda or a quoted variable instead.

Useful? React with 👍 / 👎.


[cols="1,3,2,3",options="header"]
|===
|ID |Source and intended theory statement |Agda |Lean/Coq + bridge

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Track Lean and Coq reconciliation independently

When an obligation has been reconciled in only Lean or only Coq/Rocq, this combined status cell cannot represent which prover remains open or attach the per-prover version and correspondence receipt required below. Because line 37 explicitly requires the two inspections separately, split this into independent Lean and Coq/Rocq columns or records so completing one cannot be mistaken for completing both.

Useful? React with 👍 / 👎.

@coderabbitai coderabbitai Bot mentioned this pull request Nov 1, 2026
9 of 10 tasks
@hyperpolymath
hyperpolymath merged commit 6b210dc into main Nov 2, 2026
35 checks passed
@hyperpolymath
hyperpolymath deleted the proofs/agda-reconciliation-policy-2026-11 branch November 2, 2026 06:26
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.

1 participant