docs(work): decompose platform-retrofit and walking-skeleton epics
platform-retrofit: 8 stories / 18 tasks (spec bundle into docs/product, single-version release-please before deletions, demo feature removal, web-next auth shell, optional cores, work-tree archive, library traces, agent-doc rewrite). walking-skeleton: 11 stories / 28 tasks across workspaces, discovery, core-runner-protocol, runner app, editor, and the flagship connect-to-selection e2e; builds on platform-retrofit (prose dependency note — cross-epic frontmatter unsupported). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016j8z4VHjedXDTjEDNg7qHK
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"updated_at": "2026-05-20T12:57:04.572Z",
|
||||
"updated_at": "2026-07-12T10:28:27.450Z",
|
||||
"epics": {
|
||||
"binder-wrap-helper": {
|
||||
"status": "done",
|
||||
@@ -537,6 +537,93 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"platform-retrofit": {
|
||||
"status": "in-progress",
|
||||
"title": "Platform retrofit — repurpose template-vertical as the Veect monorepo",
|
||||
"prd": "docs/work/prds/platform-retrofit.prd.md",
|
||||
"stories": {
|
||||
"01-commit-product-docs": {
|
||||
"status": "in-progress",
|
||||
"title": "Commit the product spec and design references under docs/product/",
|
||||
"ac_total": 3,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [],
|
||||
"blocks": [
|
||||
"08-rewrite-agent-docs"
|
||||
]
|
||||
},
|
||||
"02-single-version-release-please": {
|
||||
"status": "todo",
|
||||
"title": "Rewrite release-please to a single root product version",
|
||||
"ac_total": 1,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [],
|
||||
"blocks": [
|
||||
"03-delete-demo-apps-and-features",
|
||||
"08-rewrite-agent-docs"
|
||||
]
|
||||
},
|
||||
"03-delete-demo-apps-and-features": {
|
||||
"status": "todo",
|
||||
"title": "Delete web-tanstack and the four demo content features",
|
||||
"ac_total": 5,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [
|
||||
"02-single-version-release-please"
|
||||
],
|
||||
"blocks": [
|
||||
"04-web-next-shell",
|
||||
"08-rewrite-agent-docs"
|
||||
]
|
||||
},
|
||||
"04-web-next-shell": {
|
||||
"status": "todo",
|
||||
"title": "Reduce web-next to an auth shell with a boot smoke assertion",
|
||||
"ac_total": 2,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [
|
||||
"03-delete-demo-apps-and-features"
|
||||
],
|
||||
"blocks": [
|
||||
"08-rewrite-agent-docs"
|
||||
]
|
||||
},
|
||||
"05-scaffold-optional-cores": {
|
||||
"status": "todo",
|
||||
"title": "Scaffold core-events and core-realtime",
|
||||
"ac_total": 2,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [],
|
||||
"blocks": [
|
||||
"08-rewrite-agent-docs"
|
||||
]
|
||||
},
|
||||
"06-archive-template-work": {
|
||||
"status": "todo",
|
||||
"title": "Archive the shipped template work tree",
|
||||
"ac_total": 1,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [],
|
||||
"blocks": []
|
||||
},
|
||||
"07-editor-library-traces": {
|
||||
"status": "todo",
|
||||
"title": "Library traces for @xyflow/react and zustand",
|
||||
"ac_total": 2,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [],
|
||||
"blocks": []
|
||||
},
|
||||
"08-rewrite-agent-docs": {
|
||||
"status": "todo",
|
||||
"title": "Rewrite CLAUDE.md and AGENTS.md for Veect",
|
||||
"ac_total": 2,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [],
|
||||
"blocks": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"product-analytics-channel": {
|
||||
"status": "done",
|
||||
"title": "Product analytics as a fourth capture channel (ADR-024 implementation)",
|
||||
@@ -756,9 +843,262 @@
|
||||
"blocks": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"walking-skeleton": {
|
||||
"status": "in-progress",
|
||||
"title": "Walking skeleton — one real component, end to end through the hosted spine",
|
||||
"prd": "docs/work/prds/walking-skeleton.prd.md",
|
||||
"stories": {
|
||||
"01-vite-kitchen-fixture": {
|
||||
"status": "in-progress",
|
||||
"title": "vite-kitchen fixture + git-serving test helpers",
|
||||
"ac_total": 2,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [],
|
||||
"blocks": [
|
||||
"04-runner-app-protocol-clone-install"
|
||||
]
|
||||
},
|
||||
"02-core-runner-protocol": {
|
||||
"status": "todo",
|
||||
"title": "core-runner-protocol package — versioned, zod-validated message schemas",
|
||||
"ac_total": 2,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [],
|
||||
"blocks": [
|
||||
"04-runner-app-protocol-clone-install",
|
||||
"09-editor-package"
|
||||
]
|
||||
},
|
||||
"03-workspaces-feature-core": {
|
||||
"status": "todo",
|
||||
"title": "workspaces feature core — connect, status, list + encrypted credential storage",
|
||||
"ac_total": 4,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [],
|
||||
"blocks": []
|
||||
},
|
||||
"04-runner-app-protocol-clone-install": {
|
||||
"status": "todo",
|
||||
"title": "runner app — protocol server, clone stage, install stage",
|
||||
"ac_total": 3,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [
|
||||
"01-vite-kitchen-fixture",
|
||||
"02-core-runner-protocol"
|
||||
],
|
||||
"blocks": [
|
||||
"05-runner-scan-and-preview-adapter",
|
||||
"06-runner-provisioner-port"
|
||||
]
|
||||
},
|
||||
"05-runner-scan-and-preview-adapter": {
|
||||
"status": "todo",
|
||||
"title": "runner scan stage + embedded-Vite preview adapter + canvas agent v0",
|
||||
"ac_total": 2,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [
|
||||
"04-runner-app-protocol-clone-install"
|
||||
],
|
||||
"blocks": [
|
||||
"07-runner-lifecycle-events-and-realtime"
|
||||
]
|
||||
},
|
||||
"06-runner-provisioner-port": {
|
||||
"status": "todo",
|
||||
"title": "IRunnerProvisioner port + local-process and single-host Docker implementations",
|
||||
"ac_total": 2,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [
|
||||
"03-workspaces-feature-core",
|
||||
"04-runner-app-protocol-clone-install"
|
||||
],
|
||||
"blocks": [
|
||||
"07-runner-lifecycle-events-and-realtime"
|
||||
]
|
||||
},
|
||||
"07-runner-lifecycle-events-and-realtime": {
|
||||
"status": "todo",
|
||||
"title": "runner lifecycle — status events, scan event, realtime channel",
|
||||
"ac_total": 3,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [],
|
||||
"blocks": [
|
||||
"08-discovery-feature",
|
||||
"10-web-next-wiring"
|
||||
]
|
||||
},
|
||||
"08-discovery-feature": {
|
||||
"status": "todo",
|
||||
"title": "discovery feature — registry snapshots, getRegistry, scan ingestion",
|
||||
"ac_total": 3,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [
|
||||
"07-runner-lifecycle-events-and-realtime"
|
||||
],
|
||||
"blocks": [
|
||||
"10-web-next-wiring"
|
||||
]
|
||||
},
|
||||
"09-editor-package": {
|
||||
"status": "todo",
|
||||
"title": "editor package — React Flow board, iframe frame node, canvas-protocol client",
|
||||
"ac_total": 3,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [
|
||||
"02-core-runner-protocol"
|
||||
],
|
||||
"blocks": [
|
||||
"10-web-next-wiring"
|
||||
]
|
||||
},
|
||||
"10-web-next-wiring": {
|
||||
"status": "todo",
|
||||
"title": "web-next wiring — connect UX, staged progress, editor route",
|
||||
"ac_total": 3,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [],
|
||||
"blocks": [
|
||||
"11-flagship-e2e"
|
||||
]
|
||||
},
|
||||
"11-flagship-e2e": {
|
||||
"status": "todo",
|
||||
"title": "flagship e2e — connect vite-kitchen to selection round-trip",
|
||||
"ac_total": 1,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [
|
||||
"10-web-next-wiring"
|
||||
],
|
||||
"blocks": []
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ready": [],
|
||||
"blocked": [],
|
||||
"ready": [
|
||||
{
|
||||
"epic": "platform-retrofit",
|
||||
"story": "01-commit-product-docs",
|
||||
"title": "Commit the product spec and design references under docs/product/"
|
||||
},
|
||||
{
|
||||
"epic": "platform-retrofit",
|
||||
"story": "02-single-version-release-please",
|
||||
"title": "Rewrite release-please to a single root product version"
|
||||
},
|
||||
{
|
||||
"epic": "platform-retrofit",
|
||||
"story": "05-scaffold-optional-cores",
|
||||
"title": "Scaffold core-events and core-realtime"
|
||||
},
|
||||
{
|
||||
"epic": "platform-retrofit",
|
||||
"story": "06-archive-template-work",
|
||||
"title": "Archive the shipped template work tree"
|
||||
},
|
||||
{
|
||||
"epic": "platform-retrofit",
|
||||
"story": "07-editor-library-traces",
|
||||
"title": "Library traces for @xyflow/react and zustand"
|
||||
},
|
||||
{
|
||||
"epic": "platform-retrofit",
|
||||
"story": "08-rewrite-agent-docs",
|
||||
"title": "Rewrite CLAUDE.md and AGENTS.md for Veect"
|
||||
},
|
||||
{
|
||||
"epic": "walking-skeleton",
|
||||
"story": "01-vite-kitchen-fixture",
|
||||
"title": "vite-kitchen fixture + git-serving test helpers"
|
||||
},
|
||||
{
|
||||
"epic": "walking-skeleton",
|
||||
"story": "02-core-runner-protocol",
|
||||
"title": "core-runner-protocol package — versioned, zod-validated message schemas"
|
||||
},
|
||||
{
|
||||
"epic": "walking-skeleton",
|
||||
"story": "03-workspaces-feature-core",
|
||||
"title": "workspaces feature core — connect, status, list + encrypted credential storage"
|
||||
},
|
||||
{
|
||||
"epic": "walking-skeleton",
|
||||
"story": "07-runner-lifecycle-events-and-realtime",
|
||||
"title": "runner lifecycle — status events, scan event, realtime channel"
|
||||
},
|
||||
{
|
||||
"epic": "walking-skeleton",
|
||||
"story": "10-web-next-wiring",
|
||||
"title": "web-next wiring — connect UX, staged progress, editor route"
|
||||
}
|
||||
],
|
||||
"blocked": [
|
||||
{
|
||||
"epic": "platform-retrofit",
|
||||
"story": "03-delete-demo-apps-and-features",
|
||||
"title": "Delete web-tanstack and the four demo content features",
|
||||
"waiting_on": [
|
||||
"platform-retrofit/02-single-version-release-please"
|
||||
]
|
||||
},
|
||||
{
|
||||
"epic": "platform-retrofit",
|
||||
"story": "04-web-next-shell",
|
||||
"title": "Reduce web-next to an auth shell with a boot smoke assertion",
|
||||
"waiting_on": [
|
||||
"platform-retrofit/03-delete-demo-apps-and-features"
|
||||
]
|
||||
},
|
||||
{
|
||||
"epic": "walking-skeleton",
|
||||
"story": "04-runner-app-protocol-clone-install",
|
||||
"title": "runner app — protocol server, clone stage, install stage",
|
||||
"waiting_on": [
|
||||
"walking-skeleton/01-vite-kitchen-fixture",
|
||||
"walking-skeleton/02-core-runner-protocol"
|
||||
]
|
||||
},
|
||||
{
|
||||
"epic": "walking-skeleton",
|
||||
"story": "05-runner-scan-and-preview-adapter",
|
||||
"title": "runner scan stage + embedded-Vite preview adapter + canvas agent v0",
|
||||
"waiting_on": [
|
||||
"walking-skeleton/04-runner-app-protocol-clone-install"
|
||||
]
|
||||
},
|
||||
{
|
||||
"epic": "walking-skeleton",
|
||||
"story": "06-runner-provisioner-port",
|
||||
"title": "IRunnerProvisioner port + local-process and single-host Docker implementations",
|
||||
"waiting_on": [
|
||||
"walking-skeleton/03-workspaces-feature-core",
|
||||
"walking-skeleton/04-runner-app-protocol-clone-install"
|
||||
]
|
||||
},
|
||||
{
|
||||
"epic": "walking-skeleton",
|
||||
"story": "08-discovery-feature",
|
||||
"title": "discovery feature — registry snapshots, getRegistry, scan ingestion",
|
||||
"waiting_on": [
|
||||
"walking-skeleton/07-runner-lifecycle-events-and-realtime"
|
||||
]
|
||||
},
|
||||
{
|
||||
"epic": "walking-skeleton",
|
||||
"story": "09-editor-package",
|
||||
"title": "editor package — React Flow board, iframe frame node, canvas-protocol client",
|
||||
"waiting_on": [
|
||||
"walking-skeleton/02-core-runner-protocol"
|
||||
]
|
||||
},
|
||||
{
|
||||
"epic": "walking-skeleton",
|
||||
"story": "11-flagship-e2e",
|
||||
"title": "flagship e2e — connect vite-kitchen to selection round-trip",
|
||||
"waiting_on": [
|
||||
"walking-skeleton/10-web-next-wiring"
|
||||
]
|
||||
}
|
||||
],
|
||||
"needs_prd_ship": []
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user