Skip to content

Add conformance fixtures for canonical A2C messages and validation failures #11

Description

@king-tero

Summary

The repo currently has a useful prose specification and a Python implementation, but no shared conformance fixtures for third-party implementers.

Suggested coverage

A small conformance/ or testdata/ directory could include JSON fixtures for:

  • valid HANDSHAKE, HANDSHAKE_ACK, PROMPT, ACTION, PENDING, TOOL_RESULT, RESPONSE, ERROR, GOODBYE, and INTERRUPT messages;
  • invalid messages with missing universal fields;
  • invalid seq regressions/gaps;
  • undeclared tool calls;
  • denied, timeout, cancelled, and failed tool results;
  • streaming RESPONSE chunks with final sentinel;
  • Daemon Mode handshakes.

Why it matters

A2C is intended as an interoperability protocol. Conformance fixtures would help other implementations validate behavior without reverse-engineering the Python reference implementation.

Possible fixes

  • Add canonical JSON fixtures under conformance/messages/.
  • Add a minimal Python test suite that validates fixtures against the Pydantic models.
  • Document which fixtures are normative examples and which are negative tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions