Commit d81aca7
docs: repo-wide documentation refresh — counts, paths, licence status, debt register (#352)
Reconciles the documentation surface — human, machine-readable, and the
wiki — against what the tree actually contains, and publishes what could
not be reconciled as **measured** debt rather than leaving it unstated.
## Prover counts (#251)
Five figures were in circulation — 48, 105, 128, 138, 141 — because four
different things are all called "the number of provers". Re-measured:
| Figure | Value |
|---|---|
| `ProverKind` variants | **141** |
| Backend implementation files | **105** |
| Implementations with `suggest_tactics` | **102** |
| Default-exposed core (`all_core()`) | **12** |
`docs/PROVER_COUNT.md` is now canonical, explains the denominators, and
**ships the command that reproduces each figure** — all five were run
and reproduce exactly. Present-tense claims elsewhere cite it. Dated
historical records (release notes, completed milestones) keep their
authoring-time numbers: they are records, not claims about today.
## Wiki — corrected and synced
`docs/wiki/` is the source and had drifted **ahead** of the live wiki,
which had never been synced. Two substantive errors fixed:
- the **Tier-1 core list named six backends that aren't core** (Idris 2,
F\*, Alt-Ergo, Dafny, Vampire, E Prover). The real set is Metamath, HOL
Light, Mizar, PVS, ACL2, HOL4 — anyone trusting that page would have
selected backends the default API does not expose.
- the licence was stated as **MPL-2.0** (see below).
The in-repo note claiming the wiki isn't pushable from automation was
wrong; it's replaced with a working sync recipe (note: the wiki's
default branch is `master`).
## Licence — P0, identified and deliberately NOT acted on
The repository states **four different licences**:
| Surface | States |
|---|---|
| `LICENSE`, `Cargo.toml`, README badge | AGPL-3.0-or-later |
| Per-file SPDX headers — **590 source files** | MPL-2.0 |
| Per-file SPDX headers | AGPL — **zero files** |
| `NOTICE` | MPL-2.0, citing `LICENSE` (which is AGPL) for its text |
| `.reuse/dep5` | `PMPL-1.0 AND Palimpsest-0.6` |
GitHub reports the licence as **"Other"** — likely the SPDX line
prepended above the GNU text in `LICENSE`, which stops its detector
matching.
This matters beyond tidiness: MPL is file-level weak copyleft with no
network clause; AGPL reaches users served over a network. An integrator
reading the headers would conclude they may host a modified ECHIDNA
without publishing changes. **Because per-file headers are themselves a
licence grant, that is live exposure.**
**I have not changed any licence.** Re-licensing is an owner decision
affecting existing recipients and contributors. `docs/DEBT.md` sets out
a suggested sequence and stops. Meanwhile the README and wiki now tell
readers not to rely on any surface but `LICENSE`.
## Also in this PR
- **Stale paths (#242)**: `.machine_readable/6a2/` no longer exists
(descriptiles moved to `descriptiles/`) — 17 documents repaired. The
contractile `.ncl` *write destinations* naming `6a2/` were left alone
deliberately: `6a2` is a concept name there, and repointing an evidence
sink is a semantic decision (recorded as D7).
- **Broken links 19 → 13.** The 13 remaining are dated release notes and
the playground sub-project — recorded as D4/D5 rather than silently
rewritten.
- **Root scaffold removed**: `ARCHITECTURE.md` and `GOVERNANCE.md`
contained generic template text with **zero** project-specific words
while the real documents sat elsewhere. GitHub surfaces the `.md`, so
the page most readers landed on described no particular project. Both
are now explicit pointers.
- **OpenSSF badge removed**: a hardcoded green shields.io label linking
to the *registration* form — it would have read "passed" whatever the
real standing, including now, unregistered. Restore the genuine dynamic
badge once registered.
- **Repo description and topics** updated: description had a typo
(`VersisimDB`) and the stale 48; topics dropped languages GitHub already
surfaces (agda/coq/julia), a duplicate (theorem-prover vs
theorem-proving) and a generic (artificial-intelligence), replaced with
capability terms — `proof-assistants`, `proof-search`,
`premise-selection`, `proof-certificates`, `smt-solvers`.
## New: `docs/DEBT.md`
Live debt register — P0 licensing, seven documentation items, four code
items. **Every entry carries the command that measures it**, so entries
can be retired on evidence rather than on feeling. Supersedes
`tech-debt-2026-05-26.md`, which is kept and banner-marked as a dated
snapshot.
## Verification
- R5a bare-prover-count rule: **clean** across all scoped top-level
docs.
- All five `PROVER_COUNT.md` commands run and reproduce their stated
figures.
- `DEBT.md`'s own measurements re-run before commit; one corrected (588
→ 590).
- Wiki push verified by re-cloning and re-reading the live pages.
Known unrelated red: `Governance` fails on `main` for a hypatia scanner
error (#314), not doc drift.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>1 parent 1d1b412 commit d81aca7
37 files changed
Lines changed: 571 additions & 219 deletions
File tree
- .claude
- .github
- .machine_readable
- contractiles/intend
- descriptiles
- crates/echidna-mcp
- docs
- decisions
- handover
- wiki
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
45 | | - | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
46 | 47 | | |
47 | 48 | | |
48 | 49 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
19 | 21 | | |
20 | 22 | | |
21 | 23 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
| 49 | + | |
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | | - | |
60 | | - | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
61 | 62 | | |
62 | 63 | | |
63 | 64 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
| 39 | + | |
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | | - | |
4 | | - | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
22 | 4 | | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
27 | 11 | | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
| 12 | + | |
40 | 13 | | |
41 | | - | |
42 | | - | |
43 | | - | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
44 | 18 | | |
45 | | - | |
| 19 | + | |
46 | 20 | | |
47 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
0 commit comments