II.
Page JSON
Structured · livepage:docs-v6-spec-and-roadmap-decisions-adr-001-babysitter-agent-seam-contract
ADR-001: Babysitter-Agent Seam Contract As The First Executable V6 Slice json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "page:docs-v6-spec-and-roadmap-decisions-adr-001-babysitter-agent-seam-contract",
"_kind": "Page",
"_file": "wiki/docs/v6-spec-and-roadmap/decisions/adr-001-babysitter-agent-seam-contract.md",
"_cluster": "wiki",
"attributes": {
"nodeKind": "Page",
"sourcePath": "docs/v6-spec-and-roadmap/decisions/ADR-001-babysitter-agent-seam-contract.md",
"sourceKind": "repo-docs",
"title": "ADR-001: Babysitter-Agent Seam Contract As The First Executable V6 Slice",
"displayName": "ADR-001: Babysitter-Agent Seam Contract As The First Executable V6 Slice",
"slug": "docs/v6-spec-and-roadmap/decisions/adr-001-babysitter-agent-seam-contract",
"articlePath": "wiki/docs/v6-spec-and-roadmap/decisions/ADR-001-babysitter-agent-seam-contract.md",
"article": "\n# ADR-001: Babysitter-Agent Seam Contract As The First Executable V6 Slice\n\n## Status\n\n- Status: Accepted\n- Date: 2026-04-24\n- Scope: `packages/babysitter-agent`\n\n## Context\n\nV6 says the first executable slice must be small, validated, and reversible. The current repository already contains a real seam candidate inside `@a5c-ai/babysitter-agent`: `packages/babysitter-agent/src/seams/contract.ts`.\n\nThat contract assigns every top-level runtime domain under `src/` to one owned slice, binds those slices to public subpath exports, and defines validation commands. The missing piece was not the seam manifest itself. The missing piece was the architecture record that promotes this work from \"candidate implementation detail\" into the explicit first executable V6 slice the roadmap requires.\n\nWithout that record, the monorepo reorg remains underspecified in three ways:\n\n- the first executable slice is described in docs but not formally selected,\n- there is no single repo-level command that proves the slice still holds,\n- rollback and kill criteria are implied rather than written.\n\n## Decision\n\nV6 accepts the `babysitter-agent` seam contract as the first executable slice of the monorepo reorg.\n\nThe slice is defined as:\n\n- keeping `@a5c-ai/babysitter-agent` as the current package boundary,\n- making seam ownership explicit through `packages/babysitter-agent/src/seams/contract.ts`,\n- validating that ownership through seam tests and package build output,\n- avoiding any new top-level package creation or rename in this slice.\n\nThe repo-level validation command for this slice is:\n\n```bash\nnpm run verify:v6:seams\n```\n\nThat command currently expands to:\n\n```bash\nnpm run test:seams --workspace=@a5c-ai/babysitter-agent\n```\n\nThe seam contract itself still records the broader package-level validation commands that should remain true for the package over time:\n\n```bash\nnpm run build --workspace=@a5c-ai/babysitter-agent\nnpm run test --workspace=@a5c-ai/babysitter-agent\n```\n\nThe repo-level gate intentionally stays narrower so the ownership contract can be checked independently of unrelated package-typecheck churn.\n\n## Consequences\n\n### Positive\n\n- The V6 roadmap now has a concrete first executable slice instead of only a future requirement.\n- The monorepo reorg stays narrow: internal seam clarification, not speculative package expansion.\n- Runtime-domain ownership, public exports, and V6 documentation now share one validation path.\n\n### Negative\n\n- The seam manifest adds maintenance overhead whenever top-level `src/` domains move.\n- The slice does not by itself prove that deeper extraction is worthwhile.\n- Package-level complexity inside `@a5c-ai/babysitter-agent` still exists; this only constrains it.\n\n## Validation\n\nUse these commands when editing this slice:\n\n```bash\nnpm run verify:v6:seams\n```\n\nSupporting evidence lives in:\n\n- `packages/babysitter-agent/src/seams/contract.ts`\n- `packages/babysitter-agent/src/seams/contract.test.ts`\n- `docs/v6-spec-and-roadmap/current-state.md`\n- `docs/v6-spec-and-roadmap/v6-implementation-roadmap.md`\n\n## Rollback\n\nRollback is intentionally cheap:\n\n1. Revert the seam-contract manifest, tests, and repo-level validation command.\n2. Remove the ADR and revert the V6 docs back to candidate-slice language.\n3. Keep `@a5c-ai/babysitter-agent` as the unchanged package/runtime surface.\n\nThis rollback does not require package renames, install migration, or cross-repo choreography.\n\n## Kill Criteria\n\nStop expanding this slice if any of the following becomes true:\n\n- top-level runtime domains churn faster than the seam manifest can stay trustworthy,\n- maintaining public seam exports adds more release risk than it removes,\n- the validation command begins requiring unrelated package coordination,\n- the next proposed move depends on new package creation instead of a proved internal seam.\n\n## Alternatives Considered\n\n### 1. Do nothing and leave the seam contract undocumented\n\nRejected because V6 explicitly requires a decision record for structural moves.\n\n### 2. Promote a new `agent-runtime` or `agent-platform` package immediately\n\nRejected because the core V6 docs classify those names as deferred vocabulary and require stronger evidence first.\n\n### 3. Treat plugin packaging or manifest validation as the first slice instead\n\nDeferred. Those are still valid candidate slices, but the seam contract already exists in code and is cheaper to validate and roll back.\n",
"documents": []
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "page:docs-v6-spec-and-roadmap-decisions",
"to": "page:docs-v6-spec-and-roadmap-decisions-adr-001-babysitter-agent-seam-contract",
"kind": "contains_page"
}
]
}