@tgoodington/intuition 8.1.3 → 9.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/README.md +9 -9
  2. package/docs/project_notes/.project-memory-state.json +100 -0
  3. package/docs/project_notes/branches/.gitkeep +0 -0
  4. package/docs/project_notes/bugs.md +41 -0
  5. package/docs/project_notes/decisions.md +147 -0
  6. package/docs/project_notes/issues.md +101 -0
  7. package/docs/project_notes/key_facts.md +88 -0
  8. package/docs/project_notes/trunk/.gitkeep +0 -0
  9. package/docs/project_notes/trunk/.planning_research/decision_file_naming.md +15 -0
  10. package/docs/project_notes/trunk/.planning_research/decisions_log.md +32 -0
  11. package/docs/project_notes/trunk/.planning_research/orientation.md +51 -0
  12. package/docs/project_notes/trunk/audit/plan-rename-hitlist.md +654 -0
  13. package/docs/project_notes/trunk/blueprint-conflicts.md +109 -0
  14. package/docs/project_notes/trunk/blueprints/database-architect.md +416 -0
  15. package/docs/project_notes/trunk/blueprints/devops-infrastructure.md +514 -0
  16. package/docs/project_notes/trunk/blueprints/technical-writer.md +788 -0
  17. package/docs/project_notes/trunk/build_brief.md +119 -0
  18. package/docs/project_notes/trunk/build_report.md +250 -0
  19. package/docs/project_notes/trunk/detail_brief.md +94 -0
  20. package/docs/project_notes/trunk/plan.md +182 -0
  21. package/docs/project_notes/trunk/planning_brief.md +96 -0
  22. package/docs/project_notes/trunk/prompt_brief.md +60 -0
  23. package/docs/project_notes/trunk/prompt_output.json +98 -0
  24. package/docs/project_notes/trunk/scratch/database-architect-decisions.json +72 -0
  25. package/docs/project_notes/trunk/scratch/database-architect-research-plan.md +10 -0
  26. package/docs/project_notes/trunk/scratch/database-architect-stage1.md +226 -0
  27. package/docs/project_notes/trunk/scratch/devops-infrastructure-decisions.json +71 -0
  28. package/docs/project_notes/trunk/scratch/devops-infrastructure-research-plan.md +7 -0
  29. package/docs/project_notes/trunk/scratch/devops-infrastructure-stage1.md +164 -0
  30. package/docs/project_notes/trunk/scratch/technical-writer-decisions.json +88 -0
  31. package/docs/project_notes/trunk/scratch/technical-writer-research-plan.md +7 -0
  32. package/docs/project_notes/trunk/scratch/technical-writer-stage1.md +266 -0
  33. package/docs/project_notes/trunk/team_assignment.json +108 -0
  34. package/docs/project_notes/trunk/test_brief.md +75 -0
  35. package/docs/project_notes/trunk/test_report.md +26 -0
  36. package/docs/project_notes/trunk/verification/devops-infrastructure-verification.md +172 -0
  37. package/docs/v9/decision-framework-direction.md +142 -0
  38. package/docs/v9/decision-framework-implementation.md +114 -0
  39. package/docs/v9/domain-adaptive-team-architecture.md +1016 -0
  40. package/docs/v9/test/SESSION_SUMMARY.md +117 -0
  41. package/docs/v9/test/TEST_PLAN.md +119 -0
  42. package/docs/v9/test/blueprints/legal-analyst.md +166 -0
  43. package/docs/v9/test/output/07_cover_letter.md +41 -0
  44. package/docs/v9/test/phase2/mock_plan.md +89 -0
  45. package/docs/v9/test/phase2/producers.json +32 -0
  46. package/docs/v9/test/phase2/specialists/database-architect.specialist.md +10 -0
  47. package/docs/v9/test/phase2/specialists/financial-analyst.specialist.md +10 -0
  48. package/docs/v9/test/phase2/specialists/legal-analyst.specialist.md +10 -0
  49. package/docs/v9/test/phase2/specialists/technical-writer.specialist.md +10 -0
  50. package/docs/v9/test/phase2/team_assignment.json +61 -0
  51. package/docs/v9/test/phase3/blueprints/legal-analyst.md +840 -0
  52. package/docs/v9/test/phase3/legal-analyst-full.specialist.md +111 -0
  53. package/docs/v9/test/phase3/project_context/nh_landlord_tenant_notes.md +35 -0
  54. package/docs/v9/test/phase3/project_context/property_facts.md +32 -0
  55. package/docs/v9/test/phase3b/blueprints/legal-analyst.md +1715 -0
  56. package/docs/v9/test/phase3b/legal-analyst.specialist.md +153 -0
  57. package/docs/v9/test/phase3b/scratch/legal-analyst-stage1.md +270 -0
  58. package/docs/v9/test/phase4/TEST_PLAN.md +32 -0
  59. package/docs/v9/test/phase4/blueprints/financial-analyst-T2.md +538 -0
  60. package/docs/v9/test/phase4/blueprints/legal-analyst-T4.md +253 -0
  61. package/docs/v9/test/phase4/cross-blueprint-check.md +280 -0
  62. package/docs/v9/test/phase4/scratch/financial-analyst-T2-stage1.md +67 -0
  63. package/docs/v9/test/phase4/scratch/legal-analyst-T4-stage1.md +54 -0
  64. package/docs/v9/test/phase4/specialists/financial-analyst.specialist.md +156 -0
  65. package/docs/v9/test/phase4/specialists/legal-analyst.specialist.md +153 -0
  66. package/docs/v9/test/phase5/TEST_PLAN.md +35 -0
  67. package/docs/v9/test/phase5/blueprints/code-architect-hw-vetter.md +375 -0
  68. package/docs/v9/test/phase5/output/04_compliance_checklist.md +149 -0
  69. package/docs/v9/test/phase5/output/hardware-vetter-SKILL-v2.md +561 -0
  70. package/docs/v9/test/phase5/output/hardware-vetter-SKILL.md +459 -0
  71. package/docs/v9/test/phase5/producers/code-writer.producer.md +49 -0
  72. package/docs/v9/test/phase5/producers/document-writer.producer.md +62 -0
  73. package/docs/v9/test/phase5/regression-comparison-v2.md +60 -0
  74. package/docs/v9/test/phase5/regression-comparison.md +197 -0
  75. package/docs/v9/test/phase5/review-5A-specialist.md +213 -0
  76. package/docs/v9/test/phase5/specialist-test/TEST_PLAN.md +60 -0
  77. package/docs/v9/test/phase5/specialist-test/blueprint-comparison.md +252 -0
  78. package/docs/v9/test/phase5/specialist-test/blueprints/code-architect-hw-vetter.md +916 -0
  79. package/docs/v9/test/phase5/specialist-test/scratch/code-architect-stage1.md +427 -0
  80. package/docs/v9/test/phase5/specialists/code-architect.specialist.md +168 -0
  81. package/docs/v9/test/phase5b/TEST_PLAN.md +219 -0
  82. package/docs/v9/test/phase5b/blueprints/5B-10-stage2-with-decisions.md +286 -0
  83. package/docs/v9/test/phase5b/decisions/5B-2-accept-all-decisions.json +68 -0
  84. package/docs/v9/test/phase5b/decisions/5B-3-promote-decisions.json +70 -0
  85. package/docs/v9/test/phase5b/decisions/5B-4-individual-decisions.json +68 -0
  86. package/docs/v9/test/phase5b/decisions/5B-5-triage-decisions.json +110 -0
  87. package/docs/v9/test/phase5b/decisions/5B-6-fallback-decisions.json +40 -0
  88. package/docs/v9/test/phase5b/decisions/5B-8-partial-decisions.json +46 -0
  89. package/docs/v9/test/phase5b/decisions/5B-9-complete-decisions.json +54 -0
  90. package/docs/v9/test/phase5b/scratch/code-architect-stage1.md +133 -0
  91. package/docs/v9/test/phase5b/specialists/code-architect.specialist.md +202 -0
  92. package/docs/v9/test/phase5b/stage1-many-decisions.md +139 -0
  93. package/docs/v9/test/phase5b/stage1-no-assumptions.md +70 -0
  94. package/docs/v9/test/phase5b/stage1-with-assumptions.md +86 -0
  95. package/docs/v9/test/phase5b/test-5B-1-results.md +157 -0
  96. package/docs/v9/test/phase5b/test-5B-10-results.md +130 -0
  97. package/docs/v9/test/phase5b/test-5B-2-results.md +75 -0
  98. package/docs/v9/test/phase5b/test-5B-3-results.md +104 -0
  99. package/docs/v9/test/phase5b/test-5B-4-results.md +114 -0
  100. package/docs/v9/test/phase5b/test-5B-5-results.md +126 -0
  101. package/docs/v9/test/phase5b/test-5B-6-results.md +60 -0
  102. package/docs/v9/test/phase5b/test-5B-7-results.md +141 -0
  103. package/docs/v9/test/phase5b/test-5B-8-results.md +115 -0
  104. package/docs/v9/test/phase5b/test-5B-9-results.md +76 -0
  105. package/docs/v9/test/producers/document-writer.producer.md +62 -0
  106. package/docs/v9/test/specialists/legal-analyst.specialist.md +58 -0
  107. package/package.json +4 -2
  108. package/producers/code-writer/code-writer.producer.md +86 -0
  109. package/producers/data-file-writer/data-file-writer.producer.md +116 -0
  110. package/producers/document-writer/document-writer.producer.md +117 -0
  111. package/producers/form-filler/form-filler.producer.md +99 -0
  112. package/producers/presentation-creator/presentation-creator.producer.md +109 -0
  113. package/producers/spreadsheet-builder/spreadsheet-builder.producer.md +107 -0
  114. package/scripts/install-skills.js +97 -9
  115. package/scripts/uninstall-skills.js +7 -2
  116. package/skills/intuition-agent-advisor/SKILL.md +327 -220
  117. package/skills/intuition-assemble/SKILL.md +261 -0
  118. package/skills/intuition-build/SKILL.md +379 -319
  119. package/skills/intuition-debugger/SKILL.md +390 -390
  120. package/skills/intuition-design/SKILL.md +385 -381
  121. package/skills/intuition-detail/SKILL.md +377 -0
  122. package/skills/intuition-engineer/SKILL.md +307 -303
  123. package/skills/intuition-handoff/SKILL.md +264 -222
  124. package/skills/intuition-handoff/references/handoff_core.md +54 -54
  125. package/skills/intuition-initialize/SKILL.md +21 -6
  126. package/skills/intuition-initialize/references/agents_template.md +118 -118
  127. package/skills/intuition-initialize/references/claude_template.md +134 -134
  128. package/skills/intuition-initialize/references/intuition_readme_template.md +4 -4
  129. package/skills/intuition-initialize/references/state_template.json +17 -2
  130. package/skills/{intuition-plan → intuition-outline}/SKILL.md +561 -481
  131. package/skills/{intuition-plan → intuition-outline}/references/magellan_core.md +16 -16
  132. package/skills/{intuition-plan → intuition-outline}/references/templates/plan_template.md +6 -6
  133. package/skills/intuition-prompt/SKILL.md +374 -312
  134. package/skills/intuition-start/SKILL.md +46 -13
  135. package/skills/intuition-start/references/start_core.md +60 -60
  136. package/skills/intuition-test/SKILL.md +345 -0
  137. package/specialists/api-designer/api-designer.specialist.md +291 -0
  138. package/specialists/business-analyst/business-analyst.specialist.md +270 -0
  139. package/specialists/copywriter/copywriter.specialist.md +268 -0
  140. package/specialists/database-architect/database-architect.specialist.md +275 -0
  141. package/specialists/devops-infrastructure/devops-infrastructure.specialist.md +314 -0
  142. package/specialists/financial-analyst/financial-analyst.specialist.md +269 -0
  143. package/specialists/frontend-component/frontend-component.specialist.md +293 -0
  144. package/specialists/instructional-designer/instructional-designer.specialist.md +285 -0
  145. package/specialists/legal-analyst/legal-analyst.specialist.md +260 -0
  146. package/specialists/marketing-strategist/marketing-strategist.specialist.md +281 -0
  147. package/specialists/project-manager/project-manager.specialist.md +266 -0
  148. package/specialists/research-analyst/research-analyst.specialist.md +273 -0
  149. package/specialists/security-auditor/security-auditor.specialist.md +354 -0
  150. package/specialists/technical-writer/technical-writer.specialist.md +275 -0
  151. /package/skills/{intuition-plan → intuition-outline}/references/sub_agents.md +0 -0
  152. /package/skills/{intuition-plan → intuition-outline}/references/templates/confidence_scoring.md +0 -0
  153. /package/skills/{intuition-plan → intuition-outline}/references/templates/plan_format.md +0 -0
  154. /package/skills/{intuition-plan → intuition-outline}/references/templates/planning_process.md +0 -0
@@ -0,0 +1,108 @@
1
+ {
2
+ "specialist_assignments": [
3
+ {
4
+ "specialist": "devops-infrastructure",
5
+ "tasks": [
6
+ {"task_id": "T1", "depth": "Light"},
7
+ {"task_id": "T6", "depth": "Light"},
8
+ {"task_id": "T8", "depth": "Standard"}
9
+ ],
10
+ "rationale": "Closest match for code/tooling tasks (T1, T6) via scripting/CI/deployment domain overlap, and code/testing verification sweep (T8) via CI/CD monitoring expertise."
11
+ },
12
+ {
13
+ "specialist": "technical-writer",
14
+ "tasks": [
15
+ {"task_id": "T2", "depth": "Standard"},
16
+ {"task_id": "T4", "depth": "Light"},
17
+ {"task_id": "T5", "depth": "Standard"},
18
+ {"task_id": "T7", "depth": "Standard"}
19
+ ],
20
+ "rationale": "Matched T7 (content/documentation) by domain_tags. T2, T4, T5 assigned as closest match — SKILL.md files are structured markdown requiring systematic disambiguation, which aligns with technical writing precision."
21
+ },
22
+ {
23
+ "specialist": "database-architect",
24
+ "tasks": [
25
+ {"task_id": "T3", "depth": "Deep"}
26
+ ],
27
+ "rationale": "Closest match for T3 (v7→v8 migration handler) via explicit 'migrations' and 'schema' domain_tags. JSON state schema migration pattern aligns with core database-architect competency."
28
+ }
29
+ ],
30
+ "producer_assignments": [
31
+ {
32
+ "specialist": "technical-writer",
33
+ "producer": "document-writer",
34
+ "output_format": "markdown",
35
+ "tasks_output_files": [
36
+ "docs/project_notes/trunk/blueprints/T2-outline-skill.md",
37
+ "docs/project_notes/trunk/blueprints/T4-initialize-template.md",
38
+ "docs/project_notes/trunk/blueprints/T5-other-skills.md",
39
+ "docs/project_notes/trunk/blueprints/T7-documentation.md"
40
+ ]
41
+ },
42
+ {
43
+ "specialist": "devops-infrastructure",
44
+ "producer": "code-writer",
45
+ "output_format": "code",
46
+ "tasks_output_files": [
47
+ "docs/project_notes/trunk/blueprints/T1-audit.md",
48
+ "docs/project_notes/trunk/blueprints/T6-scripts.md",
49
+ "docs/project_notes/trunk/blueprints/T8-verification.md"
50
+ ]
51
+ },
52
+ {
53
+ "specialist": "database-architect",
54
+ "producer": "code-writer",
55
+ "output_format": "code",
56
+ "tasks_output_files": [
57
+ "docs/project_notes/trunk/blueprints/T3-handoff-migration.md"
58
+ ]
59
+ }
60
+ ],
61
+ "execution_order": [
62
+ {
63
+ "phase": 1,
64
+ "specialists": ["devops-infrastructure"],
65
+ "rationale": "T1 (audit) has no dependencies and must complete first to produce the reference checklist for all subsequent tasks."
66
+ },
67
+ {
68
+ "phase": 2,
69
+ "specialists": ["technical-writer", "database-architect"],
70
+ "rationale": "T2, T5, T7 (technical-writer) and T3 (database-architect) all depend on T1 and can run in parallel after the audit is complete."
71
+ },
72
+ {
73
+ "phase": 3,
74
+ "specialists": ["technical-writer", "devops-infrastructure"],
75
+ "rationale": "T4 (technical-writer, depends on T3) and T6 (devops-infrastructure, depends on T2) run in parallel after Phase 2 completes."
76
+ },
77
+ {
78
+ "phase": 4,
79
+ "specialists": ["devops-infrastructure"],
80
+ "rationale": "T8 verification sweep depends on all prior tasks being complete."
81
+ }
82
+ ],
83
+ "dependencies": [
84
+ {
85
+ "specialist": "technical-writer",
86
+ "reads_blueprint_from": "database-architect",
87
+ "reason": "T4 (initialize template) depends on T3 (handoff migration) to know the final v8.0 state schema field names before updating the template."
88
+ },
89
+ {
90
+ "specialist": "devops-infrastructure",
91
+ "reads_blueprint_from": "technical-writer",
92
+ "reason": "T6 (scripts) depends on T2 (rename outline skill folder) being complete before updating the install script skill list."
93
+ }
94
+ ],
95
+ "unmatched_tasks": [
96
+ {"task_id": "T1", "title": "Audit all phase-name references", "domain": "code/tooling", "reason": "No specialist has 'tooling' in domain_tags. Assigned to devops-infrastructure (closest: scripting/CI overlap)."},
97
+ {"task_id": "T2", "title": "Rename and update outline skill", "domain": "code/skill-definition", "reason": "No specialist has 'skill-definition' in domain_tags. Assigned to technical-writer (closest: structured markdown editing)."},
98
+ {"task_id": "T3", "title": "Update handoff with v7->v8 migration", "domain": "code/skill-definition", "reason": "No specialist has 'skill-definition' in domain_tags. Assigned to database-architect (closest: migrations/schema tags)."},
99
+ {"task_id": "T4", "title": "Update initialize skill template", "domain": "code/skill-definition", "reason": "No specialist has 'skill-definition' in domain_tags. Assigned to technical-writer (closest: Light task, structured markdown)."},
100
+ {"task_id": "T5", "title": "Update all other skills (9 files)", "domain": "code/skill-definition", "reason": "No specialist has 'skill-definition' in domain_tags. Assigned to technical-writer (closest: structured markdown editing)."},
101
+ {"task_id": "T6", "title": "Update scripts and package config", "domain": "code/tooling", "reason": "No specialist has 'tooling' in domain_tags. Assigned to devops-infrastructure (closest: deploy scripts/CI overlap)."},
102
+ {"task_id": "T8", "title": "Verification sweep", "domain": "code/testing", "reason": "No specialist has 'testing' in domain_tags. Assigned to devops-infrastructure (closest: CI/CD monitoring/verification)."}
103
+ ],
104
+ "prerequisite_check": {
105
+ "document-writer/markdown": "PASS — no required tools",
106
+ "code-writer/code": "PASS — no required tools"
107
+ }
108
+ }
@@ -0,0 +1,75 @@
1
+ # Test Brief
2
+
3
+ ## Build Summary
4
+ - **Status**: Success
5
+ - **Tasks completed**: 8/8 — T1 (audit), T2 (outline skill), T3 (handoff schema + V7 handler), T4 (initialize template), T5 (9 other skills), T6 (scripts), T7 (docs/MEMORY.md), T8 (verification)
6
+ - **Files modified**: ~30 files + 8 reference files (scope expansion); see `docs/project_notes/trunk/build_report.md` for full list
7
+
8
+ ## Code Producers Used
9
+
10
+ - **Specialist**: devops-infrastructure
11
+ - **Tasks**: T1, T6, T8
12
+ - **Output files**:
13
+ - `docs/project_notes/trunk/audit/plan-rename-hitlist.md` (T1)
14
+ - `scripts/install-skills.js` (T6)
15
+ - `scripts/uninstall-skills.js` (T6)
16
+ - `package.json` (T6)
17
+ - `docs/project_notes/trunk/verification/devops-infrastructure-verification.md` (T8)
18
+
19
+ - **Specialist**: database-architect
20
+ - **Tasks**: T3
21
+ - **Output files**:
22
+ - `skills/intuition-handoff/SKILL.md` (T3 — schema v8.0, V7 migration handler, state field renames)
23
+
24
+ ## Acceptance Criteria
25
+
26
+ ### T1: Audit all phase-name references
27
+ 1. A complete hit list exists covering all files with phase-name "plan" references
28
+ 2. Each hit is categorized as phase-name (rename) or generic English (keep)
29
+ 3. Hit list is grouped by file for easy task-by-task tracking
30
+
31
+ ### T3: Update handoff skill with v7→v8 state migration
32
+ 1. Schema version is 8.0 in the handoff SKILL.md header and schema definition
33
+ 2. v7→v8 migration handler exists and renames `planning` → `outline` in state objects
34
+ 3. All transition messages route to `/intuition-outline` (not `/intuition-plan`)
35
+ 4. All file path references use `outline_brief.md`, `outline.md`
36
+ 5. State field references use `outline` throughout
37
+ 6. Existing v5→v6 and v6→v7 migration handlers are preserved unchanged
38
+
39
+ ### T6: Update scripts and package configuration
40
+ 1. `scripts/install-skills.js` references `intuition-outline` (not `intuition-plan`)
41
+ 2. `scripts/uninstall-skills.js` references `intuition-outline` (not `intuition-plan`)
42
+ 3. `package.json` contains no "plan" phase-name references
43
+ 4. Legacy cleanup in install script handles removal of old `intuition-plan` from `~/.claude/skills/`
44
+
45
+ ### T8: Verification sweep
46
+ 1. Grep for phase-name "plan" patterns returns zero hits across the entire codebase
47
+ 2. `skills/intuition-outline/SKILL.md` exists with correct frontmatter
48
+ 3. Install script skill list includes `intuition-outline` and not `intuition-plan`
49
+ 4. v7→v8 migration handler correctly renames `planning` → `outline` in a sample state object
50
+ 5. Verification report documents all checks performed and results
51
+
52
+ ## Decision Log References
53
+ - Specialist decision logs:
54
+ - `docs/project_notes/trunk/scratch/devops-infrastructure-decisions.json`
55
+ - `docs/project_notes/trunk/scratch/database-architect-decisions.json`
56
+ - Project decisions: `docs/project_notes/decisions.md`
57
+
58
+ ## Blueprint References
59
+ - `docs/project_notes/trunk/blueprints/devops-infrastructure.md` (T1, T6, T8)
60
+ - `docs/project_notes/trunk/blueprints/database-architect.md` (T3)
61
+
62
+ ## Specialist Test Recommendations
63
+
64
+ No specialist test recommendations.
65
+
66
+ (Build report contains: "No test deliverables found in blueprints.")
67
+
68
+ ## Known Issues
69
+
70
+ | Issue | Resolution |
71
+ |-------|-----------|
72
+ | Reference files (`references/` subdirectories) had 39 stale references not in plan scope | Scope expanded during build; 68 edits applied across 8 reference files |
73
+ | MEMORY.md auto-memory path (not project root) | Absolute path passed to T7 producer; file updated successfully |
74
+ | T3/T5 overlap on handoff SKILL.md | T3 executed first; T5 verified and found zero remaining edits |
75
+ | Legacy docs (13 files) still have stale references | Classified out-of-scope; not blocking. Documented in verification report. |
@@ -0,0 +1,26 @@
1
+ # Test Report
2
+
3
+ **Plan:** Rename Plan Phase to Outline
4
+ **Date:** 2026-03-05
5
+ **Status:** Skipped
6
+
7
+ ## Reason
8
+
9
+ User elected to skip testing. Rationale:
10
+
11
+ - Build was a pure text rename refactor (~530 edits across ~30 files)
12
+ - No behavioral changes — only phase-name string replacements
13
+ - Task 8 verification sweep already passed 34/34 checks with zero stale in-scope references
14
+ - Only executable code modified was `scripts/install-skills.js` and `scripts/uninstall-skills.js` (minor edits to skill lists)
15
+ - No test framework exists in the project; no existing tests to extend
16
+ - Additional automated testing would provide minimal value beyond what T8 already verified
17
+
18
+ ## Decision Compliance
19
+
20
+ - Checked **12** decisions across **3** specialist decision logs
21
+ - `[USER]` violations: None (0 USER-tier decisions exist)
22
+ - `[SPEC]` conflicts noted: None
23
+
24
+ ## Files Modified (beyond test files)
25
+
26
+ None — no implementation fixes applied.
@@ -0,0 +1,172 @@
1
+ # DevOps Infrastructure Verification Report
2
+
3
+ **Date**: 2026-03-05
4
+ **Task**: T8 — Verification Protocol (plan rename: intuition-plan -> intuition-outline)
5
+ **Blueprint**: docs/project_notes/trunk/blueprints/devops-infrastructure.md
6
+
7
+ ---
8
+
9
+ ## Phase 1: Zero Stale References
10
+
11
+ | # | Pattern | Hits Found | In-Scope Hits | Status |
12
+ |---|---------|-----------|---------------|--------|
13
+ | 1 | `intuition-plan` | 42 total | 0 | PASS |
14
+ | 2 | `planning_brief` | 36 total | 0 | PASS |
15
+ | 3 | `plan\.md` (artifact ref) | 68 total | 1 (initialize SKILL.md:114 — generic English "plan.md" in a list of example files not to create) | PASS |
16
+ | 4 | `\.planning_research` | 8 total | 0 | PASS |
17
+ | 5 | `"planning"` (JSON key/status) | 16 total | 0 | PASS |
18
+ | 6 | `planning phase` | 2 total | 0 | PASS |
19
+ | 7 | `→.*planning\|planning.*→` | 10 total | 0 | PASS |
20
+
21
+ ### Pattern 1 detail — `intuition-plan`
22
+ - **install-skills.js:113,116** — Legacy cleanup block referencing old name to remove it. EXPECTED.
23
+ - **uninstall-skills.js:65** — Legacy section listing old name for cleanup. EXPECTED.
24
+ - **All other hits** (INSTALLATION.md, docs/intuition-architecture.md, docs/intuition-workflow.md, QUICK_TEST_CHECKLIST.md, docs/PROJECT_CONTEXT.md, docs/v7_design_spec.md, docs/v7_plan.md, SKILL_INTERACTION_GUIDE.md, WALDO_V3_DESIGN_SUMMARY.md, WALDO_V3_COMPLETE_DOCUMENTATION.md) — OUT OF SCOPE legacy docs.
25
+
26
+ ### Pattern 2 detail — `planning_brief`
27
+ - **handoff SKILL.md:210** — V3 migration handler references old artifact names to move files. EXPECTED.
28
+ - **All other hits** — OUT OF SCOPE legacy docs (QUICK_TEST_CHECKLIST.md, docs/intuition_design_skill_spec.md, docs/v7_design_spec.md, docs/PROJECT_CONTEXT.md, SKILL_INTERACTION_GUIDE.md, docs/v7_plan.md, WALDO_V3_COMPLETE_DOCUMENTATION.md).
29
+
30
+ ### Pattern 3 detail — `plan\.md`
31
+ - **intuition-initialize SKILL.md:114** — Says "Do NOT create workflow output files (prompt_brief.md, plan.md, etc.)". This is generic English listing old artifact names as examples. The initialize skill does not produce or consume plan.md — it's a cautionary note. Classified as EXPECTED (English example list; not a producer/consumer reference).
32
+ - **intuition-detail SKILL.md:83,144,161** — References to `research-plan.md` (a crash recovery scratch file, not the old plan.md artifact). EXPECTED.
33
+ - **docs/v9/test/phase4/TEST_PLAN.md:32** — Historical test fixture referencing `mock_plan.md`. OUT OF SCOPE.
34
+ - **All other hits** — OUT OF SCOPE legacy docs.
35
+
36
+ ### Pattern 4 detail — `\.planning_research`
37
+ - **handoff SKILL.md:210** — V3 migration handler. EXPECTED.
38
+ - **All other hits** — OUT OF SCOPE legacy docs (docs/v7_design_spec.md, docs/v7_plan.md).
39
+
40
+ ### Pattern 5 detail — `"planning"`
41
+ - **package.json:8** — npm keyword for discoverability ("planning" as a generic concept). EXPECTED (not a phase-name reference).
42
+ - **marketplace.json:21** — Plugin keyword. OUT OF SCOPE (legacy marketplace metadata, not in plan scope).
43
+ - **handoff SKILL.md:194** — V7 migration handler text: `rename the "planning" key to "outline"` and `change any status == "planning" to "outline"`. EXPECTED (describes old name for migration logic).
44
+ - **All other hits** — OUT OF SCOPE legacy docs (docs/intuition-architecture.md, docs/v7_design_spec.md, SKILL_INTERACTION_GUIDE.md, docs/intuition_design_skill_spec.md, docs/PROJECT_CONTEXT.md).
45
+
46
+ ### Pattern 6 detail — `planning phase`
47
+ - **docs/intuition-architecture.md:150** — OUT OF SCOPE legacy doc.
48
+ - **docs/v7_design_spec.md:583** — OUT OF SCOPE legacy doc.
49
+
50
+ ### Pattern 7 detail — workflow arrows with `planning`
51
+ - **docs/intuition-architecture.md:127-128** — OUT OF SCOPE legacy doc.
52
+ - **docs/PROJECT_CONTEXT.md:72,347** — OUT OF SCOPE legacy doc.
53
+ - **docs/intuition_design_skill_spec.md:187** — OUT OF SCOPE legacy doc.
54
+ - **QUICK_TEST_CHECKLIST.md:90,93** — OUT OF SCOPE legacy doc.
55
+ - **docs/v7_design_spec.md:1043** — OUT OF SCOPE legacy doc.
56
+ - **SKILL_INTERACTION_GUIDE.md** (multiple lines) — OUT OF SCOPE legacy doc.
57
+ - **handoff SKILL.md:194** — V7 migration handler. EXPECTED.
58
+ - **start SKILL.md:109** — Internal label `planning_in_progress` (routes correctly to `/intuition-outline`). EXPECTED (generic English, not a phase key).
59
+
60
+ ---
61
+
62
+ ## Phase 2: Structural Verification
63
+
64
+ | Check | Expected | Actual | Status |
65
+ |-------|----------|--------|--------|
66
+ | S1: `skills/intuition-outline/SKILL.md` exists | exists | exists | PASS |
67
+ | S2: Frontmatter `name: intuition-outline` | `intuition-outline` | `intuition-outline` | PASS |
68
+ | S3: `skills/intuition-plan/` does NOT exist | absent | absent | PASS |
69
+ | S4: install-skills.js has `'intuition-outline'` in skill list | present | present (line 48) | PASS |
70
+ | S4b: install-skills.js does NOT have `'intuition-plan'` in skill list | absent from active list | absent (only in legacy cleanup block) | PASS |
71
+ | S5: uninstall-skills.js active list has `'intuition-outline'` | present | present (line 49) | PASS |
72
+ | S6: install-skills.js has legacy cleanup for `intuition-plan` | present | present (lines 112-117) | PASS |
73
+ | S7: uninstall-skills.js legacy section has `'intuition-plan'` | present | present (line 65) | PASS |
74
+
75
+ ---
76
+
77
+ ## Phase 3: Migration Handler Validation
78
+
79
+ ### V7 State Migration (handoff SKILL.md, line 192-194)
80
+
81
+ | Test | Expected | Actual | Status |
82
+ |------|----------|--------|--------|
83
+ | Fires on version | `"7.0"` | `version == "7.0"` | PASS |
84
+ | Renames `planning` key | to `outline` | "rename the `planning` key to `outline` in the `workflow` object" | PASS |
85
+ | Changes status | `"planning"` to `"outline"` | "change any `status == \"planning\"` to `\"outline\"`" | PASS |
86
+ | Sets version | `"8.0"` | `Set version: "8.0"` | PASS |
87
+ | Preserves sub-fields | started, completed, completed_at, approved | "(preserving all sub-fields: started, completed, completed_at, approved)" | PASS |
88
+
89
+ ### Initialize Skill State Template (SKILL.md)
90
+
91
+ | Test | Expected | Actual | Status |
92
+ |------|----------|--------|--------|
93
+ | Version in SKILL.md | `"8.0"` | `"version": "8.0"` (line 125) | PASS |
94
+ | Workflow key in SKILL.md | `"outline"` | `"outline": { ... }` (line 137) | PASS |
95
+ | No `"planning"` key in SKILL.md | absent | absent | PASS |
96
+
97
+ ### State Template JSON (references/state_template.json)
98
+
99
+ | Test | Expected | Actual | Status |
100
+ |------|----------|--------|--------|
101
+ | Version in JSON | `"8.0"` | `"version": "8.0"` (line 3) | PASS |
102
+ | Workflow key in JSON | `"outline"` | `"outline": { ... }` (line 15) | PASS |
103
+ | No `"planning"` key in JSON | absent | absent | PASS |
104
+
105
+ ---
106
+
107
+ ## Phase 4: Cross-Reference Integrity
108
+
109
+ ### Artifact: `outline.md`
110
+
111
+ | Skill | Role | Reference Found | Status |
112
+ |-------|------|----------------|--------|
113
+ | intuition-outline | Producer | `{context_path}/outline.md` (line 19, 70, 77, 331) | PASS |
114
+ | intuition-handoff | Consumer | `{context_path}outline.md` (line 48), `outline.md` (lines 226, 246, 282, 293, 389, 397, 430) | PASS |
115
+ | intuition-detail | Consumer | (not expected — detail reads blueprints, not outline directly) | N/A |
116
+ | intuition-build | Consumer | `outline.md` (lines 59, 77, 94, 201, 202) | PASS |
117
+ | intuition-start | Consumer | `outline.md` (line 151) | PASS |
118
+
119
+ ### Artifact: `outline_brief.md`
120
+
121
+ | Skill | Role | Reference Found | Status |
122
+ |-------|------|----------------|--------|
123
+ | intuition-handoff | Producer | `{context_path}outline_brief.md` (lines 220, 222) | PASS |
124
+ | intuition-outline | Consumer | `outline_brief.md` (line 24, 91) | PASS |
125
+
126
+ ### Artifact: `.outline_research/`
127
+
128
+ | Skill | Role | Reference Found | Status |
129
+ |-------|------|----------------|--------|
130
+ | intuition-outline | Producer/Consumer | `.outline_research/` (lines 21, 80, 98, 142, 173, 244, 249, 295, 539, 549, 554-556) | PASS |
131
+
132
+ ### Stale artifact names in skills
133
+
134
+ | Artifact | Pattern | Hits in Skills | Status |
135
+ |----------|---------|---------------|--------|
136
+ | `planning_brief` | old brief name | 1 hit — handoff V3 migration only | PASS |
137
+ | `.planning_research` | old research dir | 1 hit — handoff V3 migration only | PASS |
138
+
139
+ ---
140
+
141
+ ## Out-of-Scope Files
142
+
143
+ These legacy/historical documentation files contain stale `intuition-plan`, `planning_brief`, `plan.md`, `"planning"`, or `planning phase` references. They were NOT in the plan scope and are classified as OUT OF SCOPE:
144
+
145
+ | File | Stale Patterns Found |
146
+ |------|---------------------|
147
+ | `INSTALLATION.md` | `intuition-plan`, `project_plan.md` |
148
+ | `docs/intuition-architecture.md` | `intuition-plan`, `plan.md`, `"planning"`, `planning phase`, workflow arrows |
149
+ | `docs/intuition-workflow.md` | `intuition-plan`, `plan.md` |
150
+ | `QUICK_TEST_CHECKLIST.md` | `intuition-plan`, `planning_brief`, `plan.md`, workflow arrows |
151
+ | `docs/PROJECT_CONTEXT.md` | `intuition-plan`, `planning_brief`, `plan.md`, `"planning"`, workflow arrows |
152
+ | `docs/v7_design_spec.md` | `intuition-plan`, `planning_brief`, `plan.md`, `.planning_research`, `"planning"`, `planning phase` |
153
+ | `docs/v7_plan.md` | `intuition-plan`, `planning_brief`, `plan.md`, `.planning_research` |
154
+ | `SKILL_INTERACTION_GUIDE.md` | `intuition-plan`, `planning_brief`, `plan.md`, `"planning"`, workflow arrows |
155
+ | `WALDO_V3_DESIGN_SUMMARY.md` | `intuition-plan` |
156
+ | `WALDO_V3_COMPLETE_DOCUMENTATION.md` | `planning_brief` |
157
+ | `docs/intuition_design_skill_spec.md` | `planning_brief`, `plan.md`, workflow arrows |
158
+ | `.claude-plugin/marketplace.json` | `"planning"` keyword |
159
+ | `docs/v9/test/phase4/TEST_PLAN.md` | `mock_plan.md` (test fixture) |
160
+
161
+ ---
162
+
163
+ ## Summary
164
+
165
+ | Category | Count |
166
+ |----------|-------|
167
+ | Total checks | 34 |
168
+ | Passed | 34 |
169
+ | Failed | 0 |
170
+ | Out of scope files | 13 |
171
+ | Expected hits (migration handlers, legacy cleanup, npm keywords) | 8 |
172
+ | **Overall** | **PASS** |
@@ -0,0 +1,142 @@
1
+ # Decision Framework — Direction Summary
2
+
3
+ **Status**: IMPLEMENTED — see `decision-framework-implementation.md` for build details
4
+ **Date**: 2026-03-03
5
+
6
+ ## Problem Statement
7
+
8
+ In v9 workflows, the user (creative director) experiences two failure modes:
9
+
10
+ 1. **Rubber-stamping**: Specialists surface technical decisions the user doesn't care about. The user always accepts the recommendation, making the interaction feel like wasted time.
11
+ 2. **Silent decisions**: Specialists confidently make choices about user-facing experience, interaction patterns, and outputs without surfacing them. The user discovers these downstream when they're harder to change.
12
+
13
+ The root cause is structural: the system lacks a principled framework for classifying **who should make which decisions**. Classification currently relies on individual specialist judgment — and the classifier is the same entity making the decision, creating a blind spot.
14
+
15
+ ## Core Insight
16
+
17
+ The user is the **creative director**, not the tech lead. They care about **what the user experiences** — outputs, interactions, workflows, look-and-feel. They do not care about **how the machine achieves it** — algorithms, patterns, internal architecture.
18
+
19
+ This maps to a universal pattern across creative industries (film, architecture, advertising, product management, music production): the principal retains control over the **experiential outcome**; specialists own the **technical method**.
20
+
21
+ ## Research Foundations
22
+
23
+ Five external frameworks inform this direction:
24
+
25
+ ### Appelo's 7 Levels of Delegation
26
+ A spectrum from "user decides" to "full autonomy." For practical use, the roundtable collapsed this to three tiers (see Framework below).
27
+
28
+ ### RAPID (Bain & Company)
29
+ Separates "Recommend" from "Decide." Key insight: the specialist's job is *always* to recommend. The routing system determines whether the user reviews or the recommendation is auto-approved.
30
+
31
+ ### Commander's Intent (Military / Product Management)
32
+ State the desired end state and why it matters. Let specialists determine how to get there. The prompt brief is the user's intent statement — it must be clear enough that downstream phases can classify decisions without guessing.
33
+
34
+ ### Principal-Agent Theory (Economics)
35
+ The strongest alignment mechanism is **information forcing** — requiring specialists to show reasoning, surface assumptions, and present alternatives rather than just conclusions. When a specialist is confident and picks a direction silently, that's the exact scenario where blind spots occur.
36
+
37
+ ### Decision Fatigue (Cognitive Psychology)
38
+ Every decision drains the same cognitive pool regardless of importance. The solution isn't "ask less" — it's "ask only the right things." Decision policies (rules that handle categories automatically) reduce fatigue more than individual case-by-case delegation.
39
+
40
+ ## Professional Practice Patterns
41
+
42
+ Across film, architecture, advertising, product management, and music production:
43
+
44
+ - **Principal always retains**: Emotional register, strategic alignment, user/audience experience, approval gates, cross-specialist coordination
45
+ - **Specialist always owns**: Technical execution, tool selection, craft-level decisions, method of achieving stated outcome
46
+ - **Communication artifacts** (creative briefs, lookbooks, performance specs, reference tracks) all share a structure: **"here is what success feels like"** + **"here are the hard constraints"**
47
+ - The explicit anti-pattern in every domain is micromanagement — prescribing method when you should be evaluating outcome
48
+
49
+ ## Proposed Framework: Three-Layer Decision System
50
+
51
+ ### Layer 1: Prompt — Capture Intent + Posture
52
+
53
+ Prompt currently produces a brief through iterative refinement. Two additions:
54
+
55
+ **Commander's Intent Block** — a new section in the prompt brief:
56
+ - Desired end state: what success feels like to the end user
57
+ - Non-negotiables: the 2-3 things that would make the user reject the result
58
+ - Boundaries: constraints on the solution space (not prescribed solutions)
59
+
60
+ **Decision Posture Map** — the user's engagement preferences per brief element:
61
+ - "I decide" — surface with full options and tradeoffs
62
+ - "Show me options" — specialist recommends, user approves or redirects
63
+ - "Just handle it" — specialist has full autonomy
64
+
65
+ The posture map is coarse at this stage — it gets refined as outline decomposes tasks. Prompt can be somewhat longer here; the tradeoff is that more clarity upfront means fewer and faster questions in every downstream phase.
66
+
67
+ ### Layer 2: Outline — Classify Decisions Per Task
68
+
69
+ Plan decomposes work into tasks. Each task gets a `Decisions` field with classified decision points:
70
+
71
+ **Three delegation tiers:**
72
+
73
+ | Label | Meaning | Appelo Equivalent |
74
+ |-------|---------|-------------------|
75
+ | `[USER]` | Specialist recommends, user decides | L2-L3 |
76
+ | `[SPEC]` | Specialist decides, reports rationale | L5-L6 |
77
+ | `[SILENT]` | Full autonomy, no report needed | L7 |
78
+
79
+ **Classification heuristic (2x2):**
80
+
81
+ | | Human-facing | Machine-facing |
82
+ |---|---|---|
83
+ | **Hard to reverse** | `[USER]` always | `[SPEC]` (reported with full reasoning) |
84
+ | **Easy to reverse** | `[USER]` by default, user can downgrade | `[SILENT]` |
85
+
86
+ Outline uses the Commander's Intent and Decision Posture from the prompt brief to determine what counts as "human-facing" from the user's perspective. Without that signal, outline defaults conservative.
87
+
88
+ **User confirmation**: After presenting the full task breakdown, one question: "Here are the decisions I'd surface to you during detail work. Want to reclassify any?" Shows `[USER]` and `[SPEC]` items only. One pass, not per-task. Capped at ~2-3 decisions per task to prevent overload.
89
+
90
+ ### Layer 3: Downstream Phases — Follow, Log, Escalate
91
+
92
+ All phases after outline follow the delegation assignments:
93
+
94
+ **Detail / Specialists:**
95
+ - Follow `[USER]` / `[SPEC]` / `[SILENT]` labels from outline
96
+ - During Stage 1a research planning, explicitly separate "technical questions I'll resolve" from "experience questions I need principal input on"
97
+ - User gate surfaces `[USER]` decisions with full options + tradeoffs
98
+ - `[SPEC]` decisions logged with rationale
99
+ - New decisions discovered during work get classified using the 2x2 before being routed
100
+
101
+ **Engineer (v8 compat):**
102
+ - Simple boundary test: "Would the user notice this from the outside?"
103
+ - Decisions appended to a decision log with: decision, tier, rationale (one line), user-facing flag
104
+ - Gray area: implementation choices that constrain future UX get elevated to joint decisions
105
+
106
+ **Build:**
107
+ - Decision log is a read-only verification artifact
108
+ - Build report includes "Decision Compliance" section: user-reserved honored, expert-delegated applied, deviations noted
109
+ - Unanticipated decisions with user-facing impact: pause task and escalate, never guess
110
+ - Build's only autonomous domain: production logistics (task ordering, retries, format validation)
111
+
112
+ ## The ECD Lens on Decision Ownership
113
+
114
+ The existing ECD framework (Elements, Connections, Dynamics) maps naturally:
115
+
116
+ - **Elements** (what exists): *Selection* of elements = user decision. *Internal composition* = specialist.
117
+ - **Connections** (how elements relate): Primarily user — these define experience flow. Technical protocol of connections = specialist.
118
+ - **Dynamics** (behavior over time): The danger zone. Experiential dynamics (loading states, error messages, progressive disclosure) = user. Mechanical dynamics (retry logic, caching strategy) = specialist. This is where implicit UX theft happens most — specialists make "technical" choices that shape what users perceive.
119
+
120
+ ## Agent Architecture Considerations
121
+
122
+ - Decision policies must be serialized into agent spawn prompts (agents can't discover files)
123
+ - Structured decision artifacts (not free-text summaries) for reliable parsing by parent skills
124
+ - Classification belongs in outline (opus), not a separate agent or step
125
+ - Haiku research subagents never classify decisions — they flag potential decision points, opus synthesizes and classifies
126
+ - Decision policy blocks kept under 30 lines to avoid context bloat in agent prompts
127
+
128
+ ## Open Questions
129
+
130
+ 1. **Where does the decision log live?** Options include: inline in existing artifacts (code_specs.md, blueprints), a structured `decisions.json`, or a unified format that serves multiple consumers. Needs design-phase exploration.
131
+
132
+ 2. **Default when unclassified.** Conservative (ask before deciding) vs. aggressive (specialist decides + reports). May be calibrated by the user's posture map — hands-on users get conservative defaults, delegators get aggressive defaults.
133
+
134
+ 3. **Cross-specialist decisions.** When a decision spans multiple specialists (e.g., a database schema choice that affects API design that affects frontend display), who classifies and who decides? Likely needs coordination at the outline or handoff level.
135
+
136
+ 4. **Learning over time.** Can the system build precedent? ("Last time you upgraded font choice from SILENT to USER — should I default color/typography decisions to USER going forward?") This is a future enhancement, not a v1 requirement.
137
+
138
+ 5. **Metrics / feedback loop.** How does the user signal that the framework is calibrated well vs. still asking too much or too little? Post-build retrospective? Lightweight thumbs-up/down on decision quality?
139
+
140
+ ## Roundtable Participants
141
+
142
+ Direction synthesized from perspectives of: Prompt, Outline, Design, Engineer, Build, Agent-Advisor — run as parallel consultation on 2026-03-03.
@@ -0,0 +1,114 @@
1
+ # Decision Framework — Implementation Tracker
2
+
3
+ **Source**: `docs/v9/decision-framework-direction.md`
4
+ **Started**: 2026-03-03
5
+
6
+ ## Implementation Layers
7
+
8
+ ### Layer 1: Prompt Skill — Capture Intent + Posture
9
+ **Status**: DONE
10
+ **File**: `skills/intuition-prompt/SKILL.md`
11
+
12
+ Changes made:
13
+ - Added INTENT step to REFINE order (between SCOPE and SUCCESS)
14
+ - Added POSTURE phase (Phase 4, between REFLECT and CONFIRM)
15
+ - Added Commander's Intent section to `prompt_brief.md` template
16
+ - Added Decision Posture table to `prompt_brief.md` template
17
+ - Added `commander_intent` and `decision_posture` fields to `prompt_output.json` template
18
+ - Updated phase flow: 4 phases → 5 phases, 5-7 turns → 6-9 turns
19
+ - Updated REFLECT to include Commander's Intent synthesis before posture question
20
+
21
+ ### Layer 2: Outline Skill — Classify Decisions Per Task
22
+ **Status**: DONE
23
+ **File**: `skills/intuition-outline/SKILL.md`
24
+
25
+ Changes made:
26
+ - Added `Decisions` field to task template with `[USER]`/`[SPEC]`/`[SILENT]` tier classifications
27
+ - Added 2x2 classification heuristic (human-facing × reversibility) as Section 10 reference
28
+ - Added Decision Policy output (conservative/aggressive) based on Commander's Intent + Posture Map
29
+ - Added post-outline confirmation step: "Want to reclassify any decisions?" with shift options
30
+ - Added decision classification checklist item
31
+
32
+ Each outline task gets a `Decisions` field with classified decision points using three tiers:
33
+
34
+ | Label | Meaning | Appelo Equivalent |
35
+ |-------|---------|-------------------|
36
+ | `[USER]` | Specialist recommends, user decides | L2-L3 |
37
+ | `[SPEC]` | Specialist decides, reports rationale | L5-L6 |
38
+ | `[SILENT]` | Full autonomy, no report needed | L7 |
39
+
40
+ Classification heuristic (2x2):
41
+
42
+ | | Human-facing | Machine-facing |
43
+ |---|---|---|
44
+ | **Hard to reverse** | `[USER]` always | `[SPEC]` (reported with full reasoning) |
45
+ | **Easy to reverse** | `[USER]` by default, user can downgrade | `[SILENT]` |
46
+
47
+ Plan reads Commander's Intent and Decision Posture from prompt brief to determine what counts as "human-facing." Without that signal, defaults conservative.
48
+
49
+ After presenting the full task breakdown, one confirmation question: "Here are the decisions I'd surface to you during detail work. Want to reclassify any?" Shows `[USER]` and `[SPEC]` items only. One pass, not per-task. Cap at ~2-3 decisions per task.
50
+
51
+ ### Layer 3: Downstream Phases — Follow, Log, Escalate
52
+ **Status**: DONE
53
+ **Files**: `skills/intuition-detail/SKILL.md`, `skills/intuition-build/SKILL.md`
54
+
55
+ Changes made (detail):
56
+ - Step 2: extracts decision classifications + decision policy from detail brief
57
+ - Stage 1a: research budget cap (Deep: 3, Standard: 2) + decision tier awareness in specialist framing
58
+ - Stage 1b: hard enforcement of research cap with warning log
59
+ - Stage 1c: tier tagging in synthesis output ([UNCLASSIFIED] for specialist-discovered decisions)
60
+ - User Gate Phase 2: split into 2a (USER→ask), 2b (SPEC→display+auto-record), 2c (UNCLASSIFIED→classify via 2x2 then route)
61
+ - decisions.json schema: added `decision_policy`, `tier`, `classified_by` fields
62
+ - New section: CLASSIFYING UNCLASSIFIED DECISIONS (2x2 heuristic + posture-based borderline handling)
63
+
64
+ Changes made (build):
65
+ - Removed all v8 compat artifacts (~135 lines: v8 mode detection, steps, subagents, delegation, verification, report)
66
+ - Step 1: reads `scratch/*-decisions.json` + extracts decision log from blueprint Section 4
67
+ - Layer 2 verification: checks [USER] decisions honored, [SPEC] rationale documented, flags untraced producer choices
68
+ - Build report: new "Decision Compliance" section per task
69
+ - New "Unanticipated Decision Escalation" rule: human-facing unclassified decisions pause+escalate
70
+
71
+ **Detail / Specialists:**
72
+ - Follow `[USER]`/`[SPEC]`/`[SILENT]` labels from outline
73
+ - Stage 1a: explicitly separate "technical questions I'll resolve" from "experience questions needing principal input"
74
+ - User gate surfaces `[USER]` decisions with full options + tradeoffs
75
+ - `[SPEC]` decisions logged with rationale
76
+ - New decisions discovered during work get classified using the 2x2 before routing
77
+
78
+ **Engineer (v8 compat):**
79
+ - Boundary test: "Would the user notice this from the outside?"
80
+ - Append to decision log: decision, tier, rationale (one line), user-facing flag
81
+ - Elevate implementation choices that constrain future UX to joint decisions
82
+
83
+ **Build:**
84
+ - Decision log is read-only verification artifact
85
+ - Build report includes "Decision Compliance" section: user-reserved honored, expert-delegated applied, deviations noted
86
+ - Unanticipated decisions with user-facing impact: pause and escalate, never guess
87
+ - Autonomous domain: production logistics only (task ordering, retries, format validation)
88
+
89
+ ## Open Design Decisions
90
+
91
+ ### D1: Decision Log Location & Format
92
+ **Status**: RESOLVED — decisions.json with tier field
93
+
94
+ Uses the existing `decisions.json` file that detail already writes. Added `tier` and `classified_by` fields to each decision entry, plus `decision_policy` at the root. Build reads this for compliance verification. No new file needed.
95
+
96
+ ### D2: Default for Unclassified Decisions
97
+ **Status**: RESOLVED — posture-calibrated (conservative/aggressive from outline Section 10)
98
+
99
+ Detail reads the Decision Policy from outline Section 10. If the user's posture leans hands-on (many "I decide" areas), unclassified decisions default to `[USER]`. If delegator posture, default to `[SPEC]`. Encoded as `"decision_policy": "conservative"` or `"aggressive"` in decisions.json.
100
+
101
+ ### D3: Cross-Specialist Decisions
102
+ **Status**: RESOLVED — first specialist owns, deferred to handoff for v2
103
+
104
+ When handoff passes prior blueprints to the next specialist, it already includes cross-specialist context. The outline's Decisions field tags the owning task. If a decision spans tasks assigned to different specialists, the first specialist to encounter it owns the classification.
105
+
106
+ ### D4: Learning Over Time
107
+ **Status**: DEFERRED (not v1)
108
+
109
+ Can the system build precedent from past decisions? ("Last time you upgraded font choice from SILENT to USER — should I default typography decisions to USER going forward?")
110
+
111
+ ### D5: Metrics & Feedback Loop
112
+ **Status**: DEFERRED (not v1)
113
+
114
+ How does the user signal the framework is calibrated well vs. still asking too much or too little? Post-build retrospective? Lightweight thumbs-up/down?