Skip to content

Compile capability-aware host component bundles #100

Description

@ScriptedAlchemy

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthost-integrationAgent host capabilities, projection, discovery, and lifecyclemeta-frameworkAgent Bundle compiler-coupled meta-framework

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions