prizmkit 1.1.113 → 1.1.115

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 (91) hide show
  1. package/bundled/VERSION.json +3 -3
  2. package/bundled/dev-pipeline/.env.example +0 -1
  3. package/bundled/dev-pipeline/README.md +4 -6
  4. package/bundled/dev-pipeline/SCHEMA_ANALYSIS.md +40 -518
  5. package/bundled/dev-pipeline/assets/prizm-dev-team-integration.md +27 -99
  6. package/bundled/dev-pipeline/prizmkit_runtime/checkpoint_state.py +283 -0
  7. package/bundled/dev-pipeline/prizmkit_runtime/daemon.py +3 -13
  8. package/bundled/dev-pipeline/prizmkit_runtime/heartbeat.py +0 -1
  9. package/bundled/dev-pipeline/prizmkit_runtime/runner_classification.py +25 -31
  10. package/bundled/dev-pipeline/prizmkit_runtime/runner_models.py +0 -8
  11. package/bundled/dev-pipeline/prizmkit_runtime/runner_prompts.py +0 -3
  12. package/bundled/dev-pipeline/prizmkit_runtime/runners.py +13 -7
  13. package/bundled/dev-pipeline/prizmkit_runtime/sessions.py +13 -1
  14. package/bundled/dev-pipeline/scripts/continuation.py +8 -40
  15. package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +76 -261
  16. package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +16 -35
  17. package/bundled/dev-pipeline/scripts/generate-refactor-prompt.py +15 -34
  18. package/bundled/dev-pipeline/scripts/init-bugfix-pipeline.py +6 -0
  19. package/bundled/dev-pipeline/scripts/init-pipeline.py +6 -0
  20. package/bundled/dev-pipeline/scripts/init-refactor-pipeline.py +6 -0
  21. package/bundled/dev-pipeline/scripts/parse-stream-progress.py +1 -1
  22. package/bundled/dev-pipeline/scripts/prompt_framework.py +114 -63
  23. package/bundled/dev-pipeline/scripts/update-bug-status.py +3 -7
  24. package/bundled/dev-pipeline/scripts/update-checkpoint.py +54 -22
  25. package/bundled/dev-pipeline/scripts/update-feature-status.py +3 -7
  26. package/bundled/dev-pipeline/scripts/update-refactor-status.py +3 -7
  27. package/bundled/dev-pipeline/scripts/utils.py +14 -40
  28. package/bundled/dev-pipeline/templates/bootstrap-prompt.md +1 -1
  29. package/bundled/dev-pipeline/templates/bootstrap-tier1.md +1 -1
  30. package/bundled/dev-pipeline/templates/bootstrap-tier2.md +9 -91
  31. package/bundled/dev-pipeline/templates/bootstrap-tier3.md +9 -66
  32. package/bundled/dev-pipeline/templates/bug-fix-list-schema.json +10 -16
  33. package/bundled/dev-pipeline/templates/feature-list-schema.json +32 -17
  34. package/bundled/dev-pipeline/templates/refactor-bootstrap-prompt.md +0 -16
  35. package/bundled/dev-pipeline/templates/refactor-list-schema.json +10 -16
  36. package/bundled/dev-pipeline/templates/sections/bugfix-session-context.md +1 -1
  37. package/bundled/dev-pipeline/templates/sections/context-budget-rules.md +1 -1
  38. package/bundled/dev-pipeline/templates/sections/critical-paths-agent.md +0 -1
  39. package/bundled/dev-pipeline/templates/sections/critical-paths-full.md +0 -1
  40. package/bundled/dev-pipeline/templates/sections/phase-implement-agent.md +1 -1
  41. package/bundled/dev-pipeline/templates/sections/phase-implement-full.md +1 -1
  42. package/bundled/dev-pipeline/templates/sections/refactor-session-context.md +1 -1
  43. package/bundled/dev-pipeline/tests/conftest.py +1 -0
  44. package/bundled/dev-pipeline/tests/test_checkpoint_state.py +164 -0
  45. package/bundled/dev-pipeline/tests/test_generate_bootstrap_prompt.py +48 -76
  46. package/bundled/dev-pipeline/tests/test_generate_bugfix_prompt.py +25 -3
  47. package/bundled/dev-pipeline/tests/test_generate_refactor_prompt.py +25 -5
  48. package/bundled/dev-pipeline/tests/test_python_runner_parity.py +128 -10
  49. package/bundled/dev-pipeline/tests/test_runtime_helper.py +23 -0
  50. package/bundled/dev-pipeline/tests/test_unified_cli.py +40 -9
  51. package/bundled/skills/_metadata.json +1 -1
  52. package/bundled/skills/app-planner/SKILL.md +18 -2
  53. package/bundled/skills/app-planner/references/generated-plan-review.md +67 -0
  54. package/bundled/skills/bug-planner/SKILL.md +24 -28
  55. package/bundled/skills/bug-planner/references/generated-plan-review.md +63 -0
  56. package/bundled/skills/bug-planner/references/verification.md +29 -0
  57. package/bundled/skills/bug-planner/scripts/validate-bug-list.py +8 -0
  58. package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +2 -2
  59. package/bundled/skills/bugfix-pipeline-launcher/references/configuration.md +1 -6
  60. package/bundled/skills/feature-pipeline-launcher/SKILL.md +6 -12
  61. package/bundled/skills/feature-pipeline-launcher/references/configuration.md +0 -1
  62. package/bundled/skills/feature-planner/SKILL.md +30 -34
  63. package/bundled/skills/feature-planner/assets/planning-guide.md +2 -2
  64. package/bundled/skills/feature-planner/references/generated-plan-review.md +63 -0
  65. package/bundled/skills/feature-planner/scripts/validate-and-generate.py +8 -11
  66. package/bundled/skills/prizmkit-init/SKILL.md +2 -2
  67. package/bundled/skills/prizmkit-plan/SKILL.md +15 -1
  68. package/bundled/skills/prizmkit-plan/references/review-plan-spec-loop.md +101 -0
  69. package/bundled/skills/prizmkit-prizm-docs/references/op-init.md +1 -1
  70. package/bundled/skills/refactor-pipeline-launcher/SKILL.md +5 -5
  71. package/bundled/skills/refactor-pipeline-launcher/references/configuration.md +2 -7
  72. package/bundled/skills/refactor-planner/SKILL.md +30 -34
  73. package/bundled/skills/refactor-planner/references/fast-path.md +2 -2
  74. package/bundled/skills/refactor-planner/references/generated-plan-review.md +63 -0
  75. package/bundled/skills/refactor-planner/scripts/validate-and-generate-refactor.py +9 -0
  76. package/bundled/team/prizm-dev-team.json +2 -9
  77. package/package.json +1 -1
  78. package/src/clean.js +60 -7
  79. package/src/config.js +61 -20
  80. package/src/gitignore-template.js +6 -3
  81. package/src/manifest.js +6 -2
  82. package/src/platforms.js +14 -0
  83. package/src/scaffold.js +198 -34
  84. package/src/upgrade.js +5 -2
  85. package/bundled/agents/prizm-dev-team-critic.md +0 -179
  86. package/bundled/dev-pipeline/templates/agent-prompts/critic-plan-challenge.md +0 -8
  87. package/bundled/dev-pipeline/templates/sections/bugfix-phase-critic.md +0 -22
  88. package/bundled/dev-pipeline/templates/sections/phase-critic-plan-full.md +0 -61
  89. package/bundled/dev-pipeline/templates/sections/phase-critic-plan.md +0 -38
  90. package/bundled/dev-pipeline/templates/sections/refactor-phase-critic.md +0 -22
  91. package/bundled/skills/bug-planner/references/critic-and-verification.md +0 -44
@@ -1,5 +1,5 @@
1
1
  {
2
- "frameworkVersion": "1.1.113",
3
- "bundledAt": "2026-07-09T01:22:22.762Z",
4
- "bundledFrom": "09ad715"
2
+ "frameworkVersion": "1.1.115",
3
+ "bundledAt": "2026-07-09T10:20:47.948Z",
4
+ "bundledFrom": "5d2c9f0"
5
5
  }
@@ -26,7 +26,6 @@
26
26
  # VERBOSE=1 # Verbose logging (1=on, 0=off)
27
27
 
28
28
  # ─── Feature Pipeline Only ────────────────────────────────────────────
29
- # ENABLE_CRITIC=false # Enable adversarial critic review (true/false)
30
29
  # PIPELINE_MODE= # Override pipeline mode for all features: lite|standard|full
31
30
  # Unset = auto-detect from estimated_complexity
32
31
 
@@ -311,7 +311,6 @@ The `model` field is extracted from the feature's `"model"` field in .prizmkit/p
311
311
  - `{{IF_RESUME}}` / `{{IF_FRESH_START}}` — Resume vs fresh start
312
312
  - `{{IF_INIT_NEEDED}}` / `{{IF_INIT_DONE}}` — PrizmKit init status
313
313
  - `{{IF_MODE_LITE}}` / `{{IF_MODE_STANDARD}}` / `{{IF_MODE_FULL}}` — Pipeline mode blocks
314
- - `{{IF_CRITIC_ENABLED}}` / `{{END_IF_CRITIC_ENABLED}}` — Critic agent blocks (adversarial review)
315
314
 
316
315
  ---
317
316
 
@@ -530,7 +529,6 @@ Also exports: `log_info`, `log_warn`, `log_error`, `log_success` (with timestamp
530
529
  |----------|---------|---------|-------------|
531
530
  | `MAX_RETRIES` | `3` | cli.py feature | Max retry attempts per feature before marking as failed |
532
531
  | `PIPELINE_MODE` | (auto) | cli.py feature, cli.py daemon feature | Override mode for all features: `lite\|standard\|full` |
533
- | `ENABLE_CRITIC` | `false` | cli.py feature, cli.py daemon feature | Enable adversarial critic review: `true\|false` |
534
532
  | `DEV_BRANCH` | auto-generated | cli.py feature | Custom git branch name (default: `dev/{feature-id}-{timestamp}`) |
535
533
  | `AUTO_PUSH` | `0` | cli.py feature | Set to `1` to auto-push branch to remote after successful session |
536
534
 
@@ -679,7 +677,7 @@ cli.py feature run command
679
677
  | | # cbc --print -y < prompt
680
678
  | | # codex --ask-for-approval never --sandbox danger-full-access exec --cd "$PROJECT_ROOT" --skip-git-repo-check - < prompt
681
679
  | +- session orchestrator # Main: init, context, plan, direct implementation, review gate, retrospective, commit
682
- | +- Critic # Optional plan challenge
680
+ | +- plan/spec review loop # Local planning quality gate
683
681
  | +- Reviewer # Code review via /prizmkit-code-review
684
682
  |
685
683
  +- check-session-status.py # Parse session outcome
@@ -695,8 +693,8 @@ The bootstrap prompt adapts based on feature complexity:
695
693
  | Tier | Template | Agents | Use Case |
696
694
  |------|----------|--------|----------|
697
695
  | Tier 1 (lite) | `bootstrap-tier1.md` | Single agent handles everything | Low complexity features |
698
- | Tier 2 (standard) | `bootstrap-tier2.md` | Orchestrator implements directly + optional Critic/Reviewer | Medium/high complexity |
699
- | Tier 3 (full) | `bootstrap-tier3.md` | Orchestrator implements directly + Critic/Reviewer review phases | High/critical complexity |
696
+ | Tier 2 (standard) | `bootstrap-tier2.md` | Orchestrator implements directly + Reviewer gate | Medium/high complexity |
697
+ | Tier 3 (full) | `bootstrap-tier3.md` | Orchestrator implements directly + strongest planning, testing, and Reviewer gates | High/critical complexity |
700
698
 
701
699
  **Self-evolve mode:** Uses Tier 3 template with additional framework guardrails for developing the PrizmKit framework itself.
702
700
 
@@ -918,7 +916,7 @@ cli.py bugfix run command
918
916
  | Claude Code | `.claude/agents/prizm-dev-team-*.md` | `.claude/team-info.json` |
919
917
  | CodeBuddy | `.codebuddy/agents/prizm-dev-team-*.md` | `~/.codebuddy/teams/prizm-dev-team/config.json` |
920
918
 
921
- Agent files include Reviewer/Critic definitions used by feature prompt flows. `prizm-dev-team-dev.md` remains available for targeted fix/specialized handoffs such as the internal `/prizmkit-code-review` fix loop, but top-level feature implementation is performed directly by the main orchestrator with `/prizmkit-implement`. Paths are auto-resolved by `generate-bootstrap-prompt.py`.
919
+ Agent files include Dev and Reviewer definitions used by prompt flows. `prizm-dev-team-dev.md` remains available for targeted specialized handoffs, but top-level feature implementation is performed directly by the main orchestrator with `/prizmkit-implement`. Paths are auto-resolved by prompt generators.
922
920
 
923
921
  ---
924
922
 
@@ -1,533 +1,55 @@
1
- # Dev-Pipeline Schema Analysis Report
1
+ # Dev-Pipeline Schema Analysis
2
2
 
3
- ## Executive Summary
3
+ ## Current Plan-List Schemas
4
4
 
5
- This report analyzes three JSON schemas used by the PrizmKit Dev-Pipeline:
6
- 1. **Feature List Schema** (`feature-list-schema.json`) - for feature tracking
7
- 2. **Bug Fix List Schema** (`bug-fix-list-schema.json`) - for bug fix tracking
8
- 3. **Refactor List Schema** (`refactor-list-schema.json`) - for refactor tracking
5
+ PrizmKit uses three JSON plan-list schemas under `dev-pipeline/templates/`:
9
6
 
10
- ## 1. ROOT-LEVEL PROPERTIES
7
+ | Schema | Item key | Purpose |
8
+ |---|---|---|
9
+ | `feature-list-schema.json` | `features` | Feature pipeline input |
10
+ | `bug-fix-list-schema.json` | `bugs` | Bugfix pipeline input |
11
+ | `refactor-list-schema.json` | `refactors` | Refactor pipeline input |
11
12
 
12
- ### Common Root Properties (All 3 Schemas)
13
+ ## Shared Item Fields
13
14
 
14
- | Property | Type | Required | Enum Values | Notes |
15
- |----------|------|----------|-------------|-------|
16
- | `$schema` | string | YES | Feature: `"dev-pipeline-feature-list-v1"` | Each schema has unique constant value |
17
- | | | | Bug: `"dev-pipeline-bug-fix-list-v1"` | |
18
- | | | | Refactor: `"dev-pipeline-refactor-list-v1"` | |
19
- | `project_name` | string | YES | N/A | minLength: 1 |
20
- | `project_description` | string | NO | N/A | Optional in all |
21
- | `created_at` | string | NO | N/A | ISO format (date-time) |
22
- | `created_by` | string | NO | N/A | Optional in all |
23
- | `global_context` | object | NO | N/A | See section 3 |
15
+ - `id`: pipeline-family ID (`F-NNN`, `B-NNN`, or `R-NNN`).
16
+ - `title`: concise task title.
17
+ - `description`: implementation context for the AI session.
18
+ - `priority` or `severity`: scheduling/risk signal.
19
+ - `dependencies`: same-family dependency IDs.
20
+ - `acceptance_criteria`: verifiable completion conditions.
21
+ - `status`: external pipeline status.
22
+ - `model`: optional per-item AI model override.
23
+ - `user_context`: optional user-provided materials preserved verbatim.
24
+ - `browser_interaction`: optional browser verification policy.
24
25
 
25
- ### Schema-Specific Root Properties
26
+ ## Feature-Specific Fields
26
27
 
27
- | Property | Schema | Type | Required |
28
- |----------|--------|------|----------|
29
- | `source_spec` | Feature Only | string | NO |
30
- | `features` | Feature | array | YES |
31
- | `bugs` | Bug Fix | array | YES |
32
- | `refactors` | Refactor | array | YES |
28
+ - `estimated_complexity`: maps feature work to `lite`, `standard`, or `full` prompt modes.
29
+ - `session_granularity`: feature, sub-feature, or auto execution strategy.
30
+ - `sub_features`: optional sub-feature decomposition.
31
+ - `completion_notes`: downstream dependency context after completion.
32
+ - `testing`: optional testing expectations for the scoped test gate.
33
33
 
34
- **Items Constraints:**
35
- - Feature: `minItems: 1`
36
- - Bug Fix: `minItems: 1`
37
- - Refactor: `minItems: 1`
34
+ ## Bugfix-Specific Fields
38
35
 
39
- ---
36
+ - `severity`: incident impact signal.
37
+ - `error_source`: structured source evidence.
38
+ - `verification_type`: automated, manual, or hybrid verification policy.
39
+ - `affected_modules`, `environment`: optional triage context.
40
40
 
41
- ## 2. ITEM-LEVEL PROPERTIES (Key Differences)
41
+ ## Refactor-Specific Fields
42
42
 
43
- ### Feature Item
43
+ - `scope`: files and modules affected.
44
+ - `type`: extract, rename, restructure, simplify, decouple, or migrate.
45
+ - `complexity`: low, medium, or high refactor complexity.
46
+ - `behavior_preservation`: strategy and supporting tests for no-behavior-change work.
47
+ - `estimated_lines`, `completion_notes`: optional planning and downstream context.
44
48
 
45
- **Required fields:**
46
- ```
47
- id, title, description, priority, dependencies, acceptance_criteria, status
48
- ```
49
+ ## Strictness Notes
49
50
 
50
- **Optional fields:**
51
- ```
52
- estimated_complexity, session_granularity, sub_features, model, critic,
53
- critic_count, completion_notes, browser_interaction
54
- ```
51
+ Item objects are strict. Removed or unknown item fields should be rejected by schema and planner validators so stale configuration cannot silently alter runtime behavior.
55
52
 
56
- | Property | Type | Enum/Pattern | Notes |
57
- |----------|------|--------------|-------|
58
- | `id` | string | Pattern: `^F-\d{3}(-[A-Z])?$` | F-001, F-001-A, etc. |
59
- | `title` | string | N/A | minLength: 1 |
60
- | `description` | string | N/A | minLength: 1 |
61
- | `priority` | string | `critical, high, medium, low` | ✓ REQUIRED |
62
- | `dependencies` | array | Pattern: `^F-\d{3}(-[A-Z])?$` | Array of feature IDs |
63
- | `acceptance_criteria` | array | N/A | minItems: 1, array of strings |
64
- | `status` | string | `pending, in_progress, completed, failed, skipped, split, auto_skipped` | ✓ REQUIRED |
65
- | `estimated_complexity` | string | `low, medium, high` | Optional |
66
- | `session_granularity` | string | `feature, sub_feature, auto` | Default: `"feature"` |
67
- | `sub_features` | array | N/A | Objects with id, title, description |
68
- | `model` | string | N/A | AI model override |
69
- | `critic` | boolean | N/A | Default: `false` |
70
- | `critic_count` | integer | `1, 3` | Enum: single or multi-critic |
71
- | `completion_notes` | array | N/A | Array of strings, AI-generated summaries |
72
- | `browser_interaction` | object | N/A | Config for UI verification (requires playwright) |
53
+ ## Prompt Integration
73
54
 
74
- ### Bug Fix Item
75
-
76
- **Required fields:**
77
- ```
78
- id, title, description, severity, error_source, verification_type,
79
- acceptance_criteria, status
80
- ```
81
-
82
- **Optional fields:**
83
- ```
84
- priority, dependencies, affected_feature, affected_modules, environment, critic,
85
- critic_count, model, browser_interaction
86
- ```
87
-
88
- | Property | Type | Enum/Pattern | Notes |
89
- |----------|------|--------------|-------|
90
- | `id` | string | Pattern: `^B-\d{3}$` | B-001, B-002, etc. |
91
- | `title` | string | N/A | minLength: 1 - brief symptom description |
92
- | `description` | string | N/A | minLength: 1 - detailed: expected vs actual |
93
- | `severity` | string | `critical, high, medium, low` | ✓ REQUIRED; maps to priority |
94
- | `priority` | string | `high, medium, low` | Optional; derived from severity; NOT critical |
95
- | `error_source` | object | type enum: `stack_trace, user_report, failed_test, log_pattern, monitoring_alert` | ✓ REQUIRED |
96
- | `verification_type` | string | `automated, manual, hybrid` | ✓ REQUIRED |
97
- | `acceptance_criteria` | array | N/A | minItems: 1 |
98
- | `status` | string | `pending, in_progress, completed, failed, skipped, needs_info` | ✓ REQUIRED; external list status only |
99
- | `dependencies` | array | Pattern: `^B-\d{3}$` | Optional; bug IDs that must complete first |
100
- | `affected_feature` | string | Pattern: `^F-\d{3}(-[A-Z])?$` | Optional; link to original feature |
101
- | `affected_modules` | array | N/A | Optional; module names |
102
- | `environment` | object | N/A | Optional; os, runtime, browser, version |
103
- | `critic` | boolean | N/A | Default: `false` (true for high severity) |
104
- | `critic_count` | integer | `1, 3` | Optional; only if critic=true |
105
- | `model` | string | N/A | AI model override |
106
-
107
- ### Refactor Item
108
-
109
- **Required fields:**
110
- ```
111
- id, title, description, scope, type, priority, complexity,
112
- behavior_preservation, acceptance_criteria, dependencies, status
113
- ```
114
-
115
- **Optional fields:**
116
- ```
117
- model, estimated_lines, completion_notes, critic, critic_count
118
- ```
119
-
120
- | Property | Type | Enum/Pattern | Notes |
121
- |----------|------|--------------|-------|
122
- | `id` | string | Pattern: `^R-\d{3}$` | R-001, R-002, etc. |
123
- | `title` | string | N/A | minLength: 1 |
124
- | `description` | string | N/A | minLength: 1 |
125
- | `scope` | object | N/A | Files and modules affected |
126
- | `type` | string | `extract, rename, restructure, simplify, decouple, migrate` | ✓ REQUIRED; specific refactor type |
127
- | `priority` | string | `critical, high, medium, low` | ✓ REQUIRED |
128
- | `complexity` | string | `low, medium, high` | ✓ REQUIRED |
129
- | `behavior_preservation` | object | strategy: `test-gate, snapshot, manual` | ✓ REQUIRED object |
130
- | `acceptance_criteria` | array | N/A | minItems: 1 |
131
- | `dependencies` | array | Pattern: `^R-\d{3}$` | ✓ REQUIRED; array of refactor IDs only |
132
- | `status` | string | `pending, in_progress, completed, failed, skipped` | ✓ REQUIRED; simpler than Bug |
133
- | `model` | string | N/A | AI model override |
134
- | `estimated_lines` | integer | N/A | Optional |
135
- | `completion_notes` | array | N/A | AI-generated summaries |
136
- | `critic` | boolean | N/A | Default: `false` (true for critical/high) |
137
- | `critic_count` | integer | `1, 3` | Default: 3 for critical, 1 for high |
138
-
139
- ---
140
-
141
- ## 3. GLOBAL_CONTEXT OBJECT (Shared Structure)
142
-
143
- **Location:** Root-level, optional in all 3 schemas
144
-
145
- **Properties (all optional):**
146
- ```
147
- tech_stack, language, runtime, frontend_framework, frontend_styling,
148
- backend_framework, database, orm, testing_strategy, bundler, project_type
149
- ```
150
-
151
- **Bug Fix & Refactor Only (NOT in Feature):**
152
- ```
153
- design_system, ci_pipeline
154
- ```
155
-
156
- ### Field Details
157
-
158
- | Property | Type | Present In |
159
- |----------|------|-----------|
160
- | `tech_stack` | string | All 3 |
161
- | `language` | string | All 3 |
162
- | `runtime` | string | All 3 |
163
- | `frontend_framework` | string | All 3 |
164
- | `frontend_styling` | string | All 3 |
165
- | `backend_framework` | string | All 3 |
166
- | `database` | string | All 3 |
167
- | `orm` | string | All 3 |
168
- | `testing_strategy` | string | All 3 |
169
- | `bundler` | string | All 3 |
170
- | `project_type` | string | All 3 |
171
- | `design_system` | string | Bug Fix + Refactor ONLY ❌ Feature |
172
- | `ci_pipeline` | string | Bug Fix + Refactor ONLY ❌ Feature |
173
-
174
- ---
175
-
176
- ## 4. KEY INCONSISTENCIES & SCHEMA DIFFERENCES
177
-
178
- ### 4.1 ID Pattern Inconsistencies
179
-
180
- | Schema | ID Pattern | Example |
181
- |--------|-----------|---------|
182
- | Feature | `^F-\d{3}(-[A-Z])?$` | F-001, F-001-A ✓ Allows sub-feature suffixes |
183
- | Bug Fix | `^B-\d{3}$` | B-001 ✗ NO suffixes allowed |
184
- | Refactor | `^R-\d{3}$` | R-001 ✗ NO suffixes allowed |
185
-
186
- **Finding:** Only Features support sub-IDs with `-[A-Z]` suffix. This is intentional (features can split into sub_features).
187
-
188
- ### 4.2 Priority vs Severity (Bug Fix Only)
189
-
190
- **Feature & Refactor:** Direct `priority` enum
191
- ```
192
- "priority": ["critical", "high", "medium", "low"]
193
- ```
194
-
195
- **Bug Fix:** Has BOTH `severity` and `priority`
196
- ```
197
- "severity": ["critical", "high", "medium", "low"] ← ✓ REQUIRED
198
- "priority": ["high", "medium", "low"] ← ✗ NO "critical" option
199
- ```
200
-
201
- **Issue:** Bug Fix severity has "critical" but priority doesn't. Pipeline docs state:
202
- > "Both critical and high severity map to high priority"
203
-
204
- **Impact:** When deserializing a bug with severity="critical", pipeline must map to priority="high" (not preserved).
205
-
206
- ### 4.3 Status Enums - Feature vs Bug vs Refactor
207
-
208
- **Feature Status (7 values):**
209
- ```
210
- pending, in_progress, completed, failed, skipped, split, auto_skipped
211
- ```
212
-
213
- **Bug Fix Status (6 external values):**
214
- ```
215
- pending, in_progress, completed, failed, skipped, needs_info
216
- ```
217
- *External bug-list status stays coarse. Fine-grained triage/reproduction/fix/verification phases belong in logs, checkpoints, and session metadata, not `bugs[].status`.*
218
-
219
- **Refactor Status (5 values):**
220
- ```
221
- pending, in_progress, completed, failed, skipped
222
- ```
223
- *Simplest; no workflow states*
224
-
225
- ### 4.4 Dependencies Pattern
226
-
227
- | Schema | Dependencies | Pattern |
228
- |--------|--------------|---------|
229
- | Feature | `dependencies` (required) | `^F-\d{3}(-[A-Z])?$` - can reference sub-features |
230
- | Bug Fix | `dependencies` (optional) | `^B-\d{3}$` - can reference prerequisite bug fixes |
231
- | Refactor | `dependencies` (required) | `^R-\d{3}$` - ONLY refactor IDs, no sub-IDs |
232
-
233
- **Contract:** Bug Fix dependencies are supported as optional prerequisites. Runtime selects eligible bugs in stable list order after dependencies are completed.
234
-
235
- ### 4.5 Acceptance Criteria vs Task Lists
236
-
237
- | Schema | AC Field | Type | Notes |
238
- |--------|----------|------|-------|
239
- | Feature | `acceptance_criteria` | array of strings | minItems: 1, manually written |
240
- | Bug Fix | `acceptance_criteria` | array of strings | minItems: 1, fix verification criteria |
241
- | Refactor | `acceptance_criteria` | array of strings | minItems: 1, completion criteria |
242
-
243
- **Finding:** All use same field name & structure. AC format is schema-agnostic.
244
-
245
- ### 4.6 Critic Configuration Differences
246
-
247
- | Schema | Critic Default | Critic Count Default | Notes |
248
- |--------|-----------------|----------------------|-------|
249
- | Feature | `false` | 1 | Per-feature override possible |
250
- | Bug Fix | `false` for most; `true` for "high severity"` | 1 for high severity; omit for others | Special logic: high severity → critic=true |
251
- | Refactor | `false` (explicit); `true` for "critical/high"` | 3 for critical; 1 for high; omit for others | Special defaults: critical→3 critics, high→1 |
252
-
253
- **Finding:** Refactor has the strictest critic defaults (auto-enable for critical/high). Bug Fix has conditional enable (high severity only). Feature has manual opt-in.
254
-
255
- ### 4.7 Schema-Specific Features
256
-
257
- #### Feature Only
258
- - `sub_features` (nested array of objects)
259
- - `session_granularity` (feature, sub_feature, auto)
260
- - `browser_interaction` (UI verification config)
261
- - `source_spec` (root-level, source spec reference)
262
-
263
- #### Bug Fix Only
264
- - `severity` (critical, high, medium, low)
265
- - `error_source` (object: type + metadata - stack_trace, user_report, etc.)
266
- - `affected_feature` (F-ID reference)
267
- - `affected_modules` (array of module names)
268
- - `environment` (os, runtime, browser, version)
269
-
270
- #### Refactor Only
271
- - `type` (extract, rename, restructure, simplify, decouple, migrate)
272
- - `behavior_preservation` (strategy: test-gate, snapshot, manual)
273
- - `estimated_lines` (integer, lines of code affected)
274
-
275
- #### All Three
276
- - `id`, `title`, `description`
277
- - `priority` (with caveats for Bug Fix)
278
- - `acceptance_criteria`
279
- - `status`
280
- - `model` (AI model override)
281
- - `critic`, `critic_count`
282
- - `completion_notes`
283
-
284
- ### 4.8 Global Context Discrepancies
285
-
286
- **Feature's global_context is MISSING:**
287
- - `design_system` ❌ (present in Bug Fix & Refactor)
288
- - `ci_pipeline` ❌ (present in Bug Fix & Refactor)
289
-
290
- **Why?** Legacy inconsistency. Feature schema predates Bug Fix / Refactor and wasn't updated.
291
-
292
- **Risk:** If a codebase tries to unify global_context across all three, it must handle optional fields conditionally.
293
-
294
- ---
295
-
296
- ## 5. TEMPLATE DIRECTORY STRUCTURE
297
-
298
- ### Critical Paths Files
299
-
300
- **Three variants exist for each concept:**
301
-
302
- | Concept | Files | Scope |
303
- |---------|-------|-------|
304
- | Critical Paths | `critical-paths-full.md`, `critical-paths-lite.md`, `critical-paths-agent.md` | Different detail levels |
305
- | Directory Convention | `directory-convention-full.md`, `directory-convention-lite.md`, `directory-convention-agent.md` | Lite vs Full vs Agent mode |
306
- | Phase Context Snapshot | `phase-context-snapshot-base.md`, `phase-context-snapshot-lite-suffix.md`, `phase-context-snapshot-agent-suffix.md` | Suffix variants for modes |
307
- | Phase Implementation | `phase-implement-lite.md`, `phase-implement-full.md`, `phase-implement-agent.md` | Three execution modes |
308
- | Phase Review | `phase-review-full.md`, `phase-review-agent.md` | Full & Agent variants |
309
- | Phase Plan | `phase-plan-lite.md`, `phase-plan-agent.md` | Lite & Agent variants |
310
- | Phase Critic | `phase-critic-plan.md`, `phase-critic-plan-full.md` | Plan review (single and multi) |
311
- | Phase Commit | `phase-commit.md`, `phase-commit-full.md` | Standard & Full variants |
312
-
313
- ### Singleton Sections
314
-
315
- | File | Purpose |
316
- |------|---------|
317
- | `failure-capture.md` | Failure logging protocol |
318
- | `session-context.md` | Session metadata template |
319
- | `subagent-timeout-recovery.md` | Recovery on agent timeout |
320
- | `test-failure-recovery.md` | Test failure handling |
321
- | `checkpoint-system.md` | Workflow checkpoint tracking |
322
- | `phase0-init.md` | Project bootstrap |
323
- | `phase0-test-baseline.md` | Baseline test detection |
324
- | `resume-header.md` | Resume from phase template |
325
- | `failure-log-check.md` | Failure log diagnostics |
326
- | `context-budget-rules.md` | Context window guardrails |
327
- | `phase-browser-verification.md` | Playwright UI verification |
328
- | `phase-deploy-verification.md` | [DEPRECATED] Local deployment check (template removed) |
329
- | `ac-verification-checklist.md` | Acceptance criteria verification |
330
- | `feature-context.md` | Feature brief context |
331
- | `phase-specify-plan-full.md` | Full spec + plan workflow |
332
-
333
- ### Total Section Files: 36 markdown templates
334
-
335
- ---
336
-
337
- ## 6. ENVIRONMENT CONFIGURATION (.env.example)
338
-
339
- **Key Environment Variables:**
340
-
341
- | Variable | Type | Default | Scope |
342
- |----------|------|---------|-------|
343
- | `PRIZMKIT_ENV` | string | (unset) | "test" = debug bootstrap output |
344
- | `AI_CLI` | string | auto-detect | claude or cbc |
345
- | `MODEL` | string | (unset) | AI model override (per-task overrides this) |
346
- | `MAX_RETRIES` | integer | (not specified) | Retry attempts per task |
347
- | `VERBOSE` | integer | (not specified) | 1=on, 0=off |
348
- | `ENABLE_CRITIC` | boolean | false | Adversarial review enable |
349
- | `PIPELINE_MODE` | string | auto-detect | lite/standard/full override |
350
- | `STRICT_BEHAVIOR_CHECK` | integer | (not specified) | Refactor full test suite |
351
- | `AUTO_PUSH` | integer | 0 | 0=off, 1=on |
352
- | `DEV_BRANCH` | string | auto-generated | Custom branch name |
353
- | `HEARTBEAT_INTERVAL` | integer | 30 | Heartbeat log interval (s) |
354
- | `HEARTBEAT_STALE_THRESHOLD` | integer | 600 | Max seconds without heartbeat |
355
- | `STALE_KILL_THRESHOLD` | integer | 900 | Auto-kill after N seconds without parent log progress |
356
- | `CODEX_WAIT_STALE_KILL_THRESHOLD` | integer | 3600 | Longer no-log stale window while Codex waits on subagents |
357
- | `CODEX_SUBAGENT_TIMEOUT_SECONDS` | integer | 3300 | Codex subagent max runtime |
358
-
359
- **Priority:** Command-line env vars > .env file > defaults
360
-
361
- ---
362
-
363
- ## 7. BOOTSTRAP PROMPT FILES
364
-
365
- Located in `/dev-pipeline/templates/`:
366
-
367
- | File | Purpose | Size |
368
- |------|---------|------|
369
- | `bootstrap-prompt.md` | Standard bootstrap | ~1.8 KB |
370
- | `bootstrap-tier1.md` | Lite/minimal workflow | ~18 KB |
371
- | `bootstrap-tier2.md` | Standard workflow | ~25 KB |
372
- | `bootstrap-tier3.md` | Full workflow | ~31 KB |
373
- | `bugfix-bootstrap-prompt.md` | Bug fix workflow | ~14 KB |
374
- | `refactor-bootstrap-prompt.md` | Refactor workflow | ~11 KB |
375
-
376
- **Finding:** Tier-based bootstraps suggest complexity-driven workflow selection. Bug fix & refactor have dedicated bootstraps.
377
-
378
- ---
379
-
380
- ## 8. DETAILED INCONSISTENCY MATRIX
381
-
382
- ### Table: Cross-Schema Field Presence
383
-
384
- | Field | Feature | Bug Fix | Refactor | Issue |
385
- |-------|---------|---------|----------|-------|
386
- | `id` | F-001(-A) | B-001 | R-001 | Different patterns, Feature allows suffixes |
387
- | `title` | ✓ | ✓ | ✓ | Consistent |
388
- | `description` | ✓ | ✓ | ✓ | Consistent |
389
- | `priority` | ✓ req | partial | ✓ req | Bug Fix lacks "critical" in priority enum |
390
- | `severity` | ❌ | ✓ req | ❌ | Bug Fix only, no feature severity |
391
- | `dependencies` | ✓ req (F-IDs) | ❌ | ✓ req (R-IDs) | Bug Fix lacks deps, Feature allows sub-IDs |
392
- | `acceptance_criteria` | ✓ req | ✓ req | ✓ req | Consistent |
393
- | `status` | 7 values | 9 values | 5 values | Inconsistent enum sizes |
394
- | `error_source` | ❌ | ✓ req | ❌ | Bug Fix only |
395
- | `verification_type` | ❌ | ✓ req | ❌ | Bug Fix only |
396
- | `scope` | ❌ | ❌ | ✓ req | Refactor only |
397
- | `type` | ❌ | ❌ | ✓ req | Refactor only (refactor type) |
398
- | `complexity` | optional | ❌ | ✓ req | Feature optional; Refactor required |
399
- | `behavior_preservation` | ❌ | ❌ | ✓ req | Refactor only |
400
- | `model` | ✓ opt | ✓ opt | ✓ opt | Consistent |
401
- | `critic` | ✓ opt (default false) | ✓ opt (conditional) | ✓ opt (conditional) | Different defaults |
402
- | `critic_count` | ✓ opt (1,3) | ✓ opt (1,3) | ✓ opt (1,3) | Enum consistent; defaults differ |
403
- | `completion_notes` | ✓ opt | ❌ | ✓ opt | Bug Fix lacks completion notes |
404
- | `affected_feature` | N/A | ✓ opt (F-ID) | N/A | Bug Fix only |
405
- | `affected_modules` | N/A | ✓ opt | ❌ | Bug/Feature only (Refactor has scope.modules) |
406
- | `environment` | N/A | ✓ opt | N/A | Bug Fix only |
407
- | `sub_features` | ✓ opt | ❌ | ❌ | Feature only |
408
- | `session_granularity` | ✓ opt | ❌ | ❌ | Feature only |
409
- | `browser_interaction` | ✓ opt | ❌ | ❌ | Feature only |
410
- | `estimated_lines` | N/A | ❌ | ✓ opt | Refactor only |
411
- | `design_system` | ❌ | ✓ opt (global) | ✓ opt (global) | Missing from Feature global_context |
412
- | `ci_pipeline` | ❌ | ✓ opt (global) | ✓ opt (global) | Missing from Feature global_context |
413
-
414
- ---
415
-
416
- ## 9. CRITICAL FINDINGS & RECOMMENDATIONS
417
-
418
- ### ⚠️ HIGH PRIORITY ISSUES
419
-
420
- 1. **Bug Fix Schema Missing Dependencies**
421
- - Bugs cannot declare prerequisite bugs or feature links
422
- - **Recommendation:** Add `dependencies` field (array of B-IDs) to enable bug fix ordering
423
- - **Impact:** May lead to out-of-order bug fixes if dependencies exist
424
-
425
- 2. **Global Context Inconsistency**
426
- - Feature missing `design_system` and `ci_pipeline`
427
- - **Recommendation:** Add these fields to Feature global_context for consistency
428
- - **Impact:** Feature pipelines cannot track design system or CI info
429
-
430
- 3. **Priority vs Severity Mismatch (Bug Fix)**
431
- - Bug Fix `severity` has "critical", but `priority` does NOT
432
- - **Recommendation:** Either add "critical" to priority enum OR document explicit mapping rules
433
- - **Impact:** Pipeline code must hardcode severity→priority mapping; unclear in schema
434
-
435
- 4. **Status Enum Proliferation**
436
- - 3 different status enums (Feature: 7, Bug: 9, Refactor: 5)
437
- - **Recommendation:** Standardize or document which phases these statuses map to
438
- - **Impact:** Code handling all 3 must have schema-specific status handling
439
-
440
- ### 🔴 MODERATE ISSUES
441
-
442
- 5. **Feature Dependencies Support Sub-IDs, Others Don't**
443
- - Feature dependencies: `^F-\d{3}(-[A-Z])?$` (can reference F-001-A)
444
- - Refactor dependencies: `^R-\d{3}$` (cannot reference sub-refactors)
445
- - **Recommendation:** Explicitly document this difference or make consistent
446
- - **Impact:** Refactors cannot decompose; Features can
447
-
448
- 6. **Critic Count Defaults Inconsistent**
449
- - Feature: default false, critic_count default 1
450
- - Bug Fix: default false (conditional true for high severity), critic_count 1 for high only
451
- - Refactor: default false (conditional true for critical/high), critic_count 3 for critical / 1 for high
452
- - **Recommendation:** Document default resolution rules in schema comments
453
- - **Impact:** Implicit defaults make it hard to reason about critic enablement
454
-
455
- 7. **Bug Fix Lacks Completion Notes**
456
- - Feature & Refactor have `completion_notes` array; Bug Fix does not
457
- - **Recommendation:** Add `completion_notes` to Bug Fix for consistency and downstream context
458
- - **Impact:** Bug fixes cannot propagate context to dependent features
459
-
460
- 8. **Complexity Field Inconsistency**
461
- - Feature: optional `estimated_complexity` (low, medium, high)
462
- - Bug Fix: NO complexity field
463
- - Refactor: required `complexity` (low, medium, high)
464
- - **Recommendation:** Make Bug Fix complexity optional to match Feature; or require in all 3
465
- - **Impact:** Can't estimate bug fix effort from schema
466
-
467
- ### 🟡 MINOR ISSUES
468
-
469
- 9. **Source Spec Field (Feature Only)**
470
- - Feature root has optional `source_spec` string; others don't
471
- - **Recommendation:** Document purpose or generalize to all schemas
472
- - **Impact:** Feature-specific metadata not portable
473
-
474
- 10. **Session Granularity (Feature Only)**
475
- - Feature only field; no equivalent in Bug Fix or Refactor
476
- - **Recommendation:** Document as intentional Feature-specific feature
477
- - **Impact:** Execution granularity concept not generalized
478
-
479
- ---
480
-
481
- ## 10. EXACT ENUM VALUES SUMMARY
482
-
483
- ### ID Patterns
484
- - **Feature**: `^F-\d{3}(-[A-Z])?$` → F-001, F-001-A, F-123-Z
485
- - **Bug Fix**: `^B-\d{3}$` → B-001, B-123
486
- - **Refactor**: `^R-\d{3}$` → R-001, R-123
487
-
488
- ### Priority/Severity Enums
489
- - **Feature Priority**: `[critical, high, medium, low]` (4 values)
490
- - **Bug Severity**: `[critical, high, medium, low]` (4 values)
491
- - **Bug Priority**: `[high, medium, low]` (3 values) ⚠️ NO CRITICAL
492
- - **Refactor Priority**: `[critical, high, medium, low]` (4 values)
493
-
494
- ### Status Enums
495
- - **Feature**: `[pending, in_progress, completed, failed, skipped, split, auto_skipped]` (7 values)
496
- - **Bug Fix**: `[pending, in_progress, completed, failed, skipped, needs_info]` (6 external values)
497
- - **Refactor**: `[pending, in_progress, completed, failed, skipped]` (5 values)
498
-
499
- ### Complexity/Estimated Complexity Enums
500
- - **Feature estimated_complexity** (optional): `[low, medium, high]`
501
- - **Refactor complexity** (required): `[low, medium, high]`
502
- - **Bug Fix**: NO FIELD
503
-
504
- ### Feature-Specific Enums
505
- - **session_granularity**: `[feature, sub_feature, auto]` (default: "feature")
506
- - **browser_interaction required fields**: `url` (string); optional: `setup_command`, `verify_steps` (array), `screenshot` (boolean, default true)
507
-
508
- ### Bug-Specific Enums
509
- - **error_source.type**: `[stack_trace, user_report, failed_test, log_pattern, monitoring_alert]`
510
- - **verification_type**: `[automated, manual, hybrid]`
511
-
512
- ### Refactor-Specific Enums
513
- - **type**: `[extract, rename, restructure, simplify, decouple, migrate]` (6 values)
514
- - **behavior_preservation.strategy**: `[test-gate, snapshot, manual]`
515
-
516
- ### Critic Count Enum (All 3)
517
- - **critic_count**: `[1, 3]` (single critic or multi-critic voting)
518
-
519
- ---
520
-
521
- ## APPENDIX: TEMPLATE FILE COUNTS
522
-
523
- **By Category:**
524
- - Mode Variants (Full/Lite/Agent/Base): 18 files
525
- - Singleton Phases & Workflows: 18 files
526
- - **Total**: 36 markdown template sections
527
-
528
- **Mode Distribution:**
529
- - Full/Standard: 9 files
530
- - Lite: 5 files
531
- - Agent: 6 files
532
- - Base/Shared: 7 files
533
- - Singleton: 3 files
55
+ Prompt generators consume only supported schema fields. The feature pipeline selects prompt mode from `estimated_complexity`; bugfix and refactor prompts select mode from severity/complexity and runtime overrides. Browser verification is driven by `browser_interaction` and remains a mandatory attempt when enabled.