Summary
Evolve the existing target adapter registry beyond skills, hooks, MCP documents,
and opaque payloads. Model host-neutral plugin components—skills, commands, agents, rules,
event routes, MCP servers, LSP/native diagnostics, Apps, and native extensions—
then lower only genuinely supported surfaces into each host.
Problem
TraceDecay ships materially different integrations for Claude, Cursor, Codex,
Kimi, OpenCode, Gemini, Copilot, Kiro, Cline, Roo, and Kilo. Some support hooks,
some only MCP; one uses an LSP document, another a native VS Code extension;
commands and agents intentionally differ by host.
Agent Bundle currently has pinned adapters for Claude, Cursor, Codex, and a
portable profile, with Boolean capability checks centered on skills, hooks,
and MCP. Opaque prebuilt payloads preserve bytes but cannot validate component
meaning, ownership, capability requirements, or host-specific omissions.
Canonical component model
type AgentComponentKind =
| 'skill'
| 'command'
| 'agent'
| 'rule'
| 'event-route'
| 'mcp'
| 'mcp-app'
| 'lsp'
| 'native-diagnostics'
| 'native-extension';
Projects use conventional roots such as src/commands, src/agents,
src/rules, and src/extensions, while existing skills, MCP, Apps, and
events feed the same semantic manifest.
Authors may group components into installable feature sets, but paths and
ownership remain compiler-derived. A component cannot silently write another
component's artifact.
Capability catalog
Target adapters publish versioned capability records:
type TargetCapabilityState =
| { state: 'supported'; evidence: string }
| { state: 'degraded'; reason: string; evidence?: string }
| { state: 'unavailable'; reason: string }
| { state: 'prohibited'; reason: string };
Capability evidence points to a pinned schema, official host contract, or
checked-in native fixture. Similar branding or payload shape is not evidence.
Projection
The compiler generates a host component plan containing:
- selected semantic components and target restrictions;
- native paths, schemas, manifests, and command shapes;
- host-specific omissions with reasons;
- content and effective-behavior digests;
- source and host-contract provenance;
- protocol and runtime requirements;
- the lifecycle ownership class for every artifact.
Adapters, not application code, own native manifests and shared-config merge
formats.
Acceptance criteria
- One host-neutral skill/event/MCP definition lowers into different valid
Claude, Cursor, and Codex artifacts.
- A target may intentionally omit commands or agents without appearing broken.
- LSP and native-extension components are represented explicitly rather than
hidden in opaque payloads.
- Unsupported components fail before artifact publication.
- Every supported capability has pinned evidence and conformance fixtures.
- Inspect output explains selected, degraded, unavailable, and omitted
components per target.
Design references
Stack position
Full meta-framework stack
Summary
Evolve the existing target adapter registry beyond skills, hooks, MCP documents,
and opaque payloads. Model host-neutral plugin components—skills, commands, agents, rules,
event routes, MCP servers, LSP/native diagnostics, Apps, and native extensions—
then lower only genuinely supported surfaces into each host.
Problem
TraceDecay ships materially different integrations for Claude, Cursor, Codex,
Kimi, OpenCode, Gemini, Copilot, Kiro, Cline, Roo, and Kilo. Some support hooks,
some only MCP; one uses an LSP document, another a native VS Code extension;
commands and agents intentionally differ by host.
Agent Bundle currently has pinned adapters for Claude, Cursor, Codex, and a
portable profile, with Boolean capability checks centered on skills, hooks,
and MCP. Opaque prebuilt payloads preserve bytes but cannot validate component
meaning, ownership, capability requirements, or host-specific omissions.
Canonical component model
Projects use conventional roots such as
src/commands,src/agents,src/rules, andsrc/extensions, while existingskills, MCP, Apps, andevents feed the same semantic manifest.
Authors may group components into installable feature sets, but paths and
ownership remain compiler-derived. A component cannot silently write another
component's artifact.
Capability catalog
Target adapters publish versioned capability records:
Capability evidence points to a pinned schema, official host contract, or
checked-in native fixture. Similar branding or payload shape is not evidence.
Projection
The compiler generates a host component plan containing:
Adapters, not application code, own native manifests and shared-config merge
formats.
Acceptance criteria
Claude, Cursor, and Codex artifacts.
hidden in opaque payloads.
components per target.
Design references
Stack position
event-routecomponent family plugs in after #97 semantic events land;skill, command, agent, rule, MCP, LSP, and native-extension compilation do not
depend on event routes.
claim.
Full meta-framework stack