@cluesmith/codev 1.6.2 → 2.0.0-rc.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 (94) hide show
  1. package/bin/porch.js +7 -0
  2. package/dist/agent-farm/cli.d.ts.map +1 -1
  3. package/dist/agent-farm/cli.js +23 -0
  4. package/dist/agent-farm/cli.js.map +1 -1
  5. package/dist/agent-farm/commands/index.d.ts +1 -0
  6. package/dist/agent-farm/commands/index.d.ts.map +1 -1
  7. package/dist/agent-farm/commands/index.js +1 -0
  8. package/dist/agent-farm/commands/index.js.map +1 -1
  9. package/dist/agent-farm/commands/kickoff.d.ts +19 -0
  10. package/dist/agent-farm/commands/kickoff.d.ts.map +1 -0
  11. package/dist/agent-farm/commands/kickoff.js +269 -0
  12. package/dist/agent-farm/commands/kickoff.js.map +1 -0
  13. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  14. package/dist/agent-farm/commands/spawn.js +1 -43
  15. package/dist/agent-farm/commands/spawn.js.map +1 -1
  16. package/dist/cli.d.ts.map +1 -1
  17. package/dist/cli.js +29 -0
  18. package/dist/cli.js.map +1 -1
  19. package/dist/commands/pcheck/cache.d.ts +48 -0
  20. package/dist/commands/pcheck/cache.d.ts.map +1 -0
  21. package/dist/commands/pcheck/cache.js +170 -0
  22. package/dist/commands/pcheck/cache.js.map +1 -0
  23. package/dist/commands/pcheck/evaluator.d.ts +15 -0
  24. package/dist/commands/pcheck/evaluator.d.ts.map +1 -0
  25. package/dist/commands/pcheck/evaluator.js +246 -0
  26. package/dist/commands/pcheck/evaluator.js.map +1 -0
  27. package/dist/commands/pcheck/index.d.ts +12 -0
  28. package/dist/commands/pcheck/index.d.ts.map +1 -0
  29. package/dist/commands/pcheck/index.js +249 -0
  30. package/dist/commands/pcheck/index.js.map +1 -0
  31. package/dist/commands/pcheck/parser.d.ts +39 -0
  32. package/dist/commands/pcheck/parser.d.ts.map +1 -0
  33. package/dist/commands/pcheck/parser.js +155 -0
  34. package/dist/commands/pcheck/parser.js.map +1 -0
  35. package/dist/commands/pcheck/types.d.ts +82 -0
  36. package/dist/commands/pcheck/types.d.ts.map +1 -0
  37. package/dist/commands/pcheck/types.js +5 -0
  38. package/dist/commands/pcheck/types.js.map +1 -0
  39. package/dist/commands/porch/checks.d.ts +42 -0
  40. package/dist/commands/porch/checks.d.ts.map +1 -0
  41. package/dist/commands/porch/checks.js +195 -0
  42. package/dist/commands/porch/checks.js.map +1 -0
  43. package/dist/commands/porch/consultation.d.ts +56 -0
  44. package/dist/commands/porch/consultation.d.ts.map +1 -0
  45. package/dist/commands/porch/consultation.js +330 -0
  46. package/dist/commands/porch/consultation.js.map +1 -0
  47. package/dist/commands/porch/index.d.ts +60 -0
  48. package/dist/commands/porch/index.d.ts.map +1 -0
  49. package/dist/commands/porch/index.js +828 -0
  50. package/dist/commands/porch/index.js.map +1 -0
  51. package/dist/commands/porch/notifications.d.ts +99 -0
  52. package/dist/commands/porch/notifications.d.ts.map +1 -0
  53. package/dist/commands/porch/notifications.js +223 -0
  54. package/dist/commands/porch/notifications.js.map +1 -0
  55. package/dist/commands/porch/plan-parser.d.ts +38 -0
  56. package/dist/commands/porch/plan-parser.d.ts.map +1 -0
  57. package/dist/commands/porch/plan-parser.js +166 -0
  58. package/dist/commands/porch/plan-parser.js.map +1 -0
  59. package/dist/commands/porch/protocol-loader.d.ts +46 -0
  60. package/dist/commands/porch/protocol-loader.d.ts.map +1 -0
  61. package/dist/commands/porch/protocol-loader.js +249 -0
  62. package/dist/commands/porch/protocol-loader.js.map +1 -0
  63. package/dist/commands/porch/signal-parser.d.ts +88 -0
  64. package/dist/commands/porch/signal-parser.d.ts.map +1 -0
  65. package/dist/commands/porch/signal-parser.js +148 -0
  66. package/dist/commands/porch/signal-parser.js.map +1 -0
  67. package/dist/commands/porch/state.d.ts +133 -0
  68. package/dist/commands/porch/state.d.ts.map +1 -0
  69. package/dist/commands/porch/state.js +760 -0
  70. package/dist/commands/porch/state.js.map +1 -0
  71. package/dist/commands/porch/types.d.ts +232 -0
  72. package/dist/commands/porch/types.d.ts.map +1 -0
  73. package/dist/commands/porch/types.js +7 -0
  74. package/dist/commands/porch/types.js.map +1 -0
  75. package/package.json +2 -1
  76. package/skeleton/porch/prompts/defend.md +103 -0
  77. package/skeleton/porch/prompts/diagnose.md +70 -0
  78. package/skeleton/porch/prompts/evaluate.md +132 -0
  79. package/skeleton/porch/prompts/fix.md +59 -0
  80. package/skeleton/porch/prompts/implement.md +79 -0
  81. package/skeleton/porch/prompts/plan.md +74 -0
  82. package/skeleton/porch/prompts/pr.md +84 -0
  83. package/skeleton/porch/prompts/review.md +179 -0
  84. package/skeleton/porch/prompts/specify.md +53 -0
  85. package/skeleton/porch/prompts/test.md +63 -0
  86. package/skeleton/porch/prompts/understand.md +61 -0
  87. package/skeleton/porch/prompts/verify.md +58 -0
  88. package/skeleton/porch/protocols/bugfix.json +85 -0
  89. package/skeleton/porch/protocols/spider.json +135 -0
  90. package/skeleton/porch/protocols/tick.json +76 -0
  91. package/skeleton/protocols/bugfix/protocol.json +127 -0
  92. package/skeleton/protocols/protocol-schema.json +237 -0
  93. package/skeleton/protocols/spider/protocol.json +204 -0
  94. package/skeleton/protocols/tick/protocol.json +151 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/commands/porch/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,232 @@
1
+ /**
2
+ * Porch - Protocol Orchestrator
3
+ *
4
+ * Type definitions for protocol definitions and state management.
5
+ */
6
+ /**
7
+ * Signal that a phase can emit to trigger state transitions
8
+ */
9
+ export interface PhaseSignals {
10
+ [signalName: string]: string;
11
+ }
12
+ /**
13
+ * Check configuration (build, test, etc.)
14
+ */
15
+ export interface Check {
16
+ command: string;
17
+ on_fail: 'retry' | string;
18
+ max_retries?: number;
19
+ retry_delay?: number;
20
+ }
21
+ /**
22
+ * Consultation configuration for a phase
23
+ */
24
+ export interface ConsultationConfig {
25
+ on: string;
26
+ models: string[];
27
+ type: string;
28
+ parallel?: boolean;
29
+ max_rounds?: number;
30
+ next: string;
31
+ }
32
+ /**
33
+ * Human approval gate configuration
34
+ */
35
+ export interface GateConfig {
36
+ after: string;
37
+ type: 'human' | 'automated';
38
+ next: string;
39
+ }
40
+ /**
41
+ * Phase definition in a protocol
42
+ */
43
+ export interface Phase {
44
+ id: string;
45
+ name: string;
46
+ prompt?: string;
47
+ substates?: string[];
48
+ signals?: PhaseSignals;
49
+ terminal?: boolean;
50
+ phased?: boolean;
51
+ phases_from?: string;
52
+ checks?: Record<string, Check>;
53
+ consultation?: ConsultationConfig;
54
+ gate?: GateConfig;
55
+ }
56
+ /**
57
+ * Protocol configuration
58
+ */
59
+ export interface ProtocolConfig {
60
+ poll_interval?: number;
61
+ max_iterations?: number;
62
+ claude_timeout?: number;
63
+ consultation_timeout?: number;
64
+ gate_poll_interval?: number;
65
+ max_gate_wait?: number;
66
+ scope_limit_loc?: number;
67
+ source?: string;
68
+ auto_pr?: boolean;
69
+ }
70
+ /**
71
+ * Security permissions per phase
72
+ */
73
+ export interface ProtocolPermissions {
74
+ [phaseId: string]: string[];
75
+ }
76
+ /**
77
+ * Complete protocol definition (loaded from JSON)
78
+ */
79
+ export interface Protocol {
80
+ $schema?: string;
81
+ name: string;
82
+ version: string;
83
+ description: string;
84
+ phases: Phase[];
85
+ initial: string;
86
+ config?: ProtocolConfig;
87
+ permissions?: ProtocolPermissions;
88
+ }
89
+ /**
90
+ * Legacy gate definition (standalone)
91
+ * @deprecated Use GateConfig in Phase instead
92
+ */
93
+ export interface Gate {
94
+ id: string;
95
+ after_state: string;
96
+ next_state: string;
97
+ type: 'human' | 'automated';
98
+ description?: string;
99
+ }
100
+ /**
101
+ * Legacy transition configuration
102
+ * @deprecated Transitions are now defined in phases via signals
103
+ */
104
+ export interface TransitionConfig {
105
+ default?: string;
106
+ on_gate_pass?: string;
107
+ wait_for?: string;
108
+ on_backpressure_pass?: string;
109
+ on_backpressure_fail?: string;
110
+ }
111
+ /**
112
+ * Legacy protocol format (for backward compatibility)
113
+ */
114
+ export interface LegacyProtocol {
115
+ $schema?: string;
116
+ name: string;
117
+ version: string;
118
+ description: string;
119
+ phases: Phase[];
120
+ gates: Gate[];
121
+ transitions: Record<string, TransitionConfig>;
122
+ initial_state: string;
123
+ config: {
124
+ poll_interval: number;
125
+ max_iterations: number;
126
+ prompts_dir: string;
127
+ };
128
+ }
129
+ /**
130
+ * Gate status in project state
131
+ */
132
+ export interface GateStatusEntry {
133
+ status: 'pending' | 'passed' | 'failed';
134
+ requested_at?: string;
135
+ approved_at?: string;
136
+ }
137
+ /**
138
+ * Phase status in project state
139
+ */
140
+ export interface PhaseStatusEntry {
141
+ status: 'pending' | 'in_progress' | 'complete';
142
+ title?: string;
143
+ }
144
+ /**
145
+ * Plan phase extracted from plan.md
146
+ */
147
+ export interface PlanPhase {
148
+ id: string;
149
+ title: string;
150
+ description?: string;
151
+ }
152
+ /**
153
+ * Log entry in project state
154
+ */
155
+ export interface LogEntry {
156
+ ts: string;
157
+ event: string;
158
+ from?: string | null;
159
+ to?: string;
160
+ signal?: string;
161
+ gate?: string;
162
+ phase?: string;
163
+ status?: string;
164
+ count?: number;
165
+ }
166
+ /**
167
+ * Project state (stored in status.yaml)
168
+ */
169
+ export interface ProjectState {
170
+ id: string;
171
+ title: string;
172
+ protocol: string;
173
+ current_state: string;
174
+ worktree?: string;
175
+ gates: Record<string, GateStatusEntry>;
176
+ phases: Record<string, PhaseStatusEntry>;
177
+ plan_phases?: PlanPhase[];
178
+ /** Consultation attempt counts per state key (e.g., "specify:consult" -> 2) */
179
+ consultation_attempts?: Record<string, number>;
180
+ iteration: number;
181
+ started_at: string;
182
+ last_updated: string;
183
+ log: Array<LogEntry | string | unknown>;
184
+ }
185
+ /**
186
+ * Options for porch run command
187
+ */
188
+ export interface PorchRunOptions {
189
+ dryRun?: boolean;
190
+ noClaude?: boolean;
191
+ pollInterval?: number;
192
+ }
193
+ /**
194
+ * Options for porch init command
195
+ */
196
+ export interface PorchInitOptions {
197
+ description?: string;
198
+ worktree?: string;
199
+ }
200
+ /**
201
+ * Options for porch approve command
202
+ */
203
+ export interface PorchApproveOptions {
204
+ }
205
+ /**
206
+ * Options for porch status command
207
+ */
208
+ export interface PorchStatusOptions {
209
+ pendingOnly?: boolean;
210
+ }
211
+ /**
212
+ * Verdict from a consultation
213
+ */
214
+ export type ConsultationVerdict = 'APPROVE' | 'REQUEST_CHANGES';
215
+ /**
216
+ * Single model's consultation feedback
217
+ */
218
+ export interface ConsultationFeedback {
219
+ model: string;
220
+ verdict: ConsultationVerdict;
221
+ summary: string;
222
+ details?: string;
223
+ }
224
+ /**
225
+ * Result of a consultation round
226
+ */
227
+ export interface ConsultationResult {
228
+ round: number;
229
+ feedback: ConsultationFeedback[];
230
+ allApproved: boolean;
231
+ }
232
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/porch/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Porch - Protocol Orchestrator
3
+ *
4
+ * Type definitions for protocol definitions and state management.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/porch/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@cluesmith/codev",
3
- "version": "1.6.2",
3
+ "version": "2.0.0-rc.1",
4
4
  "description": "Codev CLI - AI-assisted software development framework",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "codev": "./bin/codev.js",
8
+ "porch": "./bin/porch.js",
8
9
  "af": "./bin/af.js",
9
10
  "consult": "./bin/consult.js",
10
11
  "generate-image": "./bin/generate-image.js"
@@ -0,0 +1,103 @@
1
+ # Defend Phase Prompt
2
+
3
+ You are the **Tester** hat in a Ralph-SPIDER loop.
4
+
5
+ ## Your Mission
6
+
7
+ Write tests that verify the implementation matches the specification. Tests are **backpressure** - they must pass before proceeding.
8
+
9
+ ## Input Context
10
+
11
+ Read these files at the START of each iteration:
12
+ 1. `codev/specs/{project-id}-*.md` - Acceptance criteria to test
13
+ 2. `codev/plans/{project-id}-*.md` - Test strategy from plan
14
+ 3. `codev/status/{project-id}-*.md` - Current phase
15
+
16
+ ## Workflow
17
+
18
+ ### 1. Identify What to Test
19
+
20
+ From the spec's acceptance criteria, identify:
21
+ - **Unit tests**: Individual functions/components
22
+ - **Integration tests**: Workflows and interactions
23
+ - **Edge cases**: Error handling, boundary conditions
24
+
25
+ ### 2. Write Tests
26
+
27
+ For the current implementation phase:
28
+
29
+ 1. **Create test files** following project conventions
30
+ 2. **Cover each acceptance criterion** with at least one test
31
+ 3. **Include edge cases** documented in the spec
32
+ 4. **Test error paths** - what happens when things fail?
33
+
34
+ ### 3. Run Tests
35
+
36
+ ```bash
37
+ npm test # or appropriate test command
38
+ ```
39
+
40
+ If tests fail:
41
+ - **DO NOT PROCEED** - tests are backpressure
42
+ - Fix the implementation or fix the test (if test is wrong)
43
+ - Output: `<signal>TESTS_FAILED</signal>` to trigger retry
44
+
45
+ ### 4. Verify Coverage
46
+
47
+ Ensure:
48
+ - Every acceptance criterion has a test
49
+ - No uncovered edge cases
50
+ - Error scenarios are tested
51
+
52
+ ### 5. Signal Completion
53
+
54
+ When all tests pass:
55
+ 1. Commit tests:
56
+ ```bash
57
+ git add <test-files>
58
+ git commit -m "[Spec {id}][Phase: {phase-name}] tests: Add tests for {phase}"
59
+ ```
60
+ 2. Update status file
61
+ 3. Output: `<signal>TESTS_PASSING</signal>`
62
+
63
+ ## Test Quality Checklist
64
+
65
+ - [ ] Tests are deterministic (no flaky tests)
66
+ - [ ] Tests are isolated (no dependencies between tests)
67
+ - [ ] Tests have clear names describing what they verify
68
+ - [ ] Tests cover happy path AND error paths
69
+ - [ ] No overmocking - test real behavior where possible
70
+
71
+ ## Anti-Patterns to Avoid
72
+
73
+ - **Overmocking**: Don't mock what you're testing
74
+ ```typescript
75
+ // BAD: Mocking the thing you're testing
76
+ jest.mock('./calculator');
77
+ expect(mockCalculator.add).toHaveBeenCalled();
78
+
79
+ // GOOD: Test the actual behavior
80
+ expect(calculator.add(2, 3)).toBe(5);
81
+ ```
82
+
83
+ - **Testing implementation, not behavior**:
84
+ ```typescript
85
+ // BAD: Testing internal details
86
+ expect(component.state.isLoading).toBe(true);
87
+
88
+ // GOOD: Testing observable behavior
89
+ expect(screen.getByText('Loading...')).toBeInTheDocument();
90
+ ```
91
+
92
+ - **Ignoring edge cases**: The spec lists them for a reason
93
+
94
+ ## Backpressure Rule
95
+
96
+ **Tests MUST pass before proceeding to Evaluate.**
97
+
98
+ This is non-negotiable. If tests fail:
99
+ 1. Identify the failure
100
+ 2. Determine if it's a bug in implementation or test
101
+ 3. Fix accordingly
102
+ 4. Re-run tests
103
+ 5. Only signal completion when ALL tests pass
@@ -0,0 +1,70 @@
1
+ # Diagnose Phase Prompt (BUGFIX)
2
+
3
+ You are in the Diagnose phase of BUGFIX protocol.
4
+
5
+ ## Your Mission
6
+
7
+ Identify the root cause of the bug reported in the GitHub issue.
8
+
9
+ ## Input Context
10
+
11
+ 1. **GitHub Issue**: Read the issue details (number provided in status file)
12
+ 2. `codev/status/{project-id}-*.md` - Bug tracking state
13
+
14
+ ## Workflow
15
+
16
+ ### 1. Understand the Bug
17
+
18
+ From the GitHub issue:
19
+ - What is the expected behavior?
20
+ - What is the actual behavior?
21
+ - Steps to reproduce
22
+ - Any error messages or logs
23
+
24
+ ### 2. Reproduce the Bug
25
+
26
+ If possible:
27
+ ```bash
28
+ # Run the reproduction steps
29
+ # Document what you observe
30
+ ```
31
+
32
+ ### 3. Identify Root Cause
33
+
34
+ Analyze the codebase to find:
35
+ - Which file(s) contain the bug?
36
+ - What is the specific cause?
37
+ - Why does it happen?
38
+
39
+ ### 4. Document Findings
40
+
41
+ Update status file:
42
+ ```markdown
43
+ ## Bug Diagnosis
44
+
45
+ **Issue**: #{issue-number}
46
+ **Root Cause**: {description}
47
+ **Affected Files**:
48
+ - path/to/file.ts (line X-Y)
49
+
50
+ **Analysis**:
51
+ {detailed explanation of why the bug occurs}
52
+
53
+ **Proposed Fix**:
54
+ {high-level description of the fix}
55
+ ```
56
+
57
+ ### 5. Signal Completion
58
+
59
+ If root cause found:
60
+ - Output: `<signal>ROOT_CAUSE_FOUND</signal>`
61
+
62
+ If more info needed from issue author:
63
+ - Add comment to GitHub issue
64
+ - Output: `<signal>NEEDS_MORE_INFO</signal>`
65
+
66
+ ## Constraints
67
+
68
+ - DO NOT start fixing yet
69
+ - Document your findings clearly
70
+ - If can't reproduce, signal NEEDS_MORE_INFO
@@ -0,0 +1,132 @@
1
+ # Evaluate Phase Prompt
2
+
3
+ You are the **Verifier** hat in a Ralph-SPIDER loop.
4
+
5
+ ## Your Mission
6
+
7
+ Verify that the implementation meets ALL acceptance criteria from the specification. This is the quality gate before proceeding to review.
8
+
9
+ ## Input Context
10
+
11
+ Read these files at the START of each iteration:
12
+ 1. `codev/specs/{project-id}-*.md` - Acceptance criteria (source of truth)
13
+ 2. `codev/plans/{project-id}-*.md` - Phase completion checklist
14
+ 3. `codev/status/{project-id}-*.md` - Current state
15
+ 4. Test results from Defend phase
16
+
17
+ ## Workflow
18
+
19
+ ### 1. Gather Evidence
20
+
21
+ For each acceptance criterion in the spec:
22
+ 1. Find the test that covers it
23
+ 2. Verify the test passes
24
+ 3. If no test exists, verify manually
25
+ 4. Document evidence of compliance
26
+
27
+ ### 2. Check Acceptance Criteria
28
+
29
+ Go through EVERY acceptance criterion:
30
+
31
+ ```markdown
32
+ ## Acceptance Criteria Verification
33
+
34
+ | Criterion | Status | Evidence |
35
+ |-----------|--------|----------|
36
+ | User can log in with email/password | PASS | test_login_with_email passes |
37
+ | Invalid credentials show error | PASS | test_invalid_credentials passes |
38
+ | Session expires after 24h | PASS | test_session_expiry passes |
39
+ ```
40
+
41
+ ### 3. Identify Gaps
42
+
43
+ If ANY criterion is not met:
44
+ - Document the gap clearly
45
+ - Determine if it's a bug in implementation or missing test
46
+ - Output: `<signal>CRITERIA_NOT_MET</signal>` to trigger retry
47
+
48
+ ### 4. Verify Build and Tests
49
+
50
+ Ensure:
51
+ ```bash
52
+ npm run build # Must pass
53
+ npm test # Must pass
54
+ ```
55
+
56
+ ### 5. Signal Completion
57
+
58
+ When ALL criteria are verified:
59
+ 1. Update status file with evaluation results
60
+ 2. Output: `<signal>EVALUATION_COMPLETE</signal>`
61
+
62
+ ## Evaluation Report Template
63
+
64
+ Create or update evaluation notes in the status file:
65
+
66
+ ```markdown
67
+ ## Evaluation Report
68
+
69
+ **Evaluator**: Ralph-SPIDER Verifier
70
+ **Date**: {date}
71
+ **Phase**: {phase-name}
72
+
73
+ ### Acceptance Criteria Status
74
+
75
+ | ID | Criterion | Status | Evidence |
76
+ |----|-----------|--------|----------|
77
+ | AC1 | ... | PASS/FAIL | ... |
78
+
79
+ ### Test Coverage
80
+
81
+ - Unit tests: X passing
82
+ - Integration tests: X passing
83
+ - Coverage: X%
84
+
85
+ ### Build Status
86
+
87
+ - Build: PASS
88
+ - Lint: PASS
89
+ - Type check: PASS
90
+
91
+ ### Decision
92
+
93
+ [ ] PASS - Ready for next phase/review
94
+ [ ] FAIL - Needs rework (see gaps below)
95
+
96
+ ### Gaps (if any)
97
+
98
+ 1. Gap description...
99
+ ```
100
+
101
+ ## Quality Checklist
102
+
103
+ Before signaling completion:
104
+ - [ ] Every acceptance criterion has been verified
105
+ - [ ] All tests pass
106
+ - [ ] Build passes
107
+ - [ ] No TODO comments left in code
108
+ - [ ] No debug/console.log statements
109
+ - [ ] Code follows project conventions
110
+
111
+ ## Decision Logic
112
+
113
+ ```
114
+ IF all_criteria_met AND all_tests_pass AND build_passes:
115
+ IF more_phases_remaining:
116
+ → Update status to implement.phase_N+1
117
+ → Signal NEXT_PHASE
118
+ ELSE:
119
+ → Update status to review
120
+ → Signal EVALUATION_COMPLETE
121
+ ELSE:
122
+ → Document gaps
123
+ → Signal CRITERIA_NOT_MET
124
+ ```
125
+
126
+ ## Constraints
127
+
128
+ - **Objective evaluation** - Don't rationalize failures
129
+ - **Evidence-based** - Every PASS needs evidence
130
+ - **No new code** - If code is needed, go back to Implement
131
+ - **No new tests** - If tests are needed, go back to Defend
132
+ - **Fresh context** - Re-read spec each iteration
@@ -0,0 +1,59 @@
1
+ # Fix Phase Prompt (BUGFIX)
2
+
3
+ You are in the Fix phase of BUGFIX protocol.
4
+
5
+ ## Your Mission
6
+
7
+ Apply the fix for the diagnosed bug. Keep changes minimal and focused.
8
+
9
+ ## Input Context
10
+
11
+ 1. `codev/status/{project-id}-*.md` - Diagnosis results
12
+ 2. GitHub issue for context
13
+
14
+ ## Workflow
15
+
16
+ ### 1. Review Diagnosis
17
+
18
+ From status file, confirm:
19
+ - Root cause is identified
20
+ - Affected files are listed
21
+ - Proposed fix is documented
22
+
23
+ ### 2. Implement Fix
24
+
25
+ Apply the minimal fix:
26
+ 1. Change ONLY what's necessary
27
+ 2. Follow existing code patterns
28
+ 3. Add comments explaining non-obvious changes
29
+
30
+ ### 3. Verify Fix Compiles
31
+
32
+ ```bash
33
+ npm run build
34
+ ```
35
+
36
+ If build fails:
37
+ - Fix build errors
38
+ - Output: `<signal>FIX_FAILED</signal>` if can't resolve
39
+
40
+ ### 4. Commit Fix
41
+
42
+ ```bash
43
+ git add <files>
44
+ git commit -m "fix: {brief description}
45
+
46
+ Fixes #{issue-number}"
47
+ ```
48
+
49
+ ### 5. Signal Completion
50
+
51
+ When fix is applied and builds:
52
+ - Output: `<signal>FIX_APPLIED</signal>`
53
+
54
+ ## Constraints
55
+
56
+ - **Minimal changes only** - fix the bug, nothing else
57
+ - DO NOT refactor surrounding code
58
+ - DO NOT add unrelated improvements
59
+ - Keep the diff small and focused