docs(work): scaffold sandcastle-dispatch-v1 epic + stories
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"updated_at": "2026-05-13T06:12:30.043Z",
|
||||
"updated_at": "2026-05-13T06:16:11.738Z",
|
||||
"epics": {
|
||||
"agent-workflow-docs-v1": {
|
||||
"status": "done",
|
||||
@@ -254,6 +254,58 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"sandcastle-dispatch-v1": {
|
||||
"status": "in-progress",
|
||||
"title": "Sandcastle dispatch v1 — pnpm work dispatch with planning + execute modes",
|
||||
"stories": {
|
||||
"01-sandcastle-install": {
|
||||
"status": "in-progress",
|
||||
"title": "Install @ai-hero/sandcastle + Dockerfile",
|
||||
"ac_total": 4,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [],
|
||||
"blocks": [
|
||||
"02-dispatch-planner"
|
||||
]
|
||||
},
|
||||
"02-dispatch-planner": {
|
||||
"status": "todo",
|
||||
"title": "Dispatch planner — finds next ready bullet, prints plan",
|
||||
"ac_total": 3,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [
|
||||
"01-sandcastle-install"
|
||||
],
|
||||
"blocks": [
|
||||
"03-dispatch-execute",
|
||||
"04-dispatch-cli-wiring"
|
||||
]
|
||||
},
|
||||
"03-dispatch-execute": {
|
||||
"status": "todo",
|
||||
"title": "Dispatch execute mode — invoke sandcastle.run for impl + review",
|
||||
"ac_total": 4,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [
|
||||
"02-dispatch-planner"
|
||||
],
|
||||
"blocks": [
|
||||
"04-dispatch-cli-wiring"
|
||||
]
|
||||
},
|
||||
"04-dispatch-cli-wiring": {
|
||||
"status": "todo",
|
||||
"title": "pnpm work dispatch CLI wiring + smoke tests",
|
||||
"ac_total": 4,
|
||||
"ac_completed": 0,
|
||||
"depends_on": [
|
||||
"02-dispatch-planner",
|
||||
"03-dispatch-execute"
|
||||
],
|
||||
"blocks": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"work-system-v1": {
|
||||
"status": "done",
|
||||
"title": "Work system v1 (MVP) — state tracking + pnpm work CLI",
|
||||
@@ -269,6 +321,38 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"ready": [],
|
||||
"blocked": []
|
||||
"ready": [
|
||||
{
|
||||
"epic": "sandcastle-dispatch-v1",
|
||||
"story": "01-sandcastle-install",
|
||||
"title": "Install @ai-hero/sandcastle + Dockerfile"
|
||||
}
|
||||
],
|
||||
"blocked": [
|
||||
{
|
||||
"epic": "sandcastle-dispatch-v1",
|
||||
"story": "02-dispatch-planner",
|
||||
"title": "Dispatch planner — finds next ready bullet, prints plan",
|
||||
"waiting_on": [
|
||||
"sandcastle-dispatch-v1/01-sandcastle-install"
|
||||
]
|
||||
},
|
||||
{
|
||||
"epic": "sandcastle-dispatch-v1",
|
||||
"story": "03-dispatch-execute",
|
||||
"title": "Dispatch execute mode — invoke sandcastle.run for impl + review",
|
||||
"waiting_on": [
|
||||
"sandcastle-dispatch-v1/02-dispatch-planner"
|
||||
]
|
||||
},
|
||||
{
|
||||
"epic": "sandcastle-dispatch-v1",
|
||||
"story": "04-dispatch-cli-wiring",
|
||||
"title": "pnpm work dispatch CLI wiring + smoke tests",
|
||||
"waiting_on": [
|
||||
"sandcastle-dispatch-v1/02-dispatch-planner",
|
||||
"sandcastle-dispatch-v1/03-dispatch-execute"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
id: 01-sandcastle-install
|
||||
epic: sandcastle-dispatch-v1
|
||||
title: Install @ai-hero/sandcastle + Dockerfile
|
||||
type: technical-story
|
||||
status: in-progress
|
||||
feature: tooling
|
||||
depends-on: []
|
||||
blocks: [02-dispatch-planner]
|
||||
---
|
||||
|
||||
## Tasks
|
||||
|
||||
- [ ] Story scaffold
|
||||
- [ ] Add @ai-hero/sandcastle to devDependencies
|
||||
- [ ] Create .sandcastle/Dockerfile (minimal node + pnpm)
|
||||
- [ ] Verify install + import resolves
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
id: 02-dispatch-planner
|
||||
epic: sandcastle-dispatch-v1
|
||||
title: Dispatch planner — finds next ready bullet, prints plan
|
||||
type: technical-story
|
||||
status: todo
|
||||
feature: scripts
|
||||
depends-on: [01-sandcastle-install]
|
||||
blocks: [03-dispatch-execute, 04-dispatch-cli-wiring]
|
||||
---
|
||||
|
||||
## Tasks
|
||||
|
||||
- [ ] findNextTask() — returns { epic, story, bullet, storyContent } or null
|
||||
- [ ] Tests
|
||||
- [ ] CLI: printPlan() — prints the dispatch plan
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
id: 03-dispatch-execute
|
||||
epic: sandcastle-dispatch-v1
|
||||
title: Dispatch execute mode — invoke sandcastle.run for impl + review
|
||||
type: technical-story
|
||||
status: todo
|
||||
feature: scripts
|
||||
depends-on: [02-dispatch-planner]
|
||||
blocks: [04-dispatch-cli-wiring]
|
||||
---
|
||||
|
||||
## Tasks
|
||||
|
||||
- [ ] dispatchImplementer() — calls sandcastle.run with implementer prompt
|
||||
- [ ] dispatchReviewer() — calls sandcastle.run with reviewer prompt + diff
|
||||
- [ ] applyReviewerDecision() — prints what state mutation WOULD happen
|
||||
- [ ] Tests with mocked sandcastle.run
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
id: 04-dispatch-cli-wiring
|
||||
epic: sandcastle-dispatch-v1
|
||||
title: pnpm work dispatch CLI wiring + smoke tests
|
||||
type: technical-story
|
||||
status: todo
|
||||
feature: scripts
|
||||
depends-on: [02-dispatch-planner, 03-dispatch-execute]
|
||||
blocks: []
|
||||
---
|
||||
|
||||
## Tasks
|
||||
|
||||
- [ ] cli.mjs: add `dispatch` subcommand with `--execute` flag
|
||||
- [ ] CLI smoke tests
|
||||
- [ ] README / docs update
|
||||
- [ ] Final verification + closeout
|
||||
27
docs/work/sandcastle-dispatch-v1/_epic.md
Normal file
27
docs/work/sandcastle-dispatch-v1/_epic.md
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
id: sandcastle-dispatch-v1
|
||||
prd: null
|
||||
title: Sandcastle dispatch v1 — pnpm work dispatch with planning + execute modes
|
||||
type: epic
|
||||
status: in-progress
|
||||
features: [tooling, scripts]
|
||||
created: 2026-05-13
|
||||
---
|
||||
|
||||
## Goal
|
||||
|
||||
Install `@ai-hero/sandcastle` + ship `pnpm work dispatch` that picks the
|
||||
next ready AC bullet, prints the dispatch plan, and (with `--execute`)
|
||||
invokes sandcastle to run the implementer then reviewer.
|
||||
|
||||
## Why
|
||||
|
||||
The orchestrator closes the loop: docs/work/ tracks state, `.sandcastle/`
|
||||
holds the prompts, and dispatch.mjs connects them to sandcastle.
|
||||
|
||||
## Stories
|
||||
|
||||
- [ ] [01 — Install @ai-hero/sandcastle + Dockerfile](01-sandcastle-install/_story.md)
|
||||
- [ ] [02 — Dispatch planner (default mode)](02-dispatch-planner/_story.md)
|
||||
- [ ] [03 — Dispatch execute mode (sandcastle.run integration)](03-dispatch-execute/_story.md)
|
||||
- [ ] [04 — pnpm work dispatch wiring + tests](04-dispatch-cli-wiring/_story.md)
|
||||
Reference in New Issue
Block a user