Skip to content

census: partial refresh with provenance; reconciliation targets - #24

Open
hyperpolymath wants to merge 4 commits into
mainfrom
claude/funny-faraday-rp3su1
Open

hyperpolymath wants to merge 4 commits into
mainfrom
claude/funny-faraday-rp3su1

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

The census could only rebuild the whole catalogue from all 476 repositories, so it could not refresh a few repositories without disturbing the rest. This adds a sanctioned partial refresh with per-repository provenance and uses it for the 17 repositories in AffineScript's completion plan. It also adds those repositories to the cross-prover reconciliation targets and register.

Changes

  • scripts/census/merge-rows.sh (new): replaces, removes or adds records only for the listed repositories. Every other record is kept byte for byte. It fails closed on bad input, duplicates or an empty scope.
  • scripts/census/run-census.sh --merge FILE and just census-merge FILE: census only the listed repositories, then merge rows, unreachable entries and provenance.
  • Provenance: census-repo.sh records the commit it read. Every run writes docs/catalogue/census/provenance.json with repository, commit and UTC date.
  • tests/census/merge-rows.test.sh and just census-test: 13 cases, seven of them fail-closed. CI (proven-tests.yml) now runs these tests and the catalogue freshness check, which was not wired before.
  • Refreshed rows for 17 repositories. Eight changed: choreographic-types, echo-types, epistemic-types, januskey, occupancy-types, residual-evidence-types, secret-types and typed-wasm. januskey's class moved from engineering to theory by the file-count heuristic, not by review. Rows for every other repository are unchanged.
  • docs/status/CROSS-PROVER-RECONCILIATION.adoc: added targets and register rows for echo-types, secret-types, epistemic-types, residual-evidence-types, choreographic-types, occupancy-types, absolute-zero, januskey and affinescript. They come from local runs under agda --safe --without-K --cubical-compatible at Agda 2.6.3. These are not home-repo receipts, and four of these repos pin 2.6.4.3, so every status stays at AGDA-PENDING or earlier and no grade is derived.
  • README "How the census works" and CHANGELOG updated.

RSR Quality Checklist

Required

  • Tests pass: the merge tests 13/13 and the atlas tests 10/10 pass. just test itself exits 127 on both the base and this branch, because idris2 and zig are not installed; that failure is unrelated to this change.
  • Code is formatted
  • Linter is clean
  • No banned language patterns (Bash, jq and Bun only)
  • No unsafe blocks without // SAFETY: comments
  • No banned functions
  • SPDX license headers present on all new/modified source files. The new scripts carry MPL-2.0, this repo's code licence, from creation; no existing header was changed.
  • No secrets, credentials, or .env files included

As Applicable

  • Repo deed (status) / (maturity) updated: not changed
  • Documentation updated for user-facing changes
  • CHANGELOG or release notes updated

Testing

Check Result
bash tests/census/merge-rows.test.sh 13 passed. A planted defect in the merge fails 6 of the 13 and exits non-zero
catalogue freshness (render-catalogue.sh diff) pass
bun scripts/atlas/census-atlas.mjs check PASS
bun test tests/atlas/census-atlas.test.mjs 10/10
scripts/check-ijson-jcs.sh --enforce . 17 of 17 canonical
scripts/check-adoc-renders.sh . 178 of 178 clean
no-md-in-docs, no-placeholders, no-a2ml, invisible-characters pass

The refreshed rows also match a candidate produced independently, with a one-off merge command, before this tooling existed.

Not done here

  • repos.json was not refreshed, so repositories created since the first census are still missing.
  • The README's "first pass, 2026-10-26" totals were left as written.
  • The theorem-level claims registry is still unbuilt.

Generated by Claude Code

Add a sanctioned partial census refresh. `run-census.sh --merge FILE`
(`just census-merge`) censuses only the listed repositories and merges
them into the committed data with the new `scripts/census/merge-rows.sh`.
Records outside the list are kept byte for byte, so the catalogue no
longer has to be rebuilt from all 476 repositories to refresh a few.

Record provenance. `census-repo.sh` now notes the commit it read, and
every run writes `docs/catalogue/census/provenance.json` with each
repository's commit and the UTC date.

Test and wire it. `tests/census/merge-rows.test.sh` (`just census-test`)
has 13 cases, seven of them fail-closed; a planted defect in the merge
fails 6 of them. CI now runs it with the catalogue freshness check.

Use it for the 17 repositories in AffineScript's completion plan.
Eight rows changed; out-of-scope rows are untouched. The rows match an
independently derived candidate.

Add those repositories to the cross-prover reconciliation targets and
register, from local canonical-flag runs on 2026-11-09. Those runs used
Agda 2.6.3 and are not home-repo receipts, so every status stays at
AGDA-PENDING or earlier and no grade is derived.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDjbCwy9iYWY9vKgzGW
@coderabbitai

coderabbitai Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

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 23 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

Commits

Reviewing files that changed from the base of the PR and between a3dbe73 and 6755c3b.

Files ignored due to path filters: 4

  • docs/atlas/generated/az.adoc is excluded by !**/generated/**
  • docs/atlas/generated/classes.adoc is excluded by !**/generated/**
  • docs/atlas/generated/index.json is excluded by !**/generated/**
  • docs/atlas/generated/organisations.adoc is excluded by !**/generated/**
Files selected for processing: 15

  • .github/workflows/proven-tests.yml
  • CHANGELOG.adoc
  • Justfile
  • README.adoc
  • docs/architecture/REPOSITORY-MAP.adoc
  • docs/catalogue/catalogue.adoc
  • docs/catalogue/census/catalogue-rows.json
  • docs/catalogue/census/provenance.json
  • docs/status/CROSS-PROVER-RECONCILIATION.adoc
  • scripts/census/census-repo.sh
  • scripts/census/merge-rows.sh
  • scripts/census/render-catalogue.sh
  • scripts/census/run-census.sh
  • scripts/census/summarise.sh
  • tests/census/merge-rows.test.sh
  • 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

Use [[ ]] for the new conditionals and copy positional parameters into
named locals in the test helpers (S7688, S7679). Behaviour is unchanged:
13/13 tests pass, and a planted merge defect still fails 6 of them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDjbCwy9iYWY9vKgzGW
Re-checked with Lean 4.15.0 installed from releases.lean-lang.org:
StackcertCore.lean has type errors in the proof of cert_sound.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDjbCwy9iYWY9vKgzGW
The committed map predates applied-systems/, so the estate-rules
repo-map determinism test fails on main (a3dbe73) as well as on this
branch. Regenerated with scripts/gen-repo-map.sh; the test now passes.

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

Copy link
Copy Markdown
Owner Author

estate-rules failed at tests/shape/repo_map_determinism_test.sh: the committed REPOSITORY-MAP.adoc predates applied-systems/. The same test fails on main (a3dbe73), so this branch did not cause it. 6755c3b regenerates the map with scripts/gen-repo-map.sh; the test and check-root-shape.sh pass locally. Once this merges, the fix is on main too.


Generated by Claude Code

@sonarqubecloud

sonarqubecloud Bot commented Nov 9, 2026

Copy link
Copy Markdown

Copy link
Copy Markdown
Owner Author

Canon lockstep (dogfood-gate) fails, and not because of this PR: it compares mathesis_chora.deed's (canon …) clause with the live metadatastician/standards main canon.lock, and this PR does not touch the deed. The canon has moved to version 2.1.5 with gates sha256 5c510bba…; the deed declares 2.1.3 and gates 2f31f46d… (criteria matches). The same comparison fails on main with the same deed. Re-running gives the same result.

Bringing the deed level means adopting the canon's new template-capability-gates.toml and bumping the clause, a governance change that belongs in its own PR, not in this census change. The deed's own note says the canon released ahead of the spine adopting it (spine-adopts-then-canon-releases), so the fix starts upstream or in a dedicated adoption PR.


Generated by Claude Code

@hyperpolymath
hyperpolymath marked this pull request as ready for review November 9, 2026 15:47
@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.

hyperpolymath added a commit to hyperpolymath/affinescript that referenced this pull request Nov 10, 2026
#787)

This follows the merged completion plan, #786.
I re-ran every prover that could be installed, and judged each proof
against `metadatastician/standards` `3-practice/PROOF-POLICY.adoc` at
commit `9bdf864`.

## What changed
- **Proof ledger**, in `docs/EXPLAINME.adoc`. The README-EXPLAINME
standard requires one whenever a repo claims proofs, and this repo had
none. It is keyed to the obligation IDs in `docs/PROOF-NEEDS.adoc` and
has 22 rows: 7 `proven`, all of them about models rather than the
shipped code; 13 `open`; and 2 `argued`. No theory theorem has a proof
witness grade, because none has an Agda source.
- **Solo core status.** `docs/SOUNDNESS.adoc` and
`docs/PROOF-NEEDS.adoc` still said the Solo core's progress and
preservation were `?todo`. Both now check under Idris2 0.7.0 and are
total. That was a local check; no CI job runs it yet.
- **PROOF-NEEDS caveats.** P-3, P-4 and the K-1 real-lift text now say
they hold for models only. F-5 records the real `render_ty`
counterexample and stays open.
- **Plan proof route.** The completion plan's proof route was Coq-first.
It is now aligned with the policy: theory goes in Agda with Rocq and
Lean rechecks, and engineering goes in Idris2 or under a recorded §4
exception. There is a new section 5.0 and corrected rungs.
- **Plan findings and rulings.** Workflow W7 is corrected. The plan also
gains the verified per-repo results, new cross-repo items, and owner
questions 16 to 19 with the owner's rulings of 2026-11-09.
- **Idris2 0.8.0 results and provisioning fix** (`19084c8`).
- typed-wasm passes `tools/check-kernel-proofs.sh` in full under its
pinned Idris2 0.8.0 (`15a3e4e`). The plan's `Region.idr` item is closed.
  - januskey and absolute-zero type-check under the 0.8.0 release.
- New estate item: the Idris2 repos check against three different
compilers. typed-wasm uses the v0.8.0 tag, januskey and absolute-zero
use a pack image built from Idris2 `main`, and anytype uses 0.7.0.
- The W0 recipe now passes `PREFIX` to `make bootstrap` as well as to
`make install`. Without that, Idris2 type-checks but cannot run
programs, and still exits 0.

## New holes
- **H20.** `Face.render_ty` is not injective. On the Js face,
`List[Option[Int]]` and `Option[List[Int]]` both render as `List[Int] |
null`; on Cafe both render as `List[Int]?`. I observed this by calling
the built library. The Coq F-5 theorem proves the opposite, but for a
model that differs from the code.
- **H21.** The Coq proof gate covers only 96 of the 137 assertions. A
planted `Admitted` false lemma and a planted `Axiom False` both passed a
replica of the gate.
- **H22.** The 23 staged Agda files under `proposals/` pass the
canonical flags, but nothing runs them. `tools/check-proofs.sh --agda`
reports SKIP when its environment variables are unset.

## Proof review results
- **Coq.** All 20 files build under Coq 8.18, and all 137 assertions are
closed under the global context. Several headline theorems hold by
definition: P3 borrow soundness, F3, F4, F1 `same_cube`, and
`QttTyping.usage_soundness`. The `Real*` models differ from
`lib/codegen.ml`.
- **Idris2 Solo core.** It checks, and `progress` and `preservation` are
total.
- **Lean, installed with the owner's approval from
`releases.lean-lang.org`.**
- tropical-types builds all 20 modules at its 4.13.0 pin. Its 334
theorems use no `sorry`, no Mathlib and no `Classical.choice`.
  - occupancy's `stackcert` does not compile at its 4.15.0 pin.
  - This repo's copy of the tropical file compiles at 4.13.0.
- **Not re-run.** CI's Coq 8.20.1 was not re-run.

## Checks
- `bash tools/check-doc-truthing.sh`: OK
- `bash tools/check-soundness-ledger.sh`: all 5 properties hold. It ran
on deepened history.
- `asciidoctor --failure-level=WARN` on all four files: clean

Companion change in mathesis: hyperpolymath/mathesis#24.

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

https://claude.ai/code/session_01J4QvDjbCwy9iYWY9vKgzGW

---------

Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
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