feat(06-01): YAML frontmatter schema with dependency graph metadata enabling automatic context assembly
- Added comprehensive YAML frontmatter schema to summary.md template - Frontmatter includes dependency graph (requires/provides/affects), subsystem, tech tracking, key files - Added frontmatter population guidance to execute-phase.md - Enables intelligent summary selection via dependency graph scanning 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,44 @@ Template for `.planning/phases/XX-name/{phase}-{plan}-SUMMARY.md` - phase comple
|
||||
## File Template
|
||||
|
||||
```markdown
|
||||
---
|
||||
phase: XX-name
|
||||
plan: YY
|
||||
subsystem: [primary category: auth, payments, ui, api, database, infra, testing, etc.]
|
||||
tags: [searchable tech: jwt, stripe, react, postgres, prisma]
|
||||
|
||||
# Dependency graph
|
||||
requires:
|
||||
- phase: [prior phase this depends on]
|
||||
provides: [what that phase built that this uses]
|
||||
provides:
|
||||
- [bullet list of what this phase built/delivered]
|
||||
affects: [list of phase names or keywords that will need this context]
|
||||
|
||||
# Tech tracking
|
||||
tech-stack:
|
||||
added: [libraries/tools added in this phase]
|
||||
patterns: [architectural/code patterns established]
|
||||
|
||||
key-files:
|
||||
created: [important files created]
|
||||
modified: [important files modified]
|
||||
|
||||
key-decisions:
|
||||
- "Decision 1"
|
||||
- "Decision 2"
|
||||
|
||||
patterns-established:
|
||||
- "Pattern 1: description"
|
||||
- "Pattern 2: description"
|
||||
|
||||
issues-created: [ISS-XXX, ISS-YYY] # From ISSUES.md if any
|
||||
|
||||
# Metrics
|
||||
duration: Xmin
|
||||
completed: YYYY-MM-DD
|
||||
---
|
||||
|
||||
# Phase [X]: [Name] Summary
|
||||
|
||||
**[Substantive one-liner describing outcome - NOT "phase complete" or "implementation finished"]**
|
||||
@@ -74,6 +112,24 @@ Logged to .planning/ISSUES.md for future consideration:
|
||||
*Completed: [date]*
|
||||
```
|
||||
|
||||
<frontmatter_guidance>
|
||||
**Purpose:** Enable automatic context assembly via dependency graph. Frontmatter makes summary metadata machine-readable so plan-phase can scan all summaries quickly and select relevant ones based on dependencies.
|
||||
|
||||
**Fast scanning:** Frontmatter is first ~25 lines, cheap to scan across all summaries without reading full content.
|
||||
|
||||
**Dependency graph:** `requires`/`provides`/`affects` create explicit links between phases, enabling transitive closure for context selection.
|
||||
|
||||
**Subsystem:** Primary categorization (auth, payments, ui, api, database, infra, testing) for detecting related phases.
|
||||
|
||||
**Tags:** Searchable technical keywords (libraries, frameworks, tools) for tech stack awareness.
|
||||
|
||||
**Key-files:** Important files for @context references in PLAN.md.
|
||||
|
||||
**Patterns:** Established conventions future phases should maintain.
|
||||
|
||||
**Population:** Frontmatter is populated during summary creation in execute-phase.md. See `<step name="create_summary">` for field-by-field guidance.
|
||||
</frontmatter_guidance>
|
||||
|
||||
<one_liner_rules>
|
||||
The one-liner MUST be substantive:
|
||||
|
||||
@@ -173,6 +229,11 @@ Logged to .planning/ISSUES.md for future consideration:
|
||||
- Required output from execute-phase workflow
|
||||
- Documents what actually happened vs what was planned
|
||||
|
||||
**Frontmatter completion:**
|
||||
- MANDATORY: Complete all frontmatter fields during summary creation
|
||||
- See <frontmatter_guidance> for field purposes
|
||||
- Frontmatter enables automatic context assembly for future planning
|
||||
|
||||
**One-liner requirements:**
|
||||
- Must be substantive (describe what shipped, not "phase complete")
|
||||
- Should tell someone what was accomplished
|
||||
|
||||
@@ -990,6 +990,41 @@ Use ~/.claude/get-shit-done/templates/summary.md for structure.
|
||||
|
||||
**File location:** `.planning/phases/XX-name/{phase}-{plan}-SUMMARY.md`
|
||||
|
||||
**Frontmatter population:**
|
||||
|
||||
Before writing summary content, populate frontmatter fields from execution context:
|
||||
|
||||
1. **Basic identification:**
|
||||
- phase: From PLAN.md frontmatter
|
||||
- plan: From PLAN.md frontmatter
|
||||
- subsystem: Categorize based on phase focus (auth, payments, ui, api, database, infra, testing, etc.)
|
||||
- tags: Extract tech keywords (libraries, frameworks, tools used)
|
||||
|
||||
2. **Dependency graph:**
|
||||
- requires: List prior phases this built upon (check PLAN.md context section for referenced prior summaries)
|
||||
- provides: Extract from accomplishments - what was delivered
|
||||
- affects: Infer from phase description/goal what future phases might need this
|
||||
|
||||
3. **Tech tracking:**
|
||||
- tech-stack.added: New libraries from package.json changes or requirements
|
||||
- tech-stack.patterns: Architectural patterns established (from decisions/accomplishments)
|
||||
|
||||
4. **File tracking:**
|
||||
- key-files.created: From "Files Created/Modified" section
|
||||
- key-files.modified: From "Files Created/Modified" section
|
||||
|
||||
5. **Decisions:**
|
||||
- key-decisions: Extract from "Decisions Made" section
|
||||
|
||||
6. **Issues:**
|
||||
- issues-created: Check if ISSUES.md was updated during execution
|
||||
|
||||
7. **Metrics:**
|
||||
- duration: From $DURATION variable
|
||||
- completed: From $PLAN_END_TIME (date only, format YYYY-MM-DD)
|
||||
|
||||
Note: If subsystem/affects are unclear, use best judgment based on phase name and accomplishments. Can be refined later.
|
||||
|
||||
**Title format:** `# Phase [X] Plan [Y]: [Name] Summary`
|
||||
|
||||
The one-liner must be SUBSTANTIVE:
|
||||
|
||||
Reference in New Issue
Block a user