test(ffi): hexadeca-connector golden fixture + tri-language drift guard#510
Merged
Conversation
ffi/connectors.json is the single source-of-truth for the 16-connector wire contract. test/hexadeca_contract_test.exs reads it plus the Zig enum, the Idris2 ABI, and the Rust client, and fails if any mirror drifts in name or order -- making silent cross-language drift impossible. Runs under the existing mix test; no new dep or workflow. https://claude.ai/code/session_016R5WsMHtpnD8bmrkjFNFmg
🔍 Hypatia Security ScanFindings: 42 issues detected
View findings[
{
"reason": "Repository has 5 non-main remote branch(es). Policy: single main branch only.",
"type": "GS007",
"file": ".",
"action": "delete_remote_branches",
"rule_module": "git_state",
"severity": "medium"
},
{
"reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
"type": "CSA001",
"file": "src/ui/gossamer/README.adoc",
"action": "review",
"rule_module": "code_scanning_alerts",
"severity": "medium"
},
{
"reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
"type": "CSA001",
"file": "scripts/ci-tools/Cargo.toml",
"action": "review",
"rule_module": "code_scanning_alerts",
"severity": "medium"
},
{
"reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
"type": "CSA001",
"file": "scripts/bench-tools/Cargo.toml",
"action": "review",
"rule_module": "code_scanning_alerts",
"severity": "medium"
},
{
"reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
"type": "CSA001",
"file": "ffi/zig/README.adoc",
"action": "review",
"rule_module": "code_scanning_alerts",
"severity": "medium"
},
{
"reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
"type": "CSA001",
"file": "docs/reports/audit/audit-2026-04-15-post.md",
"action": "review",
"rule_module": "code_scanning_alerts",
"severity": "medium"
},
{
"reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
"type": "CSA001",
"file": "docs/integration/github-registry.adoc",
"action": "review",
"rule_module": "code_scanning_alerts",
"severity": "medium"
},
{
"reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
"type": "CSA001",
"file": "docs/integration/github-registry.adoc",
"action": "review",
"rule_module": "code_scanning_alerts",
"severity": "medium"
},
{
"reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
"type": "CSA001",
"file": "docs/integration/a2ml-k9.md",
"action": "review",
"rule_module": "code_scanning_alerts",
"severity": "medium"
},
{
"reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
"type": "CSA001",
"file": "docs/architecture/system-integration.md",
"action": "review",
"rule_module": "code_scanning_alerts",
"severity": "medium"
}
]Powered by Hypatia Neurosymbolic CI/CD Intelligence |
hyperpolymath
added a commit
that referenced
this pull request
Jun 18, 2026
…el (#511) Expands ffi/zig/README.adoc to document the 16-protocol Hexadeca-Connector surface: the connector id/name table + load-bearing wire ordering + port layout, the Zig/Idris2/Rust tri-language contract and its golden-fixture drift guard (#510), the transaction-based ephemerality model, and the fill-on-demand status of the per-protocol wire bodies. Docs-only; held 6a2 STATE/META/ANCHOR untouched. https://claude.ai/code/session_016R5WsMHtpnD8bmrkjFNFmg
hyperpolymath
added a commit
that referenced
this pull request
Jun 20, 2026
## What Adds `docs/status/handover-2026-06-20.md` — a session handover snapshot for the next agent picking up estate hygiene across `hypatia`, `gitbot-fleet`, and `.git-private-farm`. ## Why The headline finding is **clone-vs-live drift**: both the hypatia and gitbot-fleet clones used this session lag live `main` (hypatia at ~#462 vs live #516; gitbot-fleet at #261 vs live #298), and the `local_proxy` git remote is a frozen snapshot that `git fetch` cannot refresh. Pushing the local working branches is unsafe — gitbot-fleet's clone still carries the 99 vendored sustainabot files that #297 deleted. The doc records the safe write pattern (API-push from a fresh branch, as used for #510–#516) and the disposition of each touched issue. ## Contents - Clone-vs-live drift table + safe-write guidance. - Closed / grounded: gitbot-fleet #246 (closed), #255 + hypatia #426 (grounded). - Blocked-on-owner: #417, #485, #486, #463/#464/#470, gitbot-fleet #278. - Fresh-thread: wokelang, #482 wikis. Docs-only; no code or rule changes. Draft for owner review. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_016R5WsMHtpnD8bmrkjFNFmg --- _Generated by [Claude Code](https://claude.ai/code/session_016R5WsMHtpnD8bmrkjFNFmg)_ Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes the one drift-surface in the hexadeca-connector wire contract. The Zig enum, Idris2 ABI, and Rust client mirror the same 16 connectors, but agreement rested on three independent test suites each pinning the same constants — and the Idris
connectorCount = Reflproof pins the count (16), not the ordering. A silent re-order updated in two of three mirrors would slip through.Adds a single oracle:
ffi/connectors.json— golden source-of-truth (16 ×{id, name}, in wire order).test/hexadeca_contract_test.exs— reads the golden plus all three source files (hexadeca.zig,Types.idr,connector.rs) and asserts each mirror matches in name and order, and that ids are sequential 0–15.Runs under the existing
mix test(uses Jason — already a dep; no new workflow). A drift in any one mirror now fails CI instead of silently breaking the wire. Verified by hand that all three are currently in lockstep, so this should land green.Part 1 of 2 from the hexadeca review; the doc pass (16-connector surface + the transaction-based-ephemerality model into the README/6a2) follows separately.
https://claude.ai/code/session_016R5WsMHtpnD8bmrkjFNFmg