Repository navigation
docs(readme): make the README's claims true, and gate them in CI - #1040
hyperpolymath wants to merge 2 commits into
Conversation
The README's structural claims had drifted from the tree. EXPLAINME recorded every one of them; this commit fixes them at the source. - Counts: - rule modules 35 -> 42; - lib/ 133 -> 154 source files; - Just recipes 39 -> 45 (`just --summary`); - CLI commands five -> six (secret-alerts); - Mix tasks "eleven more" -> twelve. - `just build-all` builds the Rust workspace and Elixir. The README now lists build-ffi and compile-abi beside it. - No guix.scm is tracked, so the `guix shell -m guix.scm` step is removed. The README and AFFIRMATION say so and name mise.toml and deploy/Containerfile as the stand-ins. - The rule-distillation loop is the design. The README now says the rules are hand-written and the neural layer can only lower confidence. - The /api/* policy is stated as api_router.ex applies it: bearer when HYPATIA_API_BEARER_TOKEN is set, else loopback unless HYPATIA_API_ALLOW_NONLOCAL=true. - Dead links: topology.md and DEBT-REGISTER.md (both .adoc), CONTRIBUTING.md (.github/), and 17 .md -> .adoc links in docs/README.adoc. - EXPLAINME quotes the corrected text, and its known-gaps note keeps only what is still true. scripts/check-readme-claims.sh measures the gated counts and resolves every local link in the README, EXPLAINME and the docs index. It runs in the Validate Documentation job and fails on drift; the older link step there only warned, which is how the 17 links survived. tests/readme-claims-test.sh plants a stale count of each kind and a dead link (6/6), and checks that the recipe count agrees with and without `just` on PATH. Validation: - actionlint: no new findings (the reported issues are in existing steps); - shellcheck: clean; - asciidoctor: README, EXPLAINME, AFFIRMATION and docs/README render without warnings; - proof-ledger tests 34/34, and `claims` agrees. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CYR5bf5FBLS7cXQK72aVNM
|
Warning Review limit reachedYou'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. View limit details
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. |
Codex Review Summary: ❌ FailedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5709732870
ℹ️ 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".
Merges 521b32a. The one conflict is the EXPLAINME caveat on installation: this branch's version is kept, since the README now carries the /api policy. It also fixes Codex's five findings on 5709732: - mise: mise.toml pins only Erlang/OTP, Elixir and Zig; its other tools float at latest. The README and AFFIRMATION now say exactly that. - /api: the bearer token protects /api/* only when it is set and not empty, as auth_gate/2 treats an empty value as unset. - Rule count: the 42 files under lib/rules/ include helpers (StandardsRepo, MovedRepositories, RuleLoader), so the README says "42 source files" rather than "42 rule modules producing findings". The gate's patterns follow. - Anchors: a link's #fragment into an AsciiDoc target must name an anchor it defines. That is an explicit [[id]], [#id] or anchor:, or a default section id. New contract: removing [[proof-ledger]] from EXPLAINME fails. - just in CI: the recipe-count parity check no longer skips without just. The contract fails if just is absent, and the Validate Documentation step installs it, so CI compares just with the grep fallback on every run. readme-claims tests 7/7, proof-ledger tests 52/52; actionlint finds nothing in the new step; asciidoctor renders README, EXPLAINME and AFFIRMATION clean. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CYR5bf5FBLS7cXQK72aVNM
|
This security review couldn’t start because the paying account has exhausted its Codex allowance and has insufficient available credits. The payer can check their balance and add credits in the Codex usage dashboard, then try again. If you do not manage the paying account, contact this repository's admins. |
|
|
Add Carrot credits or activate Agent usage billing to use Autofix |



Summary
This PR is the fifth in the proof-ledger stack and sits on top of #1034:
#1029 → #1030 → #1031 → #1034 → this.
It fixes the README overclaims that the refreshed EXPLAINME (#1030) recorded, at their source, and adds a gate so the README cannot drift again. The owner chose this follow-up ("README overclaims").
lib/just --summary)secret-alerts)just build-allbuild-ffiandcompile-abiare listed beside itguix shell -m guix.scmguix.scmis tracked. The README and AFFIRMATION say so and namemise.tomlanddeploy/Containerfileas the stand-ins/api/*HYPATIA_API_BEARER_TOKENis set; otherwise loopback unlessHYPATIA_API_ALLOW_NONLOCAL=true(api_router.ex)topology.md,DEBT-REGISTER.md,CONTRIBUTING.md, and 17.mdlinks indocs/README.adocEXPLAINME quotes the corrected text. Its known-gaps caution keeps only what is still true: the distillation code is uninvoked, no
guix.scmexists, and the:verisim_datatests run in no workflow.The gate
scripts/check-readme-claims.shmeasures the counts the README quotes, and resolves every locallink:in the README, EXPLAINME and the docs index.tests/readme-claims-test.shplants each kind of drift: a stale rule count, recipe count and Mix-task count, and a dead link (6/6). It also checks that the recipe count is the same with and withoutjuston PATH, so CI needs no new tool.Verification
check-readme-claims.shand its tests: pass, 6/6.actionlint: no new findings. The issues it reports are in existing steps.shellcheck: clean.proof-ledger-test34/34,proof-ledger.sh claims, andcheck-proof-status.sh.Beyond this repo (for the owner's list)
guix.scm: the estate policy names Guix as the sole reproducible-build manifest, and this repository has none. Writing one is real packaging work: Elixir/OTP, the Rust workspace, Zig, Idris2. It is not done here.quality.ymlstill only warns across all.adocfiles. Promoting it to fail needs the remaining dead links fixed first.Generated by Claude Code