Agentic AI Atlasby a5c.ai
OverviewWikiGraphFor AgentsEdgesSearchWorkspace
/
GitHubDocsDiscord
i.2Wiki
Agentic AI Atlas · Agent Layer Gaps — Full Agent Stack
docs/agent-layer-gapsa5c.ai
Search the atlas/
Wiki · linked records

Article and nearby pages

I.Current articlepp. 1 - 1
adapters docsAgent-Adapter ↔ Babysitter IntegrationContributor ReferenceArticlesHarness AssimilationAtlas Catalog Unification
I.
Wiki article

docs/agent-layer-gaps

Reading · 19 min

Agent Layer Gaps — Full Agent Stack reference

Comprehensive inventory of missing capabilities, stub implementations, and architectural weaknesses across agent-core (L4), agent-runtime (L5), agent-platform (L6), tasks-adapter, tools-adapter, transport-adapter, and babysitter-sdk.

Page nodewiki/docs/agent-layer-gaps.mdNearby pages · 35Documents · 0

Continue reading

Nearby pages in the same section.

adapters docsAgent-Adapter ↔ Babysitter IntegrationContributor ReferenceArticlesHarness AssimilationAtlas Catalog UnificationAtlas Graph ↔ Library Gap ReportBabysitter BlueprintsBabysitter Plugins → Blueprints RenameBabysitter CLI & SDK Examplesa5c Development DocumentationEvil FallbacksGenty Features Backlog: Adversarial Gap Analysisgenty Stack RenamesUsing the Babysitter GitHub ActionUsing Babysitter with Claude Code GitHub ActionsUsing Babysitter with Codex GitHub ActionsUsing Babysitter with Gemini CLI GitHub ActionsHardcoded Harness/Target Gaps — Should Be Derived from Atlas GraphHarness Features Backlog: Gap Analysis (Restructured)Here Be Dragons — Babysitter MonorepoHermes Agent Deep ResearchPackage and Plugin Docs MapAgent PluginsReferenceReference ReposContinuous Release PipelineRepositories Using BabysitterBabysitter Run History InsightsSupermemory Deep ResearchTesting StrategyBabysitter User GuideBabysitter v6: The Orchestration Platform Goes Universala5c.ai V6 Spec And RoadmapWorkspace Validation Map

Agent Layer Gaps — Full Agent Stack

Comprehensive inventory of missing capabilities, stub implementations, and architectural weaknesses across agent-core (L4), agent-runtime (L5), agent-platform (L6), tasks-adapter, tools-adapter, transport-adapter, and babysitter-sdk.

---

agent-core (L4) — 47 gaps

Critical (blocks production use)

GapFileDescription
No streamingsession.ts:200-257prompt() waits for full response, emits single text_delta with everything. No token-by-token streaming.
No multi-turn historysession.ts:217-223Messages rebuilt from scratch each call. No persistent conversation context across prompt() calls.
Structured output follow-up worksession.ts, types.tsAgent-core now exposes opt-in json_object/json_schema prompt output, provider request mapping, local parsing, and focused schema validation. Remaining gaps: full JSON Schema validator coverage and streaming structured-output integration (#575).
Token usage discardedsession.ts:163-177Parsed from API response but never returned to caller or tracked cumulatively.

High (major feature gaps)

GapFileDescription
Vision/multimodal follow-up worksession.tsAgent-core now accepts direct prompt text/image URL/base64 content parts and maps them for OpenAI/Azure/Anthropic. Remaining gaps: streaming multimodal responses (#575), image-bearing ToolResult support (#588), and broader vision tool ergonomics.
No tool AbortSignaltypes.ts:86-96Custom tools can't be cancelled by framework. Each must own its timeout.
Token estimation remains heuristiccontext/token-estimator.tsEstimation is now provider/model-aware for OpenAI/Azure, Anthropic/Claude, and conservative unknown-model defaults, but still does not use exact provider tokenizer libraries or cost tracking.
initialize() is no-opsession.ts:196-198No connection warmup, no schema cache, no health check.
No DI for LLM clientsession.ts:40-97Endpoint resolution hardcoded. Cannot inject custom fetch for testing/mocking.
Browser tool fragileagenticTools/browser/tool.tsGlobal singleton, no connection pool, no resource limits, screenshot returns metadata not images.
Web search hardcodedagenticTools/web/tools.ts:47-54DuckDuckGo HTML scraping only. No pluggable backend. Fragile to DOM changes.
No error typesagenticTools/shared/results.tsAll errors → text strings. No ToolNotFoundError, TimeoutError, etc.
Context summary is concatenationcontext/strategies/summary.ts:18-39No actual summarization. Evicted entries just joined with newlines.

Medium (architectural weaknesses)

GapDescription
Concurrent strategy naivePromise.allSettled with no per-agent timeout, no partial results, no graceful degradation
Group-chat moderator fragileString matching for agent selection, no validation against agent list
Handoff has no state passingSecond agent doesn't know what first agent did. No context transfer.
No loop cancellation tokenrun() generator can't be externally cancelled
Oversight is single-passmaxRetries = 0 hardcoded. Reviewer can reject but no retry mechanism.
Delegation timeout ignoredtimeout parameter accepted but never enforced
No plugin/extension APIDeferredToolRegistry exists but minimally integrated
No caching anywhereTool results, web fetches, schema fetches — nothing cached
Hardcoded limits50MB output, 120s bash, 30s search — not configurable
7 test files for 59 sourcesAgentic tools, error paths, loop strategies untested
Endpoint resolution duplicates adaptersProvider handling reimplemented instead of shared

---

agent-runtime (L5) — 48 gaps

Critical

GapFileDescription
K8s executor is stubexecution/modes/kubernetes.ts:52-94Manifest builder only. No kubectl apply, no log streaming, no completion polling. Marks "running" without executing.
No crash recoverydaemon/lifecycle.ts:78-148Daemon death loses all pending work. No auto-restart, no watchdog.
Crash recovery is partialdaemon/lifecycle.ts, daemon/durableQueue.tsTrigger events can persist and replay through DurableTriggerQueue, but daemon death still has no auto-restart supervisor/watchdog flow.
Resource budgets not enforcedresources/manager.tsLimits checked but not blocking. Agents can exceed budgets.
Telemetry has no exporttelemetry/provider.tsInMemoryTelemetryProvider only. Traces lost on process exit. No OTLP, no file export.

High

GapFileDescription
Process isolation is partialexecution/modes/local.ts, execution/policy.tsExecutionPolicy now removes default parent env inheritance and fails fast for unsupported local network/kernel sandbox guarantees. Local mode is still a host process and does not provide namespaces, chroot, seccomp, or capability isolation.
No graceful draindaemon/lifecycle.ts:152-226SIGTERM + grace period, but no coordinated queue drain. Active runs waited but no cancellation signal.
No hot reloaddaemon/lifecycle.tsConfig changes require full restart. Queue/active runs lost.
SSH — partial verificationexecution/modes/ssh.tsStrict host-key checking is now the default and StrictHostKeyChecking=no requires an explicit insecure policy opt-in. Retry, pooling, and keepalive are still missing.
Docker — partial sandbox policyexecution/modes/docker.tsDocker args now include secure defaults plus resource/network/DNS policy support. Live daemon availability and image verification preflight remain missing.
External trigger sources are incompletedaemon/types.ts, daemon/loop.tsFile/webhook/timer are hardened with durable retry/DLQ, dedupe windows, queue depth admission, and webhook rate limiting. Broker/chat/git trigger adapters are still missing.
Background process isolation/backpressure is partialbackgroundProcessRegistry.tsBackground execution now uses ExecutionPolicy env/cwd handling, retained/dropped stream byte metadata, optional process-group termination with grace escalation, timeout status, pause/resume capability checks, dependency queueing, and lifecycle hook diagnostics. Remaining gaps are OS-enforced isolation and daemon-level graceful drain/crash recovery.

Medium

GapDescription
No CPU/memory/disk trackingOnly token/cost budgets. No system resource quotas.
No admission controlNo pre-flight budget check before effect dispatch.
Cron advanced syntax is partialNamed days/months, timezone evaluation, standard macros, and @reboot are supported. L and #N calendar syntax remain unsupported.
No event-driven triggersFile/webhook/timer only. No message queue (RabbitMQ/Kafka/SQS).
Trigger rate limiting is local onlyWebhook/loop admission supports local rate limits, dedupe windows, and queue caps. Distributed/adaptive throttling is still missing.
No structured loggingAppend-only JSON log. No levels, no filtering, no rotation.
Health checks — no percentilesAverage latency only. No P50/P95/P99.
No metrics exportSnapshots computed but never sent to monitoring (Prometheus, CloudWatch).
No systemd/supervisor integrationManual start/stop. No restart on reboot.
No distributed tracingNo W3C trace context, no OTLP spans.
No config migrationNo version field. Schema changes break existing daemons.
Limited test coverageNo daemon loop integration tests, no crash recovery tests.

---

agent-platform (L6) — 40+ gaps

Critical (blocks platform viability)

GapFileDescription
MCP not integratedsrc/mcp/client/*Full MCP client, transport, executor implemented but NOT wired into orchestration. Tool routing disconnected.
ConcurrentEffects not implementedsrc/harness/types.ts:30Capability declared but effects processed sequentially. No Promise.all batching.
Breakpoints not integratedsrc/breakpoints/*Approval chains, delegation, postures defined but never invoked during orchestration.
Cost tracking not integratedsrc/cost/effectCost.tsPer-effect cost aggregation exists but not called during effect resolution.
Session budget enforcement partialsrc/session/cost.ts, src/harness/internal/createRun/orchestration/effects.tsPost-effect overlays now update session cost, mark thresholds, and set explicit auto-pause budgets paused; broader pre-dispatch admission control remains missing.

High

GapFileDescription
BackgroundEffects not implementedsrc/harness/types.ts:32Declared but no non-blocking effect dispatch. Orchestration blocks on every effect.
MultiHarnessDispatch not implementedsrc/harness/types.ts:34No support for distributing effects across multiple harnesses.
Session history partially wiredsrc/session/history.ts, src/harness/internal/createRun/orchestration/effects.tsPost-effect decisions/context snapshots and external run summaries are captured; broader internal-orchestration summary coverage remains to be expanded.
Session compaction partially triggeredsrc/compression/compaction.ts, src/harness/internal/createRun/orchestration/effects.tsPost-effect overlays invoke compaction from estimated state size thresholds while preserving source journals/tasks.
Capability router partially wiredsrc/harness/capabilityRouter.ts, src/harness/internal/createRun/utils.tsExplicit task execution/policy hints can route through capability scoring; default dispatch remains compatibility-preserving.
Model selection partially wiredsrc/harness/modelSelection.ts, src/harness/internal/createRun/utils.tsExplicit execution.model hints can use model-aware harness selection; default routing is unchanged.
Fallback chains partially wiredsrc/harness/fallbackChains.ts, src/harness/internal/createRun/utils.tsExplicit fallback-chain metadata can select the next installed harness; runtime retry policy still needs broader integration.
Sandbox policy not enforcedsrc/governance/sandboxPolicy.tsRules defined but not enforced on tool execution.
MCP channels disconnectedsrc/mcp/channels/*Allowlist, inbound queue, outbound sender exist but not connected to interaction routing.
Streaming output not implementedsrc/harness/types.ts:93-100Type defined but no streaming callbacks in effect resolution.

Medium

GapDescription
Conditional task routing partially integratedProcess JavaScript can branch on ctx.task results; remaining work is making declarative task dependencies and route metadata first-class.
Checkpointing partially integratedSDK effect-group checkpoint metadata exists; process-level savepoint/replay contracts still need a durable public API.
No rollback/undoReversible effects and compensating actions still need an explicit non-rollbackable vs rollbackable contract.
Nested orchestration partially integratedsubprocess effects create child runs; child pending actions now use the same grouped dispatch path as top-level orchestration.
No process versioningBreaking changes in process definitions unmanaged.
No multi-agent orchestrationNo agent pools, discovery, or load balancing.
No tool discovery/registry populationdeferredToolRegistry.ts exists but not populated.
No rate limiting per harnessNo token bucket or sliding window.
No process dependency managementTasks within a process can't declare dependencies.
Orchestration dispatch partially concurrentAgent-platform groups same-iteration actions by schedulerHints.parallelGroupId, honors maxConcurrency/executionStrategy, preserves deterministic commit order, and routes per-action harness hints; broader agent-pool scheduling remains missing.
Session context plan-phase coverage partialBounded session context is injected into planProcess prompts when a current harness session context is resolvable; sessions without resolvable context keep the old prompt shape.
Daemon max concurrent runs defaults to 4Configurable via daemon config; the default may still need workload-specific tuning.
Selection policies partially wiredsrc/harness/selectionPolicies.ts can be invoked by explicit task metadata/execution policy hints; default dispatch remains unchanged.

---

tasks-adapter (Human-in-the-Loop & Task System) — 51 gaps

Critical (blocks agent stack integration)

GapFileDescription
Not wired into agent stackagent-core/tools/delegation.ts:86-98task tool uses generic taskHandler callback, NOT tasks-adapter. Breakpoints, responders, routing all disconnected from agent execution.
MCP tools not auto-discoveredagent-platform/mcp/client/toolRegistry.tsMarked "NOT INTEGRATED YET". tasks-adapter MCP server has 8 tools but agent harness doesn't know they exist.
Breakpoint delegation disconnectedagent-platform/breakpoints/delegation.ts:1-8Marked "NOT INTEGRATED YET". Webhook routing exists but not connected to tasks-adapter backends.
Native agent-core tools wrapping tasks-adapter are partial—tasks-adapter now exposes MCP tools such as create_todo, assign_task, search_tasks, add_comment, bulk_update_tasks, task_stats, export_tasks, and escalate; direct agent-core tool wrapping and auto-discovery remain separate integration work.
Approval chains not integratedagent-platform/breakpoints/approvalChains.tsSequential/quorum approvals defined but never invoked during orchestration.

High (major task management gaps)

GapDescription
Task priorities are partially implementedBreakpoint schema now has priority (low, medium, high, critical) and git-native search can filter/sort by priority. Routing policy integration remains follow-up work.
Task dependencies are partially implementedBreakpoint schema now has dependsOn[]; dependency-aware routing/blocking policy remains follow-up work.
Search/filter API is partially implementedGit-native now exposes searchBreakpoints(query) with text/status/priority/assignee/responder/tag/domain/date filters, sorting, and pagination. External backend parity remains capability-gated.
Bulk operations are partially implementedGit-native now supports bulk cancel/close/reassign/transition/approve with per-item results. External backend parity remains capability-gated.
No subagent spawning via task systemAgent-to-agent delegation doesn't route through responder discovery/matching.
No escalation chainsNo fallback responders when initial responder times out.
MCP tools are partially implementedtasks-adapter exposes native task tools including create_todo, assign_task, search_tasks, add_comment, bulk_update_tasks, task_stats, export_tasks, and escalate; cancellation remains covered by breakpoint APIs rather than a dedicated native-task alias.
Interactive forms are schema-onlyBreakpoint schema includes form definitions/submissions, but no full conditional form UX or file review flow exists yet.

Medium

GapDescription
Task states are partially implementedBreakpoint status now includes assigned, in-progress, blocked, and escalated; broader routing semantics remain follow-up work.
Status history/timeline is partially implementedGit-native appends history entries for create/assign/status/comment/answer operations. Cross-backend parity remains capability-gated.
Notifications are schema-onlyNotification provider config exists and is disabled by default; real email, Slack, Discord, and webhook dispatch remains follow-up work.
Task metrics/SLA are partially implementedGit-native computes deterministic status/priority counts and response/completion timing where available; responder performance analytics remain follow-up work.
Discussion threads are partially implementedGit-native supports comments on breakpoints and MCP exposes add_comment; richer threaded UX remains follow-up work.
No offline queueServer backend has no local fallback if server is down.
State machine validation is partially implementedShared transition validation rejects invalid terminal-state changes and git-native uses it for lifecycle transitions.
Audit log is partially implementedGit-native appends audit entries for core task-management mutations. Cross-backend audit parity remains follow-up work.
CLI commands are partially implemented`tasks-adapter tasks search
Only 3 backendsgit-native, server, github-issues. Missing: database, S3, Slack, Linear/Jira.
No schema migrationCan't upgrade breakpoint format across versions.
Responder matching not integratedresponder-matcher.ts exists but only used in CLI, not in agent routing decisions.

---

tools-adapter (Unified Tool Dispatch) — NOT INTEGRATED

tools-adapter provides ToolRegistry, ToolDispatcher (policy-driven routing), McpBridge, and schema translation for all providers (Anthropic, OpenAI, Google, Bedrock). None of it is wired into the agent stack.

Critical

GapDescription
Not used by agent-coreagent-core has DeferredToolRegistry (custom two-tier registry). tools-adapter's ToolDispatcher would provide unified dispatch policy across builtin, MCP, and plugin tools.
Not used by agent-platformagent-platform has McpToolRegistry + McpToolExecutor (separate from tools-adapter). No unified tool dispatch mechanism.
3 registries, no unificationDeferredToolRegistry (L4) + McpToolRegistry (L6) + ToolRegistry (tools-adapter). Should be one system.
Hook bridge is no-opToolHookBridge is NoopToolHookBridge. PreToolUse/PostToolUse hooks never fire. No hooks-adapter integration.
McpBridge is declarative-onlyRegisters MCP tool definitions but no runtime server lifecycle management.
No dynamic routingPolicy rules are static. No context-aware routing (by runId, sessionId, caller, cost).
No plugin tool typeDeferredToolRegistry handles plugins but tools-adapter doesn't.

Where it should plug in

Code
agent-core tool_search/tool_fetch → tools-adapter ToolRegistry (replaces DeferredToolRegistry)
agent-core code_executor → tools-adapter ToolDispatcher.dispatch() (policy routing)
agent-platform MCP tools → tools-adapter McpBridge (unified registration)
hooks-adapter PreToolUse/PostToolUse → tools-adapter ToolHookBridge (permission/audit)

---

transport-adapter (Protocol Translation) — PARTIALLY INTEGRATED

transport-adapter provides protocol translation (Anthropic↔OpenAI↔Google↔Bedrock↔Azure↔Vertex), codec system, completion engines with streaming, and an HTTP proxy runtime. Used by adapters launcher but disconnected from the rest of the agent stack.

Gaps

GapDescription
Cost feedback missingProxy extracts cost records per-request but never feeds them to SDK journal or L6 cost tracking.
Session-unawareProxy is stateless. No runId/sessionId tracking. Can't trace requests through distributed orchestration.
Codec discovery not pluggableNew providers require hardcoded codec registration. No plugin system.
Not integrated with L6agent-platform reads some codec metadata but doesn't feed tool definitions back to codecs.
"Provisional" cutoverMarked provisional in agent-catalog pending scorecard:migration gate.

Where it should plug in

Code
adapters launcher → transport-adapter proxy (DONE — this works)
transport-adapter cost records → SDK journal appendEvent (MISSING — cost feedback loop)
transport-adapter request traces → L5 telemetry spans (MISSING — distributed tracing)
transport-adapter tool normalization → tools-adapter schema translation (MISSING — should share)

---

babysitter-sdk (Foundation) — PARTIALLY LEVERAGED

SDK provides the effect journal, replay engine, task system (defineTask/ctx.task), runtime lifecycle, state cache, MCP server, and CLI. It's the foundation that L5/L6 build on, but several SDK features are unused.

Gaps

GapDescription
SDK MCP server orphanedcreateBabysitterMcpServer() exposes task/run/session tools but never registered in tools-adapter McpBridge or L6 MCP client.
SDK tasks ≠ tasks-adapterSDK has defineTask() / ctx.task(). tasks-adapter has BreakpointBackend. Two separate task systems that don't know about each other.
No subagent effect typeJournal tracks effects but has no entry type for cross-agent dispatch. adapters launches happen outside the journal.
Effect execution scatteredSDK journals effects but actual execution is hardcoded per-type across agent-platform (file, code, web) and adapters (harness launch). No unified effect executor.
No tool metadata in tasksSDK tasks have descriptions but no JSON Schema parameters. agent-core's tool_fetch needs schemas for discovery.
Hooks disconnectedSDK has hooks/runtime.ts but no connection to hooks-adapter lifecycle events.
Plugin registry parallelSDK has plugin registry, agent-platform has separate plugin system.

Where it should plug in

Code
SDK MCP server → tools-adapter McpBridge → agent-core tool discovery (MISSING)
SDK defineTask → tasks-adapter BreakpointBackend (MISSING — for human-in-the-loop tasks)
SDK effect journal → subagent effect type → adapters adapter dispatch (MISSING)
SDK hooks → hooks-adapter lifecycle events (MISSING)
SDK effect execution → unified executor → tools-adapter dispatch (MISSING)

---

genty → Agent-Adapter Cross-Agent Dispatch (NOT IMPLEMENTED)

genty should be able to dispatch subtasks to external agents supported by adapters (claude-code, codex, gemini-cli, copilot, etc.) through the runtime. This enables an genty orchestration to delegate specialist work to the best available agent.

Missing Architecture

Code
Current:
  genty → agent-core session (direct API) → single model, no tool agents

Needed:
  genty → agent-platform effect dispatch
    → SDK "subagent" effect type (journaled)
    → tasks-adapter routes to responder (adapters adapter)
    → adapters adapter launches target agent (claude-code, codex, etc.)
    → result posted back through tasks-adapter → SDK journal
    → orchestration continues with result

Specific Gaps

GapDescription
No subagent effect type in SDKNeed kind: "subagent" with { targetAgent, prompt, model, timeout }
No adapters adapter selection in gentygenty doesn't know about adapters's adapter registry
No tasks-adapter routing for subagent dispatchtasks-adapter routes to human responders, not to adapters adapters
No result collection from external agentsadapters launch returns stdout/stderr but no structured task result
No cross-agent session contextDispatched agent doesn't see parent's context, files, or journal

---

External Issue Tracker Integration (MISSING)

tasks-adapter should support pluggable external issue tracker backends for subtask tracking, syncing breakpoints bidirectionally with the team's project management tools.

Current State

Only GitHubIssuesBackend exists. Basic mapping of breakpoints to GitHub issues.

Missing Backends

BackendPriorityDescription
JiraHighREST API integration. Map breakpoints to Jira issues. Bidirectional sync.
LinearHighGraphQL API. Map to Linear issues. Automated status transitions.
Generic RESTHighConfigurable HTTP adapter for any REST-based tracker.
Slack threadsMediumMap breakpoints to Slack message threads for lightweight tracking.
TrelloLowBoard/card mapping.
Azure DevOpsLowWork item integration.

Missing Sync Capabilities

GapDescription
No bidirectional syncGitHub Issues backend creates issues but doesn't sync status changes back.
No conflict resolutionIf issue is updated in both places, no merge strategy.
No field mapping configFixed mapping. Can't customize which breakpoint fields map to which issue fields.
No webhook listenersCan't receive push notifications from external trackers on status change.
No bulk syncCan't sync all existing breakpoints to a tracker on first connect.
No backend plugin systemAdding a backend requires code changes, not configuration.

---

Cross-Layer Integration Gaps

GapLayersDescription
~~Background process registry duplicated~~~~L4↔L5~~~~Same code in 5 files across agent-core, agent-runtime, agent-platform~~ → runtime now owns the registry/state; core and platform keep shims
~~Shell invocation duplicated~~~~L4↔L5↔L6~~~~5 locations with different flags (now unified but still duplicated)~~ → runtime now owns the shell argv contract
Endpoint resolution duplicatedL4↔adaptersagent-core reimplements provider handling that adapters owns
Cost tracking disconnectedL4→L5→L6Token usage parsed in L4, budgets in L5, enforcement supposed in L6 — none connected
Session state fragmentedL5↔L6Runtime has session types, platform has session management — not integrated
Telemetry isolatedL5In-memory only, never exported to L6 or external systems
Resource limits advisoryL5→L6Budgets exist in L5, capability routing in L6 — neither enforced at spawn time
tasks-adapter isolated from agent stackL4↔tasks-adapterAgent tools (task, ask) don't route through tasks-adapter. Breakpoints, responder discovery, routing all disconnected.
Breakpoint delegation disconnectedL6↔tasks-adapteragent-platform breakpoint system and tasks-adapter backends are parallel implementations, not integrated
MCP tools not registeredL6↔tasks-adaptertasks-adapter MCP server has 8 tools but agent harness doesn't discover or register them
Approval chains orphanedL6↔tasks-adapterSequential/quorum approval logic in L6 is not wired to tasks-adapter routing/answering
3 separate tool registriesL4↔tools-adapter↔L6DeferredToolRegistry (L4) + McpToolRegistry (L6) + ToolRegistry (tools-adapter) — should be unified
tools-adapter dispatch not usedtools-adapter↔L4ToolDispatcher exists with policy-driven routing but agent-core hardcodes tool execution
tools-adapter hooks stubbedtools-adapter↔hooks-adapterToolHookBridge is NoopToolHookBridge. PreToolUse/PostToolUse never fire.
No subagent effect typeSDK↔adaptersSDK journal has no effect type for cross-agent dispatch. adapters launches happen outside journal.
SDK MCP server disconnectedSDK↔tools-adapter↔L6SDK's createBabysitterMcpServer() never registered in tools-adapter McpBridge or L6 MCP client
SDK tasks ≠ tasks-adapterSDK↔tasks-adapterSDK has its own task system (defineTask, ctx.task). tasks-adapter has BreakpointBackend. Neither knows about the other.
transport-adapter cost feedback missingtransport-adapter↔SDKProxy extracts cost records but never feeds them back to SDK journal or L6 cost tracking
transport-adapter session-unawaretransport-adapter↔L5Proxy is stateless. No runId/sessionId tracking for distributed observability.
No cross-agent task dispatchtasks-adapter↔adaptersgenty can't dispatch subtasks to external agents (claude-code, codex, etc.) via adapters adapters
No external issue tracker synctasks-adapter↔externalOnly GitHub Issues backend. No Jira, Linear, or generic REST backend for pluggable subtask tracking.

---

Priority Fix Order

**P0 — Unblock production agent use:** 1. Streaming responses in agent-core session 2. Multi-turn conversation history 3. Unify tool registries: tools-adapter ToolDispatcher replaces DeferredToolRegistry + McpToolRegistry 4. Wire tasks-adapter into agent stack (native tools: todo, task, ask, approve, assign) 5. Wire MCP into agent-platform orchestration (connect tools-adapter McpBridge) 6. Complete ConcurrentEffects coverage beyond grouped agent-platform dispatch 7. Token usage tracking end-to-end (L4 → transport-adapter → SDK journal → L6 cost)

**P1 — Unblock platform features:** 1. Subagent effect type in SDK journal + genty → adapters adapter dispatch 2. Structured output / JSON mode hardening in agent-core (full schema validator coverage and streaming coordination) 3. Vision/multimodal input follow-through (#575 streaming responses, #588 image-bearing ToolResult) 4. Wire breakpoint delegation → tasks-adapter backends 5. Wire approval chains → tasks-adapter routing 6. Cost budget enforcement in orchestration (transport-adapter cost feedback → SDK) 7. Background effects (non-blocking dispatch) 8. tasks-adapter search/filter API + priorities + dependencies

**P2 — Integration & hardening:** 1. External issue tracker backends (Jira, Linear, generic REST) with bidirectional sync 2. genty cross-agent dispatch: tasks-adapter routes subtasks to adapters adapters 3. K8s executor implementation 4. Crash recovery + persistent queue in daemon 5. Process isolation/sandboxing 6. Distributed tracing (transport-adapter → L5 telemetry → OTLP export) 7. Tool cancellation via AbortSignal 8. tasks-adapter notifications, escalation chains, backend plugin system 9. SDK hooks → hooks-adapter lifecycle wiring 10. tools-adapter hook bridge → hooks-adapter PreToolUse/PostToolUse

Trail

Wiki
Babysitter Docs

Agent Layer Gaps — Full Agent Stack

Continue reading

adapters docs
Agent-Adapter ↔ Babysitter Integration
Contributor Reference
Articles
Harness Assimilation
Atlas Catalog Unification
Atlas Graph ↔ Library Gap Report
Babysitter Blueprints

Page record

Open node ledger

wiki/docs/agent-layer-gaps.md

Documents

No documented graph nodes on this page.