Files
agentic-dev/docs/work/_state.json
Danijel Martinek 6f18075593 docs(work): decompose binder-wrap-helper PRD into epic + 8 stories
Output from `pnpm work decompose 2026-05-13-binder-wrap-helper
--execute` — sandcastle ran the decomposer agent with subscription
auth (after the macOS keychain workaround + Dockerfile fix from
prior commits). The agent wrote files but hit `Max iterations: 1`
before committing, so this commit carries its output unchanged.

Epic: docs/work/binder-wrap-helper/
  - _epic.md links to PRD 2026-05-13-binder-wrap-helper
  - features: [core-shared, auth, blog, media, marketing-pages,
    navigation, tooling]

Stories (8 total, with dependency edges):
  01-wire-use-case-helper           prereq (blocks 02..07)
    Goal: helper at core-shared/conformance/wire-use-case.ts +
    tests covering brand stacking, span/capture/audit composition,
    idempotent bind. depends-on: [], blocks 02..07.
  02-migrate-auth-binders           depends-on [01]
  03-migrate-blog-binders           depends-on [01]
  04-migrate-media-binders          depends-on [01]
  05-migrate-marketing-pages-       depends-on [01]
    binders
  06-migrate-navigation-binders     depends-on [01]
  07-update-feature-generator       depends-on [01]
  08-holistic-validation            depends-on [02..07], blocks: []
    Final gate suite + fallow dupes check to verify the 5 binder-
    pair clone groups have disappeared.

After 01 lands, stories 02..07 are parallelisable; 08 collects them.

Pre-commit hook regenerates _state.json + re-stages it so `pnpm
work next` immediately surfaces the new ready story.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 18:10:31 +02:00

179 lines
5.1 KiB
JSON

{
"updated_at": "2026-05-13T16:10:33.562Z",
"epics": {
"binder-wrap-helper": {
"status": "in-progress",
"title": "Collapse binder duplication via wireUseCase helper",
"prd": "2026-05-13-binder-wrap-helper",
"stories": {
"01-wire-use-case-helper": {
"status": "in-progress",
"title": "wireUseCase helper + tests in core-shared/conformance",
"ac_total": 8,
"ac_completed": 0,
"depends_on": [],
"blocks": []
},
"02-migrate-auth-binders": {
"status": "todo",
"title": "Migrate auth feature binders to wireUseCase",
"ac_total": 7,
"ac_completed": 0,
"depends_on": [
"01-wire-use-case-helper"
],
"blocks": [
"08-holistic-validation"
]
},
"03-migrate-blog-binders": {
"status": "todo",
"title": "Migrate blog feature binders to wireUseCase",
"ac_total": 7,
"ac_completed": 0,
"depends_on": [
"01-wire-use-case-helper"
],
"blocks": [
"08-holistic-validation"
]
},
"04-migrate-media-binders": {
"status": "todo",
"title": "Migrate media feature binders to wireUseCase",
"ac_total": 7,
"ac_completed": 0,
"depends_on": [
"01-wire-use-case-helper"
],
"blocks": [
"08-holistic-validation"
]
},
"05-migrate-marketing-pages-binders": {
"status": "todo",
"title": "Migrate marketing-pages feature binders to wireUseCase",
"ac_total": 7,
"ac_completed": 0,
"depends_on": [
"01-wire-use-case-helper"
],
"blocks": [
"08-holistic-validation"
]
},
"06-migrate-navigation-binders": {
"status": "todo",
"title": "Migrate navigation feature binders to wireUseCase",
"ac_total": 7,
"ac_completed": 0,
"depends_on": [
"01-wire-use-case-helper"
],
"blocks": [
"08-holistic-validation"
]
},
"07-update-feature-generator": {
"status": "todo",
"title": "Update feature generator template to emit wireUseCase calls",
"ac_total": 5,
"ac_completed": 0,
"depends_on": [
"01-wire-use-case-helper"
],
"blocks": [
"08-holistic-validation"
]
},
"08-holistic-validation": {
"status": "todo",
"title": "Holistic validation — green gates + fallow clone-group check",
"ac_total": 10,
"ac_completed": 0,
"depends_on": [],
"blocks": []
}
}
},
"template-reset-v1": {
"status": "done",
"title": "Template reset — strip setup-process noise + archive history",
"prd": null,
"stories": {
"01-template-reset": {
"status": "done",
"title": "Strip setup refs + archive history + rename ADR-012",
"ac_total": 12,
"ac_completed": 12,
"depends_on": [],
"blocks": []
}
}
}
},
"ready": [
{
"epic": "binder-wrap-helper",
"story": "01-wire-use-case-helper",
"title": "wireUseCase helper + tests in core-shared/conformance"
},
{
"epic": "binder-wrap-helper",
"story": "08-holistic-validation",
"title": "Holistic validation — green gates + fallow clone-group check"
}
],
"blocked": [
{
"epic": "binder-wrap-helper",
"story": "02-migrate-auth-binders",
"title": "Migrate auth feature binders to wireUseCase",
"waiting_on": [
"binder-wrap-helper/01-wire-use-case-helper"
]
},
{
"epic": "binder-wrap-helper",
"story": "03-migrate-blog-binders",
"title": "Migrate blog feature binders to wireUseCase",
"waiting_on": [
"binder-wrap-helper/01-wire-use-case-helper"
]
},
{
"epic": "binder-wrap-helper",
"story": "04-migrate-media-binders",
"title": "Migrate media feature binders to wireUseCase",
"waiting_on": [
"binder-wrap-helper/01-wire-use-case-helper"
]
},
{
"epic": "binder-wrap-helper",
"story": "05-migrate-marketing-pages-binders",
"title": "Migrate marketing-pages feature binders to wireUseCase",
"waiting_on": [
"binder-wrap-helper/01-wire-use-case-helper"
]
},
{
"epic": "binder-wrap-helper",
"story": "06-migrate-navigation-binders",
"title": "Migrate navigation feature binders to wireUseCase",
"waiting_on": [
"binder-wrap-helper/01-wire-use-case-helper"
]
},
{
"epic": "binder-wrap-helper",
"story": "07-update-feature-generator",
"title": "Update feature generator template to emit wireUseCase calls",
"waiting_on": [
"binder-wrap-helper/01-wire-use-case-helper"
]
}
],
"needs_prd_ship": []
}