@cluesmith/codev 2.0.11 → 2.0.13

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 (49) hide show
  1. package/dashboard/dist/assets/{index-B4PL4V8p.js → index-8O8nCk_X.js} +11 -11
  2. package/dashboard/dist/assets/index-8O8nCk_X.js.map +1 -0
  3. package/dashboard/dist/assets/{index-Cx2BNcx0.css → index-DCQyWOPv.css} +1 -1
  4. package/dashboard/dist/index.html +3 -3
  5. package/dist/agent-farm/commands/open.d.ts.map +1 -1
  6. package/dist/agent-farm/commands/open.js +12 -3
  7. package/dist/agent-farm/commands/open.js.map +1 -1
  8. package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
  9. package/dist/agent-farm/servers/tower-routes.js +11 -2
  10. package/dist/agent-farm/servers/tower-routes.js.map +1 -1
  11. package/dist/agent-farm/utils/config.d.ts +4 -0
  12. package/dist/agent-farm/utils/config.d.ts.map +1 -1
  13. package/dist/agent-farm/utils/config.js +1 -1
  14. package/dist/agent-farm/utils/config.js.map +1 -1
  15. package/dist/commands/consult/index.d.ts.map +1 -1
  16. package/dist/commands/consult/index.js +22 -2
  17. package/dist/commands/consult/index.js.map +1 -1
  18. package/dist/commands/porch/index.d.ts.map +1 -1
  19. package/dist/commands/porch/index.js +20 -10
  20. package/dist/commands/porch/index.js.map +1 -1
  21. package/package.json +1 -1
  22. package/skeleton/porch/prompts/defend.md +5 -0
  23. package/skeleton/porch/prompts/implement.md +9 -0
  24. package/skeleton/protocols/aspir/builder-prompt.md +75 -0
  25. package/skeleton/protocols/aspir/consult-types/impl-review.md +72 -0
  26. package/skeleton/protocols/aspir/consult-types/phase-review.md +72 -0
  27. package/skeleton/protocols/aspir/consult-types/plan-review.md +59 -0
  28. package/skeleton/protocols/aspir/consult-types/pr-review.md +72 -0
  29. package/skeleton/protocols/aspir/consult-types/spec-review.md +55 -0
  30. package/skeleton/protocols/aspir/prompts/implement.md +215 -0
  31. package/skeleton/protocols/aspir/prompts/plan.md +150 -0
  32. package/skeleton/protocols/aspir/prompts/review.md +259 -0
  33. package/skeleton/protocols/aspir/prompts/specify.md +139 -0
  34. package/skeleton/protocols/aspir/protocol.json +161 -0
  35. package/skeleton/protocols/aspir/protocol.md +94 -0
  36. package/skeleton/protocols/aspir/templates/plan.md +204 -0
  37. package/skeleton/protocols/aspir/templates/review.md +120 -0
  38. package/skeleton/protocols/aspir/templates/spec.md +182 -0
  39. package/skeleton/protocols/bugfix/builder-prompt.md +9 -0
  40. package/skeleton/protocols/experiment/builder-prompt.md +9 -0
  41. package/skeleton/protocols/maintain/builder-prompt.md +9 -0
  42. package/skeleton/protocols/spir/builder-prompt.md +9 -0
  43. package/skeleton/protocols/spir/prompts/implement.md +7 -0
  44. package/skeleton/protocols/spir/prompts/review.md +5 -0
  45. package/skeleton/protocols/tick/builder-prompt.md +9 -0
  46. package/skeleton/templates/AGENTS.md +1 -0
  47. package/skeleton/templates/CLAUDE.md +1 -0
  48. package/templates/tower.html +4 -27
  49. package/dashboard/dist/assets/index-B4PL4V8p.js.map +0 -1
@@ -0,0 +1,204 @@
1
+ # Plan: [Title]
2
+
3
+ ## Metadata
4
+ - **ID**: plan-[YYYY-MM-DD]-[short-name]
5
+ - **Status**: draft
6
+ - **Specification**: [Link to codev/specs/spec-file.md]
7
+ - **Created**: [YYYY-MM-DD]
8
+
9
+ ## Executive Summary
10
+ [Brief overview of the implementation approach chosen and why. Reference the specification's selected approach.]
11
+
12
+ ## Success Metrics
13
+ [Copy from specification and add implementation-specific metrics]
14
+ - [ ] All specification criteria met
15
+ - [ ] Test coverage >90%
16
+ - [ ] Performance benchmarks achieved
17
+ - [ ] Zero critical security issues
18
+ - [ ] Documentation complete
19
+
20
+ ## Phases (Machine Readable)
21
+
22
+ <!-- REQUIRED: porch uses this JSON to track phase progress. Update this when adding/removing phases. -->
23
+
24
+ ```json
25
+ {
26
+ "phases": [
27
+ {"id": "phase_1", "title": "Phase 1 Title Here"},
28
+ {"id": "phase_2", "title": "Phase 2 Title Here"},
29
+ {"id": "phase_3", "title": "Phase 3 Title Here"}
30
+ ]
31
+ }
32
+ ```
33
+
34
+ ## Phase Breakdown
35
+
36
+ ### Phase 1: [Descriptive Name]
37
+ **Dependencies**: None
38
+
39
+ #### Objectives
40
+ - [Clear, single objective for this phase]
41
+ - [What value does this phase deliver?]
42
+
43
+ #### Deliverables
44
+ - [ ] [Specific deliverable 1]
45
+ - [ ] [Specific deliverable 2]
46
+ - [ ] [Tests for this phase]
47
+ - [ ] [Documentation updates]
48
+
49
+ #### Implementation Details
50
+ [Specific technical approach for this phase. Include:
51
+ - Key files/modules to create or modify
52
+ - Architectural decisions
53
+ - API contracts
54
+ - Data models]
55
+
56
+ #### Acceptance Criteria
57
+ - [ ] [Testable criterion 1]
58
+ - [ ] [Testable criterion 2]
59
+ - [ ] All tests pass
60
+ - [ ] Code review completed
61
+
62
+ #### Test Plan
63
+ - **Unit Tests**: [What to test]
64
+ - **Integration Tests**: [What to test]
65
+ - **Manual Testing**: [Scenarios to verify]
66
+
67
+ #### Rollback Strategy
68
+ [How to revert this phase if issues arise]
69
+
70
+ #### Risks
71
+ - **Risk**: [Specific risk for this phase]
72
+ - **Mitigation**: [How to address]
73
+
74
+ ---
75
+
76
+ ### Phase 2: [Descriptive Name]
77
+ **Dependencies**: Phase 1
78
+
79
+ [Repeat structure for each phase]
80
+
81
+ ---
82
+
83
+ ### Phase 3: [Descriptive Name]
84
+ **Dependencies**: Phase 2
85
+
86
+ [Continue for all phases]
87
+
88
+ ## Dependency Map
89
+ ```
90
+ Phase 1 ──→ Phase 2 ──→ Phase 3
91
+
92
+ Phase 4 (optional)
93
+ ```
94
+
95
+ ## Resource Requirements
96
+ ### Development Resources
97
+ - **Engineers**: [Expertise needed]
98
+ - **Environment**: [Dev/staging requirements]
99
+
100
+ ### Infrastructure
101
+ - [Database changes]
102
+ - [New services]
103
+ - [Configuration updates]
104
+ - [Monitoring additions]
105
+
106
+ ## Integration Points
107
+ ### External Systems
108
+ - **System**: [Name]
109
+ - **Integration Type**: [API/Database/Message Queue]
110
+ - **Phase**: [Which phase needs this]
111
+ - **Fallback**: [What if unavailable]
112
+
113
+ ### Internal Systems
114
+ [Repeat structure]
115
+
116
+ ## Risk Analysis
117
+ ### Technical Risks
118
+ | Risk | Probability | Impact | Mitigation | Owner |
119
+ |------|------------|--------|------------|-------|
120
+ | [Risk 1] | L/M/H | L/M/H | [Strategy] | [Name] |
121
+
122
+ ### Schedule Risks
123
+ | Risk | Probability | Impact | Mitigation | Owner |
124
+ |------|------------|--------|------------|-------|
125
+ | [Risk 1] | L/M/H | L/M/H | [Strategy] | [Name] |
126
+
127
+ ## Validation Checkpoints
128
+ 1. **After Phase 1**: [What to validate]
129
+ 2. **After Phase 2**: [What to validate]
130
+ 3. **Before Production**: [Final checks]
131
+
132
+ ## Monitoring and Observability
133
+ ### Metrics to Track
134
+ - [Metric 1: Description and threshold]
135
+ - [Metric 2: Description and threshold]
136
+
137
+ ### Logging Requirements
138
+ - [What to log and at what level]
139
+ - [Retention requirements]
140
+
141
+ ### Alerting
142
+ - [Alert condition and severity]
143
+ - [Who to notify]
144
+
145
+ ## Documentation Updates Required
146
+ - [ ] API documentation
147
+ - [ ] Architecture diagrams
148
+ - [ ] Runbooks
149
+ - [ ] User guides
150
+ - [ ] Configuration guides
151
+
152
+ ## Post-Implementation Tasks
153
+ - [ ] Performance validation
154
+ - [ ] Security audit
155
+ - [ ] Load testing
156
+ - [ ] User acceptance testing
157
+ - [ ] Monitoring validation
158
+
159
+ ## Expert Review
160
+ **Date**: [YYYY-MM-DD]
161
+ **Model**: [Model consulted]
162
+ **Key Feedback**:
163
+ - [Feasibility assessment]
164
+ - [Missing considerations]
165
+ - [Risk identification]
166
+ - [Alternative suggestions]
167
+
168
+ **Plan Adjustments**:
169
+ - [How the plan was modified based on feedback]
170
+
171
+ ## Approval
172
+ - [ ] Technical Lead Review
173
+ - [ ] Engineering Manager Approval
174
+ - [ ] Resource Allocation Confirmed
175
+ - [ ] Expert AI Consultation Complete
176
+
177
+ ## Change Log
178
+ | Date | Change | Reason | Author |
179
+ |------|--------|--------|--------|
180
+ | [Date] | [What changed] | [Why] | [Who] |
181
+
182
+ ## Notes
183
+ [Additional context, assumptions, or considerations]
184
+
185
+ ---
186
+
187
+ ## Amendment History
188
+
189
+ This section tracks all TICK amendments to this plan. TICKs modify both the spec and plan together as an atomic unit.
190
+
191
+ <!-- When adding a TICK amendment, add a new entry below this line in chronological order -->
192
+
193
+ <!--
194
+ ### TICK-001: [Amendment Title] (YYYY-MM-DD)
195
+
196
+ **Changes**:
197
+ - [Phase added]: [Description of new phase]
198
+ - [Phase modified]: [What was updated]
199
+ - [Implementation steps]: [New steps added]
200
+
201
+ **Review**: See `reviews/####-name-tick-001.md`
202
+
203
+ ---
204
+ -->
@@ -0,0 +1,120 @@
1
+ # Review: [Feature/Project Name]
2
+
3
+ ## Summary
4
+
5
+ [1-3 sentences: what was built, how many phases, net outcome.]
6
+
7
+ ## Spec Compliance
8
+
9
+ - [x] AC1: [Description] (Phase N)
10
+ - [x] AC2: [Description] (Phase N)
11
+ - [ ] ACn: [Not met — reason]
12
+
13
+ ## Deviations from Plan
14
+
15
+ - **Phase N**: [What changed and why]
16
+
17
+ ## Key Metrics
18
+
19
+ - **Commits**: [N] on the branch
20
+ - **Tests**: [N] passing ([N] existing + [N] new)
21
+ - **Files created**: [list]
22
+ - **Files deleted**: [list]
23
+ - **Net LOC impact**: [+/-N lines]
24
+
25
+ ## Timelog
26
+
27
+ All times [timezone], [date range].
28
+
29
+ | Time | Event |
30
+ |------|-------|
31
+ | HH:MM | First commit: [description] |
32
+ | HH:MM | [Phase/milestone] |
33
+ | — | **GATE: [gate-name]** (human approval required) |
34
+ | HH:MM | Implementation begins |
35
+ | HH:MM | Phase N complete after N iterations |
36
+ | HH:MM | **GATE: pr** |
37
+
38
+ ### Autonomous Operation
39
+
40
+ | Period | Duration | Activity |
41
+ |--------|----------|----------|
42
+ | Spec + Plan | ~Nm | [Summary] |
43
+ | Human gate wait | ~Nh Nm | Idle — waiting for approval |
44
+ | Implementation → PR | ~Nh Nm | N phases, N consultation rounds |
45
+
46
+ **Total wall clock** (first commit to pr): **Xh Ym**
47
+ **Total autonomous work time** (excluding gate waits): **~Xh Ym**
48
+ **Context window resets**: [N] (resumed automatically / required manual restart)
49
+
50
+ ## Consultation Iteration Summary
51
+
52
+ [N] consultation files produced ([N] rounds x [N] models). [N] APPROVE, [N] REQUEST_CHANGES, [N] COMMENT.
53
+
54
+ | Phase | Iters | Who Blocked | What They Caught |
55
+ |-------|-------|-------------|------------------|
56
+ | Specify | N | [Model] | [Brief description] |
57
+ | Plan | N | [Model] | [Brief description] |
58
+ | Phase 1 | N | [Model] | [Brief description] |
59
+ | Phase N | N | [Model] | [Brief description] |
60
+ | Review | N | [Model] | [Brief description] |
61
+
62
+ **Most frequent blocker**: [Model] — blocked in N of N rounds, focused on: [pattern].
63
+
64
+ ### Avoidable Iterations
65
+
66
+ Iterations that could have been prevented with better builder behavior:
67
+
68
+ 1. **[Pattern]**: [Specific thing the builder should have done without needing reviewer feedback. E.g., "Run exhaustive grep before claiming all instances fixed."]
69
+
70
+ 2. **[Pattern]**: [Another avoidable iteration pattern.]
71
+
72
+ ## Consultation Feedback
73
+
74
+ [For each phase that had consultation, summarize every reviewer's concerns and how the builder responded. Use **Addressed** (fixed), **Rebutted** (disagreed with reasoning), or **N/A** (out of scope/moot) for each concern. If all reviewers approved with no concerns: "No concerns raised — all consultations approved."]
75
+
76
+ ### [Phase] Phase (Round N)
77
+
78
+ #### Gemini
79
+ - **Concern**: [Summary of concern]
80
+ - **Addressed**: [What was changed]
81
+
82
+ #### Codex
83
+ - **Concern**: [Summary of concern]
84
+ - **Rebutted**: [Why current approach is correct]
85
+
86
+ #### Claude
87
+ - No concerns raised (APPROVE)
88
+
89
+ ## Lessons Learned
90
+
91
+ ### What Went Well
92
+ - [Specific positive observation — what worked and why]
93
+
94
+ ### Challenges Encountered
95
+ - **[Challenge]**: [How it was resolved. How many iterations it cost.]
96
+
97
+ ### What Would Be Done Differently
98
+ - [Actionable improvement for future builders]
99
+
100
+ ## Architecture Updates
101
+
102
+ [What was added/changed in `codev/resources/arch.md`, or why no changes were needed.]
103
+
104
+ - Updated: [section name] — [what was added/changed]
105
+ - Or: "No architecture updates needed — [brief reason]"
106
+
107
+ ## Lessons Learned Updates
108
+
109
+ [What was added/changed in `codev/resources/lessons-learned.md`, or why no changes were needed.]
110
+
111
+ - Added: [category] — [lesson summary]
112
+ - Or: "No lessons learned updates needed — [brief reason]"
113
+
114
+ ## Technical Debt
115
+
116
+ - [Any shortcuts taken or inconsistencies introduced]
117
+
118
+ ## Follow-up Items
119
+
120
+ - [Items identified for future work, outside this spec's scope]
@@ -0,0 +1,182 @@
1
+ # Specification: [Title]
2
+
3
+ <!--
4
+ SPEC vs PLAN BOUNDARY:
5
+ This spec defines WHAT and WHY. The plan defines HOW and WHEN.
6
+
7
+ DO NOT include in this spec:
8
+ - Implementation phases or steps
9
+ - File paths to modify
10
+ - Code examples or pseudocode
11
+ - "First we will... then we will..."
12
+
13
+ These belong in codev/plans/XXXX-*.md
14
+ -->
15
+
16
+ ## Metadata
17
+ - **ID**: spec-[YYYY-MM-DD]-[short-name]
18
+ - **Status**: draft
19
+ - **Created**: [YYYY-MM-DD]
20
+
21
+ ## Clarifying Questions Asked
22
+ <!-- Document the questions you asked the user/stakeholder and their answers -->
23
+ [List the questions you asked to understand the problem better and the responses received. This shows the discovery process.]
24
+
25
+ ## Problem Statement
26
+ [Clearly articulate the problem being solved. Include context about why this is important, who is affected, and what the current pain points are.]
27
+
28
+ ## Current State
29
+ [Describe how things work today. What are the limitations? What workarounds exist? Include specific examples.]
30
+
31
+ ## Desired State
32
+ [Describe the ideal solution. How should things work after implementation? What specific improvements will users see?]
33
+
34
+ ## Stakeholders
35
+ - **Primary Users**: [Who will directly use this feature?]
36
+ - **Secondary Users**: [Who else is affected?]
37
+ - **Technical Team**: [Who will implement and maintain this?]
38
+ - **Business Owners**: [Who has decision authority?]
39
+
40
+ ## Success Criteria
41
+ - [ ] [Specific, measurable criterion 1]
42
+ - [ ] [Specific, measurable criterion 2]
43
+ - [ ] [Specific, measurable criterion 3]
44
+ - [ ] All tests pass with >90% coverage
45
+ - [ ] Performance benchmarks met (specify below)
46
+ - [ ] Documentation updated
47
+
48
+ ## Constraints
49
+ ### Technical Constraints
50
+ - [Existing system limitations]
51
+ - [Technology stack requirements]
52
+ - [Integration points]
53
+
54
+ ### Business Constraints
55
+ - [Timeline requirements]
56
+ - [Budget considerations]
57
+ - [Compliance requirements]
58
+
59
+ ## Assumptions
60
+ - [List assumptions being made]
61
+ - [Include dependencies on other work]
62
+ - [Note any prerequisites]
63
+
64
+ ## Solution Approaches
65
+
66
+ ### Approach 1: [Name]
67
+ **Description**: [Brief overview of this approach]
68
+
69
+ **Pros**:
70
+ - [Advantage 1]
71
+ - [Advantage 2]
72
+
73
+ **Cons**:
74
+ - [Disadvantage 1]
75
+ - [Disadvantage 2]
76
+
77
+ **Estimated Complexity**: [Low/Medium/High]
78
+ **Risk Level**: [Low/Medium/High]
79
+
80
+ ### Approach 2: [Name]
81
+ [Repeat structure for additional approaches]
82
+
83
+ [Add as many approaches as appropriate for the problem]
84
+
85
+ ## Open Questions
86
+
87
+ ### Critical (Blocks Progress)
88
+ - [ ] [Question that must be answered before proceeding]
89
+
90
+ ### Important (Affects Design)
91
+ - [ ] [Question that influences technical decisions]
92
+
93
+ ### Nice-to-Know (Optimization)
94
+ - [ ] [Question that could improve the solution]
95
+
96
+ ## Performance Requirements
97
+ - **Response Time**: [e.g., <200ms p95]
98
+ - **Throughput**: [e.g., 1000 requests/second]
99
+ - **Resource Usage**: [e.g., <500MB memory]
100
+ - **Availability**: [e.g., 99.9% uptime]
101
+
102
+ ## Security Considerations
103
+ - [Authentication requirements]
104
+ - [Authorization model]
105
+ - [Data privacy concerns]
106
+ - [Audit requirements]
107
+
108
+ ## Test Scenarios
109
+ ### Functional Tests
110
+ 1. [Scenario 1: Happy path]
111
+ 2. [Scenario 2: Edge case]
112
+ 3. [Scenario 3: Error condition]
113
+
114
+ ### Non-Functional Tests
115
+ 1. [Performance test scenario]
116
+ 2. [Security test scenario]
117
+ 3. [Load test scenario]
118
+
119
+ ## Dependencies
120
+ - **External Services**: [List any external APIs or services]
121
+ - **Internal Systems**: [List internal dependencies]
122
+ - **Libraries/Frameworks**: [List required libraries]
123
+
124
+ ## References
125
+ - [Link to relevant documentation in codev/ref/]
126
+ - [Link to related specifications]
127
+ - [Link to architectural diagrams]
128
+ - [Link to research materials]
129
+
130
+ ## Risks and Mitigation
131
+ | Risk | Probability | Impact | Mitigation Strategy |
132
+ |------|------------|--------|-------------------|
133
+ | [Risk 1] | Low/Med/High | Low/Med/High | [How to address] |
134
+ | [Risk 2] | Low/Med/High | Low/Med/High | [How to address] |
135
+
136
+ ## Expert Consultation
137
+ <!-- Only if user requested multi-agent consultation -->
138
+ **Date**: [YYYY-MM-DD]
139
+ **Models Consulted**: [e.g., GPT-5 and Gemini Pro]
140
+ **Sections Updated**:
141
+ - [Section name]: [Brief description of change based on consultation]
142
+ - [Section name]: [Brief description of change based on consultation]
143
+
144
+ Note: All consultation feedback has been incorporated directly into the relevant sections above.
145
+
146
+ ## Approval
147
+ - [ ] Technical Lead Review
148
+ - [ ] Product Owner Review
149
+ - [ ] Stakeholder Sign-off
150
+ - [ ] Expert AI Consultation Complete
151
+
152
+ ## Notes
153
+ [Any additional context or considerations not covered above]
154
+
155
+ ---
156
+
157
+ ## Amendments
158
+
159
+ This section tracks all TICK amendments to this specification. TICKs are lightweight changes that refine an existing spec rather than creating a new one.
160
+
161
+ <!-- When adding a TICK amendment, add a new entry below this line in chronological order -->
162
+
163
+ <!--
164
+ ### TICK-001: [Amendment Title] (YYYY-MM-DD)
165
+
166
+ **Summary**: [One-line description of what changed]
167
+
168
+ **Problem Addressed**:
169
+ [Why this amendment was needed - what gap or issue in the original spec]
170
+
171
+ **Spec Changes**:
172
+ - [Section modified]: [What changed and why]
173
+ - [New section added]: [Purpose]
174
+
175
+ **Plan Changes**:
176
+ - [Phase added/modified]: [Description]
177
+ - [Implementation steps]: [What was updated]
178
+
179
+ **Review**: See `reviews/####-name-tick-001.md`
180
+
181
+ ---
182
+ -->
@@ -54,6 +54,15 @@ Always use `af send architect "..."` to notify the architect at key moments:
54
54
  - **Blocked**: `af send architect "Blocked on issue #{{issue.number}}: [reason]"`
55
55
  {{/if}}
56
56
 
57
+ ## Handling Flaky Tests
58
+
59
+ If you encounter **pre-existing flaky tests** (intermittent failures unrelated to your changes):
60
+ 1. **DO NOT** edit `status.yaml` to bypass checks
61
+ 2. **DO NOT** skip porch checks or use any workaround to avoid the failure
62
+ 3. **DO** mark the test as skipped with a clear annotation (e.g., `it.skip('...') // FLAKY: skipped pending investigation`)
63
+ 4. **DO** document each skipped flaky test in your review under a `## Flaky Tests` section
64
+ 5. Commit the skip and continue with your work
65
+
57
66
  ## Getting Started
58
67
  1. Read the BUGFIX protocol
59
68
  2. Review the issue details
@@ -46,6 +46,15 @@ The EXPERIMENT protocol ensures disciplined experimentation:
46
46
  - Document findings regardless of outcome
47
47
  - Separate experiment artifacts from production code
48
48
 
49
+ ## Handling Flaky Tests
50
+
51
+ If you encounter **pre-existing flaky tests** (intermittent failures unrelated to your changes):
52
+ 1. **DO NOT** edit `status.yaml` to bypass checks
53
+ 2. **DO NOT** skip porch checks or use any workaround to avoid the failure
54
+ 3. **DO** mark the test as skipped with a clear annotation (e.g., `it.skip('...') // FLAKY: skipped pending investigation`)
55
+ 4. **DO** document each skipped flaky test in your review under a `## Flaky Tests` section
56
+ 5. Commit the skip and continue with your work
57
+
49
58
  ## Getting Started
50
59
  1. Read the EXPERIMENT protocol document
51
60
  2. Define your hypothesis clearly
@@ -40,6 +40,15 @@ The MAINTAIN protocol handles codebase hygiene:
40
40
  - Update documentation to match current architecture
41
41
  - Don't remove anything actively used
42
42
 
43
+ ## Handling Flaky Tests
44
+
45
+ If you encounter **pre-existing flaky tests** (intermittent failures unrelated to your changes):
46
+ 1. **DO NOT** edit `status.yaml` to bypass checks
47
+ 2. **DO NOT** skip porch checks or use any workaround to avoid the failure
48
+ 3. **DO** mark the test as skipped with a clear annotation (e.g., `it.skip('...') // FLAKY: skipped pending investigation`)
49
+ 4. **DO** document each skipped flaky test in your review under a `## Flaky Tests` section
50
+ 5. Commit the skip and continue with your work
51
+
43
52
  ## Getting Started
44
53
  1. Read the MAINTAIN protocol document
45
54
  2. Start with the Audit phase
@@ -60,6 +60,15 @@ Always use `af send architect "..."` to notify the architect at key moments:
60
60
  - **PR merged**: `af send architect "Project {{project_id}} complete. PR merged. Ready for cleanup."`
61
61
  - **Blocked**: `af send architect "Blocked on project {{project_id}}: [reason]"`
62
62
 
63
+ ## Handling Flaky Tests
64
+
65
+ If you encounter **pre-existing flaky tests** (intermittent failures unrelated to your changes):
66
+ 1. **DO NOT** edit `status.yaml` to bypass checks
67
+ 2. **DO NOT** skip porch checks or use any workaround to avoid the failure
68
+ 3. **DO** mark the test as skipped with a clear annotation (e.g., `it.skip('...') // FLAKY: skipped pending investigation`)
69
+ 4. **DO** document each skipped flaky test in your review under a `## Flaky Tests` section
70
+ 5. Commit the skip and continue with your work
71
+
63
72
  ## Getting Started
64
73
  1. Read the protocol document thoroughly
65
74
  2. Review the spec and plan (if available)
@@ -206,3 +206,10 @@ Signal `BLOCKED` with details about what's missing.
206
206
 
207
207
  **If build or tests fail and you can't fix it**:
208
208
  Signal `BLOCKED` with the error message.
209
+
210
+ **If you encounter pre-existing flaky tests** (tests that fail intermittently but are unrelated to your changes):
211
+ 1. **DO NOT** edit `status.yaml` to bypass checks
212
+ 2. **DO NOT** skip porch checks or use workarounds to avoid the failure
213
+ 3. **DO** mark the flaky test as skipped with a clear annotation (e.g., `it.skip('...') // FLAKY: intermittent timeout, skipped pending investigation`)
214
+ 4. **DO** document each skipped flaky test in your review under a `## Flaky Tests` section so the team can follow up
215
+ 5. Commit the skip and continue with your work
@@ -98,6 +98,11 @@ Brief description of what was implemented.
98
98
 
99
99
  [See instructions below]
100
100
 
101
+ ## Flaky Tests
102
+ - [Any pre-existing tests that were skipped as flaky during this project]
103
+ - [Include test name, file path, and observed failure mode]
104
+ - [If none: "No flaky tests encountered"]
105
+
101
106
  ## Follow-up Items
102
107
  - [Any items identified for future work]
103
108
  ```
@@ -50,6 +50,15 @@ The plan to amend is at: `{{plan.path}}`
50
50
  {{task_text}}
51
51
  {{/if}}
52
52
 
53
+ ## Handling Flaky Tests
54
+
55
+ If you encounter **pre-existing flaky tests** (intermittent failures unrelated to your changes):
56
+ 1. **DO NOT** edit `status.yaml` to bypass checks
57
+ 2. **DO NOT** skip porch checks or use any workaround to avoid the failure
58
+ 3. **DO** mark the test as skipped with a clear annotation (e.g., `it.skip('...') // FLAKY: skipped pending investigation`)
59
+ 4. **DO** document each skipped flaky test in your review under a `## Flaky Tests` section
60
+ 5. Commit the skip and continue with your work
61
+
53
62
  ## Getting Started
54
63
  1. Read the TICK protocol thoroughly
55
64
  2. Identify what needs to change in the existing spec
@@ -9,6 +9,7 @@ This project uses **Codev** for AI-assisted development.
9
9
  ## Available Protocols
10
10
 
11
11
  - **SPIR**: Multi-phase development with consultation (`codev/protocols/spir/protocol.md`)
12
+ - **ASPIR**: Autonomous SPIR — no human gates on spec/plan (`codev/protocols/aspir/protocol.md`)
12
13
  - **TICK**: Fast autonomous implementation (`codev/protocols/tick/protocol.md`)
13
14
  - **EXPERIMENT**: Disciplined experimentation (`codev/protocols/experiment/protocol.md`)
14
15
  - **MAINTAIN**: Codebase maintenance (`codev/protocols/maintain/protocol.md`)
@@ -7,6 +7,7 @@ This project uses **Codev** for AI-assisted development.
7
7
  ## Available Protocols
8
8
 
9
9
  - **SPIR**: Multi-phase development with consultation (`codev/protocols/spir/protocol.md`)
10
+ - **ASPIR**: Autonomous SPIR — no human gates on spec/plan (`codev/protocols/aspir/protocol.md`)
10
11
  - **TICK**: Fast autonomous implementation (`codev/protocols/tick/protocol.md`)
11
12
  - **EXPERIMENT**: Disciplined experimentation (`codev/protocols/experiment/protocol.md`)
12
13
  - **MAINTAIN**: Codebase maintenance (`codev/protocols/maintain/protocol.md`)
@@ -1460,36 +1460,13 @@
1460
1460
  }
1461
1461
  }
1462
1462
 
1463
- // Restart a workspace
1463
+ // Restart a workspace dashboard (refresh UI state without touching terminals)
1464
1464
  async function restartInstance(workspacePath) {
1465
1465
  try {
1466
- // First stop
1467
- await authFetch('./api/stop', {
1468
- method: 'POST',
1469
- headers: { 'Content-Type': 'application/json' },
1470
- body: JSON.stringify({ workspacePath })
1471
- });
1472
-
1473
- // Wait a moment for processes to die
1474
- await new Promise(r => setTimeout(r, 1000));
1475
-
1476
- // Then start
1477
- const response = await authFetch('./api/launch', {
1478
- method: 'POST',
1479
- headers: { 'Content-Type': 'application/json' },
1480
- body: JSON.stringify({ workspacePath })
1481
- });
1482
-
1483
- const result = await response.json();
1484
-
1485
- if (!result.success) {
1486
- throw new Error(result.error || 'Restart failed');
1487
- }
1488
-
1489
- showToast('Workspace restarting...', 'success');
1490
- setTimeout(refresh, 2000);
1466
+ showToast('Refreshing dashboard...', 'success');
1467
+ await refresh();
1491
1468
  } catch (err) {
1492
- showToast('Failed to restart: ' + err.message, 'error');
1469
+ showToast('Failed to refresh: ' + err.message, 'error');
1493
1470
  }
1494
1471
  }
1495
1472