Commit 28505a5
sweep reconcile: licence canonicalisation, test-suite repair, full Julia+TLC CI gating (#72)
## Summary
Sitrep-driven remediation. Local `main` had drifted 4 ahead / 2 behind
origin with three unpushed, unreviewed AI-generated "sweep" commits; the
mathematical core of the test suite ran in no CI; and actually running
that suite surfaced two genuine upstream bugs plus three test-harness
defects.
### 1. Sweep reconciliation (minus the AGPL landmine)
Only the licence-text canonicalisation survives review (MPL-2.0 `https`
Exhibit A + canonical CC-BY-SA-4.0 plaintext). Deliberately dropped:
- `LICENSES/AGPL-3.0-or-later.txt` — no file here declares AGPL and
`.machine_readable/6a2/AGENTIC.a2ml` forbids it ("Never use AGPL license
(use MPL-2.0)").
- `mise.toml` / `CODEOWNERS` / `funding.yml` / `MAINTAINERS` /
`GOVERNANCE.md` / `ARCHITECTURE.md` — generic boilerplate crediting
`@metadatastician` (this repo is `hyperpolymath`) and describing a
directory layout this repo does not have.
### 2. Test-harness fixes (they were hiding real results)
- `test_quandle_axioms.jl`: `@testset label begin` with a bare variable
×9 — Julia hard-errors, so **§3 onward (including both Reidemeister
suites) never executed**.
- `seam_test.jl`: `KRLLexError` never imported — errored Seam 1, masking
the rest.
- `Evaluator.jl`: the `max_rows` cap was pushed down as an exact
provider limit, making truncation silent and — for stage-free queries —
not applied at all. Now fetches one row past the cap and enforces it
after source resolution, so the "row cap applied" warning fires whenever
data was actually dropped.
### 3. Two genuine upstream KnotTheory.jl defects, tracked honestly
Both marked `@test_broken` (reports "Broken"; **flips to a hard error
the moment the upstream fix lands**, forcing marker removal):
- `r2_simplify` removes a bigon without re-splicing the severed arcs (4
arc labels occur once instead of twice) → trefoil 5-colouring count 25
instead of 5. Repro:
`r2_simplify(from_braid_word("s1.S1.s1.s1.s1").pd)`.
- The alexander/conway/homfly segments of `quandle_key` are
crossing-order sensitive (no canonical ±t^k unit normalisation): 25/200
seeded BR-5 trials disagree after a crossing shuffle, while
`presentation_hash` and colouring counts agree.
### 4. CI: the mathematical core is now gated
`krl-verification.yml`:
- `seam_test.jl` joins the dependency-free fast step (pure Julia +
stdlib).
- Sibling `KnotTheory.jl` / `Skein.jl` / `AcceleratorGate.jl` are
checked out under `deps/` and symlinked to the `server/../../../` layout
`server/Project.toml [sources]` expects; `Pkg.instantiate`; then axioms
/ EXPLAIN / BR-5 fuzz as separately-named steps.
- New `tlaplus-model-check` job: TLC (pinned v1.7.4, sha256-verified)
checks `TypeOK` / `IsEquivalence` / `SoundBelow` / `Confluent` on
`MCEGraph`. `-deadlock` disables deadlock *reporting* only (the merge
sequence terminates by design).
- Fixed the stale header claim that this repo has no `mix.exs`.
## Verification
- All seven Julia suites run locally (Julia 1.12.6, sibling checkouts):
lexer / parser / sql / seam / query_explain fully green; axioms + fuzz
green with exactly the two documented Broken marks.
- TLC: 8 distinct states, all four invariants, exit 0 in 2s.
- **Negative-tested both new gate types**: a real test failure exits 1
(observed twice during diagnosis); an injected false TLA+ invariant
exits 12.
- The six `startup_failure` workflows (Secret Scanner, Governance,
Mirror, Instant Sync, Push email, Pages) are pre-existing shared
`hyperpolymath/standards` reusable rot — out of scope here.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Mistral Vibe <vibe@mistral.ai>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>1 parent 326d711 commit 28505a5
7 files changed
Lines changed: 497 additions & 132 deletions
File tree
- .github/workflows
- LICENSES
- server
- krl
- test
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | | - | |
6 | | - | |
7 | | - | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
8 | 11 | | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
13 | 16 | | |
14 | 17 | | |
15 | 18 | | |
| |||
45 | 48 | | |
46 | 49 | | |
47 | 50 | | |
48 | | - | |
| 51 | + | |
49 | 52 | | |
50 | 53 | | |
51 | 54 | | |
52 | 55 | | |
| 56 | + | |
| 57 | + | |
53 | 58 | | |
54 | 59 | | |
55 | 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 | + | |
| 106 | + | |
| 107 | + | |
56 | 108 | | |
57 | 109 | | |
58 | 110 | | |
| |||
91 | 143 | | |
92 | 144 | | |
93 | 145 | | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
0 commit comments