@cluesmith/codev 2.0.3 → 2.0.7
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-BblS3DWL.js +135 -0
- package/dashboard/dist/assets/index-BblS3DWL.js.map +1 -0
- package/dashboard/dist/assets/index-Cr9PyjqX.css +32 -0
- package/dashboard/dist/index.html +2 -2
- package/dist/agent-farm/cli.d.ts.map +1 -1
- package/dist/agent-farm/cli.js +54 -61
- package/dist/agent-farm/cli.js.map +1 -1
- package/dist/agent-farm/commands/architect.d.ts +5 -5
- package/dist/agent-farm/commands/architect.d.ts.map +1 -1
- package/dist/agent-farm/commands/architect.js +37 -20
- package/dist/agent-farm/commands/architect.js.map +1 -1
- package/dist/agent-farm/commands/attach.d.ts +19 -0
- package/dist/agent-farm/commands/attach.d.ts.map +1 -1
- package/dist/agent-farm/commands/attach.js +169 -29
- package/dist/agent-farm/commands/attach.js.map +1 -1
- package/dist/agent-farm/commands/cleanup.d.ts +12 -0
- package/dist/agent-farm/commands/cleanup.d.ts.map +1 -1
- package/dist/agent-farm/commands/cleanup.js +108 -7
- package/dist/agent-farm/commands/cleanup.js.map +1 -1
- package/dist/agent-farm/commands/send.d.ts +22 -2
- package/dist/agent-farm/commands/send.d.ts.map +1 -1
- package/dist/agent-farm/commands/send.js +97 -178
- package/dist/agent-farm/commands/send.js.map +1 -1
- package/dist/agent-farm/commands/spawn-roles.d.ts +3 -9
- package/dist/agent-farm/commands/spawn-roles.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn-roles.js +14 -53
- package/dist/agent-farm/commands/spawn-roles.js.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.d.ts +11 -18
- package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.js +35 -22
- package/dist/agent-farm/commands/spawn-worktree.js.map +1 -1
- package/dist/agent-farm/commands/spawn.d.ts +8 -6
- package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn.js +207 -89
- 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 +2 -6
- 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 -35
- package/dist/agent-farm/commands/status.js.map +1 -1
- package/dist/agent-farm/commands/stop.d.ts.map +1 -1
- package/dist/agent-farm/commands/stop.js +2 -6
- package/dist/agent-farm/commands/stop.js.map +1 -1
- package/dist/agent-farm/commands/tower-cloud.d.ts +2 -9
- package/dist/agent-farm/commands/tower-cloud.d.ts.map +1 -1
- package/dist/agent-farm/commands/tower-cloud.js +12 -47
- package/dist/agent-farm/commands/tower-cloud.js.map +1 -1
- package/dist/agent-farm/commands/tower.d.ts.map +1 -1
- package/dist/agent-farm/commands/tower.js +6 -23
- package/dist/agent-farm/commands/tower.js.map +1 -1
- package/dist/agent-farm/db/index.d.ts.map +1 -1
- package/dist/agent-farm/db/index.js +52 -2
- 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 +1 -1
- package/dist/agent-farm/lib/cloud-config.d.ts +1 -0
- package/dist/agent-farm/lib/cloud-config.d.ts.map +1 -1
- package/dist/agent-farm/lib/cloud-config.js +2 -2
- package/dist/agent-farm/lib/cloud-config.js.map +1 -1
- package/dist/agent-farm/lib/tower-client.d.ts +65 -6
- package/dist/agent-farm/lib/tower-client.d.ts.map +1 -1
- package/dist/agent-farm/lib/tower-client.js +57 -2
- package/dist/agent-farm/lib/tower-client.js.map +1 -1
- package/dist/agent-farm/servers/overview.d.ts +157 -0
- package/dist/agent-farm/servers/overview.d.ts.map +1 -0
- package/dist/agent-farm/servers/overview.js +625 -0
- package/dist/agent-farm/servers/overview.js.map +1 -0
- package/dist/agent-farm/servers/tower-instances.d.ts +1 -3
- package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-instances.js +12 -14
- package/dist/agent-farm/servers/tower-instances.js.map +1 -1
- package/dist/agent-farm/servers/tower-messages.d.ts +87 -0
- package/dist/agent-farm/servers/tower-messages.d.ts.map +1 -0
- package/dist/agent-farm/servers/tower-messages.js +202 -0
- package/dist/agent-farm/servers/tower-messages.js.map +1 -0
- package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-routes.js +182 -34
- package/dist/agent-farm/servers/tower-routes.js.map +1 -1
- package/dist/agent-farm/servers/tower-server.js +30 -6
- package/dist/agent-farm/servers/tower-server.js.map +1 -1
- package/dist/agent-farm/servers/tower-terminals.d.ts +9 -3
- package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-terminals.js +129 -84
- package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
- package/dist/agent-farm/servers/tower-tunnel.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-tunnel.js +3 -19
- package/dist/agent-farm/servers/tower-tunnel.js.map +1 -1
- package/dist/agent-farm/servers/tower-types.d.ts +0 -2
- package/dist/agent-farm/servers/tower-types.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-websocket.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-websocket.js +27 -5
- package/dist/agent-farm/servers/tower-websocket.js.map +1 -1
- package/dist/agent-farm/types.d.ts +4 -5
- package/dist/agent-farm/types.d.ts.map +1 -1
- package/dist/agent-farm/utils/agent-names.d.ts +85 -0
- package/dist/agent-farm/utils/agent-names.d.ts.map +1 -0
- package/dist/agent-farm/utils/agent-names.js +140 -0
- package/dist/agent-farm/utils/agent-names.js.map +1 -0
- package/dist/agent-farm/utils/display.d.ts +8 -0
- package/dist/agent-farm/utils/display.d.ts.map +1 -0
- package/dist/agent-farm/utils/display.js +26 -0
- package/dist/agent-farm/utils/display.js.map +1 -0
- package/dist/agent-farm/utils/message-format.d.ts +17 -0
- package/dist/agent-farm/utils/message-format.d.ts.map +1 -0
- package/dist/agent-farm/utils/message-format.js +41 -0
- package/dist/agent-farm/utils/message-format.js.map +1 -0
- package/dist/agent-farm/utils/notifications.d.ts.map +1 -1
- package/dist/agent-farm/utils/notifications.js +7 -16
- package/dist/agent-farm/utils/notifications.js.map +1 -1
- package/dist/agent-farm/utils/server-utils.d.ts +4 -0
- package/dist/agent-farm/utils/server-utils.d.ts.map +1 -1
- package/dist/agent-farm/utils/server-utils.js +20 -0
- package/dist/agent-farm/utils/server-utils.js.map +1 -1
- package/dist/agent-farm/utils/shell.d.ts +5 -0
- package/dist/agent-farm/utils/shell.d.ts.map +1 -1
- package/dist/agent-farm/utils/shell.js +15 -11
- package/dist/agent-farm/utils/shell.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +46 -15
- package/dist/cli.js.map +1 -1
- package/dist/commands/adopt.d.ts.map +1 -1
- package/dist/commands/adopt.js +1 -13
- package/dist/commands/adopt.js.map +1 -1
- package/dist/commands/consult/index.d.ts +34 -9
- package/dist/commands/consult/index.d.ts.map +1 -1
- package/dist/commands/consult/index.js +617 -263
- package/dist/commands/consult/index.js.map +1 -1
- package/dist/commands/consult/metrics.d.ts +90 -0
- package/dist/commands/consult/metrics.d.ts.map +1 -0
- package/dist/commands/consult/metrics.js +203 -0
- package/dist/commands/consult/metrics.js.map +1 -0
- package/dist/commands/consult/stats.d.ts +18 -0
- package/dist/commands/consult/stats.d.ts.map +1 -0
- package/dist/commands/consult/stats.js +150 -0
- package/dist/commands/consult/stats.js.map +1 -0
- package/dist/commands/consult/usage-extractor.d.ts +41 -0
- package/dist/commands/consult/usage-extractor.d.ts.map +1 -0
- package/dist/commands/consult/usage-extractor.js +122 -0
- package/dist/commands/consult/usage-extractor.js.map +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +5 -3
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +1 -13
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/porch/index.d.ts.map +1 -1
- package/dist/commands/porch/index.js +13 -12
- package/dist/commands/porch/index.js.map +1 -1
- package/dist/commands/porch/next.d.ts.map +1 -1
- package/dist/commands/porch/next.js +57 -77
- package/dist/commands/porch/next.js.map +1 -1
- package/dist/commands/porch/plan.d.ts.map +1 -1
- package/dist/commands/porch/plan.js +17 -2
- package/dist/commands/porch/plan.js.map +1 -1
- package/dist/commands/porch/prompts.d.ts +10 -1
- package/dist/commands/porch/prompts.d.ts.map +1 -1
- package/dist/commands/porch/prompts.js +56 -29
- package/dist/commands/porch/prompts.js.map +1 -1
- package/dist/commands/porch/protocol.js +2 -2
- package/dist/commands/porch/state.d.ts +13 -0
- package/dist/commands/porch/state.d.ts.map +1 -1
- package/dist/commands/porch/state.js +49 -2
- package/dist/commands/porch/state.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +0 -10
- package/dist/commands/update.js.map +1 -1
- package/dist/lib/github.d.ts +82 -0
- package/dist/lib/github.d.ts.map +1 -0
- package/dist/lib/github.js +181 -0
- package/dist/lib/github.js.map +1 -0
- package/dist/lib/scaffold.d.ts +0 -21
- package/dist/lib/scaffold.d.ts.map +1 -1
- package/dist/lib/scaffold.js +0 -57
- package/dist/lib/scaffold.js.map +1 -1
- package/dist/terminal/index.d.ts +16 -0
- package/dist/terminal/index.d.ts.map +1 -1
- package/dist/terminal/index.js +14 -0
- package/dist/terminal/index.js.map +1 -1
- package/dist/terminal/pty-manager.d.ts.map +1 -1
- package/dist/terminal/pty-manager.js +8 -5
- package/dist/terminal/pty-manager.js.map +1 -1
- package/dist/terminal/pty-session.js +4 -4
- package/dist/terminal/pty-session.js.map +1 -1
- package/dist/terminal/session-manager.d.ts +64 -0
- package/dist/terminal/session-manager.d.ts.map +1 -1
- package/dist/terminal/session-manager.js +299 -10
- package/dist/terminal/session-manager.js.map +1 -1
- package/dist/terminal/shellper-client.d.ts +2 -1
- package/dist/terminal/shellper-client.d.ts.map +1 -1
- package/dist/terminal/shellper-client.js +4 -2
- package/dist/terminal/shellper-client.js.map +1 -1
- package/dist/terminal/shellper-main.js +33 -4
- package/dist/terminal/shellper-main.js.map +1 -1
- package/dist/terminal/shellper-process.d.ts +24 -7
- package/dist/terminal/shellper-process.d.ts.map +1 -1
- package/dist/terminal/shellper-process.js +139 -36
- package/dist/terminal/shellper-process.js.map +1 -1
- package/dist/terminal/shellper-protocol.d.ts +1 -0
- package/dist/terminal/shellper-protocol.d.ts.map +1 -1
- package/dist/terminal/shellper-protocol.js.map +1 -1
- package/package.json +4 -1
- package/skeleton/.claude/skills/af/SKILL.md +10 -10
- package/skeleton/.claude/skills/consult/SKILL.md +55 -38
- package/skeleton/.claude/skills/porch/SKILL.md +53 -0
- package/skeleton/DEPENDENCIES.md +2 -2
- package/skeleton/builders.md +8 -19
- package/skeleton/maintain/.gitkeep +1 -1
- package/skeleton/porch/prompts/specify.md +1 -1
- package/skeleton/protocol-schema.json +1 -1
- package/skeleton/protocols/bugfix/prompts/pr.md +18 -7
- package/skeleton/protocols/bugfix/protocol.json +1 -1
- package/skeleton/protocols/experiment/protocol.md +17 -17
- package/skeleton/protocols/maintain/consult-types/impl-review.md +72 -0
- package/skeleton/protocols/maintain/consult-types/pr-review.md +72 -0
- package/skeleton/protocols/maintain/prompts/audit.md +2 -2
- package/skeleton/protocols/maintain/prompts/sync.md +1 -1
- package/skeleton/protocols/maintain/prompts/verify.md +1 -1
- package/skeleton/protocols/maintain/protocol.json +4 -4
- package/skeleton/protocols/maintain/protocol.md +11 -12
- package/skeleton/protocols/maintain/templates/maintenance-run.md +2 -2
- package/skeleton/protocols/protocol-schema.json +1 -1
- package/skeleton/protocols/spir/consult-types/impl-review.md +72 -0
- package/skeleton/protocols/spir/consult-types/phase-review.md +72 -0
- package/skeleton/protocols/spir/consult-types/pr-review.md +72 -0
- package/skeleton/protocols/spir/prompts/plan.md +4 -4
- package/skeleton/protocols/spir/prompts/review.md +8 -8
- package/skeleton/protocols/spir/prompts/specify.md +6 -6
- package/skeleton/protocols/spir/protocol.json +16 -16
- package/skeleton/protocols/spir/protocol.md +8 -8
- package/skeleton/protocols/spir/templates/review.md +2 -2
- package/skeleton/protocols/tick/consult-types/impl-review.md +72 -0
- package/skeleton/protocols/tick/consult-types/plan-review.md +59 -0
- package/skeleton/protocols/tick/consult-types/pr-review.md +72 -0
- package/skeleton/protocols/tick/consult-types/spec-review.md +55 -0
- package/skeleton/protocols/tick/protocol.json +2 -7
- package/skeleton/protocols/tick/protocol.md +31 -31
- package/skeleton/resources/commands/agent-farm.md +21 -19
- package/skeleton/resources/commands/codev.md +0 -36
- package/skeleton/resources/commands/consult.md +88 -234
- package/skeleton/resources/commands/overview.md +6 -7
- package/skeleton/resources/spikes.md +3 -3
- package/skeleton/resources/workflow-reference.md +28 -28
- package/skeleton/roles/architect.md +34 -38
- package/skeleton/roles/builder.md +14 -14
- package/skeleton/roles/consultant.md +6 -0
- package/skeleton/templates/AGENTS.md +6 -6
- package/skeleton/templates/CLAUDE.md +6 -6
- package/skeleton/templates/cheatsheet.md +22 -18
- package/skeleton/templates/lifecycle.md +9 -9
- package/skeleton/templates/pr-overview.md +5 -5
- package/templates/open.html +6 -3
- package/templates/tower.html +1 -41
- package/dashboard/dist/assets/index-4n9zpWLY.css +0 -32
- package/dashboard/dist/assets/index-UsH9ixz1.js +0 -136
- package/dashboard/dist/assets/index-UsH9ixz1.js.map +0 -1
- package/dist/agent-farm/commands/consult.d.ts +0 -15
- package/dist/agent-farm/commands/consult.d.ts.map +0 -1
- package/dist/agent-farm/commands/consult.js +0 -39
- package/dist/agent-farm/commands/consult.js.map +0 -1
- package/dist/agent-farm/utils/gate-status.d.ts +0 -16
- package/dist/agent-farm/utils/gate-status.d.ts.map +0 -1
- package/dist/agent-farm/utils/gate-status.js +0 -79
- package/dist/agent-farm/utils/gate-status.js.map +0 -1
- package/skeleton/templates/projectlist-archive.md +0 -21
- package/skeleton/templates/projectlist.md +0 -147
- /package/skeleton/{consult-types → protocols/bugfix/consult-types}/impl-review.md +0 -0
- /package/skeleton/{consult-types/pr-ready.md → protocols/bugfix/consult-types/pr-review.md} +0 -0
- /package/skeleton/{consult-types → protocols/spir/consult-types}/plan-review.md +0 -0
- /package/skeleton/{consult-types → protocols/spir/consult-types}/spec-review.md +0 -0
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"artifact": "codev/maintain/*.md"
|
|
21
21
|
},
|
|
22
22
|
"verify": {
|
|
23
|
-
"type": "impl
|
|
23
|
+
"type": "impl",
|
|
24
24
|
"models": ["gemini", "codex", "claude"],
|
|
25
25
|
"parallel": true
|
|
26
26
|
},
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"artifact": "src/**/*.{ts,tsx,js,jsx}"
|
|
42
42
|
},
|
|
43
43
|
"verify": {
|
|
44
|
-
"type": "impl
|
|
44
|
+
"type": "impl",
|
|
45
45
|
"models": ["gemini", "codex", "claude"],
|
|
46
46
|
"parallel": true
|
|
47
47
|
},
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"artifact": "codev/resources/*.md"
|
|
75
75
|
},
|
|
76
76
|
"verify": {
|
|
77
|
-
"type": "impl
|
|
77
|
+
"type": "impl",
|
|
78
78
|
"models": ["gemini", "codex", "claude"],
|
|
79
79
|
"parallel": true
|
|
80
80
|
},
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"artifact": "codev/maintain/*.md"
|
|
96
96
|
},
|
|
97
97
|
"verify": {
|
|
98
|
-
"type": "pr
|
|
98
|
+
"type": "pr",
|
|
99
99
|
"models": ["gemini", "codex", "claude"],
|
|
100
100
|
"parallel": true
|
|
101
101
|
},
|
|
@@ -57,8 +57,8 @@ Each maintenance run creates a numbered file in `codev/maintain/`:
|
|
|
57
57
|
|
|
58
58
|
```
|
|
59
59
|
codev/maintain/
|
|
60
|
-
├──
|
|
61
|
-
├──
|
|
60
|
+
├── 1.md
|
|
61
|
+
├── 2.md
|
|
62
62
|
└── ...
|
|
63
63
|
```
|
|
64
64
|
|
|
@@ -111,8 +111,7 @@ ruff check --select F401 # Find unused imports
|
|
|
111
111
|
|
|
112
112
|
| Task | Parallelizable | Human Review? | Description |
|
|
113
113
|
|------|----------------|---------------|-------------|
|
|
114
|
-
| Update
|
|
115
|
-
| Archive terminal projects | Yes | No | Move completed/abandoned to terminal section |
|
|
114
|
+
| Update GitHub Issue statuses | Yes | No | Close completed issues, update labels |
|
|
116
115
|
|
|
117
116
|
### Framework Tasks
|
|
118
117
|
|
|
@@ -285,15 +284,15 @@ Extract actionable wisdom from review documents into `codev/resources/lessons-le
|
|
|
285
284
|
# Lessons Learned
|
|
286
285
|
|
|
287
286
|
## Testing
|
|
288
|
-
- [From
|
|
289
|
-
- [From
|
|
287
|
+
- [From 1] Always use XDG sandboxing in tests to avoid touching real $HOME
|
|
288
|
+
- [From 9] Verify dependencies actually export what you expect
|
|
290
289
|
|
|
291
290
|
## Architecture
|
|
292
|
-
- [From
|
|
293
|
-
- [From
|
|
291
|
+
- [From 8] Single source of truth beats distributed state
|
|
292
|
+
- [From 31] SQLite with WAL mode handles concurrency better than JSON files
|
|
294
293
|
|
|
295
294
|
## Process
|
|
296
|
-
- [From
|
|
295
|
+
- [From 1] Multi-agent consultation catches issues humans miss
|
|
297
296
|
```
|
|
298
297
|
|
|
299
298
|
### Sync CLAUDE.md ↔ AGENTS.md
|
|
@@ -421,9 +420,9 @@ After completing all tasks and validation, run a 3-way consultation review:
|
|
|
421
420
|
|
|
422
421
|
```bash
|
|
423
422
|
# Run all three in parallel
|
|
424
|
-
consult
|
|
425
|
-
consult
|
|
426
|
-
consult
|
|
423
|
+
consult -m gemini --protocol maintain --type pr &
|
|
424
|
+
consult -m codex --protocol maintain --type pr &
|
|
425
|
+
consult -m claude --protocol maintain --type pr &
|
|
427
426
|
wait
|
|
428
427
|
```
|
|
429
428
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Maintenance Run
|
|
1
|
+
# Maintenance Run NNN
|
|
2
2
|
|
|
3
3
|
## Metadata
|
|
4
4
|
- **Date**: YYYY-MM-DD
|
|
@@ -30,7 +30,7 @@ git log --oneline <last-maint-commit>..HEAD
|
|
|
30
30
|
|
|
31
31
|
### Framework
|
|
32
32
|
- [ ] codev update
|
|
33
|
-
- [ ]
|
|
33
|
+
- [ ] GitHub Issue status updates (close completed, update labels)
|
|
34
34
|
|
|
35
35
|
## Findings
|
|
36
36
|
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Implementation Review Prompt
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
You are reviewing implementation work during the Implement phase. A builder has completed a plan phase and needs feedback before proceeding. Your job is to verify the implementation matches the spec and plan.
|
|
5
|
+
|
|
6
|
+
## CRITICAL: Verify Before Flagging
|
|
7
|
+
|
|
8
|
+
Before requesting changes for missing configuration, incorrect patterns, or framework issues:
|
|
9
|
+
1. **Check `package.json`** for actual dependency versions — framework conventions change between major versions
|
|
10
|
+
2. **Read the actual config files** (or confirm their deliberate absence) before flagging missing configs
|
|
11
|
+
3. **Do not assume** your training data reflects the version in use — verify against project files
|
|
12
|
+
4. If "Previous Iteration Context" is provided, read it carefully before re-raising concerns that were already disputed
|
|
13
|
+
|
|
14
|
+
## Focus Areas
|
|
15
|
+
|
|
16
|
+
1. **Spec Adherence**
|
|
17
|
+
- Does the implementation fulfill the spec requirements for this phase?
|
|
18
|
+
- Are acceptance criteria met?
|
|
19
|
+
|
|
20
|
+
2. **Code Quality**
|
|
21
|
+
- Is the code readable and maintainable?
|
|
22
|
+
- Are there obvious bugs or issues?
|
|
23
|
+
- Are error cases handled appropriately?
|
|
24
|
+
|
|
25
|
+
3. **Test Coverage**
|
|
26
|
+
- Are the tests adequate for this phase?
|
|
27
|
+
- Do tests cover the main paths AND edge cases?
|
|
28
|
+
|
|
29
|
+
4. **Plan Alignment**
|
|
30
|
+
- Does the implementation follow the plan?
|
|
31
|
+
- Are there plan items skipped or partially completed?
|
|
32
|
+
|
|
33
|
+
5. **UX Verification** (if spec has UX requirements)
|
|
34
|
+
- Does the actual user experience match what the spec describes?
|
|
35
|
+
- If spec says "async" or "non-blocking", is it actually async?
|
|
36
|
+
|
|
37
|
+
## Verdict Format
|
|
38
|
+
|
|
39
|
+
After your review, provide your verdict in exactly this format:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
---
|
|
43
|
+
VERDICT: [APPROVE | REQUEST_CHANGES | COMMENT]
|
|
44
|
+
SUMMARY: [One-line summary of your assessment]
|
|
45
|
+
CONFIDENCE: [HIGH | MEDIUM | LOW]
|
|
46
|
+
---
|
|
47
|
+
KEY_ISSUES:
|
|
48
|
+
- [Issue 1 or "None"]
|
|
49
|
+
- [Issue 2]
|
|
50
|
+
...
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**Verdict meanings:**
|
|
54
|
+
- `APPROVE`: Phase is complete, builder can proceed
|
|
55
|
+
- `REQUEST_CHANGES`: Issues that must be fixed before proceeding
|
|
56
|
+
- `COMMENT`: Minor suggestions, can proceed but note feedback
|
|
57
|
+
|
|
58
|
+
## Scoping (Multi-Phase Plans)
|
|
59
|
+
|
|
60
|
+
When the implementation plan has multiple phases (e.g., scaffolding, landing, media_rtl):
|
|
61
|
+
- **ONLY review work belonging to the current plan phase**
|
|
62
|
+
- The query will specify which phase you are reviewing
|
|
63
|
+
- Do NOT request changes for functionality scheduled in later phases
|
|
64
|
+
- Do NOT flag missing features that are out of scope for this phase
|
|
65
|
+
- If unsure whether something belongs to this phase, check the plan file
|
|
66
|
+
|
|
67
|
+
## Notes
|
|
68
|
+
|
|
69
|
+
- This is a phase-level review, not the final PR review
|
|
70
|
+
- Focus on "does this phase work" not "is the whole feature done"
|
|
71
|
+
- If referencing line numbers, use `file:line` format
|
|
72
|
+
- The builder needs actionable feedback to continue
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Implementation Review Prompt
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
You are reviewing implementation work during the Implement phase. A builder has completed a plan phase and needs feedback before proceeding. Your job is to verify the implementation matches the spec and plan.
|
|
5
|
+
|
|
6
|
+
## CRITICAL: Verify Before Flagging
|
|
7
|
+
|
|
8
|
+
Before requesting changes for missing configuration, incorrect patterns, or framework issues:
|
|
9
|
+
1. **Check `package.json`** for actual dependency versions — framework conventions change between major versions
|
|
10
|
+
2. **Read the actual config files** (or confirm their deliberate absence) before flagging missing configs
|
|
11
|
+
3. **Do not assume** your training data reflects the version in use — verify against project files
|
|
12
|
+
4. If "Previous Iteration Context" is provided, read it carefully before re-raising concerns that were already disputed
|
|
13
|
+
|
|
14
|
+
## Focus Areas
|
|
15
|
+
|
|
16
|
+
1. **Spec Adherence**
|
|
17
|
+
- Does the implementation fulfill the spec requirements for this phase?
|
|
18
|
+
- Are acceptance criteria met?
|
|
19
|
+
|
|
20
|
+
2. **Code Quality**
|
|
21
|
+
- Is the code readable and maintainable?
|
|
22
|
+
- Are there obvious bugs or issues?
|
|
23
|
+
- Are error cases handled appropriately?
|
|
24
|
+
|
|
25
|
+
3. **Test Coverage**
|
|
26
|
+
- Are the tests adequate for this phase?
|
|
27
|
+
- Do tests cover the main paths AND edge cases?
|
|
28
|
+
|
|
29
|
+
4. **Plan Alignment**
|
|
30
|
+
- Does the implementation follow the plan?
|
|
31
|
+
- Are there plan items skipped or partially completed?
|
|
32
|
+
|
|
33
|
+
5. **UX Verification** (if spec has UX requirements)
|
|
34
|
+
- Does the actual user experience match what the spec describes?
|
|
35
|
+
- If spec says "async" or "non-blocking", is it actually async?
|
|
36
|
+
|
|
37
|
+
## Verdict Format
|
|
38
|
+
|
|
39
|
+
After your review, provide your verdict in exactly this format:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
---
|
|
43
|
+
VERDICT: [APPROVE | REQUEST_CHANGES | COMMENT]
|
|
44
|
+
SUMMARY: [One-line summary of your assessment]
|
|
45
|
+
CONFIDENCE: [HIGH | MEDIUM | LOW]
|
|
46
|
+
---
|
|
47
|
+
KEY_ISSUES:
|
|
48
|
+
- [Issue 1 or "None"]
|
|
49
|
+
- [Issue 2]
|
|
50
|
+
...
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**Verdict meanings:**
|
|
54
|
+
- `APPROVE`: Phase is complete, builder can proceed
|
|
55
|
+
- `REQUEST_CHANGES`: Issues that must be fixed before proceeding
|
|
56
|
+
- `COMMENT`: Minor suggestions, can proceed but note feedback
|
|
57
|
+
|
|
58
|
+
## Scoping (Multi-Phase Plans)
|
|
59
|
+
|
|
60
|
+
When the implementation plan has multiple phases (e.g., scaffolding, landing, media_rtl):
|
|
61
|
+
- **ONLY review work belonging to the current plan phase**
|
|
62
|
+
- The query will specify which phase you are reviewing
|
|
63
|
+
- Do NOT request changes for functionality scheduled in later phases
|
|
64
|
+
- Do NOT flag missing features that are out of scope for this phase
|
|
65
|
+
- If unsure whether something belongs to this phase, check the plan file
|
|
66
|
+
|
|
67
|
+
## Notes
|
|
68
|
+
|
|
69
|
+
- This is a phase-level review, not the final PR review
|
|
70
|
+
- Focus on "does this phase work" not "is the whole feature done"
|
|
71
|
+
- If referencing line numbers, use `file:line` format
|
|
72
|
+
- The builder needs actionable feedback to continue
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# PR Ready Review Prompt
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
You are performing a final self-check during the Review phase. The builder has completed all implementation phases and is about to create a PR. This is the last check before the work goes to the architect for integration review.
|
|
5
|
+
|
|
6
|
+
## Focus Areas
|
|
7
|
+
|
|
8
|
+
1. **Completeness**
|
|
9
|
+
- Are all spec requirements implemented?
|
|
10
|
+
- Are all plan phases complete?
|
|
11
|
+
- Is the review document written (`codev/reviews/XXXX-name.md`)?
|
|
12
|
+
- Are all commits properly formatted (`[Spec XXXX][Phase]`)?
|
|
13
|
+
|
|
14
|
+
2. **Test Status**
|
|
15
|
+
- Do all tests pass?
|
|
16
|
+
- Is test coverage adequate for the changes?
|
|
17
|
+
- Are there any skipped or flaky tests?
|
|
18
|
+
|
|
19
|
+
3. **Code Cleanliness**
|
|
20
|
+
- Is there any debug code left in?
|
|
21
|
+
- Are there any TODO comments that should be resolved?
|
|
22
|
+
- Are there any `// REVIEW:` comments that weren't addressed?
|
|
23
|
+
- Is the code properly formatted?
|
|
24
|
+
|
|
25
|
+
4. **Documentation**
|
|
26
|
+
- Are inline comments clear where needed?
|
|
27
|
+
- Is the review document comprehensive?
|
|
28
|
+
- Are any new APIs documented?
|
|
29
|
+
|
|
30
|
+
5. **PR Readiness**
|
|
31
|
+
- Is the branch up to date with main?
|
|
32
|
+
- Are commits atomic and well-described?
|
|
33
|
+
- Is the change diff reasonable in size?
|
|
34
|
+
|
|
35
|
+
## Verdict Format
|
|
36
|
+
|
|
37
|
+
After your review, provide your verdict in exactly this format:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
---
|
|
41
|
+
VERDICT: [APPROVE | REQUEST_CHANGES | COMMENT]
|
|
42
|
+
SUMMARY: [One-line summary of your assessment]
|
|
43
|
+
CONFIDENCE: [HIGH | MEDIUM | LOW]
|
|
44
|
+
---
|
|
45
|
+
KEY_ISSUES:
|
|
46
|
+
- [Issue 1 or "None"]
|
|
47
|
+
- [Issue 2]
|
|
48
|
+
...
|
|
49
|
+
|
|
50
|
+
PR_SUMMARY: |
|
|
51
|
+
## Summary
|
|
52
|
+
[2-3 sentences describing what this PR does]
|
|
53
|
+
|
|
54
|
+
## Key Changes
|
|
55
|
+
- [Change 1]
|
|
56
|
+
- [Change 2]
|
|
57
|
+
|
|
58
|
+
## Test Plan
|
|
59
|
+
- [How to test]
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Verdict meanings:**
|
|
63
|
+
- `APPROVE`: Ready to create PR
|
|
64
|
+
- `REQUEST_CHANGES`: Issues to fix before PR creation
|
|
65
|
+
- `COMMENT`: Minor items, can create PR but note feedback
|
|
66
|
+
|
|
67
|
+
## Notes
|
|
68
|
+
|
|
69
|
+
- This is the builder's final self-review before hand-off
|
|
70
|
+
- The PR_SUMMARY in your output can be used as the PR description
|
|
71
|
+
- Focus on "is this ready for someone else to review" not "is this perfect"
|
|
72
|
+
- Any issues found here are cheaper to fix than during integration review
|
|
@@ -11,8 +11,8 @@ Transform the approved specification into an executable implementation plan with
|
|
|
11
11
|
- **Project ID**: {{project_id}}
|
|
12
12
|
- **Project Title**: {{title}}
|
|
13
13
|
- **Current State**: {{current_state}}
|
|
14
|
-
- **Spec File**: `codev/specs/{{
|
|
15
|
-
- **Plan File**: `codev/plans/{{
|
|
14
|
+
- **Spec File**: `codev/specs/{{artifact_name}}.md`
|
|
15
|
+
- **Plan File**: `codev/plans/{{artifact_name}}.md`
|
|
16
16
|
|
|
17
17
|
## Prerequisites
|
|
18
18
|
|
|
@@ -74,7 +74,7 @@ After completing the plan draft, signal completion. Porch will run 3-way consult
|
|
|
74
74
|
|
|
75
75
|
## Output
|
|
76
76
|
|
|
77
|
-
Create the plan file at `codev/plans/{{
|
|
77
|
+
Create the plan file at `codev/plans/{{artifact_name}}.md`.
|
|
78
78
|
|
|
79
79
|
Use the plan template from `codev/protocols/spir/templates/plan.md` if available.
|
|
80
80
|
|
|
@@ -129,7 +129,7 @@ Make commits at these milestones:
|
|
|
129
129
|
|
|
130
130
|
**CRITICAL**: Never use `git add .` or `git add -A`. Always stage specific files:
|
|
131
131
|
```bash
|
|
132
|
-
git add codev/plans/{{
|
|
132
|
+
git add codev/plans/{{artifact_name}}.md
|
|
133
133
|
```
|
|
134
134
|
|
|
135
135
|
## Important Notes
|
|
@@ -11,9 +11,9 @@ Perform a comprehensive review, document lessons learned, and prepare for PR sub
|
|
|
11
11
|
- **Project ID**: {{project_id}}
|
|
12
12
|
- **Project Title**: {{title}}
|
|
13
13
|
- **Current State**: {{current_state}}
|
|
14
|
-
- **Spec File**: `codev/specs/{{
|
|
15
|
-
- **Plan File**: `codev/plans/{{
|
|
16
|
-
- **Review File**: `codev/reviews/{{
|
|
14
|
+
- **Spec File**: `codev/specs/{{artifact_name}}.md`
|
|
15
|
+
- **Plan File**: `codev/plans/{{artifact_name}}.md`
|
|
16
|
+
- **Review File**: `codev/reviews/{{artifact_name}}.md`
|
|
17
17
|
|
|
18
18
|
## Prerequisites
|
|
19
19
|
|
|
@@ -57,7 +57,7 @@ Compare final implementation to original specification:
|
|
|
57
57
|
|
|
58
58
|
### 3. Create Review Document
|
|
59
59
|
|
|
60
|
-
Create `codev/reviews/{{
|
|
60
|
+
Create `codev/reviews/{{artifact_name}}.md`:
|
|
61
61
|
|
|
62
62
|
```markdown
|
|
63
63
|
# Review: {{title}}
|
|
@@ -118,7 +118,7 @@ Before PR:
|
|
|
118
118
|
|
|
119
119
|
**IMPORTANT: Create the PR BEFORE signaling completion.** The PR must exist so that
|
|
120
120
|
porch consultation reviews the actual PR, and the architect can review a real PR
|
|
121
|
-
when the pr
|
|
121
|
+
when the pr gate fires.
|
|
122
122
|
|
|
123
123
|
```bash
|
|
124
124
|
gh pr create --title "[Spec {{project_id}}] {{title}}" --body "$(cat <<'EOF'
|
|
@@ -135,10 +135,10 @@ gh pr create --title "[Spec {{project_id}}] {{title}}" --body "$(cat <<'EOF'
|
|
|
135
135
|
- Manual testing completed for [Y]
|
|
136
136
|
|
|
137
137
|
## Spec
|
|
138
|
-
Link: codev/specs/{{
|
|
138
|
+
Link: codev/specs/{{artifact_name}}.md
|
|
139
139
|
|
|
140
140
|
## Review
|
|
141
|
-
Link: codev/reviews/{{
|
|
141
|
+
Link: codev/reviews/{{artifact_name}}.md
|
|
142
142
|
EOF
|
|
143
143
|
)"
|
|
144
144
|
```
|
|
@@ -151,7 +151,7 @@ changes, you'll be respawned with their feedback.
|
|
|
151
151
|
|
|
152
152
|
## Output
|
|
153
153
|
|
|
154
|
-
- Review document at `codev/reviews/{{
|
|
154
|
+
- Review document at `codev/reviews/{{artifact_name}}.md`
|
|
155
155
|
- Updated documentation (if needed)
|
|
156
156
|
- Pull request created and ready for review
|
|
157
157
|
|
|
@@ -11,7 +11,7 @@ Create a comprehensive specification document that thoroughly explores the probl
|
|
|
11
11
|
- **Project ID**: {{project_id}}
|
|
12
12
|
- **Project Title**: {{title}}
|
|
13
13
|
- **Current State**: {{current_state}}
|
|
14
|
-
- **Spec File**: `codev/specs/{{
|
|
14
|
+
- **Spec File**: `codev/specs/{{artifact_name}}.md`
|
|
15
15
|
|
|
16
16
|
## Process
|
|
17
17
|
|
|
@@ -82,12 +82,12 @@ After completing the spec draft, signal completion. Porch will run 3-way consult
|
|
|
82
82
|
|
|
83
83
|
## Output
|
|
84
84
|
|
|
85
|
-
Create or update the specification file at `codev/specs/{{
|
|
85
|
+
Create or update the specification file at `codev/specs/{{artifact_name}}.md`.
|
|
86
86
|
|
|
87
87
|
**IMPORTANT**: Keep spec/plan/review filenames in sync:
|
|
88
|
-
- Spec: `codev/specs/{{
|
|
89
|
-
- Plan: `codev/plans/{{
|
|
90
|
-
- Review: `codev/reviews/{{
|
|
88
|
+
- Spec: `codev/specs/{{artifact_name}}.md`
|
|
89
|
+
- Plan: `codev/plans/{{artifact_name}}.md`
|
|
90
|
+
- Review: `codev/reviews/{{artifact_name}}.md`
|
|
91
91
|
|
|
92
92
|
## Signals
|
|
93
93
|
|
|
@@ -121,7 +121,7 @@ Make commits at these milestones:
|
|
|
121
121
|
|
|
122
122
|
**CRITICAL**: Never use `git add .` or `git add -A`. Always stage specific files:
|
|
123
123
|
```bash
|
|
124
|
-
git add codev/specs/{{
|
|
124
|
+
git add codev/specs/{{artifact_name}}.md
|
|
125
125
|
```
|
|
126
126
|
|
|
127
127
|
## Important Notes
|
|
@@ -17,14 +17,14 @@
|
|
|
17
17
|
"type": "build_verify",
|
|
18
18
|
"build": {
|
|
19
19
|
"prompt": "specify.md",
|
|
20
|
-
"artifact": "codev/specs/${
|
|
20
|
+
"artifact": "codev/specs/${PROJECT_TITLE}.md"
|
|
21
21
|
},
|
|
22
22
|
"verify": {
|
|
23
|
-
"type": "spec
|
|
23
|
+
"type": "spec",
|
|
24
24
|
"models": ["gemini", "codex", "claude"],
|
|
25
25
|
"parallel": true
|
|
26
26
|
},
|
|
27
|
-
"max_iterations":
|
|
27
|
+
"max_iterations": 1,
|
|
28
28
|
"on_complete": {
|
|
29
29
|
"commit": true,
|
|
30
30
|
"push": true
|
|
@@ -39,22 +39,22 @@
|
|
|
39
39
|
"type": "build_verify",
|
|
40
40
|
"build": {
|
|
41
41
|
"prompt": "plan.md",
|
|
42
|
-
"artifact": "codev/plans/${
|
|
42
|
+
"artifact": "codev/plans/${PROJECT_TITLE}.md"
|
|
43
43
|
},
|
|
44
44
|
"verify": {
|
|
45
|
-
"type": "plan
|
|
45
|
+
"type": "plan",
|
|
46
46
|
"models": ["gemini", "codex", "claude"],
|
|
47
47
|
"parallel": true
|
|
48
48
|
},
|
|
49
|
-
"max_iterations":
|
|
49
|
+
"max_iterations": 1,
|
|
50
50
|
"on_complete": {
|
|
51
51
|
"commit": true,
|
|
52
52
|
"push": true
|
|
53
53
|
},
|
|
54
54
|
"checks": {
|
|
55
|
-
"plan_exists": "test -f codev/plans/${
|
|
56
|
-
"has_phases_json": "grep -q '\"phases\":' codev/plans/${
|
|
57
|
-
"min_two_phases": "grep -o '\"id\": *\"[^\"]*\"' codev/plans/${
|
|
55
|
+
"plan_exists": "test -f codev/plans/${PROJECT_TITLE}.md",
|
|
56
|
+
"has_phases_json": "grep -q '\"phases\":' codev/plans/${PROJECT_TITLE}.md",
|
|
57
|
+
"min_two_phases": "grep -o '\"id\": *\"[^\"]*\"' codev/plans/${PROJECT_TITLE}.md | wc -l | awk '$1 >= 2 {exit 0} {exit 1}'"
|
|
58
58
|
},
|
|
59
59
|
"gate": "plan-approval",
|
|
60
60
|
"next": "implement"
|
|
@@ -69,11 +69,11 @@
|
|
|
69
69
|
"artifact": "src/**/*.{ts,tsx,js,jsx}"
|
|
70
70
|
},
|
|
71
71
|
"verify": {
|
|
72
|
-
"type": "impl
|
|
72
|
+
"type": "impl",
|
|
73
73
|
"models": ["gemini", "codex", "claude"],
|
|
74
74
|
"parallel": true
|
|
75
75
|
},
|
|
76
|
-
"max_iterations":
|
|
76
|
+
"max_iterations": 1,
|
|
77
77
|
"on_complete": {
|
|
78
78
|
"commit": true,
|
|
79
79
|
"push": true
|
|
@@ -103,14 +103,14 @@
|
|
|
103
103
|
"type": "build_verify",
|
|
104
104
|
"build": {
|
|
105
105
|
"prompt": "review.md",
|
|
106
|
-
"artifact": "codev/reviews/${
|
|
106
|
+
"artifact": "codev/reviews/${PROJECT_TITLE}.md"
|
|
107
107
|
},
|
|
108
108
|
"verify": {
|
|
109
|
-
"type": "pr
|
|
109
|
+
"type": "pr",
|
|
110
110
|
"models": ["gemini", "codex", "claude"],
|
|
111
111
|
"parallel": true
|
|
112
112
|
},
|
|
113
|
-
"max_iterations":
|
|
113
|
+
"max_iterations": 1,
|
|
114
114
|
"on_complete": {
|
|
115
115
|
"commit": true,
|
|
116
116
|
"push": true
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
"optional": true
|
|
127
127
|
}
|
|
128
128
|
},
|
|
129
|
-
"gate": "pr
|
|
129
|
+
"gate": "pr",
|
|
130
130
|
"next": null
|
|
131
131
|
}
|
|
132
132
|
],
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
},
|
|
148
148
|
"defaults": {
|
|
149
149
|
"mode": "strict",
|
|
150
|
-
"max_iterations":
|
|
150
|
+
"max_iterations": 1,
|
|
151
151
|
"verify": {
|
|
152
152
|
"models": ["gemini", "codex", "claude"],
|
|
153
153
|
"parallel": true
|
|
@@ -553,9 +553,9 @@ Execute for each phase in the plan. Each phase follows a build-verify cycle.
|
|
|
553
553
|
|
|
554
554
|
### Specifications and Plans
|
|
555
555
|
Format: `####-descriptive-name.md`
|
|
556
|
-
- Use sequential numbering (
|
|
556
|
+
- Use sequential numbering (1, 2, etc.)
|
|
557
557
|
- Same filename in both `specs/` and `plans/` directories
|
|
558
|
-
- Example: `
|
|
558
|
+
- Example: `1-user-authentication.md`
|
|
559
559
|
|
|
560
560
|
## Status Tracking
|
|
561
561
|
|
|
@@ -578,10 +578,10 @@ For specification/plan documents:
|
|
|
578
578
|
|
|
579
579
|
Examples:
|
|
580
580
|
```
|
|
581
|
-
[Spec
|
|
582
|
-
[Spec
|
|
583
|
-
[Spec
|
|
584
|
-
[Spec
|
|
581
|
+
[Spec 1] Initial specification draft
|
|
582
|
+
[Spec 1] Specification with multi-agent review
|
|
583
|
+
[Spec 1] Specification with user feedback
|
|
584
|
+
[Spec 1] Final approved specification
|
|
585
585
|
```
|
|
586
586
|
|
|
587
587
|
For implementation:
|
|
@@ -593,7 +593,7 @@ For implementation:
|
|
|
593
593
|
|
|
594
594
|
Example:
|
|
595
595
|
```
|
|
596
|
-
[Spec
|
|
596
|
+
[Spec 1][Phase: user-auth] feat: Add password hashing service
|
|
597
597
|
|
|
598
598
|
Implements bcrypt-based password hashing with configurable rounds
|
|
599
599
|
```
|
|
@@ -605,7 +605,7 @@ spir/####-<spec-name>/<phase-name>
|
|
|
605
605
|
|
|
606
606
|
Example:
|
|
607
607
|
```
|
|
608
|
-
spir/
|
|
608
|
+
spir/1-user-authentication/database-schema
|
|
609
609
|
```
|
|
610
610
|
|
|
611
611
|
|
|
@@ -33,7 +33,7 @@ All times [timezone], [date range].
|
|
|
33
33
|
| — | **GATE: [gate-name]** (human approval required) |
|
|
34
34
|
| HH:MM | Implementation begins |
|
|
35
35
|
| HH:MM | Phase N complete after N iterations |
|
|
36
|
-
| HH:MM | **GATE: pr
|
|
36
|
+
| HH:MM | **GATE: pr** |
|
|
37
37
|
|
|
38
38
|
### Autonomous Operation
|
|
39
39
|
|
|
@@ -43,7 +43,7 @@ All times [timezone], [date range].
|
|
|
43
43
|
| Human gate wait | ~Nh Nm | Idle — waiting for approval |
|
|
44
44
|
| Implementation → PR | ~Nh Nm | N phases, N consultation rounds |
|
|
45
45
|
|
|
46
|
-
**Total wall clock** (first commit to pr
|
|
46
|
+
**Total wall clock** (first commit to pr): **Xh Ym**
|
|
47
47
|
**Total autonomous work time** (excluding gate waits): **~Xh Ym**
|
|
48
48
|
**Context window resets**: [N] (resumed automatically / required manual restart)
|
|
49
49
|
|