The cross-engine harness builds again, and the spec says what the suites count #83

Merged
extant2000git merged 1 commits from fix/spec-mention-key-prose into main 2026-10-15 18:10:47 +00:00
Owner

Three things an auditor would hit on a fresh clone, found while verifying every number in the OSTIF audit request before it went out.

The cross-engine harness built against no branch

test/interop/build.sh compiled ChatCard.swift, ChatEvent.swift, ChatGame.swift and the FlamenetGames package. Those live on the iOS release/0-32-0 branch and were never merged to main. Meanwhile main gained HandleCertificate, LinkCodes, MultiDeviceEnvelopes, SyncRegisters and Padding, which 0-32-0 does not have. So the explicit file list matched neither branch and the harness built against neither.

Nothing in main's Sources/E2E references those three types or that package, and neither interop.mjs nor interop-swift-kotlin.mjs exercises those content kinds, so dropping them costs no coverage. The comment says to restore them when 0.32 merges.

With the driver building: interop-swift-kotlin.mjs 77 passed, interop.mjs 99 passed.

SPEC.md 6.18 contradicted itself on the mention key

It declared the key as men on one line and called it ment on three others. The 2026-09-11 correction updated the declaration and the note about the old name and missed the prose. The note still says ment, which is its whole purpose.

Two stated test counts were one behind

relay.mjs said 272 against 273, interop.mjs 98 against 99.

The relay number needed a binary built from current main to read. The one on this machine was from 2026-09-26, before 209ac94 on 10-07 moved the account id out of the TURN username, so it failed two section 8.10 assertions and under-reported the total by three. Rebuilt, the suite reports 273 passed, 0 failed.

Verification

check-spec-counts.py now reports 4 stated counts matching instead of 2, because relay and interop run rather than skipping.

check result
conformance / client / ratchet / vault 308 / 289 / 35 / 26, zero failures
relay.mjs 273 passed
interop.mjs 99 passed
interop-swift-kotlin.mjs 77 passed
fuzz.mjs 8,001 cases, 0 problems
check-doc-references.py 153 sections, every reference resolves
check-exports-documented.py 106 exports
check-static.py clean
secret-sweep.sh clean, 91 files

The public mirror at https://codeberg.org/flamenet needs re-running after this merges, since the OSTIF request names the differential test.

🤖 Generated with Claude Code

Three things an auditor would hit on a fresh clone, found while verifying every number in the OSTIF audit request before it went out. ## The cross-engine harness built against no branch `test/interop/build.sh` compiled `ChatCard.swift`, `ChatEvent.swift`, `ChatGame.swift` and the `FlamenetGames` package. Those live on the iOS `release/0-32-0` branch and were never merged to `main`. Meanwhile `main` gained `HandleCertificate`, `LinkCodes`, `MultiDeviceEnvelopes`, `SyncRegisters` and `Padding`, which `0-32-0` does not have. So the explicit file list matched neither branch and the harness built against neither. Nothing in main's `Sources/E2E` references those three types or that package, and neither `interop.mjs` nor `interop-swift-kotlin.mjs` exercises those content kinds, so dropping them costs no coverage. The comment says to restore them when 0.32 merges. With the driver building: `interop-swift-kotlin.mjs` 77 passed, `interop.mjs` 99 passed. ## SPEC.md 6.18 contradicted itself on the mention key It declared the key as `men` on one line and called it `ment` on three others. The 2026-09-11 correction updated the declaration and the note about the old name and missed the prose. The note still says `ment`, which is its whole purpose. ## Two stated test counts were one behind `relay.mjs` said 272 against 273, `interop.mjs` 98 against 99. The relay number needed a binary built from current main to read. The one on this machine was from 2026-09-26, before `209ac94` on 10-07 moved the account id out of the TURN username, so it failed two section 8.10 assertions and under-reported the total by three. Rebuilt, the suite reports 273 passed, 0 failed. ## Verification `check-spec-counts.py` now reports **4 stated counts matching** instead of 2, because relay and interop run rather than skipping. | check | result | |---|---| | conformance / client / ratchet / vault | 308 / 289 / 35 / 26, zero failures | | relay.mjs | 273 passed | | interop.mjs | 99 passed | | interop-swift-kotlin.mjs | 77 passed | | fuzz.mjs | 8,001 cases, 0 problems | | check-doc-references.py | 153 sections, every reference resolves | | check-exports-documented.py | 106 exports | | check-static.py | clean | | secret-sweep.sh | clean, 91 files | The public mirror at https://codeberg.org/flamenet needs re-running after this merges, since the OSTIF request names the differential test. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
extant2000git added 1 commit 2026-10-15 18:08:51 +00:00
The cross-engine harness builds again, and the spec says what the suites count
ci / vault (pull_request) Successful in 4s
ci / secret-sweep (pull_request) Successful in 6s
ci / doc-references (pull_request) Successful in 3s
ci / complete (pull_request) Successful in 3s
ci / ratchet (pull_request) Successful in 5s
ci / conformance (pull_request) Successful in 10s
ci / client (pull_request) Successful in 27s
ci / spec-counts (pull_request) Successful in 27s
ci / analysis (pull_request) Successful in 1m30s
6ab71948cb
Three things an auditor would hit on a fresh clone, found while verifying every
number in an OSTIF audit request before sending it.

test/interop/build.sh compiled ChatCard.swift, ChatEvent.swift, ChatGame.swift
and the FlamenetGames package. Those live on the iOS release/0-32-0 branch and
were never merged to main, and main has since gained HandleCertificate,
LinkCodes, MultiDeviceEnvelopes, SyncRegisters and Padding that 0-32-0 does not
have. The file list therefore matched neither branch and the harness built
against neither. Nothing in main's Sources/E2E references those three types or
that package, and neither interop.mjs nor interop-swift-kotlin.mjs exercises
those content kinds, so dropping them costs no coverage. The comment says to put
them back when 0.32 merges.

With the driver building, interop-swift-kotlin.mjs reports 77 passed and
interop.mjs 99.

SPEC.md 6.18 declared the mention key as `men` on one line and called it `ment`
on three others. The 2026-09-11 correction updated the declaration and the note
about the old name and missed the prose. The note still says `ment`, which is
the point of it.

Two stated test counts were each one behind: relay.mjs 272 against 273 and
interop.mjs 98 against 99. The relay number needed a relay binary built from
current main to read; the one on this machine was from September 26, before
209ac94 on 10-07 moved the account id out of the TURN username, so it failed
two §8.10 assertions and under-reported the total by three.

check-spec-counts.py now reports 4 stated counts matching instead of 2, because
relay and interop run here rather than skipping. Every other checker clean:
doc-references 153 sections, exports-documented 106, static analysis, secret
sweep 91 files. Suites: conformance 308, client 289, ratchet 35, vault 26,
relay 273, interop 99, interop-swift-kotlin 77, fuzz 8,001 cases.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
extant2000git merged commit f11faf663b into main 2026-10-15 18:10:47 +00:00
Sign in to join this conversation.