Skip to content

Commit f81ff09

Browse files
docs: state the ABI=Idris2 / FFI=Zig baseline explicitly (#52)
## Summary Documents the estate's ABI/FFI baseline in `.claude/CLAUDE.md`, grounded in code I actually verified rather than assumed: the `gossamer-mcp`/`k9iser-mcp` cartridge templates in `boj-server-cartridges` and the Hexadeca-Connector pattern in `hypatia`/`proven-servers`. - **Any ABI must be Idris2**; this repo's own `src/abi/FeedbackOTron/Contract.idr` already complies (real, `proofs.yml`-checked). - **Any FFI must be Zig**; `ffi/zig/src/main.zig` is a labeled stub, no substitution. - The Zig "unified adapter" protocol-bridge layer is a **boj-cartridge** concept (documented fully in `boj-server`/`boj-server-cartridges`); this repo is the wrapped *engine*, not the cartridge, so it doesn't carry an `adapter/` of its own — noted explicitly to avoid future confusion. - Naming lineage: the fuller 16-surface "Hexadeca-Connector" pattern (real, in `hypatia`/`proven-servers`) descends from a **retired** V-lang reference in `developer-ecosystem`, replaced per the estate's V-lang ban (2026-04-10). Doc-only change; no code touched. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_017LDhR8gtnittEWSafunnrq --- _Generated by [Claude Code](https://claude.ai/code/session_017LDhR8gtnittEWSafunnrq)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent 73ba800 commit f81ff09

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

.claude/CLAUDE.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,28 @@ The following files in `.machine_readable/` contain structured project metadata:
5353
| React Native | Tauri/Dioxus |
5454
| Flutter/Dart | Tauri/Dioxus |
5555

56+
### ABI / FFI Baseline (Estate-wide, verified 2026-07-17)
57+
58+
- **Any ABI must be Idris2** — dependent-type proofs, `%default total`, zero
59+
`believe_me`/`postulate`/`assert_total` in the trusted core. This repo's own
60+
`src/abi/FeedbackOTron/Contract.idr` follows this (real, CI-checked by
61+
`proofs.yml`).
62+
- **Any FFI must be Zig.** This repo's `ffi/zig/src/main.zig` is currently a
63+
labeled stub — no other language is substituted for it.
64+
- **The "unified adapter" protocol-bridge layer** (Zig, single loopback
65+
listener, exposure-gated dispatch into one C ABI — see `boj-server` and
66+
`boj-server-cartridges` CLAUDE.md for the full contract) is a **boj
67+
cartridge** concept. This repo is the wrapped *engine*, not a cartridge
68+
itself (the cartridge is `bug-filing-mcp` in `boj-server-cartridges`), so it
69+
does not carry an `adapter/` directory of its own. Its front doors (MCP
70+
stdio/TCP, HTTP intake) are Elixir/OTP by architecture decision, unrelated
71+
to the Zig adapter pattern.
72+
- Naming lineage: the fuller "Hexadeca-Connector" (16-protocol-surface) pattern
73+
lives in `hyperpolymath/hypatia` and `hyperpolymath/proven-servers`, descended
74+
from a **retired** V-lang reference (`developer-ecosystem/v-ecosystem/v_api_interfaces`),
75+
replaced by Zig+Idris2+Rust-client per the estate-wide V-lang ban
76+
(2026-04-10). Never resurrect a V-lang adapter/ABI/FFI.
77+
5678
### Mobile Development
5779

5880
**No exceptions for Kotlin/Swift** - use Rust-first approach:

0 commit comments

Comments
 (0)