Design notes

September 6, 2026 ยท View on GitHub

Accepted design records for changes narrow enough that they have no owning module spec. Each states current behavior and the reasoning behind it. A note whose subject grows into a subsystem should become a spec under ../../system-specs/modules/ instead.

NoteCovers
soft-stop.mdCooperative cancel: acknowledging a stop before a hard kill so session state survives.
session-slack-linking.mdHow a Slack thread maps onto a Kiro Crew session, and how thread state stays in sync.
mcp-oauth-ownership.mdThe kiro-cli credential boundary for an OAuth MCP server: which path establishes a grant, the paired token and registration artifacts it leaves, and the stat-only surface Kiro Crew observes them through.
mcp-entry-provenance.mdWhich entries in a shared MCP config file a sync may rewrite: the write-authorship marker and its four outcomes.
mcp-gateway-claim-push.mdEvent-driven caller identity for pooled MCP stubs.
mcp-gateway-oversize-response.mdHandling an MCP tool response that exceeds the gateway read buffer.
oversized-image-session-wedge.mdWhy one oversized screenshot fails every later turn, which capture path escapes the inline-image caps, and how to repair a wedged transcript.
mcp-stub-decoupling.mdWhy the stub is emitted for every server, and why per-connection backends stay outside the pooling budget.
profiling.mdThe debug-only stack sampler and desktop app metrics.
tool-stall-watchdog-placement.mdWhich stall checks belong in the ACP read loop and which must be judged out of band.
memory-benchmarks.mdMeasuring the memory layer against LongMemEval and LoCoMo, and why the retrieval ruler is deterministic.

Connections is a subsystem, not a narrow decision record, so its status vocabulary, mint contract, warm table, disconnect authorization and launch-gate verdicts live under change control in ../../system-specs/modules/connections.md.