Skip to content

docs(readme): make the README's claims true, and gate them in CI - #1040

Open
hyperpolymath wants to merge 2 commits into
claude/eager-wright-zwwbe2-ledger-derivefrom
claude/eager-wright-zwwbe2-readme-counts
Open

hyperpolymath wants to merge 2 commits into
claude/eager-wright-zwwbe2-ledger-derivefrom
claude/eager-wright-zwwbe2-readme-counts

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

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").

Claim Was Tree / now
Rule modules 35 42
lib/ 133 modules 154 source files
Just recipes 39 45 (just --summary)
CLI commands five six (secret-alerts)
Mix tasks "eleven more" twelve more (16 in all)
just build-all Elixir + Rust + Zig FFI + Idris2 ABI Rust workspace + Elixir; build-ffi and compile-abi are listed beside it
guix shell -m guix.scm in the install steps removed: no guix.scm is tracked. The README and AFFIRMATION say so and name mise.toml and deploy/Containerfile as the stand-ins
Rule distillation stated as what the system does presented as the design: the rules are hand-written, and the neural layer only lowers confidence
/api/* "bearer-authenticated" bearer when HYPATIA_API_BEARER_TOKEN is set; otherwise loopback unless HYPATIA_API_ALLOW_NONLOCAL=true (api_router.ex)
Dead links topology.md, DEBT-REGISTER.md, CONTRIBUTING.md, and 17 .md links in docs/README.adoc all resolve

EXPLAINME quotes the corrected text. Its known-gaps caution keeps only what is still true: the distillation code is uninvoked, no guix.scm exists, and the :verisim_data tests run in no workflow.

The gate

  • scripts/check-readme-claims.sh measures the counts the README quotes, and resolves every local link: in the README, EXPLAINME and the docs index.
  • It runs in Validate Documentation and fails on drift. The older link step in that job only warns, which is how the 17 dead links survived.
  • tests/readme-claims-test.sh plants 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 without just on PATH, so CI needs no new tool.

Verification

  • check-readme-claims.sh and its tests: pass, 6/6.
  • actionlint: no new findings. The issues it reports are in existing steps.
  • shellcheck: clean.
  • Asciidoctor 2.0.26: README, EXPLAINME, AFFIRMATION and docs/README render with no warnings.
  • The stack's gates still pass: proof-ledger-test 34/34, proof-ledger.sh claims, and check-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.
  • Wider link debt: the older link step in quality.yml still only warns across all .adoc files. Promoting it to fail needs the remaining dead links fixed first.


Generated by Claude Code

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
@coderabbitai

coderabbitai Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

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

  • 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: c818911c-9d44-4362-b84e-624e268734f2
Commits

Reviewing files that changed from the base of the PR and between 521b32a and ba7cb52.

Files selected for processing: 8

  • .github/workflows/quality.yml
  • AFFIRMATION.adoc
  • CHANGELOG.adoc
  • EXPLAINME.adoc
  • README.adoc
  • docs/README.adoc
  • scripts/check-readme-claims.sh
  • tests/readme-claims-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

@hyperpolymath
hyperpolymath marked this pull request as ready for review November 9, 2026 15:57
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 9, 2026 •

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 ✅ Completed 2026-11-09T16:26:20.752728Z ba7cb52 New commits
🔒 Security Review ❌ Failed 2026-11-09T16:21:27.490979Z
We couldn’t complete this review. Comment @codex security review to try again.
ba7cb52 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.

@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: 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".

Comment thread README.adoc Resolved
Comment thread scripts/check-readme-claims.sh Resolved
Comment thread README.adoc Resolved
Comment thread tests/readme-claims-test.sh Resolved
Comment thread README.adoc Resolved
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
@chatgpt-codex-connector

Copy link
Copy Markdown

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.

@sonarqubecloud

sonarqubecloud Bot commented Nov 9, 2026

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath added this pull request to stack #1038 November 9, 2026 21:34
Repository owner deleted a comment from chatgpt-codex-connector Bot Nov 9, 2026
@coderabbitai

coderabbitai Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Add Carrot credits or activate Agent usage billing to use Autofix

This branch has not been deployed

No deployments
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