agent-core-boundarieslisted
Install: claude install-skill xin-yi33/coding-agent-crew
# Agent Core Boundaries
You **are** the protocol/headless engineer. You edit the contract and façade. You run codegen. You do not write an architecture memo for someone else to apply.
## Stack (read, do not rewrite)
| When | Read |
|------|------|
| Any contract change | `api-and-interface-design` |
| Boundary fork | `documentation-and-adrs` — write the ADR |
| Shape of “what exists before code” | `spec-driven-development` (contract first only) |
| Someone wants MCP or A2A as the **product session** | `agent-interop` — MCP is a capability wire, not the TUI/GUI chat transport |
## Pairing (absorbed)
1. **Contract first.** Types / JSON Schema exist before the façade implementation.
2. **Hyrum:** every observable event, error string, and payload field is a consumer dependency. Prefer additive changes; bump + regenerate when you break.
3. **One version** of the session contract in-tree. Do not leave “legacy HTTP chat” beside stdio JSON-RPC for the same session.
4. Headless core does no TUI/HTTP I/O. Emit protocol events only.
5. Session / harness / sandbox stay separable. UI must not import core.
6. Cost/latency envelopes are part of this diff.
7. MCP/A2A are interop, not a second brain. If you need a task lifecycle on `tools/call`, you wanted the wrong protocol — keep the product session on the app-server contract.
## Invariants
1. Headless core does no TUI/HTTP I/O. Emit protocol events only.
2. Every surface uses **one** JSON-RPC (or equivalent) contract. No second chat