← ClaudeAtlas

agent-core-boundarieslisted

Use when changing the headless session façade, app-server, or CLI/GUI shared contracts; when a new surface might fork the agent; or when UI would import core. Use when the user mentions 架构, protocol, JSON-RPC, headless, ACP, app-server.
xin-yi33/coding-agent-crew · ★ 1 · AI & Automation · score 72
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