You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
klasp's wedge is "one config, many agents." Treating that as a marketing line is fragile — it has to be a tracked, public contract. This issue creates the conformance matrix that says, per agent surface, what works today and what doesn't.
Modeled after browser-vendor compatibility tables (caniuse / MDN). When a cell is ?, that's a backlog item, not a feature.
A row may only claim ✓ in a column if all three of the following are true:
Install / uninstall integration test that runs the path against a temp repo and asserts on-disk state (managed block correct, hook script idempotent, conflict detection halts cleanly).
Captured-session test that replays an actual agent transcript, blocks on a check, and verifies the agent receives a structured verdict it can act on.
Anything weaker is ? — feature claimed, but not load-bearing.
Acceptance
Matrix lives at docs/agent-surfaces.md and is referenced from the README's "Why klasp" section.
Each ✓ links to the test file that proves it.
PR template adds a checkbox: "If this PR adds or changes an agent surface, agent-surfaces.md is updated."
CI fails (or warns loudly) if a new surface lands without a row.
Mirrored on klasp.dev (replaces the current ad-hoc 5-row support table).
Out of scope
Implementing missing rows for Aider / Cursor / etc. — that's per-surface work tracked under their own issues. This issue is the matrix + the discipline that goes with it.
Why now
Pulling forward to v0.2.5. Without it, every new surface is a snowflake; with it, surface work has a definition of done that's externally legible. Pairs with #55 (per-surface contract) and #65 (gate cwd-correctness) as the "surface reliability + repo correctness" theme for v0.2.5.
Why
klasp's wedge is "one config, many agents." Treating that as a marketing line is fragile — it has to be a tracked, public contract. This issue creates the conformance matrix that says, per agent surface, what works today and what doesn't.
Modeled after browser-vendor compatibility tables (caniuse / MDN). When a cell is
?, that's a backlog item, not a feature.Matrix (initial state, post v0.2.2)
What "✓" means in this matrix
A row may only claim ✓ in a column if all three of the following are true:
MissingHook/StaleConfig/WrongVersionfindings when the underlying state is wrong (depends on per-surfacedoctor_checkfrom Extend AgentSurface trait with install_with_warnings + doctor_check (kill stringly-typed dispatch + close doctor coverage gap) #55).Anything weaker is
?— feature claimed, but not load-bearing.Acceptance
docs/agent-surfaces.mdand is referenced from the README's "Why klasp" section.agent-surfaces.mdis updated."klasp.dev(replaces the current ad-hoc 5-row support table).Out of scope
Implementing missing rows for Aider / Cursor / etc. — that's per-surface work tracked under their own issues. This issue is the matrix + the discipline that goes with it.
Why now
Pulling forward to v0.2.5. Without it, every new surface is a snowflake; with it, surface work has a definition of done that's externally legible. Pairs with #55 (per-surface contract) and #65 (gate cwd-correctness) as the "surface reliability + repo correctness" theme for v0.2.5.