Skip to content

docs(aep): walking skeleton as a living artifact (skeleton forest + product spine) - #17

Open
memorysaver wants to merge 1 commit into
mainfrom
docs/walking-skeleton-living-artifact
Open

docs(aep): walking skeleton as a living artifact (skeleton forest + product spine)#17
memorysaver wants to merge 1 commit into
mainfrom
docs/walking-skeleton-living-artifact

Conversation

@memorysaver

Copy link
Copy Markdown
Owner

What

Adds a design proposal doc: docs/decisions/walking-skeleton-as-living-artifact.md.

It records — precisely, so follow-up schema/skill PRs can be built against it — why AEP's walking skeleton rots while layer / wave / release-line stay maintained, and proposes a fix.

Why

Surfaced by the downstream product looplia: it faithfully maintains layer/wave/release-line across 23+ layers, but its walking skeleton is lost. Root cause is a framework-level asymmetry, not project discipline:

  • Layer/wave/release-line have a reader (/aep-dispatch reads them every cycle) → maintained.
  • The walking skeleton has a creation-time reader and a coverage reader, but no currency reader → it freezes and rots after the product's bet moves.

The doc grounds this in the methodology (Patton / Cockburn: one walking skeleton per journey, each new journey introduced skeleton-first, the map is a deliberately-ephemeral conversation artifact that AEP repurposed as durable product-context without adding keep-it-alive machinery), and shows AEP already designed per-capability Layer-0 walking skeletons (aep-v2-improvement-guideline.md §1.5; glossary "Capability Map") but the shipped implementation collapsed them onto global layer numbers.

Proposed model (in the doc, not implemented here)

  • Skeleton Forest — each maps/<cap>/map.yaml declares its own walking_skeleton (completes the §1.5 design).
  • Product Spineproduct/index.yaml gains a curated, bet-anchored spine threading the thinnest end-to-end path across capabilities; product.activities becomes a build-generated union.
  • Forcing functions via existing skills (no new commands): /aep-validate currency check, /aep-envision reshape re-baseline, /aep-reflect re-slice/reshape split, /aep-map skeleton-first, /aep-dispatch advisory.
  • Additive-first migration (P0 optional schema → P1 spine → P2 skeleton backfill → P3 forcing functions), with looplia as the worked example (validate-currency fails before migration, passes after).

Scope

  • This PR: one new doc only. git diff --stat = 1 file changed.
  • Not in this PR: any _shared/ schema change, skill change, build-skills.sh, looplia edits, or downstream re-pin. Those are follow-ups, built against this doc.

🤖 Generated with Claude Code

https://claude.ai/code/session_01WFAeDemRdH8KzcYhiDTrto

…roduct spine)

Design proposal recording why the walking skeleton rots while layer/wave/release-line stay maintained (no currency reader), grounded in Patton/Cockburn and AEP's own glossary + v2 multi-map roadmap. Proposes a two-level model (per-capability walking_skeleton forest + bet-anchored product spine), forcing functions via existing skills (no new commands), an additive-first migration, and looplia as the worked example. Proposal only — no schema/skill changes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WFAeDemRdH8KzcYhiDTrto
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant