II.
Page JSON
Structured · livepage:docs-v6-spec-and-roadmap-v6-1-gap-inventory
Gap Inventory — Graph vs Implementation json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "page:docs-v6-spec-and-roadmap-v6-1-gap-inventory",
"_kind": "Page",
"_file": "wiki/docs/v6-spec-and-roadmap/v6-1/gap-inventory.md",
"_cluster": "wiki",
"attributes": {
"nodeKind": "Page",
"sourcePath": "docs/v6-spec-and-roadmap/v6.1/gap-inventory.md",
"sourceKind": "repo-docs",
"title": "Gap Inventory — Graph vs Implementation",
"displayName": "Gap Inventory — Graph vs Implementation",
"slug": "docs/v6-spec-and-roadmap/v6-1/gap-inventory",
"articlePath": "wiki/docs/v6-spec-and-roadmap/v6.1/gap-inventory.md",
"article": "\n# Gap Inventory — Graph vs Implementation\n\nComplete inventory of gaps between the Atlas graph (source of truth) and the current implementation. Each gap is classified by severity and type.\n\n## Gap Classification\n\n- **S1 (Critical):** Graph defines a core concept with no implementation — blocks production use\n- **S2 (Major):** Graph defines a concept with partial/fragmented implementation — causes friction\n- **S3 (Minor):** Naming or organizational mismatch — doesn't block functionality\n- **S4 (Deferred):** Graph defines a future concept explicitly marked as out-of-scope for current version\n\n## Gaps by Layer\n\n### L1: Model — Metadata Only\n\n| ID | Severity | Gap | Description |\n|----|----------|-----|-------------|\n| G-L1-01 | S4 | No model selection engine | Graph defines ModelVersion, ModelFamily, Modality but no package performs runtime model selection or capability negotiation. Models are specified by the user or hardcoded in launch configs. |\n| G-L1-02 | S3 | AdapterModel in extensions cluster | AdapterModel records live in the `extensions` cluster but conceptually belong to L1 (Model) or L2 (Provider). |\n\n### L2: Provider — Split Ownership\n\n| ID | Severity | Gap | Description |\n|----|----------|-----|-------------|\n| G-L2-01 | S2 | Provider abstraction fragmented | Provider concepts are split: transport-adapter owns the proxy, adapters-cli owns provider translation, agent-catalog owns provider metadata. No unified provider interface. |\n| G-L2-02 | S2 | ProviderTranslation in extensions cluster | ProviderTranslation records describe how to route provider X through transport Y, but they're in `extensions` rather than a dedicated provider cluster. |\n\n### L3: Transport — Codec Architecture Incomplete\n\n| ID | Severity | Gap | Description |\n|----|----------|-----|-------------|\n| G-L3-01 | S2 | Codec refactor deferred | The transport-adapter codec architecture (TransportCodec interface, per-protocol codecs, tool schema translation) was planned in v6.0 but only partially implemented. |\n| G-L3-02 | S2 | Codex websocket bypass | Codex CLI uses websockets that bypass OPENAI_BASE_URL proxy (#200). Transport layer can't intercept all connection types. |\n| G-L3-03 | S3 | TransportRuntime in extensions | TransportRuntime node kind is in `extensions` cluster, should be in `compute`. |\n\n### L4-L5: Agent-Core / Agent-Runtime — Mature, Minor Gaps\n\n| ID | Severity | Gap | Description |\n|----|----------|-----|-------------|\n| G-L45-01 | S3 | Dual implementation paths | Two packages (agent-core, agent-comm-adapter) both implement L4 concerns. Intentional per v6.0 but increases cognitive load. |\n| G-L45-02 | S4 | CapabilityProfile not runtime | Graph defines CapabilityProfile as a swappable bundle; no runtime mechanism to swap capability profiles at launch time. |\n\n### L6: Agent-Platform — Plugin Compiler Mature, Platform Deferred\n\n| ID | Severity | Gap | Description |\n|----|----------|-----|-------------|\n| G-L6-01 | S4 | No team agent platform | Graph defines AgentTeam; no implementation for multi-agent team coordination beyond subagents. |\n| G-L6-02 | S4 | Marketplace identity deferred | PluginMarketplace is defined but marketplace authentication, billing, and identity are not implemented. |\n| G-L6-03 | S2 | AgentPlatformImpl has no standalone package | The node kind exists but platform concerns are scattered across 3 packages. |\n\n### L7: Workspace — Implicit, Not Explicit\n\n| ID | Severity | Gap | Description |\n|----|----------|-----|-------------|\n| G-L7-01 | S2 | No workspace contract | The concept of \"what the agent can see/modify\" is implicit in `.a5c/runs/` layout. No explicit workspace materialization, indexing, or access-control API. |\n| G-L7-02 | S3 | Worktree concept partially implemented | Graph defines Worktree and WorktreeSession; Claude Code worktrees exist but aren't managed through a babysitter workspace API. |\n\n### L8: Execution — Effect Model Strong, Execution Environment Weak\n\n| ID | Severity | Gap | Description |\n|----|----------|-----|-------------|\n| G-L8-01 | S2 | ESM process module loading | Process files using ESM imports fail in some contexts because Node.js ESM resolver doesn't find workspace packages from file:// URLs. Fixed with NODE_PATH hack but not architecturally clean (#196). |\n| G-L8-02 | S3 | No execution environment abstraction | Effects run in the host process; no containerized or isolated execution environment. |\n\n### L9: Sandbox — Approval Only\n\n| ID | Severity | Gap | Description |\n|----|----------|-----|-------------|\n| G-L9-01 | S4 | No filesystem policy enforcement | Graph defines Sandbox and FilesystemSafetyInvariant; only human approval gates (tasks-adapter) are implemented. |\n| G-L9-02 | S4 | No network policy enforcement | No network-level sandboxing for agent-driven HTTP requests. |\n| G-L9-03 | S4 | No resource limit enforcement | No CPU/memory/time budgets for effect execution beyond timeouts. |\n\n### L10-L11: Interaction / Presentation — Mature\n\n| ID | Severity | Gap | Description |\n|----|----------|-----|-------------|\n| G-L1011-01 | S3 | Mobile/TV/watch platforms are stubs | adapters has mobile-android-app, mobile-ios-app, tv-*, watch-* directories but they're scaffolds, not production apps. |\n\n### L12: Knowledge Fabric — Catalog Exists, Memory Deferred\n\n| ID | Severity | Gap | Description |\n|----|----------|-----|-------------|\n| G-L12-01 | S4 | No durable agent memory | Graph defines MemorySystem, MemoryHierarchy, DecisionMemory; no package implements persistent agent memory across sessions. |\n| G-L12-02 | S4 | No semantic retrieval / RAG | Graph defines RetrievalPipeline, VectorStore, EmbeddingModelProfile; no implementation. |\n| G-L12-03 | S2 | agent-catalog is metadata-only | agent-catalog provides ontology and discovery but not runtime knowledge operations (query, update, learn). |\n\n### L13: Orchestration — Monolithic Center (By Design)\n\n| ID | Severity | Gap | Description |\n|----|----------|-----|-------------|\n| G-L13-01 | S3 | SDK is monolithic | babysitter-sdk contains runtime, storage, tasks, CLI, hooks, plugins, profiles, session, compression — intentional per v6.0 but limits independent evolution. |\n| G-L13-02 | S2 | Process code drift (#169) | Process replay breaks when process code changes between iterations. Stable invocation keys (PR #178) address this. |\n\n### L14: Governance — Scattered Controls\n\n| ID | Severity | Gap | Description |\n|----|----------|-----|-------------|\n| G-L14-01 | S2 | No unified governance API | Governance concerns are in agent-platform (module), tasks-adapter (approval), atlas (evidence/claims). No unified governance interface. |\n| G-L14-02 | S4 | NIST/OWASP frameworks aspirational | Graph references compliance frameworks; no implementation maps controls to these frameworks. |\n| G-L14-03 | S3 | TrustLevel has 5 records, no runtime | Graph defines 5 trust levels; no runtime mechanism to evaluate or enforce trust decisions. |\n\n## Summary by Severity\n\n| Severity | Count | Description |\n|----------|-------|-------------|\n| S1 (Critical) | 0 | No blocking gaps |\n| S2 (Major) | 10 | Fragmented ownership, missing abstractions, architectural debt |\n| S3 (Minor) | 9 | Naming, organization, cognitive load |\n| S4 (Deferred) | 10 | Explicitly out-of-scope for current version |\n\n## Cross-Cutting Gaps\n\n| ID | Severity | Gap | Description |\n|----|----------|-----|-------------|\n| G-X-01 | S2 | Graph clusters don't match layers | Some node kinds are in \"extensions\" or \"domain\" clusters rather than their architectural layer cluster. Makes graph navigation harder. |\n| G-X-02 | S3 | No layer tags on packages | Package.json files don't reference which atlas layer(s) they implement. |\n| G-X-03 | S2 | Windows support gaps | npm spawn, tar paths, TTY detection — multiple packages have Windows-specific issues that surface as CI failures. |\n| G-X-04 | S2 | hooks-adapter-cli version inconsistency | Adapter sub-packages have inconsistent staging version hashes, blocking clean installs. |\n",
"documents": []
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "page:docs-v6-spec-and-roadmap-v6-1",
"to": "page:docs-v6-spec-and-roadmap-v6-1-gap-inventory",
"kind": "contains_page"
}
]
}