Commit fc496da
fix(abi): accept runtogether form for multi-cap acronym variants (iseriser#18) (#35)
`zig_variant_candidates` previously only emitted the snake_case form.
That choked on cartridges whose hand-written Zig FFI spells multi-cap
acronyms as a single run-together word (verified on boj-server/main):
| Idris2 | Emitter said | Zig actually has |
| ---------- | ------------ | ---------------- |
| GitHub | git_hub | github |
| GitLab | git_lab | gitlab |
| RabbitMQ | rabbit_mq | rabbitmq |
| DynamoDB | dynamo_db | dynamodb |
Per iseriser#18, the runtogether form (snake with all `_` removed) is
added as an additional candidate. The verifier already accepts any
candidate, so cartridges using snake_case (`manifest_loaded`, etc.)
stay green and cartridges using runtogether (`github`, etc.) now also
pass. No cartridge files are touched.
Single-word variants (`Empty` → `empty`) do NOT get a duplicate
candidate — the runtogether form is only added when it actually
differs from the snake form.
End-to-end verified against boj-server/main:
git-mcp: abi-verify OK (was Class B drift)
queues-mcp: abi-verify OK (was Class B drift)
aws-mcp: still drifts, but on a *different* class
(variant-extra-in-zig: sqs_send_message, sts_*,
not the DynamoDB normalisation case) — separate fix
8 manifest_schema unit tests pass; full suite (46 lib + 9 integration)
stays green.
Refs hyperpolymath/standards#92 (Phase 2 allowlist expansion).
Refs #18.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent fd3c6d9 commit fc496da
0 file changed
0 commit comments