test(extproto): cover the extension wire contract and add a presence gate #33

Merged
clawdie merged 1 commit from clawdie/feat/test-presence-gate into main 2026-10-30 16:03:25 +01:00 AGit
Owner

extproto had no tests despite being the wire format both the host and the
extension SDK marshal. The new tests pin the invariants that break silently:
one frame per line, escaped payload newlines, omitted optional fields,
semantically intact extension JSON, loud marshal errors, and round trips.

scripts/test-presence.sh fails when a production package has no Test
functions. examples/ stay excluded (Go compiles them), and docs, embedded
assets, WASM wire types, and the shared conformance harness are allowlisted
with reasons; stale allowlist entries fail too. Wired into CI and make.

extproto had no tests despite being the wire format both the host and the extension SDK marshal. The new tests pin the invariants that break silently: one frame per line, escaped payload newlines, omitted optional fields, semantically intact extension JSON, loud marshal errors, and round trips. scripts/test-presence.sh fails when a production package has no Test functions. examples/ stay excluded (Go compiles them), and docs, embedded assets, WASM wire types, and the shared conformance harness are allowlisted with reasons; stale allowlist entries fail too. Wired into CI and make.
test(extproto): cover the extension wire contract and add a presence gate
All checks were successful
ci / test (pull_request) Successful in 3m17s
ci / extension (herdr-agent-state) (pull_request) Successful in 4s
ci / packaging (GNU/POSIX compatibility) (pull_request) Successful in 3s
leak-guard / guard (pull_request) Successful in 1s
ci / FreeBSD (native build and packaging) (pull_request) Successful in 4m5s
37b92d8000
extproto had no tests despite being the wire format both the host and the
extension SDK marshal. The new tests pin the invariants that break silently:
one frame per line, escaped payload newlines, omitted optional fields,
semantically intact extension JSON, loud marshal errors, and round trips.

scripts/test-presence.sh fails when a production package has no Test
functions. examples/ stay excluded (Go compiles them), and docs, embedded
assets, WASM wire types, and the shared conformance harness are allowlisted
with reasons; stale allowlist entries fail too. Wired into CI and make.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
clawdie/zot!33
No description provided.