Commit cced305
feat(saturation+typing): corpus 4→17, vocab 5→14+4, arbiters 1→4, exchange 2→6, 42-discipline embedding, E-R schema (#198)
## Summary
Owner-directed marginal-benefit push across echidna's corpus /
vocabulary / arbitration / exchange / wire-schema / type-discipline
surfaces, plus the typing-embedding follow-up. Disjoint from sibling
branch `wave3/161-162-bench-telemetry-corpus` (handover doc enumerates
the hard exclusion list). All commits GPG-signed; 11-commit chain ending
@ \`46f02b2\`.
## What landed
**Corpus** — adapters 4 → **17** (4.25×). Added: isabelle, metamath,
mizar, hol_light, hol4, dafny, why3, fstar, acl2_books, tptp, smtlib,
proofnet, minif2f. All follow the agda.rs two-pass extraction pattern
with \`AxiomUsage\` hazard surfacing. See
[\`docs/CORPUS-ADAPTERS.md\`](docs/CORPUS-ADAPTERS.md).
**Vocabulary** — per-prover synonym tables 5 → **14**, plus 4
cross-prover taxonomic dictionaries (underscore-prefix):
- \`_msc2020.toml\` (87 codes)
- \`_wordnet_math.toml\` (~80 lemmas)
- \`_conceptnet_seed.toml\` (~55 edges, offline-resilient)
- \`_disciplines.toml\` (42 TypeChecker disciplines)
\`SynonymTable::load_all\` now iterates 14 provers; new
\`CrossProverDicts\` + \`load_cross_prover_dicts\` +
\`SynonymTable::merge_external\`.
**Arbitration** — mechanisms 1 → **4**: Portfolio (existing) +
\`BayesianArbiter\` (log-odds posterior + calibrated per-prover
likelihoods + Shannon entropy) + \`DempsterShaferArbiter\` (belief-mass
combination, HighConflict trip at k > 0.95) + \`ParetoArbiter\` (4-axis
multi-objective frontier).
**Exchange** — formats 2 → **6**: + TPTP / SMT-LIB / SMTCoq (stub
bridge) / Lambdapi. Round-trip + cross-format translation where
semantics overlap.
**Wire schema** — aspirational text → **12 entities + 7 relationships**
formally specified at
[\`docs/architecture/VERISIM-ER-SCHEMA.md\`](docs/architecture/VERISIM-ER-SCHEMA.md)
+ Cap'n Proto schema
[\`crates/echidna-wire/schemas/verisim_er.capnp\`](crates/echidna-wire/schemas/verisim_er.capnp)
@0xe4dc7b1f01a06001. Crosswalk Rust struct ↔ Cap'n Proto ↔ ClickHouse
table enumerated.
**Type-discipline embedding (42 disciplines)** — pre-existing
\`src/rust/disciplines/TypeDiscipline\` (41 variants) extended with
owner-listed \`Ceremonial\` as the 42nd variant. New \`MarkerRegistry\`
(138 canonical markers across all 42, per-adapter scoped) +
\`detect_disciplines\` entry point. **Integrated into
\`Corpus::reindex\`** so all 17 corpus adapters automatically tag every
entry with detected disciplines via the existing \`reindex()\` calls.
Storage: \`discipline:<tag>\` strings inside \`axiom_usage.other\` (zero
serde break). Owner-listed 9 disciplines all covered: linear / affine /
dependent / equality (via Refinement+Dependent markers) / ceremonial /
dyadic / tropical / choreographic / epistemic. Full spec at
[\`docs/architecture/TYPE-DISCIPLINE-EMBEDDING.md\`](docs/architecture/TYPE-DISCIPLINE-EMBEDDING.md)
with TypeLL / Katagoria / VCL-UT / Panll crosswalk.
**Multi-language integration**:
- **Rust**: directly wired (all surfaces).
- **Julia**: new \`src/julia/corpus_loader.jl\` +
\`saturation_synonyms.jl\` with \`entry_disciplines()\` +
\`discipline_feature_vector()\` helpers for GNN training feature
engineering. \`run_training.jl\` / \`training/train.jl\` /
\`training/dataloader.jl\` / \`models/neural_solver.jl\` deliberately
NOT touched (wave3 + GNN-trigger ownership).
- **Chapel**: hook spec at
[\`docs/architecture/CHAPEL-SATURATION-HOOKS.md\`](docs/architecture/CHAPEL-SATURATION-HOOKS.md)
— 3-hook integration (corpus goal injection / arbiter kind selection /
cross-prover semantic dispatch) deferred to post-wave3 PR.
**Documentation (humans + machines)**:
- README.adoc, EXPLAINME.adoc, wiki
Home/Architecture/Getting-Started/Guides/FAQ/Troubleshooting all reflect
the new surface with file:line citations.
- \`.machine_readable/6a2/{STATE,META,ECOSYSTEM,NEUROSYM}.a2ml\` updated
additively.
- CHANGELOG comprehensive Unreleased entry.
- Saturation ADR at
\`docs/decisions/2026-06-01-saturation-campaign.md\`.
- Handover lane doc at
\`docs/handover/PROVER-CORPUS-SATURATION-LANE.md\` (collision-avoidance
with wave3).
- **9 RSR-template substitution gaps closed** (CODE_OF_CONDUCT.md /
SECURITY.md / AUTHORS.md placeholder emails + GitLab→GitHub prose + PGP
fingerprint embedded).
**Justfile recipes**: \`corpus-ingest-saturation\`,
\`corpus-stats-all\`, \`synonym-load-test\`, \`test-saturation\`,
\`arbiter-smoke\`, \`er-schema-drift-check\`.
## Test plan
- [x] \`cargo check --lib\` clean (~5–24s)
- [x] \`cargo test --lib -- corpus:: disciplines::
verification::{bayesian,dempster_shafer,pareto}_arbiter
exchange::{tptp,smtlib,smtcoq,lambdapi} suggest::synonyms\` — **all
passing**: 119 corpus+disciplines + 17 arbiter + 24 exchange + 6
synonyms = 166+ saturation-campaign tests green, 1 ignored
heuristic-limit (\`corpus::dafny::tests::detects_datatype_and_extern\` —
body-less extern-method limitation documented in CORPUS-ADAPTERS.md)
- [x] Zero collisions with \`wave3/161-162-bench-telemetry-corpus\` —
every commit in this branch touched only new files or surgical additive
edits per the handover exclusion list
- [x] All commits GPG-signed with
\`4A03639C1EB1F86C7F0C97A91835A14A2867091E\`
- [x] All new \`.rs\` files carry SPDX-FileCopyrightText for the owner
per the pre-commit hook
- [x] cargo check after Corpus::reindex extension: clean
## Commit chain
\`f73ee00\` handover → \`46a7408\` corpus+synonyms+seeds → \`6019860\`
arbiter trio → \`3828056\` E-R/CORPUS-ADAPTERS/ADR → \`d05dfff\`
synonyms wiring → \`4a0b068\` Cap'n Proto → \`c61140c\` smtlib fix →
\`85c1b8c\` test greenup → \`cb8caff\` template gaps → \`8b73c61\` doc
sweep → \`46f02b2\` typing embedding.
## Deferred
- **GNN first training run** — risks deleting wave3 baselines;
infrastructure ready, needs owner trigger
- 6 backlog corpus adapters (naproche / mathcomp / iris / cubical_agda /
tlaps / pvs / naturalproofs / alphaproof) — marginal benefit now <10%,
listed in CORPUS-ADAPTERS.md backlog
- Chapel-side wiring of the 3 hooks — gated on wave3 merge
- SMT portfolio expansion beyond Tier-1 default set
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 6fb5bd3 commit cced305
82 files changed
Lines changed: 20316 additions & 27 deletions
File tree
- .machine_readable/6a2
- crates/echidna-wire/schemas
- data/synonyms
- docs
- architecture
- decisions
- handover
- wiki
- src
- julia
- rust
- corpus
- disciplines
- exchange
- suggest
- verification
- tests/corpus_fixtures
- acl2
- dafny
- fstar
- hol4
- hol_light
- isabelle
- metamath
- minif2f
- mizar
- proofnet
- smtlib
- tptp
- why3
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
243 | 243 | | |
244 | 244 | | |
245 | 245 | | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1291 | 1291 | | |
1292 | 1292 | | |
1293 | 1293 | | |
| 1294 | + | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
| 1302 | + | |
| 1303 | + | |
| 1304 | + | |
| 1305 | + | |
| 1306 | + | |
| 1307 | + | |
| 1308 | + | |
| 1309 | + | |
| 1310 | + | |
| 1311 | + | |
| 1312 | + | |
| 1313 | + | |
| 1314 | + | |
| 1315 | + | |
| 1316 | + | |
| 1317 | + | |
| 1318 | + | |
| 1319 | + | |
| 1320 | + | |
| 1321 | + | |
| 1322 | + | |
| 1323 | + | |
| 1324 | + | |
| 1325 | + | |
| 1326 | + | |
| 1327 | + | |
| 1328 | + | |
| 1329 | + | |
| 1330 | + | |
| 1331 | + | |
| 1332 | + | |
| 1333 | + | |
| 1334 | + | |
| 1335 | + | |
| 1336 | + | |
| 1337 | + | |
| 1338 | + | |
| 1339 | + | |
| 1340 | + | |
| 1341 | + | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
2 | 3 | | |
3 | 4 | | |
4 | 5 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
1 | 3 | | |
2 | 4 | | |
3 | 5 | | |
| |||
7 | 9 | | |
8 | 10 | | |
9 | 11 | | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
10 | 51 | | |
11 | 52 | | |
12 | 53 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
2 | 3 | | |
3 | 4 | | |
4 | 5 | | |
| |||
45 | 46 | | |
46 | 47 | | |
47 | 48 | | |
48 | | - | |
| 49 | + | |
49 | 50 | | |
50 | 51 | | |
51 | 52 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
44 | 76 | | |
45 | 77 | | |
46 | 78 | | |
| |||
140 | 172 | | |
141 | 173 | | |
142 | 174 | | |
143 | | - | |
| 175 | + | |
| 176 | + | |
144 | 177 | | |
145 | 178 | | |
146 | | - | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
147 | 183 | | |
148 | 184 | | |
149 | 185 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
966 | 966 | | |
967 | 967 | | |
968 | 968 | | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
0 commit comments