@cluesmith/codev 3.0.0-rc.1 → 3.0.0-rc.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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-Bs8I7N2s.css} +1 -1
- package/dashboard-dist/assets/index-CkNo2z6t.js +195 -0
- package/dashboard-dist/assets/index-CkNo2z6t.js.map +1 -0
- package/dashboard-dist/dist/assets/index-Bs8I7N2s.css +32 -0
- package/dashboard-dist/dist/assets/index-CkNo2z6t.js +195 -0
- package/dashboard-dist/dist/assets/index-CkNo2z6t.js.map +1 -0
- package/{dashboard → dashboard-dist}/dist/index.html +2 -2
- package/dashboard-dist/index.html +14 -0
- package/dist/agent-farm/cli.d.ts.map +1 -1
- package/dist/agent-farm/cli.js +17 -14
- 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.js +8 -8
- 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/cleanup.d.ts.map +1 -1
- package/dist/agent-farm/commands/cleanup.js +10 -5
- package/dist/agent-farm/commands/cleanup.js.map +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.d.ts +4 -1
- package/dist/agent-farm/commands/send.d.ts.map +1 -1
- package/dist/agent-farm/commands/send.js +8 -5
- 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 +2 -1
- package/dist/agent-farm/commands/spawn-roles.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn-roles.js +1 -1
- package/dist/agent-farm/commands/spawn-roles.js.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.d.ts +49 -10
- package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.js +356 -51
- 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 +182 -74
- 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.d.ts.map +1 -1
- package/dist/agent-farm/commands/team-update.js +8 -5
- package/dist/agent-farm/commands/team-update.js.map +1 -1
- package/dist/agent-farm/commands/team.d.ts +1 -1
- package/dist/agent-farm/commands/team.d.ts.map +1 -1
- package/dist/agent-farm/commands/team.js +7 -3
- package/dist/agent-farm/commands/team.js.map +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/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 +10 -8
- package/dist/agent-farm/servers/overview.d.ts.map +1 -1
- package/dist/agent-farm/servers/overview.js +78 -38
- 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 +15 -13
- 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 +9 -16
- package/dist/agent-farm/servers/tower-routes.js.map +1 -1
- package/dist/agent-farm/servers/tower-server.js +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 +64 -36
- 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 +13 -7
- package/dist/agent-farm/servers/tower-utils.js.map +1 -1
- package/dist/agent-farm/types.d.ts +13 -0
- 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 +39 -17
- 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/roles.d.ts +11 -4
- package/dist/agent-farm/utils/roles.d.ts.map +1 -1
- package/dist/agent-farm/utils/roles.js +21 -6
- package/dist/agent-farm/utils/roles.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +40 -5
- package/dist/cli.js.map +1 -1
- package/dist/commands/adopt.d.ts.map +1 -1
- package/dist/commands/adopt.js +16 -45
- 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 +281 -194
- package/dist/commands/consult/index.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +121 -31
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +13 -43
- 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 +14 -3
- package/dist/commands/porch/checks.d.ts.map +1 -1
- package/dist/commands/porch/checks.js +150 -4
- package/dist/commands/porch/checks.js.map +1 -1
- package/dist/commands/porch/config.d.ts +6 -9
- package/dist/commands/porch/config.d.ts.map +1 -1
- package/dist/commands/porch/config.js +12 -37
- package/dist/commands/porch/config.js.map +1 -1
- package/dist/commands/porch/index.d.ts +12 -7
- package/dist/commands/porch/index.d.ts.map +1 -1
- package/dist/commands/porch/index.js +273 -82
- 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 +142 -75
- 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 +34 -38
- package/dist/commands/porch/prompts.js.map +1 -1
- package/dist/commands/porch/protocol.d.ts +4 -3
- package/dist/commands/porch/protocol.d.ts.map +1 -1
- package/dist/commands/porch/protocol.js +21 -21
- package/dist/commands/porch/protocol.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 +100 -9
- package/dist/commands/porch/state.js.map +1 -1
- package/dist/commands/porch/types.d.ts +10 -2
- package/dist/commands/porch/types.d.ts.map +1 -1
- package/dist/commands/sync.d.ts +26 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +207 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/update.d.ts +15 -2
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +159 -202
- package/dist/commands/update.js.map +1 -1
- package/dist/lib/config.d.ts +96 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +165 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/forge-contracts.d.ts +100 -0
- package/dist/lib/forge-contracts.d.ts.map +1 -0
- package/dist/lib/forge-contracts.js +35 -0
- package/dist/lib/forge-contracts.js.map +1 -0
- package/dist/lib/forge.d.ts +102 -0
- package/dist/lib/forge.d.ts.map +1 -0
- package/dist/lib/forge.js +376 -0
- package/dist/lib/forge.js.map +1 -0
- package/dist/lib/github.d.ts +68 -60
- package/dist/lib/github.d.ts.map +1 -1
- package/dist/lib/github.js +160 -169
- package/dist/lib/github.js.map +1 -1
- package/dist/lib/skeleton.d.ts +15 -5
- package/dist/lib/skeleton.d.ts.map +1 -1
- package/dist/lib/skeleton.js +82 -7
- package/dist/lib/skeleton.js.map +1 -1
- package/dist/lib/team-github.d.ts +7 -3
- package/dist/lib/team-github.d.ts.map +1 -1
- package/dist/lib/team-github.js +29 -19
- 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 +27 -24
- package/scripts/forge/gitea/auth-status.sh +3 -0
- package/scripts/forge/gitea/issue-comment.sh +3 -0
- package/scripts/forge/gitea/issue-list.sh +3 -0
- package/scripts/forge/gitea/issue-view.sh +3 -0
- package/scripts/forge/gitea/pr-exists.sh +6 -0
- package/scripts/forge/gitea/pr-list.sh +3 -0
- package/scripts/forge/gitea/pr-merge.sh +3 -0
- package/scripts/forge/gitea/pr-view.sh +3 -0
- package/scripts/forge/gitea/recently-closed.sh +3 -0
- package/scripts/forge/gitea/recently-merged.sh +3 -0
- package/scripts/forge/gitea/repo-archive.sh +11 -0
- package/scripts/forge/gitea/user-identity.sh +3 -0
- package/scripts/forge/github/auth-status.sh +4 -0
- package/scripts/forge/github/issue-comment.sh +5 -0
- package/scripts/forge/github/issue-list.sh +4 -0
- package/scripts/forge/github/issue-view.sh +5 -0
- package/scripts/forge/github/on-it-timestamps.sh +8 -0
- package/scripts/forge/github/pr-diff.sh +10 -0
- package/scripts/forge/github/pr-exists.sh +7 -0
- package/scripts/forge/github/pr-list.sh +4 -0
- package/scripts/forge/github/pr-merge.sh +5 -0
- package/scripts/forge/github/pr-search.sh +5 -0
- package/scripts/forge/github/pr-view.sh +11 -0
- package/scripts/forge/github/recently-closed.sh +15 -0
- package/scripts/forge/github/recently-merged.sh +15 -0
- package/scripts/forge/github/repo-archive.sh +10 -0
- package/scripts/forge/github/team-activity.sh +5 -0
- package/scripts/forge/github/user-identity.sh +4 -0
- package/scripts/forge/gitlab/auth-status.sh +3 -0
- package/scripts/forge/gitlab/issue-comment.sh +3 -0
- package/scripts/forge/gitlab/issue-list.sh +3 -0
- package/scripts/forge/gitlab/issue-view.sh +3 -0
- package/scripts/forge/gitlab/pr-diff.sh +3 -0
- package/scripts/forge/gitlab/pr-exists.sh +5 -0
- package/scripts/forge/gitlab/pr-list.sh +3 -0
- package/scripts/forge/gitlab/pr-merge.sh +3 -0
- package/scripts/forge/gitlab/pr-search.sh +3 -0
- package/scripts/forge/gitlab/pr-view.sh +3 -0
- package/scripts/forge/gitlab/recently-closed.sh +3 -0
- package/scripts/forge/gitlab/recently-merged.sh +3 -0
- package/scripts/forge/gitlab/repo-archive.sh +12 -0
- package/scripts/forge/gitlab/user-identity.sh +3 -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/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 +111 -409
- package/skeleton/protocols/maintain/templates/maintenance-run.md +18 -49
- package/skeleton/protocols/protocol-schema.json +1 -1
- 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 +2 -2
- 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 +1 -1
- package/skeleton/resources/workflow-reference.md +14 -14
- package/skeleton/roles/architect.md +55 -43
- package/skeleton/roles/builder.md +22 -14
- package/skeleton/templates/AGENTS.md +4 -3
- package/skeleton/templates/CLAUDE.md +4 -3
- package/skeleton/templates/cheatsheet.md +11 -12
- package/templates/3d-viewer.html +16 -18
- package/templates/tower.html +1 -1
- package/dashboard/dist/assets/index-CiIBsixF.js +0 -194
- package/dashboard/dist/assets/index-CiIBsixF.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
|
@@ -1,64 +1,33 @@
|
|
|
1
|
-
# Maintenance Run
|
|
1
|
+
# Maintenance Run NNNN
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
- **PR**: #NNN
|
|
7
|
-
- **Scope**: full | code-only | docs-only
|
|
3
|
+
**Date**: YYYY-MM-DD
|
|
4
|
+
**Base Commit**: <hash>
|
|
5
|
+
**PR**: #NNN
|
|
8
6
|
|
|
9
7
|
## Changes Since Last Run
|
|
10
8
|
|
|
11
|
-
|
|
9
|
+
<key commits or summary>
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
git log --oneline <last-maint-commit>..HEAD
|
|
15
|
-
```
|
|
11
|
+
## What Was Done
|
|
16
12
|
|
|
17
|
-
|
|
13
|
+
### Dead Code Removed
|
|
14
|
+
- <file>: <item> — <reason>
|
|
18
15
|
|
|
19
|
-
###
|
|
20
|
-
-
|
|
21
|
-
- [ ] Unused dependencies
|
|
22
|
-
- [ ] Dependency updates
|
|
23
|
-
- [ ] Test maintenance
|
|
16
|
+
### Dependencies Cleaned
|
|
17
|
+
- <package> — <reason>
|
|
24
18
|
|
|
25
|
-
### Documentation
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
- [ ] CLAUDE.md / AGENTS.md sync
|
|
29
|
-
- [ ] Documentation pruning (obsolete content, size limits)
|
|
19
|
+
### Documentation Updated
|
|
20
|
+
- arch.md: <what changed>
|
|
21
|
+
- lessons-learned.md: <what changed>
|
|
30
22
|
|
|
31
|
-
###
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
## Findings
|
|
36
|
-
|
|
37
|
-
<!-- Notable discoveries during maintenance -->
|
|
38
|
-
|
|
39
|
-
## Documentation Changes
|
|
40
|
-
|
|
41
|
-
<!-- REQUIRED: Log all documentation deletions/moves with justification -->
|
|
42
|
-
|
|
43
|
-
### arch.md
|
|
44
|
-
| Section | Action | Reason |
|
|
45
|
-
|---------|--------|--------|
|
|
46
|
-
| (example) | KEPT/MOVED/DELETED | (justification) |
|
|
47
|
-
|
|
48
|
-
### CLAUDE.md
|
|
49
|
-
| Section | Action | Reason |
|
|
50
|
-
|---------|--------|--------|
|
|
51
|
-
| (example) | KEPT/MOVED/DELETED | (justification) |
|
|
52
|
-
|
|
53
|
-
### README.md
|
|
54
|
-
| Section | Action | Reason |
|
|
55
|
-
|---------|--------|--------|
|
|
56
|
-
| (example) | KEPT/MOVED/DELETED | (justification) |
|
|
23
|
+
### Documentation Changes Log
|
|
24
|
+
| Document | Section | Action | Reason |
|
|
25
|
+
|----------|---------|--------|--------|
|
|
57
26
|
|
|
58
27
|
## Deferred
|
|
59
28
|
|
|
60
|
-
|
|
29
|
+
- <items found but not fixed, with reason>
|
|
61
30
|
|
|
62
31
|
## Summary
|
|
63
32
|
|
|
64
|
-
|
|
33
|
+
<2-3 sentences>
|
|
@@ -37,7 +37,7 @@ Follow this 3-step workflow. You can skip or reorder steps as the investigation
|
|
|
37
37
|
- Write findings to `codev/spikes/<id>-<name>.md` using the template
|
|
38
38
|
- Provide a clear feasibility verdict: Feasible / Not Feasible / Feasible with Caveats
|
|
39
39
|
- Commit the findings document
|
|
40
|
-
- Notify the architect: `
|
|
40
|
+
- Notify the architect: `afx send architect "Spike <id> complete. Verdict: [verdict]"`
|
|
41
41
|
|
|
42
42
|
## Key Principles
|
|
43
43
|
|
|
@@ -10,7 +10,7 @@ Time-boxed technical feasibility exploration. Answer "Can we do X?" and "What wo
|
|
|
10
10
|
|
|
11
11
|
**Use for**: Quick technical feasibility investigations, proof-of-concept explorations, "can we do X?" questions, evaluating approaches before committing to SPIR
|
|
12
12
|
|
|
13
|
-
**Skip for**: Production code (use SPIR), formal hypothesis testing (use EXPERIMENT), bug fixes (use BUGFIX)
|
|
13
|
+
**Skip for**: Production code (use SPIR), formal hypothesis testing (use EXPERIMENT), bug fixes (use BUGFIX)
|
|
14
14
|
|
|
15
15
|
### Spike vs Experiment
|
|
16
16
|
|
|
@@ -25,8 +25,8 @@ Time-boxed technical feasibility exploration. Answer "Can we do X?" and "What wo
|
|
|
25
25
|
## Spawning a Spike
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
afx spawn --task "Can we use WebSockets for real-time updates?" --protocol spike
|
|
29
|
+
afx spawn --task "What would it take to support SQLite FTS?" --protocol spike
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
Spikes are always soft mode — no porch orchestration, no gates, no consultation.
|
|
@@ -83,7 +83,7 @@ POC code from the iterate step is committed to the spike branch alongside the fi
|
|
|
83
83
|
|
|
84
84
|
In all cases, notify the architect:
|
|
85
85
|
```bash
|
|
86
|
-
|
|
86
|
+
afx send architect "Spike <id> complete. Verdict: [feasible/not feasible/caveats]"
|
|
87
87
|
```
|
|
88
88
|
|
|
89
89
|
## Git Workflow
|
|
@@ -53,12 +53,35 @@ Follow the implementation plan at: `{{plan.path}}`
|
|
|
53
53
|
{{task_text}}
|
|
54
54
|
{{/if}}
|
|
55
55
|
|
|
56
|
+
## Multi-PR Workflow
|
|
57
|
+
|
|
58
|
+
Your worktree is persistent — it survives across PR merges. You can produce multiple PRs sequentially:
|
|
59
|
+
|
|
60
|
+
1. Cut a branch, open a PR, wait for merge
|
|
61
|
+
2. After merge: `git fetch origin main && git checkout -b <next-branch> origin/main`
|
|
62
|
+
3. Continue to the next phase, open another PR
|
|
63
|
+
4. Repeat
|
|
64
|
+
|
|
65
|
+
**Important**: Do NOT run `git checkout main` — git worktrees cannot check out a branch that's checked out elsewhere. Always branch off `origin/main` via fetch.
|
|
66
|
+
|
|
67
|
+
Record PRs in status.yaml: `porch done {{project_id}} --pr <N> --branch <name>`
|
|
68
|
+
Record merges: `porch done {{project_id}} --merged <N>`
|
|
69
|
+
|
|
70
|
+
## Verify Phase
|
|
71
|
+
|
|
72
|
+
After the final PR merges, the project enters the **verify** phase. You stay alive through verify:
|
|
73
|
+
1. Pull main into your worktree
|
|
74
|
+
2. Run `porch done {{project_id}}` to signal verification is ready
|
|
75
|
+
3. The architect approves `verify-approval` when satisfied
|
|
76
|
+
|
|
77
|
+
If verification is not needed: `porch verify {{project_id}} --skip "reason"`
|
|
78
|
+
|
|
56
79
|
## Notifications
|
|
57
|
-
Always use `
|
|
58
|
-
- **Gate reached**: `
|
|
59
|
-
- **PR ready**: `
|
|
60
|
-
- **PR merged**: `
|
|
61
|
-
- **Blocked**: `
|
|
80
|
+
Always use `afx send architect "..."` to notify the architect at key moments:
|
|
81
|
+
- **Gate reached**: `afx send architect "Project {{project_id}}: <gate-name> ready for approval"`
|
|
82
|
+
- **PR ready**: `afx send architect "PR #N ready for review (project {{project_id}})"`
|
|
83
|
+
- **PR merged**: `afx send architect "Project {{project_id}} PR merged. Entering verify phase."`
|
|
84
|
+
- **Blocked**: `afx send architect "Blocked on project {{project_id}}: [reason]"`
|
|
62
85
|
|
|
63
86
|
## Handling Flaky Tests
|
|
64
87
|
|
|
@@ -181,11 +181,22 @@ Before PR:
|
|
|
181
181
|
porch consultation reviews the actual PR, and the architect can review a real PR
|
|
182
182
|
when the pr gate fires.
|
|
183
183
|
|
|
184
|
+
**PR body requirements**: The PR body MUST include `Closes #<N>` (for feature issues)
|
|
185
|
+
or `Fixes #<N>` (for bug issues) for the driving GitHub issue. If the PR closes
|
|
186
|
+
multiple issues (e.g. duplicates consolidated), include one keyword per issue.
|
|
187
|
+
Without this, GitHub will not auto-close the issue on merge.
|
|
188
|
+
|
|
189
|
+
**Exception**: if this PR only partially addresses the issue (e.g. one phase of a
|
|
190
|
+
multi-PR effort), DO NOT use `Closes`/`Fixes` — reference the issue with `Refs #<N>`
|
|
191
|
+
or `Part of #<N>` instead. The issue stays open until the follow-up PR closes it.
|
|
192
|
+
|
|
184
193
|
```bash
|
|
185
194
|
gh pr create --title "[Spec {{project_id}}] {{title}}" --body "$(cat <<'EOF'
|
|
186
195
|
## Summary
|
|
187
196
|
[Brief description of the implementation]
|
|
188
197
|
|
|
198
|
+
Closes #<N> <!-- Replace <N> with the driving issue number, or use "Refs #<N>" for partial fixes -->
|
|
199
|
+
|
|
189
200
|
## Changes
|
|
190
201
|
- [Change 1]
|
|
191
202
|
- [Change 2]
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
},
|
|
54
54
|
"checks": {
|
|
55
55
|
"plan_exists": "test -f codev/plans/${PROJECT_TITLE}.md",
|
|
56
|
-
"has_phases_json": "grep -
|
|
56
|
+
"has_phases_json": "grep -qE '\"phases\"\\s*:' codev/plans/${PROJECT_TITLE}.md",
|
|
57
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",
|
|
@@ -135,6 +135,14 @@
|
|
|
135
135
|
}
|
|
136
136
|
},
|
|
137
137
|
"gate": "pr",
|
|
138
|
+
"next": "verify"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"id": "verify",
|
|
142
|
+
"name": "Verify",
|
|
143
|
+
"description": "Post-merge environmental verification (optional — skip with porch verify --skip)",
|
|
144
|
+
"type": "once",
|
|
145
|
+
"gate": "verify-approval",
|
|
138
146
|
"next": null
|
|
139
147
|
}
|
|
140
148
|
],
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
## Prerequisites
|
|
10
10
|
|
|
11
11
|
**Clean Worktree Before Spawning Builders**:
|
|
12
|
-
- All specs, plans, and local changes **MUST be committed** before `
|
|
12
|
+
- All specs, plans, and local changes **MUST be committed** before `afx spawn`
|
|
13
13
|
- Builders work in git worktrees branched from HEAD — uncommitted files are invisible
|
|
14
14
|
- This includes `codev update` results, spec drafts, and plan approvals
|
|
15
|
-
- The `
|
|
15
|
+
- The `afx spawn` command enforces this (use `--force` to override)
|
|
16
16
|
|
|
17
17
|
**Required for Multi-Agent Consultation**:
|
|
18
18
|
- The `consult` CLI must be available (installed with `npm install -g @cluesmith/codev`)
|
|
@@ -182,23 +182,3 @@ Phase 1 ──→ Phase 2 ──→ Phase 3
|
|
|
182
182
|
## Notes
|
|
183
183
|
[Additional context, assumptions, or considerations]
|
|
184
184
|
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
## Amendment History
|
|
188
|
-
|
|
189
|
-
This section tracks all TICK amendments to this plan. TICKs modify both the spec and plan together as an atomic unit.
|
|
190
|
-
|
|
191
|
-
<!-- When adding a TICK amendment, add a new entry below this line in chronological order -->
|
|
192
|
-
|
|
193
|
-
<!--
|
|
194
|
-
### TICK-001: [Amendment Title] (YYYY-MM-DD)
|
|
195
|
-
|
|
196
|
-
**Changes**:
|
|
197
|
-
- [Phase added]: [Description of new phase]
|
|
198
|
-
- [Phase modified]: [What was updated]
|
|
199
|
-
- [Implementation steps]: [New steps added]
|
|
200
|
-
|
|
201
|
-
**Review**: See `reviews/####-name-tick-001.md`
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
-->
|
|
@@ -152,31 +152,3 @@ Note: All consultation feedback has been incorporated directly into the relevant
|
|
|
152
152
|
## Notes
|
|
153
153
|
[Any additional context or considerations not covered above]
|
|
154
154
|
|
|
155
|
-
---
|
|
156
|
-
|
|
157
|
-
## Amendments
|
|
158
|
-
|
|
159
|
-
This section tracks all TICK amendments to this specification. TICKs are lightweight changes that refine an existing spec rather than creating a new one.
|
|
160
|
-
|
|
161
|
-
<!-- When adding a TICK amendment, add a new entry below this line in chronological order -->
|
|
162
|
-
|
|
163
|
-
<!--
|
|
164
|
-
### TICK-001: [Amendment Title] (YYYY-MM-DD)
|
|
165
|
-
|
|
166
|
-
**Summary**: [One-line description of what changed]
|
|
167
|
-
|
|
168
|
-
**Problem Addressed**:
|
|
169
|
-
[Why this amendment was needed - what gap or issue in the original spec]
|
|
170
|
-
|
|
171
|
-
**Spec Changes**:
|
|
172
|
-
- [Section modified]: [What changed and why]
|
|
173
|
-
- [New section added]: [Purpose]
|
|
174
|
-
|
|
175
|
-
**Plan Changes**:
|
|
176
|
-
- [Phase added/modified]: [Description]
|
|
177
|
-
- [Implementation steps]: [What was updated]
|
|
178
|
-
|
|
179
|
-
**Review**: See `reviews/####-name-tick-001.md`
|
|
180
|
-
|
|
181
|
-
---
|
|
182
|
-
-->
|