@cluesmith/codev 3.0.0 → 3.0.2
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/LICENSE +201 -0
- package/bin/af.js +2 -2
- package/bin/afx.js +8 -0
- package/bin/consult.js +2 -1
- package/bin/team.js +2 -1
- package/{dashboard/dist/assets/index-nr0cXxtf.css → dashboard-dist/assets/index-BWYZtvwm.css} +1 -1
- package/dashboard-dist/assets/index-Dn9zmcKp.js +195 -0
- package/dashboard-dist/assets/index-Dn9zmcKp.js.map +1 -0
- package/{dashboard/dist → dashboard-dist}/index.html +2 -2
- package/dist/agent-farm/cli.d.ts.map +1 -1
- package/dist/agent-farm/cli.js +27 -19
- package/dist/agent-farm/cli.js.map +1 -1
- package/dist/agent-farm/commands/architect.d.ts +4 -4
- package/dist/agent-farm/commands/architect.d.ts.map +1 -1
- package/dist/agent-farm/commands/architect.js +23 -12
- package/dist/agent-farm/commands/architect.js.map +1 -1
- package/dist/agent-farm/commands/attach.d.ts.map +1 -1
- package/dist/agent-farm/commands/attach.js +101 -11
- package/dist/agent-farm/commands/attach.js.map +1 -1
- package/dist/agent-farm/commands/bench.d.ts +1 -1
- package/dist/agent-farm/commands/bench.js +1 -1
- package/dist/agent-farm/commands/cron.js +1 -1
- package/dist/agent-farm/commands/cron.js.map +1 -1
- package/dist/agent-farm/commands/db.d.ts +3 -3
- package/dist/agent-farm/commands/db.js +4 -4
- package/dist/agent-farm/commands/db.js.map +1 -1
- package/dist/agent-farm/commands/open.js +2 -2
- package/dist/agent-farm/commands/open.js.map +1 -1
- package/dist/agent-farm/commands/rename.js +1 -1
- package/dist/agent-farm/commands/rename.js.map +1 -1
- package/dist/agent-farm/commands/send.js +3 -3
- package/dist/agent-farm/commands/send.js.map +1 -1
- package/dist/agent-farm/commands/shell.js +3 -3
- package/dist/agent-farm/commands/shell.js.map +1 -1
- package/dist/agent-farm/commands/spawn-roles.d.ts +9 -5
- package/dist/agent-farm/commands/spawn-roles.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn-roles.js +48 -28
- package/dist/agent-farm/commands/spawn-roles.js.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.d.ts +5 -5
- package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.js +80 -13
- package/dist/agent-farm/commands/spawn-worktree.js.map +1 -1
- package/dist/agent-farm/commands/spawn.d.ts +6 -6
- package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn.js +90 -53
- package/dist/agent-farm/commands/spawn.js.map +1 -1
- package/dist/agent-farm/commands/status.d.ts.map +1 -1
- package/dist/agent-farm/commands/status.js +48 -3
- package/dist/agent-farm/commands/status.js.map +1 -1
- package/dist/agent-farm/commands/team-update.d.ts +1 -1
- package/dist/agent-farm/commands/team-update.js +1 -1
- package/dist/agent-farm/commands/team.d.ts +1 -1
- package/dist/agent-farm/commands/team.js +1 -1
- package/dist/agent-farm/commands/tower-cloud.d.ts +2 -2
- package/dist/agent-farm/commands/tower-cloud.js +3 -3
- package/dist/agent-farm/commands/tower-cloud.js.map +1 -1
- package/dist/agent-farm/commands/tower.js +2 -2
- 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 +47 -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 +1 -1
- package/dist/agent-farm/db/types.d.ts +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 +6 -230
- package/dist/agent-farm/lib/tower-client.d.ts.map +1 -1
- package/dist/agent-farm/lib/tower-client.js +6 -293
- package/dist/agent-farm/lib/tower-client.js.map +1 -1
- package/dist/agent-farm/lib/tunnel-client.js +1 -1
- package/dist/agent-farm/lib/tunnel-client.js.map +1 -1
- package/dist/agent-farm/servers/message-write.d.ts +24 -0
- package/dist/agent-farm/servers/message-write.d.ts.map +1 -0
- package/dist/agent-farm/servers/message-write.js +63 -0
- package/dist/agent-farm/servers/message-write.js.map +1 -0
- package/dist/agent-farm/servers/overview.d.ts +4 -1
- package/dist/agent-farm/servers/overview.d.ts.map +1 -1
- package/dist/agent-farm/servers/overview.js +38 -5
- package/dist/agent-farm/servers/overview.js.map +1 -1
- package/dist/agent-farm/servers/send-buffer.d.ts +4 -3
- package/dist/agent-farm/servers/send-buffer.d.ts.map +1 -1
- package/dist/agent-farm/servers/send-buffer.js +7 -4
- package/dist/agent-farm/servers/send-buffer.js.map +1 -1
- package/dist/agent-farm/servers/tower-cron-parser.js +1 -1
- package/dist/agent-farm/servers/tower-cron-parser.js.map +1 -1
- package/dist/agent-farm/servers/tower-cron.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-cron.js +4 -5
- package/dist/agent-farm/servers/tower-cron.js.map +1 -1
- package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-instances.js +6 -5
- package/dist/agent-farm/servers/tower-instances.js.map +1 -1
- package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-routes.js +19 -16
- package/dist/agent-farm/servers/tower-routes.js.map +1 -1
- package/dist/agent-farm/servers/tower-server.js +19 -4
- package/dist/agent-farm/servers/tower-server.js.map +1 -1
- package/dist/agent-farm/servers/tower-terminals.d.ts +2 -2
- package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-terminals.js +47 -18
- package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
- package/dist/agent-farm/servers/tower-tunnel.js +2 -2
- package/dist/agent-farm/servers/tower-tunnel.js.map +1 -1
- package/dist/agent-farm/servers/tower-utils.d.ts +9 -6
- package/dist/agent-farm/servers/tower-utils.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-utils.js +12 -6
- package/dist/agent-farm/servers/tower-utils.js.map +1 -1
- package/dist/agent-farm/state.js +1 -1
- package/dist/agent-farm/state.js.map +1 -1
- package/dist/agent-farm/types.d.ts +11 -2
- package/dist/agent-farm/types.d.ts.map +1 -1
- package/dist/agent-farm/utils/config.d.ts +11 -0
- package/dist/agent-farm/utils/config.d.ts.map +1 -1
- package/dist/agent-farm/utils/config.js +21 -0
- package/dist/agent-farm/utils/config.js.map +1 -1
- package/dist/agent-farm/utils/harness.d.ts +85 -0
- package/dist/agent-farm/utils/harness.d.ts.map +1 -0
- package/dist/agent-farm/utils/harness.js +212 -0
- package/dist/agent-farm/utils/harness.js.map +1 -0
- package/dist/agent-farm/utils/server-utils.d.ts +13 -0
- package/dist/agent-farm/utils/server-utils.d.ts.map +1 -1
- package/dist/agent-farm/utils/server-utils.js +38 -0
- package/dist/agent-farm/utils/server-utils.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +19 -5
- package/dist/cli.js.map +1 -1
- package/dist/commands/adopt.js +2 -2
- package/dist/commands/adopt.js.map +1 -1
- package/dist/commands/consult/index.d.ts +37 -3
- package/dist/commands/consult/index.d.ts.map +1 -1
- package/dist/commands/consult/index.js +220 -150
- package/dist/commands/consult/index.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +54 -8
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.js +1 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/porch/artifacts.d.ts +69 -0
- package/dist/commands/porch/artifacts.d.ts.map +1 -0
- package/dist/commands/porch/artifacts.js +368 -0
- package/dist/commands/porch/artifacts.js.map +1 -0
- package/dist/commands/porch/checks.d.ts +8 -1
- package/dist/commands/porch/checks.d.ts.map +1 -1
- package/dist/commands/porch/checks.js +98 -1
- package/dist/commands/porch/checks.js.map +1 -1
- package/dist/commands/porch/index.d.ts +18 -7
- package/dist/commands/porch/index.d.ts.map +1 -1
- package/dist/commands/porch/index.js +299 -61
- 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 +72 -74
- package/dist/commands/porch/next.js.map +1 -1
- package/dist/commands/porch/notify.d.ts +2 -2
- package/dist/commands/porch/notify.js +5 -5
- package/dist/commands/porch/notify.js.map +1 -1
- package/dist/commands/porch/prompts.d.ts +2 -1
- package/dist/commands/porch/prompts.d.ts.map +1 -1
- package/dist/commands/porch/prompts.js +23 -14
- package/dist/commands/porch/prompts.js.map +1 -1
- package/dist/commands/porch/state.d.ts +27 -2
- package/dist/commands/porch/state.d.ts.map +1 -1
- package/dist/commands/porch/state.js +96 -9
- package/dist/commands/porch/state.js.map +1 -1
- package/dist/commands/porch/types.d.ts +8 -0
- package/dist/commands/porch/types.d.ts.map +1 -1
- package/dist/lib/config.d.ts +14 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +7 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/forge-contracts.d.ts +10 -1
- package/dist/lib/forge-contracts.d.ts.map +1 -1
- package/dist/lib/forge-contracts.js.map +1 -1
- package/dist/lib/forge.d.ts.map +1 -1
- package/dist/lib/forge.js +25 -7
- package/dist/lib/forge.js.map +1 -1
- package/dist/lib/team-github.d.ts +49 -0
- package/dist/lib/team-github.d.ts.map +1 -1
- package/dist/lib/team-github.js +115 -6
- package/dist/lib/team-github.js.map +1 -1
- package/dist/terminal/pty-manager.d.ts.map +1 -1
- package/dist/terminal/pty-manager.js +2 -0
- package/dist/terminal/pty-manager.js.map +1 -1
- package/dist/terminal/ws-protocol.d.ts +10 -8
- package/dist/terminal/ws-protocol.d.ts.map +1 -1
- package/dist/terminal/ws-protocol.js +3 -0
- package/dist/terminal/ws-protocol.js.map +1 -1
- package/package.json +28 -25
- package/scripts/forge/gitea/auth-status.sh +0 -0
- package/scripts/forge/gitea/issue-comment.sh +0 -0
- package/scripts/forge/gitea/issue-list.sh +0 -0
- package/scripts/forge/gitea/issue-view.sh +0 -0
- package/scripts/forge/gitea/pr-exists.sh +4 -1
- package/scripts/forge/gitea/pr-list.sh +0 -0
- package/scripts/forge/gitea/pr-merge.sh +0 -0
- package/scripts/forge/gitea/pr-view.sh +0 -0
- package/scripts/forge/gitea/recently-closed.sh +0 -0
- package/scripts/forge/gitea/recently-merged.sh +0 -0
- package/scripts/forge/gitea/repo-archive.sh +0 -0
- package/scripts/forge/gitea/user-identity.sh +0 -0
- package/scripts/forge/github/auth-status.sh +0 -0
- package/scripts/forge/github/issue-comment.sh +0 -0
- package/scripts/forge/github/issue-list.sh +2 -2
- package/scripts/forge/github/issue-view.sh +0 -0
- package/scripts/forge/github/on-it-timestamps.sh +0 -0
- package/scripts/forge/github/pr-diff.sh +0 -0
- package/scripts/forge/github/pr-exists.sh +3 -1
- package/scripts/forge/github/pr-list.sh +2 -2
- package/scripts/forge/github/pr-merge.sh +0 -0
- package/scripts/forge/github/pr-search.sh +0 -0
- package/scripts/forge/github/pr-view.sh +0 -0
- package/scripts/forge/github/recently-closed.sh +0 -0
- package/scripts/forge/github/recently-merged.sh +0 -0
- package/scripts/forge/github/repo-archive.sh +0 -0
- package/scripts/forge/github/team-activity.sh +0 -0
- package/scripts/forge/github/user-identity.sh +0 -0
- package/scripts/forge/gitlab/auth-status.sh +0 -0
- package/scripts/forge/gitlab/issue-comment.sh +0 -0
- package/scripts/forge/gitlab/issue-list.sh +0 -0
- package/scripts/forge/gitlab/issue-view.sh +0 -0
- package/scripts/forge/gitlab/pr-diff.sh +0 -0
- package/scripts/forge/gitlab/pr-exists.sh +3 -1
- package/scripts/forge/gitlab/pr-list.sh +0 -0
- package/scripts/forge/gitlab/pr-merge.sh +0 -0
- package/scripts/forge/gitlab/pr-search.sh +0 -0
- package/scripts/forge/gitlab/pr-view.sh +0 -0
- package/scripts/forge/gitlab/recently-closed.sh +0 -0
- package/scripts/forge/gitlab/recently-merged.sh +0 -0
- package/scripts/forge/gitlab/repo-archive.sh +0 -0
- package/scripts/forge/gitlab/user-identity.sh +0 -0
- package/scripts/forge/linear/auth-status.sh +15 -0
- package/scripts/forge/linear/issue-comment.sh +38 -0
- package/scripts/forge/linear/issue-list.sh +35 -0
- package/scripts/forge/linear/issue-view.sh +37 -0
- package/scripts/forge/linear/recently-closed.sh +45 -0
- package/scripts/forge/linear/user-identity.sh +15 -0
- package/scripts/postinstall.mjs +51 -0
- package/skeleton/.claude/skills/afx/SKILL.md +144 -0
- package/skeleton/.claude/skills/codev/SKILL.md +3 -3
- package/skeleton/.claude/skills/consult/SKILL.md +1 -1
- package/skeleton/.claude/skills/porch/SKILL.md +2 -2
- package/skeleton/.claude/skills/update-arch-docs/SKILL.md +107 -0
- package/skeleton/DEPENDENCIES.md +1 -1
- package/skeleton/builders.md +4 -4
- package/skeleton/protocol-schema.json +2 -2
- package/skeleton/protocols/air/builder-prompt.md +6 -6
- package/skeleton/protocols/air/prompts/pr.md +17 -5
- package/skeleton/protocols/air/protocol.md +1 -2
- package/skeleton/protocols/aspir/builder-prompt.md +28 -6
- package/skeleton/protocols/aspir/prompts/review.md +11 -0
- package/skeleton/protocols/aspir/protocol.json +9 -1
- package/skeleton/protocols/aspir/protocol.md +1 -1
- package/skeleton/protocols/aspir/templates/plan.md +0 -20
- package/skeleton/protocols/aspir/templates/spec.md +0 -28
- package/skeleton/protocols/bugfix/builder-prompt.md +6 -6
- package/skeleton/protocols/bugfix/prompts/pr.md +16 -4
- package/skeleton/protocols/experiment/builder-prompt.md +15 -0
- package/skeleton/protocols/experiment/protocol.md +1 -6
- package/skeleton/protocols/maintain/builder-prompt.md +12 -11
- package/skeleton/protocols/maintain/prompts/maintain.md +88 -0
- package/skeleton/protocols/maintain/prompts/review.md +84 -0
- package/skeleton/protocols/maintain/protocol.json +14 -68
- package/skeleton/protocols/maintain/protocol.md +163 -394
- package/skeleton/protocols/maintain/templates/maintenance-run.md +18 -49
- package/skeleton/protocols/protocol-schema.json +1 -1
- package/skeleton/protocols/research/builder-prompt.md +85 -0
- package/skeleton/protocols/research/protocol.json +118 -0
- package/skeleton/protocols/research/protocol.md +169 -0
- package/skeleton/protocols/spike/builder-prompt.md +1 -1
- package/skeleton/protocols/spike/protocol.md +4 -4
- package/skeleton/protocols/spir/builder-prompt.md +28 -5
- package/skeleton/protocols/spir/prompts/review.md +11 -0
- package/skeleton/protocols/spir/protocol.json +9 -1
- package/skeleton/protocols/spir/protocol.md +6 -5
- package/skeleton/protocols/spir/templates/plan.md +0 -20
- package/skeleton/protocols/spir/templates/spec.md +0 -28
- package/skeleton/resources/commands/agent-farm.md +84 -84
- package/skeleton/resources/commands/codev.md +1 -1
- package/skeleton/resources/commands/consult.md +16 -7
- package/skeleton/resources/commands/overview.md +14 -15
- package/skeleton/resources/risk-triage.md +2 -2
- package/skeleton/resources/workflow-reference.md +14 -14
- package/skeleton/roles/architect.md +39 -39
- package/skeleton/roles/builder.md +22 -14
- package/skeleton/templates/AGENTS.md +5 -3
- package/skeleton/templates/CLAUDE.md +5 -3
- package/skeleton/templates/arch.md +100 -30
- package/skeleton/templates/cheatsheet.md +12 -12
- package/skeleton/templates/lessons-learned.md +45 -7
- package/templates/3d-viewer.html +16 -18
- package/templates/tower.html +1 -1
- package/dashboard/dist/assets/index-CTrlY11L.js +0 -194
- package/dashboard/dist/assets/index-CTrlY11L.js.map +0 -1
- package/skeleton/.claude/skills/af/SKILL.md +0 -146
- package/skeleton/porch/prompts/understand.md +0 -61
- package/skeleton/porch/prompts/verify.md +0 -58
- package/skeleton/protocols/maintain/prompts/audit.md +0 -111
- package/skeleton/protocols/maintain/prompts/clean.md +0 -91
- package/skeleton/protocols/maintain/prompts/sync.md +0 -113
- package/skeleton/protocols/maintain/prompts/verify.md +0 -110
- package/skeleton/protocols/tick/builder-prompt.md +0 -65
- package/skeleton/protocols/tick/consult-types/impl-review.md +0 -72
- package/skeleton/protocols/tick/consult-types/plan-review.md +0 -59
- package/skeleton/protocols/tick/consult-types/pr-review.md +0 -72
- package/skeleton/protocols/tick/consult-types/spec-review.md +0 -55
- package/skeleton/protocols/tick/protocol.json +0 -151
- package/skeleton/protocols/tick/protocol.md +0 -277
- package/skeleton/protocols/tick/templates/plan.md +0 -67
- package/skeleton/protocols/tick/templates/review.md +0 -89
- package/skeleton/protocols/tick/templates/spec.md +0 -61
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# MAINTAIN Phase Prompt
|
|
2
|
+
|
|
3
|
+
You are executing the **maintain** phase — a single pass covering audit, cleanup, and doc sync.
|
|
4
|
+
|
|
5
|
+
## Context
|
|
6
|
+
|
|
7
|
+
- **Current State**: {{current_state}}
|
|
8
|
+
|
|
9
|
+
## Step 1: Determine Scope
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
ls codev/maintain/
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Find the last run number and its base commit. Then see what changed:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
git log --oneline <base-commit>..HEAD
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Create your maintenance run file: `codev/maintain/NNNN.md` (next number in sequence).
|
|
22
|
+
|
|
23
|
+
## Step 2: Audit
|
|
24
|
+
|
|
25
|
+
Identify dead code, unused dependencies, and stale documentation. Don't fix yet — catalog first.
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# Dead exports
|
|
29
|
+
npx ts-prune 2>/dev/null || echo "ts-prune not available"
|
|
30
|
+
|
|
31
|
+
# Unused dependencies
|
|
32
|
+
npx depcheck 2>/dev/null || echo "depcheck not available"
|
|
33
|
+
|
|
34
|
+
# Stale arch.md references
|
|
35
|
+
grep -oE '[a-zA-Z]+/[a-zA-Z/]+\.[a-z]+' codev/resources/arch.md | sort -u | while read f; do
|
|
36
|
+
[ -e "$f" ] || echo "Missing: $f"
|
|
37
|
+
done
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Record all findings in the maintenance run file.
|
|
41
|
+
|
|
42
|
+
## Step 3: Clean
|
|
43
|
+
|
|
44
|
+
For each audit finding:
|
|
45
|
+
1. Verify it's truly unused (grep the codebase)
|
|
46
|
+
2. Remove with `git rm` (tracked) or move to `codev/maintain/.trash/$(date +%Y-%m-%d)/` (untracked)
|
|
47
|
+
3. Build and test: `cd packages/codev && pnpm build && pnpm test`
|
|
48
|
+
4. Commit: `git add <specific-files> && git commit -m "[Maintain] Remove unused X"`
|
|
49
|
+
|
|
50
|
+
One removal at a time. Verify after each. Never use `git add -A`.
|
|
51
|
+
|
|
52
|
+
## Step 4: Sync Documentation
|
|
53
|
+
|
|
54
|
+
**arch.md**: Read `codev/resources/arch.md`, compare with actual codebase. Update directory structure, component descriptions, key files. Remove references to deleted code. Add new components. Explain HOW things work, not just WHAT.
|
|
55
|
+
|
|
56
|
+
**lessons-learned.md**: Scan `codev/reviews/` for new reviews since the base commit. Extract actionable, durable, general lessons.
|
|
57
|
+
|
|
58
|
+
**CLAUDE.md / AGENTS.md**: `diff CLAUDE.md AGENTS.md` — they must be identical. Update the stale one.
|
|
59
|
+
|
|
60
|
+
**Pruning**: Remove obsolete content. Document every deletion with justification (OBSOLETE, DUPLICATIVE, MOVED, VERBOSE). When in doubt, keep.
|
|
61
|
+
|
|
62
|
+
Commit documentation changes:
|
|
63
|
+
```bash
|
|
64
|
+
git add codev/resources/arch.md codev/resources/lessons-learned.md
|
|
65
|
+
git commit -m "[Maintain] Update arch.md and lessons-learned.md"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Step 5: Final Checks
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
cd packages/codev && pnpm build && pnpm test
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Both must pass. Update the maintenance run file with a summary of everything done.
|
|
75
|
+
|
|
76
|
+
## Signals
|
|
77
|
+
|
|
78
|
+
When all work is complete and build/tests pass:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
<signal>PHASE_COMPLETE</signal>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
If blocked:
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
<signal>BLOCKED:reason</signal>
|
|
88
|
+
```
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# REVIEW Phase Prompt
|
|
2
|
+
|
|
3
|
+
You are executing the **review** phase of the MAINTAIN protocol.
|
|
4
|
+
|
|
5
|
+
## Context
|
|
6
|
+
|
|
7
|
+
- **Current State**: {{current_state}}
|
|
8
|
+
|
|
9
|
+
## Process
|
|
10
|
+
|
|
11
|
+
### 1. Final Validation
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
cd packages/codev && pnpm build && pnpm test
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Both must pass. If either fails, fix before proceeding.
|
|
18
|
+
|
|
19
|
+
### 2. Verify Documentation Links
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
grep -oE '[a-zA-Z]+/[a-zA-Z/]+\.[a-z]+' codev/resources/arch.md | sort -u | while read f; do
|
|
23
|
+
[ -e "$f" ] || echo "Missing: $f"
|
|
24
|
+
done
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 3. Finalize Maintenance Run File
|
|
28
|
+
|
|
29
|
+
Update `codev/maintain/NNNN.md` with:
|
|
30
|
+
- PR number (once created)
|
|
31
|
+
- Final summary of what was done
|
|
32
|
+
- Deferred items (if any)
|
|
33
|
+
|
|
34
|
+
### 4. Create PR
|
|
35
|
+
|
|
36
|
+
**PR body requirements**: If this maintenance run was triggered by a GitHub issue
|
|
37
|
+
(e.g. "track down dead X", "clean up Y module"), the PR body MUST include
|
|
38
|
+
`Closes #<N>` for that issue so GitHub auto-closes it on merge. If multiple
|
|
39
|
+
issues are addressed in one run, include one `Closes #<N>` per issue.
|
|
40
|
+
|
|
41
|
+
**Exception**: if this PR only partially addresses a tracking issue (e.g. more
|
|
42
|
+
cleanup passes are planned), use `Refs #<N>` or `Part of #<N>` instead.
|
|
43
|
+
|
|
44
|
+
If the run was not tied to any issue, the `Closes` line can be omitted.
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
git push origin HEAD
|
|
48
|
+
|
|
49
|
+
gh pr create --title "[Maintain] Codebase maintenance run NNNN" --body "$(cat <<'PREOF'
|
|
50
|
+
## Summary
|
|
51
|
+
|
|
52
|
+
<2-3 bullet points of what was done>
|
|
53
|
+
|
|
54
|
+
Closes #<N> <!-- Only if this run was triggered by a GitHub issue. Use "Refs #<N>" for partial cleanup. -->
|
|
55
|
+
|
|
56
|
+
## Changes
|
|
57
|
+
|
|
58
|
+
- Dead code removed: X items
|
|
59
|
+
- Dependencies cleaned: Y packages
|
|
60
|
+
- Documentation updated: arch.md, lessons-learned.md
|
|
61
|
+
- Tests: all passing
|
|
62
|
+
|
|
63
|
+
## Test plan
|
|
64
|
+
|
|
65
|
+
- [x] Build passes
|
|
66
|
+
- [x] All tests pass
|
|
67
|
+
- [x] Documentation links resolve
|
|
68
|
+
PREOF
|
|
69
|
+
)"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Signals
|
|
73
|
+
|
|
74
|
+
When PR is created:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
<signal>PHASE_COMPLETE</signal>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
If blocked:
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
<signal>BLOCKED:reason</signal>
|
|
84
|
+
```
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"$schema": "../../protocol-schema.json",
|
|
3
3
|
"name": "maintain",
|
|
4
4
|
"alias": "maint",
|
|
5
|
-
"version": "
|
|
6
|
-
"description": "Codebase maintenance -
|
|
5
|
+
"version": "3.0.0",
|
|
6
|
+
"description": "Codebase maintenance — single-pass hygiene, doc sync, and cleanup with PR review",
|
|
7
7
|
"input": {
|
|
8
8
|
"type": "protocol",
|
|
9
9
|
"required": false,
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
},
|
|
12
12
|
"phases": [
|
|
13
13
|
{
|
|
14
|
-
"id": "
|
|
15
|
-
"name": "
|
|
16
|
-
"description": "
|
|
14
|
+
"id": "maintain",
|
|
15
|
+
"name": "Maintain",
|
|
16
|
+
"description": "Single-pass: audit, clean dead code, sync docs, verify build",
|
|
17
17
|
"type": "build_verify",
|
|
18
18
|
"build": {
|
|
19
|
-
"prompt": "
|
|
19
|
+
"prompt": "maintain.md",
|
|
20
20
|
"artifact": "codev/maintain/*.md"
|
|
21
21
|
},
|
|
22
22
|
"verify": {
|
|
@@ -24,27 +24,6 @@
|
|
|
24
24
|
"models": ["gemini", "codex", "claude"],
|
|
25
25
|
"parallel": true
|
|
26
26
|
},
|
|
27
|
-
"max_iterations": 3,
|
|
28
|
-
"on_complete": {
|
|
29
|
-
"commit": true,
|
|
30
|
-
"push": true
|
|
31
|
-
},
|
|
32
|
-
"next": "clean"
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"id": "clean",
|
|
36
|
-
"name": "Clean",
|
|
37
|
-
"description": "Remove identified dead code and unused dependencies",
|
|
38
|
-
"type": "build_verify",
|
|
39
|
-
"build": {
|
|
40
|
-
"prompt": "clean.md",
|
|
41
|
-
"artifact": "src/**/*.{ts,tsx,js,jsx}"
|
|
42
|
-
},
|
|
43
|
-
"verify": {
|
|
44
|
-
"type": "impl",
|
|
45
|
-
"models": ["gemini", "codex", "claude"],
|
|
46
|
-
"parallel": true
|
|
47
|
-
},
|
|
48
27
|
"max_iterations": 5,
|
|
49
28
|
"on_complete": {
|
|
50
29
|
"commit": true,
|
|
@@ -52,46 +31,25 @@
|
|
|
52
31
|
},
|
|
53
32
|
"checks": {
|
|
54
33
|
"build": {
|
|
55
|
-
"command": "
|
|
34
|
+
"command": "pnpm build",
|
|
56
35
|
"on_fail": "retry",
|
|
57
36
|
"max_retries": 2
|
|
58
37
|
},
|
|
59
38
|
"tests": {
|
|
60
|
-
"command": "
|
|
39
|
+
"command": "pnpm test",
|
|
61
40
|
"on_fail": "retry",
|
|
62
41
|
"max_retries": 2
|
|
63
42
|
}
|
|
64
43
|
},
|
|
65
|
-
"next": "
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"id": "sync",
|
|
69
|
-
"name": "Sync Documentation",
|
|
70
|
-
"description": "Update documentation to match current codebase",
|
|
71
|
-
"type": "build_verify",
|
|
72
|
-
"build": {
|
|
73
|
-
"prompt": "sync.md",
|
|
74
|
-
"artifact": "codev/resources/*.md"
|
|
75
|
-
},
|
|
76
|
-
"verify": {
|
|
77
|
-
"type": "impl",
|
|
78
|
-
"models": ["gemini", "codex", "claude"],
|
|
79
|
-
"parallel": true
|
|
80
|
-
},
|
|
81
|
-
"max_iterations": 5,
|
|
82
|
-
"on_complete": {
|
|
83
|
-
"commit": true,
|
|
84
|
-
"push": true
|
|
85
|
-
},
|
|
86
|
-
"next": "verify"
|
|
44
|
+
"next": "review"
|
|
87
45
|
},
|
|
88
46
|
{
|
|
89
|
-
"id": "
|
|
90
|
-
"name": "
|
|
91
|
-
"description": "Final validation
|
|
47
|
+
"id": "review",
|
|
48
|
+
"name": "Review",
|
|
49
|
+
"description": "Final validation, PR creation, 3-way review",
|
|
92
50
|
"type": "build_verify",
|
|
93
51
|
"build": {
|
|
94
|
-
"prompt": "
|
|
52
|
+
"prompt": "review.md",
|
|
95
53
|
"artifact": "codev/maintain/*.md"
|
|
96
54
|
},
|
|
97
55
|
"verify": {
|
|
@@ -104,18 +62,6 @@
|
|
|
104
62
|
"commit": true,
|
|
105
63
|
"push": true
|
|
106
64
|
},
|
|
107
|
-
"checks": {
|
|
108
|
-
"build": {
|
|
109
|
-
"command": "npm run build",
|
|
110
|
-
"on_fail": "retry",
|
|
111
|
-
"max_retries": 2
|
|
112
|
-
},
|
|
113
|
-
"tests": {
|
|
114
|
-
"command": "npm test",
|
|
115
|
-
"on_fail": "retry",
|
|
116
|
-
"max_retries": 2
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
65
|
"gate": "maintain-complete",
|
|
120
66
|
"next": null
|
|
121
67
|
}
|
|
@@ -123,7 +69,7 @@
|
|
|
123
69
|
"signals": {
|
|
124
70
|
"PHASE_COMPLETE": {
|
|
125
71
|
"description": "Signal current phase is complete",
|
|
126
|
-
"transitions_to": "
|
|
72
|
+
"transitions_to": "review"
|
|
127
73
|
},
|
|
128
74
|
"BLOCKED": {
|
|
129
75
|
"description": "Signal maintenance is blocked",
|