@@ -72,13 +72,19 @@ IF NOT EXISTS(process_dir):
7272SYNTHESIS_DIR = brainstorm_dir # Contains role analysis files: */analysis.md
7373IMPL_PLAN = session_dir/IMPL_PLAN.md
7474TASK_FILES = Glob(task_dir/* .json)
75+ PLANNING_NOTES = session_dir/planning-notes.md # N+1 context and constraints
7576
7677# Abort if missing - in order of dependency
7778SESSION_FILE_EXISTS = EXISTS(session_file)
7879IF NOT SESSION_FILE_EXISTS:
7980 WARNING: " workflow-session.json not found. User intent alignment verification will be skipped."
8081 # Continue execution - this is optional context, not blocking
8182
83+ PLANNING_NOTES_EXISTS = EXISTS(PLANNING_NOTES)
84+ IF NOT PLANNING_NOTES_EXISTS:
85+ WARNING: " planning-notes.md not found. Constraints/N+1 context verification will be skipped."
86+ # Continue execution - optional context
87+
8288SYNTHESIS_FILES = Glob(brainstorm_dir/* /analysis.md)
8389IF SYNTHESIS_FILES.count == 0:
8490 ERROR: " No role analysis documents found in .brainstorming/*/analysis.md. Run /workflow:brainstorm:synthesis first"
@@ -104,6 +110,13 @@ Load only minimal necessary context from each artifact:
104110- User's scope definition
105111- ** IF MISSING** : Set user_intent_analysis = "SKIPPED: workflow-session.json not found"
106112
113+ ** From planning-notes.md** (OPTIONAL - Constraints & N+1 Context):
114+ - ** ONLY IF EXISTS** : Load planning context
115+ - Consolidated Constraints (numbered list from Phase 1-3)
116+ - N+1 Context: Decisions table (Decision | Rationale | Revisit?)
117+ - N+1 Context: Deferred items list
118+ - ** IF MISSING** : Set planning_notes_analysis = "SKIPPED: planning-notes.md not found"
119+
107120** From role analysis documents** (AUTHORITATIVE SOURCE):
108121- Functional Requirements (IDs, descriptions, acceptance criteria)
109122- Non-Functional Requirements (IDs, targets)
@@ -161,8 +174,8 @@ Create internal representations (do not include raw artifacts in output):
161174
162175** Execution Order** (Agent orchestrates internally):
163176
164- 1 . ** Tier 1 (CRITICAL Path)** : A, B, C - User intent, coverage, consistency (full analysis)
165- 2 . ** Tier 2 (HIGH Priority)** : D, E - Dependencies, synthesis alignment (limit 15 findings)
177+ 1 . ** Tier 1 (CRITICAL Path)** : A, B, C, I - User intent, coverage, consistency, constraints compliance (full analysis)
178+ 2 . ** Tier 2 (HIGH Priority)** : D, E, J - Dependencies, synthesis alignment, N+1 context validation (limit 15 findings)
1661793 . ** Tier 3 (MEDIUM Priority)** : F - Specification quality (limit 20 findings)
1671804 . ** Tier 4 (LOW Priority)** : G, H - Duplication, feasibility (limit 15 findings)
168181
@@ -182,9 +195,10 @@ Task(
1821951. Read: ~/.claude/workflows/cli-templates/schemas/plan-verify-agent-schema.json (dimensions & rules)
1831962. Read: ~/.claude/workflows/cli-templates/schemas/verify-json-schema.json (output schema)
1841973. Read: ${ session_file} (user intent)
185- 4. Read: ${ IMPL_PLAN } (implementation plan)
186- 5. Glob: ${ task_dir} /*.json (task files)
187- 6. Glob: ${ SYNTHESIS_DIR } /*/analysis.md (role analyses)
198+ 4. Read: ${ PLANNING_NOTES } (constraints & N+1 context)
199+ 5. Read: ${ IMPL_PLAN } (implementation plan)
200+ 6. Glob: ${ task_dir} /*.json (task files)
201+ 7. Glob: ${ SYNTHESIS_DIR } /*/analysis.md (role analyses)
188202
189203### Execution Flow
190204
@@ -226,7 +240,8 @@ const byDimension = Object.groupBy(findings, f => f.dimension)
226240const DIMS = {
227241 A : " User Intent Alignment" , B : " Requirements Coverage" , C : " Consistency Validation" ,
228242 D : " Dependency Integrity" , E : " Synthesis Alignment" , F : " Task Specification Quality" ,
229- G : " Duplication Detection" , H : " Feasibility Assessment"
243+ G : " Duplication Detection" , H : " Feasibility Assessment" ,
244+ I : " Constraints Compliance" , J : " N+1 Context Validation"
230245}
231246```
232247
@@ -280,7 +295,7 @@ ${findings.map(f => `| ${f.id} | ${f.dimension_name} | ${f.severity} | ${f.locat
280295
281296## Analysis by Dimension
282297
283- ${ [' A' ,' B' ,' C' ,' D' ,' E' ,' F' ,' G' ,' H' ].map (d => ` ### ${ d} . ${ DIMS [d]} \n\n ${ renderDimension (d)} ` ).join (' \n\n ---\n\n ' )}
298+ ${ [' A' ,' B' ,' C' ,' D' ,' E' ,' F' ,' G' ,' H' , ' I ' , ' J ' ].map (d => ` ### ${ d} . ${ DIMS [d]} \n\n ${ renderDimension (d)} ` ).join (' \n\n ---\n\n ' )}
284299
285300---
286301
0 commit comments