@cluesmith/codev 2.0.10 → 2.0.11
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.
- package/dashboard/dist/assets/{index-CtErvyA8.js → index-B4PL4V8p.js} +31 -31
- package/dashboard/dist/assets/{index-CtErvyA8.js.map → index-B4PL4V8p.js.map} +1 -1
- package/dashboard/dist/index.html +1 -1
- package/package.json +2 -1
- package/skeleton/.claude/skills/af/SKILL.md +26 -0
- package/skeleton/porch/prompts/review.md +62 -0
- package/skeleton/protocols/spir/prompts/review.md +59 -3
- package/skeleton/protocols/spir/protocol.json +8 -0
- package/skeleton/protocols/spir/templates/review.md +31 -0
- package/skeleton/protocols/tick/templates/review.md +12 -13
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>🏗️</text></svg>">
|
|
7
7
|
<title>Agent Farm Dashboard</title>
|
|
8
|
-
<script type="module" crossorigin src="./assets/index-
|
|
8
|
+
<script type="module" crossorigin src="./assets/index-B4PL4V8p.js"></script>
|
|
9
9
|
<link rel="stylesheet" crossorigin href="./assets/index-Cx2BNcx0.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cluesmith/codev",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.11",
|
|
4
4
|
"description": "Codev CLI - AI-assisted software development framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"@types/node": "^22.10.1",
|
|
57
57
|
"@types/ws": "^8.18.1",
|
|
58
58
|
"@vitest/coverage-v8": "^4.0.18",
|
|
59
|
+
"jsdom": "^28.1.0",
|
|
59
60
|
"playwright": "^1.58.0",
|
|
60
61
|
"tsx": "^4.19.2",
|
|
61
62
|
"typescript": "^5.7.2",
|
|
@@ -51,6 +51,32 @@ session registered with the Tower (so it appears in the dashboard), and lets
|
|
|
51
51
|
porch pick up from whatever phase the builder was in. Works with all spawn
|
|
52
52
|
modes: positional issue number, `--task`, `--protocol`, `--worktree`.
|
|
53
53
|
|
|
54
|
+
## Cron (Scheduled Tasks)
|
|
55
|
+
|
|
56
|
+
Cron tasks are YAML files in `.af-cron/` at the project root. Tower loads them automatically.
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
af cron list # List all cron tasks
|
|
60
|
+
af cron status <name> # Check status of a specific task
|
|
61
|
+
af cron run <name> # Run a task immediately
|
|
62
|
+
af cron enable <name> # Enable a disabled task
|
|
63
|
+
af cron disable <name> # Disable a task
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
There is NO `af cron add` — create YAML files in `.af-cron/` directly. Example:
|
|
67
|
+
|
|
68
|
+
```yaml
|
|
69
|
+
# .af-cron/ci-health.yaml
|
|
70
|
+
name: CI Health Check
|
|
71
|
+
schedule: "*/30 * * * *"
|
|
72
|
+
enabled: true
|
|
73
|
+
command: gh run list --limit 5 --json status,conclusion --jq '...'
|
|
74
|
+
condition: "output != '0'"
|
|
75
|
+
message: "CI Alert: ${output} recent failure(s)"
|
|
76
|
+
target: architect
|
|
77
|
+
timeout: 30
|
|
78
|
+
```
|
|
79
|
+
|
|
54
80
|
## Utility
|
|
55
81
|
|
|
56
82
|
```bash
|
|
@@ -85,8 +85,70 @@ One paragraph summarizing what was built and why.
|
|
|
85
85
|
|
|
86
86
|
- Recommendation for future work
|
|
87
87
|
- Follow-up items (if any)
|
|
88
|
+
|
|
89
|
+
## Consultation Feedback
|
|
90
|
+
|
|
91
|
+
[See instructions below]
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 1b. Include Consultation Feedback
|
|
95
|
+
|
|
96
|
+
**IMPORTANT**: The review document MUST include a `## Consultation Feedback` section that summarizes all consultation concerns raised during every phase of the project and how the builder responded.
|
|
97
|
+
|
|
98
|
+
Read the consultation output files from the project directory (`codev/projects/{project-id}-*/`). For each phase that had consultation, create a subsection organized by phase, round, and model:
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
## Consultation Feedback
|
|
102
|
+
|
|
103
|
+
### Specify Phase (Round 1)
|
|
104
|
+
|
|
105
|
+
#### Gemini
|
|
106
|
+
- **Concern**: [Summary of the concern]
|
|
107
|
+
- **Addressed**: [What was changed to resolve it]
|
|
108
|
+
- **Concern**: [Another concern]
|
|
109
|
+
- **Rebutted**: [Why the current approach is correct]
|
|
110
|
+
|
|
111
|
+
#### Codex
|
|
112
|
+
- **Concern**: [Summary]
|
|
113
|
+
- **N/A**: [Why it's out of scope or already handled]
|
|
114
|
+
|
|
115
|
+
#### Claude
|
|
116
|
+
- No concerns raised (APPROVE)
|
|
117
|
+
|
|
118
|
+
### Plan Phase (Round 1)
|
|
119
|
+
...
|
|
120
|
+
|
|
121
|
+
### Implement Phase: [phase-name] (Round 1)
|
|
122
|
+
...
|
|
88
123
|
```
|
|
89
124
|
|
|
125
|
+
**Response types** — each concern gets exactly one:
|
|
126
|
+
- **Addressed**: Builder made a change to resolve the concern
|
|
127
|
+
- **Rebutted**: Builder explains why the concern doesn't apply
|
|
128
|
+
- **N/A**: Concern is out of scope, already handled elsewhere, or moot
|
|
129
|
+
|
|
130
|
+
**Edge cases**:
|
|
131
|
+
- If all reviewers approved with no concerns across all phases: write "No concerns raised — all consultations approved"
|
|
132
|
+
- For COMMENT verdicts: include their feedback (non-blocking but useful context)
|
|
133
|
+
- For CONSULT_ERROR (model failure): note "Consultation failed for [model]"
|
|
134
|
+
- If a phase had multiple rounds (REQUEST_CHANGES → fix → re-review), give each round its own subsection
|
|
135
|
+
|
|
136
|
+
### 1c. Update Architecture and Lessons Learned Documentation
|
|
137
|
+
|
|
138
|
+
**MANDATORY**: The review document MUST include `## Architecture Updates` and `## Lessons Learned Updates` sections. Porch will block advancement if these are missing.
|
|
139
|
+
|
|
140
|
+
**Architecture Updates** (`codev/resources/arch.md`):
|
|
141
|
+
1. Read the current `codev/resources/arch.md`
|
|
142
|
+
2. Determine if this project introduced architectural changes worth documenting (new subsystems, data flows, design decisions, invariants, file locations)
|
|
143
|
+
3. If yes: make the updates to arch.md and describe what you changed in the `## Architecture Updates` section of the review
|
|
144
|
+
4. If no: write "No architecture updates needed" in the section with a brief explanation (e.g., "This was a template-only change with no new subsystems or data flows")
|
|
145
|
+
|
|
146
|
+
**Lessons Learned Updates** (`codev/resources/lessons-learned.md`):
|
|
147
|
+
1. Read the current `codev/resources/lessons-learned.md`
|
|
148
|
+
2. Determine if this project produced generalizable lessons (patterns, anti-patterns, debugging insights, process improvements)
|
|
149
|
+
3. If yes: add entries to lessons-learned.md and describe what you added in the `## Lessons Learned Updates` section of the review
|
|
150
|
+
4. If no: write "No lessons learned updates needed" in the section with a brief explanation (e.g., "Straightforward implementation with no novel insights beyond existing entries")
|
|
151
|
+
|
|
90
152
|
### 2. Create Pull Request
|
|
91
153
|
|
|
92
154
|
```bash
|
|
@@ -94,16 +94,72 @@ Brief description of what was implemented.
|
|
|
94
94
|
## Technical Debt
|
|
95
95
|
- [Any shortcuts taken that should be addressed later]
|
|
96
96
|
|
|
97
|
+
## Consultation Feedback
|
|
98
|
+
|
|
99
|
+
[See instructions below]
|
|
100
|
+
|
|
97
101
|
## Follow-up Items
|
|
98
102
|
- [Any items identified for future work]
|
|
99
103
|
```
|
|
100
104
|
|
|
101
|
-
###
|
|
105
|
+
### 3b. Include Consultation Feedback
|
|
106
|
+
|
|
107
|
+
**IMPORTANT**: The review document MUST include a `## Consultation Feedback` section that summarizes all consultation concerns raised during every phase of the project and how the builder responded.
|
|
108
|
+
|
|
109
|
+
Read the consultation output files from the project directory (`codev/projects/{project-id}-*/`). For each phase that had consultation, create a subsection organized by phase, round, and model:
|
|
110
|
+
|
|
111
|
+
```markdown
|
|
112
|
+
## Consultation Feedback
|
|
113
|
+
|
|
114
|
+
### Specify Phase (Round 1)
|
|
115
|
+
|
|
116
|
+
#### Gemini
|
|
117
|
+
- **Concern**: [Summary of the concern]
|
|
118
|
+
- **Addressed**: [What was changed to resolve it]
|
|
119
|
+
|
|
120
|
+
#### Codex
|
|
121
|
+
- **Concern**: [Summary]
|
|
122
|
+
- **Rebutted**: [Why the current approach is correct]
|
|
123
|
+
|
|
124
|
+
#### Claude
|
|
125
|
+
- No concerns raised (APPROVE)
|
|
126
|
+
|
|
127
|
+
### Plan Phase (Round 1)
|
|
128
|
+
...
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Response types** — each concern gets exactly one:
|
|
132
|
+
- **Addressed**: Builder made a change to resolve the concern
|
|
133
|
+
- **Rebutted**: Builder explains why the concern doesn't apply
|
|
134
|
+
- **N/A**: Concern is out of scope, already handled elsewhere, or moot
|
|
135
|
+
|
|
136
|
+
**Edge cases**:
|
|
137
|
+
- If all reviewers approved with no concerns: "No concerns raised — all consultations approved"
|
|
138
|
+
- For COMMENT verdicts: include their feedback (non-blocking but useful context)
|
|
139
|
+
- For CONSULT_ERROR (model failure): note "Consultation failed for [model]"
|
|
140
|
+
- If a phase had multiple rounds, give each round its own subsection
|
|
141
|
+
|
|
142
|
+
### 4. Update Architecture and Lessons Learned Documentation
|
|
143
|
+
|
|
144
|
+
**MANDATORY**: The review document MUST include `## Architecture Updates` and `## Lessons Learned Updates` sections. Porch will block advancement if these are missing.
|
|
145
|
+
|
|
146
|
+
**Architecture Updates** (`codev/resources/arch.md`):
|
|
147
|
+
1. Read the current `codev/resources/arch.md`
|
|
148
|
+
2. Determine if this project introduced architectural changes worth documenting (new subsystems, data flows, design decisions, invariants, file locations)
|
|
149
|
+
3. If yes: make the updates to arch.md and describe what you changed in the `## Architecture Updates` section of the review
|
|
150
|
+
4. If no: write "No architecture updates needed" in the section with a brief explanation (e.g., "This was a template-only change with no new subsystems or data flows")
|
|
151
|
+
|
|
152
|
+
**Lessons Learned Updates** (`codev/resources/lessons-learned.md`):
|
|
153
|
+
1. Read the current `codev/resources/lessons-learned.md`
|
|
154
|
+
2. Determine if this project produced generalizable lessons (patterns, anti-patterns, debugging insights, process improvements)
|
|
155
|
+
3. If yes: add entries to lessons-learned.md and describe what you added in the `## Lessons Learned Updates` section of the review
|
|
156
|
+
4. If no: write "No lessons learned updates needed" in the section with a brief explanation (e.g., "Straightforward implementation with no novel insights beyond existing entries")
|
|
157
|
+
|
|
158
|
+
### 4b. Update Other Documentation
|
|
102
159
|
|
|
103
|
-
If needed, update:
|
|
160
|
+
If needed, also update:
|
|
104
161
|
- README.md (new features, changed behavior)
|
|
105
162
|
- API documentation
|
|
106
|
-
- Architecture documentation (`codev/resources/arch.md`)
|
|
107
163
|
|
|
108
164
|
### 5. Final Verification
|
|
109
165
|
|
|
@@ -120,6 +120,14 @@
|
|
|
120
120
|
"command": "gh pr list --head \"$(git branch --show-current)\" --json number --jq 'length' | grep -q '^[1-9]'",
|
|
121
121
|
"description": "PR must be created before signaling completion"
|
|
122
122
|
},
|
|
123
|
+
"review_has_arch_updates": {
|
|
124
|
+
"command": "grep -q '## Architecture Updates' codev/reviews/${PROJECT_TITLE}.md",
|
|
125
|
+
"description": "Review must include '## Architecture Updates' section (what changed in arch.md, or why no changes needed)"
|
|
126
|
+
},
|
|
127
|
+
"review_has_lessons_updates": {
|
|
128
|
+
"command": "grep -q '## Lessons Learned Updates' codev/reviews/${PROJECT_TITLE}.md",
|
|
129
|
+
"description": "Review must include '## Lessons Learned Updates' section (what changed in lessons-learned.md, or why no changes needed)"
|
|
130
|
+
},
|
|
123
131
|
"e2e_tests": {
|
|
124
132
|
"command": "npm run test:e2e 2>&1 || echo 'e2e tests skipped (not configured)'",
|
|
125
133
|
"description": "Full e2e test suite - only runs in review phase",
|
|
@@ -69,6 +69,23 @@ Iterations that could have been prevented with better builder behavior:
|
|
|
69
69
|
|
|
70
70
|
2. **[Pattern]**: [Another avoidable iteration pattern.]
|
|
71
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
|
+
|
|
72
89
|
## Lessons Learned
|
|
73
90
|
|
|
74
91
|
### What Went Well
|
|
@@ -80,6 +97,20 @@ Iterations that could have been prevented with better builder behavior:
|
|
|
80
97
|
### What Would Be Done Differently
|
|
81
98
|
- [Actionable improvement for future builders]
|
|
82
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
|
+
|
|
83
114
|
## Technical Debt
|
|
84
115
|
|
|
85
116
|
- [Any shortcuts taken or inconsistencies introduced]
|
|
@@ -57,23 +57,22 @@
|
|
|
57
57
|
- [Improvement area 1]
|
|
58
58
|
- [Improvement area 2]
|
|
59
59
|
|
|
60
|
-
##
|
|
60
|
+
## Consultation Feedback
|
|
61
61
|
|
|
62
|
-
**
|
|
63
|
-
**Date**: [YYYY-MM-DD]
|
|
62
|
+
[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."]
|
|
64
63
|
|
|
65
|
-
###
|
|
66
|
-
- [Feedback point 1 from consultation]
|
|
67
|
-
- [Feedback point 2 from consultation]
|
|
68
|
-
- [Feedback point 3 from consultation]
|
|
64
|
+
### [Phase] Phase (Round N)
|
|
69
65
|
|
|
70
|
-
|
|
71
|
-
- [
|
|
72
|
-
- [
|
|
66
|
+
#### Gemini
|
|
67
|
+
- **Concern**: [Summary of concern]
|
|
68
|
+
- **Addressed**: [What was changed]
|
|
73
69
|
|
|
74
|
-
|
|
75
|
-
- [
|
|
76
|
-
- [
|
|
70
|
+
#### Codex
|
|
71
|
+
- **Concern**: [Summary of concern]
|
|
72
|
+
- **Rebutted**: [Why current approach is correct]
|
|
73
|
+
|
|
74
|
+
#### Claude
|
|
75
|
+
- No concerns raised (APPROVE)
|
|
77
76
|
|
|
78
77
|
## TICK Protocol Feedback
|
|
79
78
|
- **Autonomous execution**: [Worked well / Issues encountered]
|