@cluesmith/codev 2.0.0-rc.57 → 2.0.0-rc.58
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-BEs2fHhy.js +131 -0
- package/dashboard/dist/assets/index-BEs2fHhy.js.map +1 -0
- package/dashboard/dist/index.html +1 -1
- package/dist/agent-farm/commands/attach.d.ts.map +1 -1
- package/dist/agent-farm/commands/attach.js +31 -8
- package/dist/agent-farm/commands/attach.js.map +1 -1
- package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn.js +37 -27
- package/dist/agent-farm/commands/spawn.js.map +1 -1
- package/dist/agent-farm/commands/start.d.ts.map +1 -1
- package/dist/agent-farm/commands/start.js +3 -226
- package/dist/agent-farm/commands/start.js.map +1 -1
- package/dist/agent-farm/commands/status.d.ts.map +1 -1
- package/dist/agent-farm/commands/status.js +5 -2
- package/dist/agent-farm/commands/status.js.map +1 -1
- package/dist/agent-farm/db/index.d.ts.map +1 -1
- package/dist/agent-farm/db/index.js +45 -0
- package/dist/agent-farm/db/index.js.map +1 -1
- package/dist/agent-farm/db/schema.d.ts +1 -1
- package/dist/agent-farm/db/schema.d.ts.map +1 -1
- package/dist/agent-farm/db/schema.js +2 -2
- package/dist/agent-farm/hq-connector.d.ts +0 -4
- package/dist/agent-farm/hq-connector.d.ts.map +1 -1
- package/dist/agent-farm/hq-connector.js +0 -15
- package/dist/agent-farm/hq-connector.js.map +1 -1
- package/dist/agent-farm/servers/tower-server.js +28 -15
- package/dist/agent-farm/servers/tower-server.js.map +1 -1
- package/dist/commands/porch/protocol.d.ts.map +1 -1
- package/dist/commands/porch/protocol.js +26 -1
- package/dist/commands/porch/protocol.js.map +1 -1
- package/package.json +4 -6
- package/skeleton/porch/prompts/defend.md +1 -1
- package/skeleton/porch/prompts/evaluate.md +2 -2
- package/skeleton/porch/prompts/implement.md +1 -1
- package/skeleton/porch/prompts/plan.md +1 -1
- package/skeleton/porch/prompts/review.md +4 -4
- package/skeleton/porch/prompts/specify.md +1 -1
- package/skeleton/porch/prompts/understand.md +2 -2
- package/skeleton/protocol-schema.json +3 -3
- package/skeleton/protocols/bugfix/builder-prompt.md +1 -1
- package/skeleton/protocols/experiment/protocol.md +3 -3
- package/skeleton/protocols/experiment/templates/notes.md +1 -1
- package/skeleton/protocols/maintain/protocol.md +1 -1
- package/skeleton/protocols/protocol-schema.json +1 -1
- package/skeleton/protocols/{spider → spir}/builder-prompt.md +1 -1
- package/skeleton/protocols/{spider → spir}/prompts/implement.md +1 -1
- package/skeleton/protocols/{spider → spir}/prompts/plan.md +2 -2
- package/skeleton/protocols/{spider → spir}/prompts/review.md +2 -2
- package/skeleton/protocols/{spider → spir}/prompts/specify.md +1 -1
- package/skeleton/protocols/{spider → spir}/protocol.json +2 -2
- package/skeleton/protocols/{spider → spir}/protocol.md +6 -8
- package/skeleton/protocols/{spider → spir}/templates/review.md +1 -1
- package/skeleton/protocols/tick/builder-prompt.md +1 -1
- package/skeleton/protocols/tick/protocol.md +18 -18
- package/skeleton/protocols/tick/templates/review.md +1 -1
- package/skeleton/resources/commands/overview.md +1 -1
- package/skeleton/resources/workflow-reference.md +2 -2
- package/skeleton/roles/architect.md +2 -2
- package/skeleton/roles/builder.md +2 -2
- package/skeleton/templates/AGENTS.md +1 -1
- package/skeleton/templates/CLAUDE.md +1 -1
- package/skeleton/templates/cheatsheet.md +3 -3
- package/skeleton/templates/projectlist.md +1 -1
- package/templates/dashboard/js/main.js +1 -1
- package/templates/open.html +26 -0
- package/dashboard/dist/assets/index-bhDjF0Oa.js +0 -131
- package/dashboard/dist/assets/index-bhDjF0Oa.js.map +0 -1
- /package/skeleton/protocols/{spider → spir}/templates/plan.md +0 -0
- /package/skeleton/protocols/{spider → spir}/templates/spec.md +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cluesmith/codev",
|
|
3
|
-
"version": "2.0.0-rc.
|
|
3
|
+
"version": "2.0.0-rc.58",
|
|
4
4
|
"description": "Codev CLI - AI-assisted software development framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -26,8 +26,10 @@
|
|
|
26
26
|
"dev": "tsx src/cli.ts",
|
|
27
27
|
"start": "node dist/cli.js",
|
|
28
28
|
"test": "vitest",
|
|
29
|
-
"test:e2e": "vitest run --config vitest.e2e.config.ts",
|
|
29
|
+
"test:e2e": "npm run build && vitest run --config vitest.e2e.config.ts",
|
|
30
30
|
"test:e2e:watch": "vitest --config vitest.e2e.config.ts",
|
|
31
|
+
"test:e2e:playwright": "npx playwright test",
|
|
32
|
+
"test:e2e:bats": "npm run build && npm pack && E2E_TARBALL=$(ls cluesmith-codev-*.tgz | tail -1) ../../tests/lib/bats-core/bin/bats ../../tests/e2e/",
|
|
31
33
|
"postinstall": "node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"",
|
|
32
34
|
"prepublishOnly": "npm run build"
|
|
33
35
|
},
|
|
@@ -38,21 +40,17 @@
|
|
|
38
40
|
"chalk": "^5.3.0",
|
|
39
41
|
"commander": "^12.1.0",
|
|
40
42
|
"glob": "^11.0.0",
|
|
41
|
-
"http-proxy": "^1.18.1",
|
|
42
43
|
"js-yaml": "^4.1.0",
|
|
43
44
|
"node-pty": "^1.1.0",
|
|
44
45
|
"open": "^10.1.0",
|
|
45
|
-
"qrcode-terminal": "^0.12.0",
|
|
46
46
|
"tree-kill": "^1.2.2",
|
|
47
47
|
"ws": "^8.18.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@playwright/test": "^1.58.0",
|
|
51
51
|
"@types/better-sqlite3": "^7.6.13",
|
|
52
|
-
"@types/http-proxy": "^1.17.17",
|
|
53
52
|
"@types/js-yaml": "^4.0.9",
|
|
54
53
|
"@types/node": "^22.10.1",
|
|
55
|
-
"@types/qrcode-terminal": "^0.12.2",
|
|
56
54
|
"@types/ws": "^8.18.1",
|
|
57
55
|
"playwright": "^1.58.0",
|
|
58
56
|
"tsx": "^4.19.2",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Evaluate Phase Prompt
|
|
2
2
|
|
|
3
|
-
You are the **Verifier** hat in a Ralph-
|
|
3
|
+
You are the **Verifier** hat in a Ralph-SPIR loop.
|
|
4
4
|
|
|
5
5
|
## Your Mission
|
|
6
6
|
|
|
@@ -66,7 +66,7 @@ Create or update evaluation notes in the status file:
|
|
|
66
66
|
```markdown
|
|
67
67
|
## Evaluation Report
|
|
68
68
|
|
|
69
|
-
**Evaluator**: Ralph-
|
|
69
|
+
**Evaluator**: Ralph-SPIR Verifier
|
|
70
70
|
**Date**: {date}
|
|
71
71
|
**Phase**: {phase-name}
|
|
72
72
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Review Phase Prompt
|
|
2
2
|
|
|
3
|
-
You are the **Reviewer** hat in a Ralph-
|
|
3
|
+
You are the **Reviewer** hat in a Ralph-SPIR loop.
|
|
4
4
|
|
|
5
5
|
## Your Mission
|
|
6
6
|
|
|
7
|
-
Create the final deliverables: PR and review document. This is the capstone of the
|
|
7
|
+
Create the final deliverables: PR and review document. This is the capstone of the SPIR protocol.
|
|
8
8
|
|
|
9
9
|
## Input Context
|
|
10
10
|
|
|
@@ -27,7 +27,7 @@ Create `codev/reviews/{project-id}-{name}.md` with:
|
|
|
27
27
|
- **ID**: {project-id}
|
|
28
28
|
- **Spec**: `codev/specs/{project-id}-{name}.md`
|
|
29
29
|
- **Plan**: `codev/plans/{project-id}-{name}.md`
|
|
30
|
-
- **Protocol**: ralph-
|
|
30
|
+
- **Protocol**: ralph-spir
|
|
31
31
|
- **Completed**: {date}
|
|
32
32
|
|
|
33
33
|
## Summary
|
|
@@ -78,7 +78,7 @@ One paragraph summarizing what was built and why.
|
|
|
78
78
|
2. Pattern that worked well
|
|
79
79
|
|
|
80
80
|
### Process Insights
|
|
81
|
-
1. What worked well in the
|
|
81
|
+
1. What worked well in the SPIR process
|
|
82
82
|
2. What could be improved
|
|
83
83
|
|
|
84
84
|
## Recommendations
|
|
@@ -30,7 +30,7 @@ TICK is appropriate when:
|
|
|
30
30
|
- [ ] Requirements are clear
|
|
31
31
|
- [ ] No architectural changes needed
|
|
32
32
|
|
|
33
|
-
If NOT appropriate, signal: `<signal>
|
|
33
|
+
If NOT appropriate, signal: `<signal>NEEDS_SPIR</signal>`
|
|
34
34
|
|
|
35
35
|
### 3. Document Understanding
|
|
36
36
|
|
|
@@ -58,4 +58,4 @@ When understanding is complete:
|
|
|
58
58
|
|
|
59
59
|
- DO NOT start implementing
|
|
60
60
|
- DO NOT create new spec files (amend existing)
|
|
61
|
-
- Keep scope small - if > 300 LOC, recommend
|
|
61
|
+
- Keep scope small - if > 300 LOC, recommend SPIR instead
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://codev.dev/protocol-schema.json",
|
|
4
4
|
"title": "Codev Protocol Definition",
|
|
5
|
-
"description": "Schema for porch protocol definitions (
|
|
5
|
+
"description": "Schema for porch protocol definitions (SPIR, TICK, BUGFIX, etc.)",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"required": ["name", "phases"],
|
|
8
8
|
"properties": {
|
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
},
|
|
13
13
|
"name": {
|
|
14
14
|
"type": "string",
|
|
15
|
-
"description": "Protocol name (e.g., '
|
|
15
|
+
"description": "Protocol name (e.g., 'spir', 'tick', 'bugfix')",
|
|
16
16
|
"pattern": "^[a-z][a-z0-9-]*$"
|
|
17
17
|
},
|
|
18
18
|
"alias": {
|
|
19
19
|
"type": "string",
|
|
20
|
-
"description": "Alternative name for the protocol (e.g., '
|
|
20
|
+
"description": "Alternative name for the protocol (e.g., 'spider' for spir)"
|
|
21
21
|
},
|
|
22
22
|
"version": {
|
|
23
23
|
"type": "string",
|
|
@@ -39,7 +39,7 @@ Follow the BUGFIX protocol: `codev/protocols/bugfix/protocol.md`
|
|
|
39
39
|
|
|
40
40
|
If the fix is too complex (> 300 LOC or architectural changes), notify the Architect via:
|
|
41
41
|
```bash
|
|
42
|
-
af send architect "Issue #{{issue.number}} is more complex than expected. [Reason]. Recommend escalating to
|
|
42
|
+
af send architect "Issue #{{issue.number}} is more complex than expected. [Reason]. Recommend escalating to SPIR/TICK."
|
|
43
43
|
```
|
|
44
44
|
{{/if}}
|
|
45
45
|
|
|
@@ -10,7 +10,7 @@ Disciplined experimentation: Each experiment gets its own directory with `notes.
|
|
|
10
10
|
|
|
11
11
|
**Use for**: Testing approaches, evaluating models, prototyping, proof-of-concept work, research spikes
|
|
12
12
|
|
|
13
|
-
**Skip for**: Production code (use
|
|
13
|
+
**Skip for**: Production code (use SPIR), simple one-off scripts, well-understood implementations (use TICK)
|
|
14
14
|
|
|
15
15
|
## Structure
|
|
16
16
|
|
|
@@ -141,7 +141,7 @@ What should be done based on findings?
|
|
|
141
141
|
|
|
142
142
|
## Integration with Other Protocols
|
|
143
143
|
|
|
144
|
-
### Experiment →
|
|
144
|
+
### Experiment → SPIR
|
|
145
145
|
When an experiment validates an approach for production use:
|
|
146
146
|
|
|
147
147
|
1. Create a specification referencing the experiment
|
|
@@ -225,5 +225,5 @@ Determine if Redis caching improves API response times for repeated queries.
|
|
|
225
225
|
- Memory usage: 50MB for 10k cached responses
|
|
226
226
|
|
|
227
227
|
## Next Steps
|
|
228
|
-
Create
|
|
228
|
+
Create SPIR spec for production caching implementation.
|
|
229
229
|
```
|
|
@@ -88,7 +88,7 @@ Based on these findings:
|
|
|
88
88
|
|
|
89
89
|
1. **Immediate**: What should happen right after this experiment?
|
|
90
90
|
2. **Follow-up experiments**: What new questions emerged?
|
|
91
|
-
3. **Production path**: If validated, what's needed for production? (
|
|
91
|
+
3. **Production path**: If validated, what's needed for production? (SPIR spec?)
|
|
92
92
|
|
|
93
93
|
## References
|
|
94
94
|
|
|
@@ -479,7 +479,7 @@ MAINTAIN is an **operational protocol**, not a feature development protocol:
|
|
|
479
479
|
| Review | No |
|
|
480
480
|
| 3-Way Consultation | **Yes** (before creating PR) |
|
|
481
481
|
|
|
482
|
-
**Exception**: If MAINTAIN reveals need for architectural changes, those should follow
|
|
482
|
+
**Exception**: If MAINTAIN reveals need for architectural changes, those should follow SPIR.
|
|
483
483
|
|
|
484
484
|
---
|
|
485
485
|
|
|
@@ -21,7 +21,7 @@ You are running in STRICT mode. This means:
|
|
|
21
21
|
{{/if}}
|
|
22
22
|
|
|
23
23
|
## Protocol
|
|
24
|
-
Follow the
|
|
24
|
+
Follow the SPIR protocol: `codev/protocols/spir/protocol.md`
|
|
25
25
|
Read and internalize the protocol before starting any work.
|
|
26
26
|
|
|
27
27
|
{{#if spec}}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# PLAN Phase Prompt
|
|
2
2
|
|
|
3
|
-
You are executing the **PLAN** phase of the
|
|
3
|
+
You are executing the **PLAN** phase of the SPIR protocol.
|
|
4
4
|
|
|
5
5
|
## Your Goal
|
|
6
6
|
|
|
@@ -76,7 +76,7 @@ After completing the plan draft, signal completion. Porch will run 3-way consult
|
|
|
76
76
|
|
|
77
77
|
Create the plan file at `codev/plans/{{project_id}}-{{title}}.md`.
|
|
78
78
|
|
|
79
|
-
Use the plan template from `codev/protocols/
|
|
79
|
+
Use the plan template from `codev/protocols/spir/templates/plan.md` if available.
|
|
80
80
|
|
|
81
81
|
### Plan Structure
|
|
82
82
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# REVIEW Phase Prompt
|
|
2
2
|
|
|
3
|
-
You are executing the **REVIEW** phase of the
|
|
3
|
+
You are executing the **REVIEW** phase of the SPIR protocol.
|
|
4
4
|
|
|
5
5
|
## Your Goal
|
|
6
6
|
|
|
@@ -88,7 +88,7 @@ Brief description of what was implemented.
|
|
|
88
88
|
- [Insight 2]
|
|
89
89
|
|
|
90
90
|
### Methodology Improvements
|
|
91
|
-
- [Suggested improvement to
|
|
91
|
+
- [Suggested improvement to SPIR protocol]
|
|
92
92
|
- [Suggested improvement to tooling]
|
|
93
93
|
|
|
94
94
|
## Technical Debt
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
# SPIR Protocol
|
|
1
|
+
# SPIR Protocol
|
|
2
2
|
|
|
3
|
-
> **Also known as**: SPIDER (legacy name)
|
|
4
|
-
>
|
|
5
3
|
> **SPIR** = **S**pecify → **P**lan → **I**mplement → **R**eview
|
|
6
4
|
>
|
|
7
5
|
> Each phase has one build-verify cycle with 3-way consultation.
|
|
@@ -20,17 +18,17 @@
|
|
|
20
18
|
### Multi-Agent Consultation (ENABLED BY DEFAULT)
|
|
21
19
|
|
|
22
20
|
**DEFAULT BEHAVIOR:**
|
|
23
|
-
Multi-agent consultation is **ENABLED BY DEFAULT** when using
|
|
21
|
+
Multi-agent consultation is **ENABLED BY DEFAULT** when using SPIR protocol.
|
|
24
22
|
|
|
25
23
|
**DEFAULT AGENTS:**
|
|
26
24
|
- **GPT-5 Codex**: Primary reviewer for architecture, feasibility, and code quality
|
|
27
25
|
- **Gemini Pro**: Secondary reviewer for completeness, edge cases, and alternative approaches
|
|
28
26
|
|
|
29
27
|
**DISABLING CONSULTATION:**
|
|
30
|
-
To run
|
|
28
|
+
To run SPIR without consultation, say "without consultation" when starting work.
|
|
31
29
|
|
|
32
30
|
**CUSTOM AGENTS:**
|
|
33
|
-
The user can specify different agents by saying: "use
|
|
31
|
+
The user can specify different agents by saying: "use SPIR with consultation from [agent1] and [agent2]"
|
|
34
32
|
|
|
35
33
|
**CONSULTATION BEHAVIOR:**
|
|
36
34
|
- DEFAULT: MANDATORY consultation with GPT-5 and Gemini Pro at EVERY checkpoint
|
|
@@ -596,12 +594,12 @@ Implements bcrypt-based password hashing with configurable rounds
|
|
|
596
594
|
|
|
597
595
|
### Branch Naming
|
|
598
596
|
```
|
|
599
|
-
|
|
597
|
+
spir/####-<spec-name>/<phase-name>
|
|
600
598
|
```
|
|
601
599
|
|
|
602
600
|
Example:
|
|
603
601
|
```
|
|
604
|
-
|
|
602
|
+
spir/0001-user-authentication/database-schema
|
|
605
603
|
```
|
|
606
604
|
|
|
607
605
|
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
|
|
107
107
|
## Methodology Feedback
|
|
108
108
|
|
|
109
|
-
###
|
|
109
|
+
### SPIR Protocol Effectiveness
|
|
110
110
|
- **Specification Phase**: [Was it thorough enough? Too detailed?]
|
|
111
111
|
- **Planning Phase**: [Were estimates accurate? Phases well-sized?]
|
|
112
112
|
- **Implementation Loop**: [Did IDE cycle work well?]
|
|
@@ -22,7 +22,7 @@ You are running in STRICT mode. This means:
|
|
|
22
22
|
## Protocol
|
|
23
23
|
Follow the TICK protocol: `codev/protocols/tick/protocol.md`
|
|
24
24
|
|
|
25
|
-
TICK is for amendments to existing
|
|
25
|
+
TICK is for amendments to existing SPIR specifications. You will:
|
|
26
26
|
1. Identify the target spec to amend
|
|
27
27
|
2. Update the spec with the amendment
|
|
28
28
|
3. Update the plan
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
|
|
4
4
|
## Overview
|
|
5
5
|
|
|
6
|
-
TICK is an **amendment workflow** for existing
|
|
6
|
+
TICK is an **amendment workflow** for existing SPIR specifications. Rather than creating new standalone specs, TICK modifies existing spec and plan documents in-place, tracking changes in an "Amendments" section.
|
|
7
7
|
|
|
8
|
-
**Core Principle**: TICK is for *refining* existing specs.
|
|
8
|
+
**Core Principle**: TICK is for *refining* existing specs. SPIR is for *creating* new specs.
|
|
9
9
|
|
|
10
|
-
**Key Insight**: TICKs are not small
|
|
10
|
+
**Key Insight**: TICKs are not small SPIRs - they're amendments to existing SPIRs. This eliminates the "TICK vs SPIR" decision problem and keeps related work together.
|
|
11
11
|
|
|
12
12
|
## When to Use TICK
|
|
13
13
|
|
|
14
14
|
### Use TICK when:
|
|
15
|
-
- Making **amendments to an existing
|
|
15
|
+
- Making **amendments to an existing SPIR spec** that is already `integrated`
|
|
16
16
|
- Small scope (< 300 lines of new/changed code)
|
|
17
17
|
- Requirements are clear and well-defined
|
|
18
18
|
- No fundamental architecture changes
|
|
@@ -23,7 +23,7 @@ TICK is an **amendment workflow** for existing SPIDER specifications. Rather tha
|
|
|
23
23
|
- Utility function additions to existing modules
|
|
24
24
|
- Refactoring within an existing feature
|
|
25
25
|
|
|
26
|
-
### Use
|
|
26
|
+
### Use SPIR instead when:
|
|
27
27
|
- Creating a **new feature from scratch** (no existing spec to amend)
|
|
28
28
|
- Major architecture changes (scope too large for amendment)
|
|
29
29
|
- Unclear requirements needing exploration
|
|
@@ -31,8 +31,8 @@ TICK is an **amendment workflow** for existing SPIDER specifications. Rather tha
|
|
|
31
31
|
- Multiple stakeholders need alignment
|
|
32
32
|
|
|
33
33
|
### Cannot Use TICK when:
|
|
34
|
-
- No relevant
|
|
35
|
-
- Target spec is not yet `integrated` (complete the
|
|
34
|
+
- No relevant SPIR spec exists (create a new SPIR spec instead)
|
|
35
|
+
- Target spec is not yet `integrated` (complete the SPIR cycle first)
|
|
36
36
|
|
|
37
37
|
## Amendment Workflow
|
|
38
38
|
|
|
@@ -162,9 +162,9 @@ The format `[TICK ####-NNN]` identifies:
|
|
|
162
162
|
- `####`: Parent spec number (e.g., 0002)
|
|
163
163
|
- `NNN`: TICK amendment number (e.g., 001, 002, 003)
|
|
164
164
|
|
|
165
|
-
## Key Differences from
|
|
165
|
+
## Key Differences from SPIR
|
|
166
166
|
|
|
167
|
-
| Aspect |
|
|
167
|
+
| Aspect | SPIR | TICK |
|
|
168
168
|
|--------|--------|------|
|
|
169
169
|
| Purpose | Create new features | Amend existing features |
|
|
170
170
|
| File creation | Creates new spec/plan/review | Modifies spec/plan, creates review |
|
|
@@ -178,16 +178,16 @@ The format `[TICK ####-NNN]` identifies:
|
|
|
178
178
|
|
|
179
179
|
```
|
|
180
180
|
Is there an existing spec to amend?
|
|
181
|
-
├── NO → Use
|
|
181
|
+
├── NO → Use SPIR (create new spec)
|
|
182
182
|
└── YES → Is it integrated?
|
|
183
|
-
├── NO → Complete
|
|
183
|
+
├── NO → Complete SPIR cycle first
|
|
184
184
|
└── YES → Is the change small (<300 LOC)?
|
|
185
185
|
├── YES → Use TICK (amend existing spec)
|
|
186
|
-
└── NO → Use
|
|
186
|
+
└── NO → Use SPIR (scope too large)
|
|
187
187
|
```
|
|
188
188
|
|
|
189
189
|
**Mental Model**:
|
|
190
|
-
-
|
|
190
|
+
- SPIR = Create new feature from scratch
|
|
191
191
|
- TICK = Refine/extend existing feature
|
|
192
192
|
|
|
193
193
|
## Example TICK Workflow
|
|
@@ -251,7 +251,7 @@ Existing standalone TICK projects (created before this protocol change) are gran
|
|
|
251
251
|
1. **Single source of truth**: Spec file shows complete feature evolution
|
|
252
252
|
2. **Clear history**: Amendments section documents all changes chronologically
|
|
253
253
|
3. **Reduced fragmentation**: Related work stays together
|
|
254
|
-
4. **Simpler mental model**: "New vs amendment" is clearer than "
|
|
254
|
+
4. **Simpler mental model**: "New vs amendment" is clearer than "SPIR vs TICK"
|
|
255
255
|
5. **Preserved context**: Looking at a spec shows all refinements
|
|
256
256
|
|
|
257
257
|
## Limitations
|
|
@@ -264,14 +264,14 @@ Existing standalone TICK projects (created before this protocol change) are gran
|
|
|
264
264
|
## Best Practices
|
|
265
265
|
|
|
266
266
|
1. **Verify spec is integrated**: Never TICK a spec that isn't complete
|
|
267
|
-
2. **Keep TICKs small**: If scope grows, consider new
|
|
267
|
+
2. **Keep TICKs small**: If scope grows, consider new SPIR spec
|
|
268
268
|
3. **Clear summaries**: Amendment entries should be self-explanatory
|
|
269
269
|
4. **Test before review**: Always test functionality before presenting
|
|
270
270
|
5. **Honest documentation**: Document all deviations in review
|
|
271
271
|
|
|
272
272
|
## Templates
|
|
273
273
|
|
|
274
|
-
TICK uses the standard
|
|
275
|
-
- Spec template: `codev/protocols/
|
|
276
|
-
- Plan template: `codev/protocols/
|
|
274
|
+
TICK uses the standard SPIR templates with amendments sections:
|
|
275
|
+
- Spec template: `codev/protocols/spir/templates/spec.md` (includes Amendments section)
|
|
276
|
+
- Plan template: `codev/protocols/spir/templates/plan.md` (includes Amendment History section)
|
|
277
277
|
- Review template: `codev/protocols/tick/templates/review.md` (TICK-specific)
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
|
|
78
78
|
## TICK Protocol Feedback
|
|
79
79
|
- **Autonomous execution**: [Worked well / Issues encountered]
|
|
80
|
-
- **Single-phase approach**: [Appropriate / Should have used
|
|
80
|
+
- **Single-phase approach**: [Appropriate / Should have used SPIR]
|
|
81
81
|
- **Speed vs quality trade-off**: [Balanced / Too fast / Too slow]
|
|
82
82
|
- **End-only consultation**: [Caught issues / Missed opportunities]
|
|
83
83
|
|
|
@@ -91,7 +91,7 @@ Agent Farm is configured via `af-config.json` at the project root. Created durin
|
|
|
91
91
|
|
|
92
92
|
## Related Documentation
|
|
93
93
|
|
|
94
|
-
- [
|
|
94
|
+
- [SPIR Protocol](../protocols/spir/protocol.md) - Multi-phase development workflow
|
|
95
95
|
- [TICK Protocol](../protocols/tick/protocol.md) - Fast amendment workflow
|
|
96
96
|
- [Architect Role](../roles/architect.md) - Architect responsibilities
|
|
97
97
|
- [Builder Role](../roles/builder.md) - Builder responsibilities
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Architect-Builder Workflow Reference
|
|
2
2
|
|
|
3
|
-
Quick reference for the 7-stage project workflow. For protocol details, see `codev/protocols/
|
|
3
|
+
Quick reference for the 7-stage project workflow. For protocol details, see `codev/protocols/spir/protocol.md`.
|
|
4
4
|
|
|
5
5
|
## Workflow Overview
|
|
6
6
|
|
|
@@ -236,7 +236,7 @@ af cleanup -p XXXX --force
|
|
|
236
236
|
|
|
237
237
|
## Related Documentation
|
|
238
238
|
|
|
239
|
-
- Full
|
|
239
|
+
- Full SPIR protocol: `codev/protocols/spir/protocol.md`
|
|
240
240
|
- Builder role: `codev/roles/builder.md`
|
|
241
241
|
- Architect role: `codev/roles/architect.md`
|
|
242
242
|
- Consultant role: `codev/roles/consultant.md`
|
|
@@ -95,7 +95,7 @@ The builder stops at gates requiring approval:
|
|
|
95
95
|
**spec-approval** - After builder writes the spec
|
|
96
96
|
```bash
|
|
97
97
|
# Review the spec in the builder's worktree
|
|
98
|
-
cat worktrees/
|
|
98
|
+
cat worktrees/spir_0042_user-authentication/codev/specs/0042-user-authentication.md
|
|
99
99
|
|
|
100
100
|
# Approve if satisfactory
|
|
101
101
|
porch approve 0042 spec-approval
|
|
@@ -104,7 +104,7 @@ porch approve 0042 spec-approval
|
|
|
104
104
|
**plan-approval** - After builder writes the plan
|
|
105
105
|
```bash
|
|
106
106
|
# Review the plan
|
|
107
|
-
cat worktrees/
|
|
107
|
+
cat worktrees/spir_0042_user-authentication/codev/plans/0042-user-authentication.md
|
|
108
108
|
|
|
109
109
|
# Approve if satisfactory
|
|
110
110
|
porch approve 0042 plan-approval
|
|
@@ -60,7 +60,7 @@ You must:
|
|
|
60
60
|
|
|
61
61
|
### What You DON'T Do in Strict Mode
|
|
62
62
|
|
|
63
|
-
- **Don't manually follow
|
|
63
|
+
- **Don't manually follow SPIR steps** - Porch handles this
|
|
64
64
|
- **Don't run consult directly** - Porch runs 3-way reviews
|
|
65
65
|
- **Don't edit status.yaml phase/iteration** - Only porch modifies state
|
|
66
66
|
- **Don't call porch approve** - Only humans approve gates
|
|
@@ -80,7 +80,7 @@ cat codev/specs/XXXX-*.md
|
|
|
80
80
|
cat codev/plans/XXXX-*.md
|
|
81
81
|
|
|
82
82
|
# Read the protocol
|
|
83
|
-
cat codev/protocols/
|
|
83
|
+
cat codev/protocols/spir/protocol.md
|
|
84
84
|
|
|
85
85
|
# Start implementing
|
|
86
86
|
```
|
|
@@ -8,7 +8,7 @@ This project uses **Codev** for AI-assisted development.
|
|
|
8
8
|
|
|
9
9
|
## Available Protocols
|
|
10
10
|
|
|
11
|
-
- **
|
|
11
|
+
- **SPIR**: Multi-phase development with consultation (`codev/protocols/spir/protocol.md`)
|
|
12
12
|
- **TICK**: Fast autonomous implementation (`codev/protocols/tick/protocol.md`)
|
|
13
13
|
- **EXPERIMENT**: Disciplined experimentation (`codev/protocols/experiment/protocol.md`)
|
|
14
14
|
- **MAINTAIN**: Codebase maintenance (`codev/protocols/maintain/protocol.md`)
|
|
@@ -6,7 +6,7 @@ This project uses **Codev** for AI-assisted development.
|
|
|
6
6
|
|
|
7
7
|
## Available Protocols
|
|
8
8
|
|
|
9
|
-
- **
|
|
9
|
+
- **SPIR**: Multi-phase development with consultation (`codev/protocols/spir/protocol.md`)
|
|
10
10
|
- **TICK**: Fast autonomous implementation (`codev/protocols/tick/protocol.md`)
|
|
11
11
|
- **EXPERIMENT**: Disciplined experimentation (`codev/protocols/experiment/protocol.md`)
|
|
12
12
|
- **MAINTAIN**: Codebase maintenance (`codev/protocols/maintain/protocol.md`)
|
|
@@ -41,7 +41,7 @@ Just like structuring a human team—clear roles, defined processes, explicit ha
|
|
|
41
41
|
|
|
42
42
|
| Component | Purpose |
|
|
43
43
|
|-----------|---------|
|
|
44
|
-
| Protocols | Define HOW work happens (
|
|
44
|
+
| Protocols | Define HOW work happens (SPIR, TICK, etc.) |
|
|
45
45
|
| Roles | Define WHO does what (Architect, Builder, Consultant) |
|
|
46
46
|
| Parallelism | Scale by running multiple builders simultaneously |
|
|
47
47
|
|
|
@@ -60,7 +60,7 @@ A **protocol** is a structured workflow that defines how work progresses from id
|
|
|
60
60
|
|
|
61
61
|
| Protocol | Use For | Phases |
|
|
62
62
|
|----------|---------|--------|
|
|
63
|
-
| **
|
|
63
|
+
| **SPIR** | New features | Specify → Plan → Implement → Review |
|
|
64
64
|
| **TICK** | Amendments to existing specs | Task Identification → Coding → Kickout |
|
|
65
65
|
| **MAINTAIN** | Codebase hygiene | Dead code removal, documentation sync |
|
|
66
66
|
| **EXPERIMENT** | Research & prototyping | Hypothesis → Experiment → Conclude |
|
|
@@ -145,7 +145,7 @@ Multi-agent consultation. Used by both humans and agents—**mostly agents** dur
|
|
|
145
145
|
|
|
146
146
|
## Quick Reference
|
|
147
147
|
|
|
148
|
-
###
|
|
148
|
+
### SPIR Checklist
|
|
149
149
|
|
|
150
150
|
```
|
|
151
151
|
[ ] Specify - Write spec in codev/specs/XXXX-name.md
|
|
@@ -142,6 +142,6 @@ To see high-priority work, search for `priority: high`.
|
|
|
142
142
|
Before starting a project, verify its dependencies are at least `implemented`.
|
|
143
143
|
|
|
144
144
|
### Protocol Selection
|
|
145
|
-
- **
|
|
145
|
+
- **SPIR**: Most projects (formal spec → plan → implement → review)
|
|
146
146
|
- **TICK**: Small, well-defined tasks (< 300 lines) or amendments to existing specs
|
|
147
147
|
- **EXPERIMENT**: Research/prototyping before committing to a project
|
|
@@ -99,7 +99,7 @@ function renderInfoHeader() {
|
|
|
99
99
|
<div class="projects-info">
|
|
100
100
|
<h1 style="font-size: 20px; margin-bottom: 12px; color: var(--text-primary);">Agent Farm Dashboard</h1>
|
|
101
101
|
<p>Coordinate AI builders working on your codebase. The left panel shows the Architect terminal – tell it what you want to build. <strong>Tabs</strong> shows open terminals (Architect, Builders, utility shells). <strong>Files</strong> lets you browse and open project files. <strong>Projects</strong> tracks work as it moves from conception to integration.</p>
|
|
102
|
-
<p>Docs: <a href="#" onclick="openProjectFile('codev/resources/cheatsheet.md'); return false;">Cheatsheet</a> · <a href="#" onclick="openProjectFile('codev/resources/lifecycle.md'); return false;">Lifecycle</a> · <a href="#" onclick="openProjectFile('codev/resources/commands/overview.md'); return false;">CLI Reference</a> · <a href="#" onclick="openProjectFile('codev/protocols/
|
|
102
|
+
<p>Docs: <a href="#" onclick="openProjectFile('codev/resources/cheatsheet.md'); return false;">Cheatsheet</a> · <a href="#" onclick="openProjectFile('codev/resources/lifecycle.md'); return false;">Lifecycle</a> · <a href="#" onclick="openProjectFile('codev/resources/commands/overview.md'); return false;">CLI Reference</a> · <a href="#" onclick="openProjectFile('codev/protocols/spir/protocol.md'); return false;">SPIR Protocol</a> · <a href="https://github.com/cluesmith/codev#readme" target="_blank">README</a> · <a href="https://discord.gg/mJ92DhDa6n" target="_blank">Discord</a></p>
|
|
103
103
|
</div>
|
|
104
104
|
`;
|
|
105
105
|
}
|