Skip to content

refactor(ffi): rename Hexadeca-Connector to UnifiedApiAdapter everywhere - #805

Merged
hyperpolymath merged 2 commits into
mainfrom
refactor/rename-hexadeca-to-unified-api-adapter
Sep 21, 2026
Merged

hyperpolymath merged 2 commits into
mainfrom
refactor/rename-hexadeca-to-unified-api-adapter

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Estate-wide rename, canonical repo first: the unified Zig API pattern Hexadeca-Connector → UnifiedApiAdapter (unified-api-adapter in paths/files).

What changed

  • ffi/zig/src/hexadeca.zigunified-api-adapter.zig; struct HexadecaSuiteUnifiedApiAdapter
  • test/hexadeca_contract_test.exstest/unified-api-adapter-contract_test.exs (module Hypatia.UnifiedApiAdapterContractTest; _test.exs suffix preserved so mix's default *_test.exs glob still discovers it)
  • All prose/doc/machine-readable references updated (27 files, 61±61 lines)
  • Draft audit-workflow doc now references the new shared-action path zig-unified-api-adapter-check (lands via the cicd-suite expand→migrate→contract migration running alongside this PR)

What did NOT change (contract safety)

  • The 16 connector names and wire ids are byte-identical (verified by diff against the pre-rename golden list)
  • All 18 hypatia_* C exports untouched
  • portFor = base + id + 1 arithmetic untouched

Verification

  • Zero residual hexadeca hits in-tree
  • Drift-guard mirrors simulated: Zig unified-api-adapter.zig, Idris2 src/abi/Types.idr, Rust clients/rust/hypatia-client/src/connector.rs all still extract the golden 16 in order, ids 0–15
  • connectors.json _note paths updated to the new filenames

Companion PRs: cicd-suite (action expand), idaptik, boj-server, standards, proven-servers + ~26 consumer repos flipping the shared-action path.

Estate naming decision: the sixteen-protocol unified Zig API surface is now
canonically the 'zig unified-api-adapter' (type identifier UnifiedApiAdapter),
replacing the 'Hexadeca-Connector' label across the canonical source.

Convention: paths/files/dirs use dashes (unified-api-adapter); text and code
type identifiers use UnifiedApiAdapter. The 16 connector names and C ABI wire
ids in ffi/connectors.json are unchanged (load-bearing wire contract).

- ffi/zig/src/hexadeca.zig -> unified-api-adapter.zig (struct HexadecaSuite
  -> UnifiedApiAdapter)
- test/hexadeca_contract_test.exs -> unified-api-adapter-contract_test.exs
  (module Hypatia.HexadecaContractTest -> Hypatia.UnifiedApiAdapterContractTest;
  _test.exs suffix preserved so mix test still discovers the drift guard)
- connectors.json _note, README, Rust client, Idris2 ABI (both Types.idr),
  connector stub comments, and docs updated to the new name/paths

Verified: zero residual 'hexadeca'; the 16 connector names/ids are
byte-identical; the contract drift-guard's three language mirrors (Zig, Idris2,
Rust) still extract the golden 16 in order with sequential ids 0-15.
@coderabbitai

coderabbitai Bot commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 2ace761a-fa15-4a79-8d44-9ef1e2ab528d

📥 Commits

Reviewing files that changed from the base of the PR and between a79a354 and 7217906.

📒 Files selected for processing (27)
  • AFFIRMATION.adoc
  • clients/rust/hypatia-client/Cargo.toml
  • clients/rust/hypatia-client/src/connector.rs
  • clients/rust/hypatia-client/src/lib.rs
  • docs/DEBT-REGISTER.adoc
  • docs/design/estate-audit-workflow-draft.adoc
  • docs/governance/CRG-AUDIT-2026-04-18.adoc
  • docs/status/estate-musts-intends-wishes-2026-06-19.adoc
  • ffi/connectors.json
  • ffi/zig/README.adoc
  • ffi/zig/src/connectors/bebop.zig
  • ffi/zig/src/connectors/bsp.zig
  • ffi/zig/src/connectors/capnproto.zig
  • ffi/zig/src/connectors/flatbuffers.zig
  • ffi/zig/src/connectors/graphql.zig
  • ffi/zig/src/connectors/grpc.zig
  • ffi/zig/src/connectors/jsonrpc.zig
  • ffi/zig/src/connectors/mqtt.zig
  • ffi/zig/src/connectors/rest.zig
  • ffi/zig/src/connectors/soap.zig
  • ffi/zig/src/connectors/trpc.zig
  • ffi/zig/src/connectors/verisimdb_rest.zig
  • ffi/zig/src/connectors/websocket.zig
  • ffi/zig/src/unified-api-adapter.zig
  • src/Hypatia/ABI/Types.idr
  • src/abi/Types.idr
  • test/unified-api-adapter-contract_test.exs
 ___________________________________________________________
< Patience, young padawan. The bugs will reveal themselves. >
 -----------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@hyperpolymath
hyperpolymath merged commit 8832f56 into main Sep 21, 2026
1 check passed
@hyperpolymath
hyperpolymath deleted the refactor/rename-hexadeca-to-unified-api-adapter branch September 21, 2026 00:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant