Problem statement
coding-ethos supports Codex, Claude Code, Gemini CLI, and generic agent surfaces, but provider capability truth is currently distributed across settings generation, hook output code, docs, MCP behavior, and tests. That makes it hard to answer which provider supports which hook events, block response shape, context injection shape, MCP setup, memory interception, or settings path.
ECC prior art worth porting: its cross-harness posture treats provider support as an adapter/compliance matrix instead of scattered docs. See:
Proposed solution
Add a machine-readable provider capability registry and generated compliance report.
The registry should cover at minimum:
- provider id and display name
- supported hook events
- block response shape and context/advice shape
- MCP setup support and settings target
- generated skill/docs target paths
- memory interception support and fallback behavior
- known unsupported surfaces and safety caveats
- verification command or fixture that proves the adapter still works
Generate a Markdown compliance matrix from the registry and make docs/checks consume the registry instead of duplicating provider support claims by hand.
Acceptance criteria
- Registry includes Codex, Claude Code, Gemini CLI, and generic fallback.
- Generated docs list supported, partially supported, and unsupported surfaces.
- CI or
make check fails if the generated provider matrix drifts from the registry.
- Provider-native output tests reference provider ids from the same registry.
- No provider-specific policy behavior is hidden outside the registry without a test or documented reason.
Implementation notes
Likely ownership is under go/internal/agenthooks or a new narrow provider metadata package, with docs generated into docs/INTEGRATIONS.md or a new provider matrix doc. Keep this as metadata plus validation first; do not rewrite hook behavior in the first pass.
Problem statement
coding-ethossupports Codex, Claude Code, Gemini CLI, and generic agent surfaces, but provider capability truth is currently distributed across settings generation, hook output code, docs, MCP behavior, and tests. That makes it hard to answer which provider supports which hook events, block response shape, context injection shape, MCP setup, memory interception, or settings path.ECC prior art worth porting: its cross-harness posture treats provider support as an adapter/compliance matrix instead of scattered docs. See:
Proposed solution
Add a machine-readable provider capability registry and generated compliance report.
The registry should cover at minimum:
Generate a Markdown compliance matrix from the registry and make docs/checks consume the registry instead of duplicating provider support claims by hand.
Acceptance criteria
make checkfails if the generated provider matrix drifts from the registry.Implementation notes
Likely ownership is under
go/internal/agenthooksor a new narrow provider metadata package, with docs generated intodocs/INTEGRATIONS.mdor a new provider matrix doc. Keep this as metadata plus validation first; do not rewrite hook behavior in the first pass.