@cluesmith/codev 3.0.0-rc.0 → 3.0.0-rc.10
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 +8 -0
- 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 +21 -13
- 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 +357 -49
- 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 +7 -1
- package/dist/agent-farm/commands/team.d.ts.map +1 -1
- package/dist/agent-farm/commands/team.js +36 -4
- 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.d.ts +1 -0
- package/dist/agent-farm/commands/tower.d.ts.map +1 -1
- package/dist/agent-farm/commands/tower.js +54 -3
- 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 +24 -15
- 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 +15 -1
- 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 +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 +118 -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 +6 -2
- package/dist/commands/consult/index.d.ts.map +1 -1
- package/dist/commands/consult/index.js +231 -183
- 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/lib/team.d.ts.map +1 -1
- package/dist/lib/team.js +4 -1
- package/dist/lib/team.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 -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 +2 -2
- package/skeleton/protocols/air/protocol.md +1 -2
- package/skeleton/protocols/aspir/builder-prompt.md +28 -6
- 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 +1 -1
- 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 +72 -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/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,65 +0,0 @@
|
|
|
1
|
-
# {{protocol_name}} Builder ({{mode}} mode)
|
|
2
|
-
|
|
3
|
-
You are implementing {{input_description}}.
|
|
4
|
-
|
|
5
|
-
{{#if mode_soft}}
|
|
6
|
-
## Mode: SOFT
|
|
7
|
-
You are running in SOFT mode. This means:
|
|
8
|
-
- You follow the TICK protocol yourself (no porch orchestration)
|
|
9
|
-
- The architect monitors your work and verifies you're adhering to the protocol
|
|
10
|
-
- Run consultations manually when the protocol calls for them
|
|
11
|
-
- You have flexibility in execution, but must stay compliant with the protocol
|
|
12
|
-
{{/if}}
|
|
13
|
-
|
|
14
|
-
{{#if mode_strict}}
|
|
15
|
-
## Mode: STRICT
|
|
16
|
-
You are running in STRICT mode. This means:
|
|
17
|
-
- Porch orchestrates your work
|
|
18
|
-
- Run: `porch next` to get your next tasks
|
|
19
|
-
- Follow porch signals and gate approvals
|
|
20
|
-
|
|
21
|
-
### ABSOLUTE RESTRICTIONS (STRICT MODE)
|
|
22
|
-
- **NEVER edit `status.yaml` directly** — only porch commands may modify project state
|
|
23
|
-
- **NEVER call `porch approve` without explicit human approval** — only run it after the architect says to
|
|
24
|
-
- **NEVER skip the 3-way review** — always follow porch next → porch done cycle
|
|
25
|
-
{{/if}}
|
|
26
|
-
|
|
27
|
-
## Protocol
|
|
28
|
-
Follow the TICK protocol: `codev/protocols/tick/protocol.md`
|
|
29
|
-
|
|
30
|
-
TICK is for amendments to existing SPIR specifications. You will:
|
|
31
|
-
1. Identify the target spec to amend
|
|
32
|
-
2. Update the spec with the amendment
|
|
33
|
-
3. Update the plan
|
|
34
|
-
4. Implement the changes
|
|
35
|
-
5. Defend with tests
|
|
36
|
-
6. Create review
|
|
37
|
-
|
|
38
|
-
{{#if spec}}
|
|
39
|
-
## Target Spec
|
|
40
|
-
The spec to amend is at: `{{spec.path}}`
|
|
41
|
-
{{/if}}
|
|
42
|
-
|
|
43
|
-
{{#if plan}}
|
|
44
|
-
## Target Plan
|
|
45
|
-
The plan to amend is at: `{{plan.path}}`
|
|
46
|
-
{{/if}}
|
|
47
|
-
|
|
48
|
-
{{#if task}}
|
|
49
|
-
## Amendment Description
|
|
50
|
-
{{task_text}}
|
|
51
|
-
{{/if}}
|
|
52
|
-
|
|
53
|
-
## Handling Flaky Tests
|
|
54
|
-
|
|
55
|
-
If you encounter **pre-existing flaky tests** (intermittent failures unrelated to your changes):
|
|
56
|
-
1. **DO NOT** edit `status.yaml` to bypass checks
|
|
57
|
-
2. **DO NOT** skip porch checks or use any workaround to avoid the failure
|
|
58
|
-
3. **DO** mark the test as skipped with a clear annotation (e.g., `it.skip('...') // FLAKY: skipped pending investigation`)
|
|
59
|
-
4. **DO** document each skipped flaky test in your review under a `## Flaky Tests` section
|
|
60
|
-
5. Commit the skip and continue with your work
|
|
61
|
-
|
|
62
|
-
## Getting Started
|
|
63
|
-
1. Read the TICK protocol thoroughly
|
|
64
|
-
2. Identify what needs to change in the existing spec
|
|
65
|
-
3. Follow the amendment workflow
|
|
@@ -1,72 +0,0 @@
|
|
|
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
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
# Plan Review Prompt
|
|
2
|
-
|
|
3
|
-
## Context
|
|
4
|
-
You are reviewing an implementation plan during the Plan phase. The spec has been approved - now you must evaluate whether the plan adequately describes HOW to implement it.
|
|
5
|
-
|
|
6
|
-
## Focus Areas
|
|
7
|
-
|
|
8
|
-
1. **Spec Coverage**
|
|
9
|
-
- Does the plan address all requirements in the spec?
|
|
10
|
-
- Are there spec requirements not covered by any phase?
|
|
11
|
-
- Are there phases that go beyond the spec scope?
|
|
12
|
-
|
|
13
|
-
2. **Phase Breakdown**
|
|
14
|
-
- Are phases appropriately sized (not too large or too small)?
|
|
15
|
-
- Is the sequence logical (dependencies respected)?
|
|
16
|
-
- Can each phase be completed and committed independently?
|
|
17
|
-
|
|
18
|
-
3. **Technical Approach**
|
|
19
|
-
- Is the implementation approach sound?
|
|
20
|
-
- Are the right files/modules being modified?
|
|
21
|
-
- Are there obvious better approaches being missed?
|
|
22
|
-
|
|
23
|
-
4. **Testability**
|
|
24
|
-
- Does each phase have clear test criteria?
|
|
25
|
-
- Will the Defend step (writing tests) be feasible?
|
|
26
|
-
- Are edge cases from the spec addressable?
|
|
27
|
-
|
|
28
|
-
5. **Risk Assessment**
|
|
29
|
-
- Are there potential blockers not addressed?
|
|
30
|
-
- Are dependencies on other systems identified?
|
|
31
|
-
- Is the plan realistic given constraints?
|
|
32
|
-
|
|
33
|
-
## Verdict Format
|
|
34
|
-
|
|
35
|
-
After your review, provide your verdict in exactly this format:
|
|
36
|
-
|
|
37
|
-
```
|
|
38
|
-
---
|
|
39
|
-
VERDICT: [APPROVE | REQUEST_CHANGES | COMMENT]
|
|
40
|
-
SUMMARY: [One-line summary of your assessment]
|
|
41
|
-
CONFIDENCE: [HIGH | MEDIUM | LOW]
|
|
42
|
-
---
|
|
43
|
-
KEY_ISSUES:
|
|
44
|
-
- [Issue 1 or "None"]
|
|
45
|
-
- [Issue 2]
|
|
46
|
-
...
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
**Verdict meanings:**
|
|
50
|
-
- `APPROVE`: Plan is ready for human review
|
|
51
|
-
- `REQUEST_CHANGES`: Significant issues with approach or coverage
|
|
52
|
-
- `COMMENT`: Minor suggestions, plan is workable but could improve
|
|
53
|
-
|
|
54
|
-
## Notes
|
|
55
|
-
|
|
56
|
-
- The spec has already been approved - don't re-litigate spec decisions
|
|
57
|
-
- Focus on the quality of the plan as a guide for builders
|
|
58
|
-
- Consider: Would a builder be able to follow this plan successfully?
|
|
59
|
-
- If referencing existing code, verify file paths seem accurate
|
|
@@ -1,72 +0,0 @@
|
|
|
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
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
# Specification Review Prompt
|
|
2
|
-
|
|
3
|
-
## Context
|
|
4
|
-
You are reviewing a feature specification during the Specify phase. Your role is to ensure the spec is complete, correct, and feasible before it moves to human approval.
|
|
5
|
-
|
|
6
|
-
## Focus Areas
|
|
7
|
-
|
|
8
|
-
1. **Completeness**
|
|
9
|
-
- Are all requirements clearly stated?
|
|
10
|
-
- Are success criteria defined?
|
|
11
|
-
- Are edge cases considered?
|
|
12
|
-
- Is scope well-bounded (not too broad or vague)?
|
|
13
|
-
|
|
14
|
-
2. **Correctness**
|
|
15
|
-
- Do requirements make sense technically?
|
|
16
|
-
- Are there contradictions?
|
|
17
|
-
- Is the problem statement accurate?
|
|
18
|
-
|
|
19
|
-
3. **Feasibility**
|
|
20
|
-
- Can this be implemented with available tools/constraints?
|
|
21
|
-
- Are there obvious technical blockers?
|
|
22
|
-
- Is the scope realistic for a single spec?
|
|
23
|
-
|
|
24
|
-
4. **Clarity**
|
|
25
|
-
- Would a builder understand what to build?
|
|
26
|
-
- Are acceptance criteria testable?
|
|
27
|
-
- Is terminology consistent?
|
|
28
|
-
|
|
29
|
-
## Verdict Format
|
|
30
|
-
|
|
31
|
-
After your review, provide your verdict in exactly this format:
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
---
|
|
35
|
-
VERDICT: [APPROVE | REQUEST_CHANGES | COMMENT]
|
|
36
|
-
SUMMARY: [One-line summary of your assessment]
|
|
37
|
-
CONFIDENCE: [HIGH | MEDIUM | LOW]
|
|
38
|
-
---
|
|
39
|
-
KEY_ISSUES:
|
|
40
|
-
- [Issue 1 or "None"]
|
|
41
|
-
- [Issue 2]
|
|
42
|
-
...
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**Verdict meanings:**
|
|
46
|
-
- `APPROVE`: Spec is ready for human review
|
|
47
|
-
- `REQUEST_CHANGES`: Significant issues must be fixed before proceeding
|
|
48
|
-
- `COMMENT`: Minor suggestions, can proceed but consider feedback
|
|
49
|
-
|
|
50
|
-
## Notes
|
|
51
|
-
|
|
52
|
-
- You are NOT reviewing code - you are reviewing the specification document
|
|
53
|
-
- Focus on WHAT is being built, not HOW it will be implemented (that's for plan review)
|
|
54
|
-
- Be constructive - identify issues AND suggest solutions
|
|
55
|
-
- If the spec references other specs, note if context seems missing
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "../../protocol-schema.json",
|
|
3
|
-
"name": "tick",
|
|
4
|
-
"version": "1.1.0",
|
|
5
|
-
"description": "Amendment workflow for existing SPIR specifications",
|
|
6
|
-
"input": {
|
|
7
|
-
"type": "spec",
|
|
8
|
-
"required": false
|
|
9
|
-
},
|
|
10
|
-
"phases": [
|
|
11
|
-
{
|
|
12
|
-
"id": "identify",
|
|
13
|
-
"name": "Identify Target",
|
|
14
|
-
"description": "Find the existing spec to amend",
|
|
15
|
-
"type": "once",
|
|
16
|
-
"steps": [
|
|
17
|
-
"analyze_requirements",
|
|
18
|
-
"find_target_spec",
|
|
19
|
-
"verify_spec_integrated",
|
|
20
|
-
"determine_tick_number"
|
|
21
|
-
],
|
|
22
|
-
"transition": {
|
|
23
|
-
"on_complete": "amend_spec"
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"id": "amend_spec",
|
|
28
|
-
"name": "Amend Specification",
|
|
29
|
-
"description": "Update the existing specification",
|
|
30
|
-
"type": "once",
|
|
31
|
-
"steps": [
|
|
32
|
-
"analyze_changes_needed",
|
|
33
|
-
"update_spec_sections",
|
|
34
|
-
"add_amendment_entry",
|
|
35
|
-
"commit_spec_changes"
|
|
36
|
-
],
|
|
37
|
-
"transition": {
|
|
38
|
-
"on_complete": "amend_plan"
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"id": "amend_plan",
|
|
43
|
-
"name": "Amend Plan",
|
|
44
|
-
"description": "Update the existing plan",
|
|
45
|
-
"type": "once",
|
|
46
|
-
"steps": [
|
|
47
|
-
"update_plan_phases",
|
|
48
|
-
"add_amendment_history",
|
|
49
|
-
"commit_plan_changes"
|
|
50
|
-
],
|
|
51
|
-
"transition": {
|
|
52
|
-
"on_complete": "implement"
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
"id": "implement",
|
|
57
|
-
"name": "Implement",
|
|
58
|
-
"description": "Implement the amendment",
|
|
59
|
-
"type": "once",
|
|
60
|
-
"steps": [
|
|
61
|
-
"implement_changes",
|
|
62
|
-
"self_review",
|
|
63
|
-
"commit"
|
|
64
|
-
],
|
|
65
|
-
"checks": {
|
|
66
|
-
"build": {
|
|
67
|
-
"command": "npm run build",
|
|
68
|
-
"on_fail": "retry",
|
|
69
|
-
"max_retries": 2
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
"transition": {
|
|
73
|
-
"on_complete": "defend"
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
"id": "defend",
|
|
78
|
-
"name": "Defend",
|
|
79
|
-
"description": "Test the amendment",
|
|
80
|
-
"type": "once",
|
|
81
|
-
"steps": [
|
|
82
|
-
"write_tests",
|
|
83
|
-
"run_tests",
|
|
84
|
-
"fix_failures"
|
|
85
|
-
],
|
|
86
|
-
"checks": {
|
|
87
|
-
"tests": {
|
|
88
|
-
"command": "npm test",
|
|
89
|
-
"on_fail": "implement",
|
|
90
|
-
"max_retries": 1
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
"transition": {
|
|
94
|
-
"on_complete": "evaluate"
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
"id": "evaluate",
|
|
99
|
-
"name": "Evaluate",
|
|
100
|
-
"description": "Verify amendment meets requirements",
|
|
101
|
-
"type": "once",
|
|
102
|
-
"steps": [
|
|
103
|
-
"verify_requirements",
|
|
104
|
-
"check_regressions"
|
|
105
|
-
],
|
|
106
|
-
"transition": {
|
|
107
|
-
"on_complete": "review"
|
|
108
|
-
}
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
"id": "review",
|
|
112
|
-
"name": "Review",
|
|
113
|
-
"description": "Create review document and PR",
|
|
114
|
-
"type": "once",
|
|
115
|
-
"steps": [
|
|
116
|
-
"create_tick_review",
|
|
117
|
-
"create_pr"
|
|
118
|
-
],
|
|
119
|
-
"consultation": {
|
|
120
|
-
"on": "review",
|
|
121
|
-
"models": ["gemini", "codex"],
|
|
122
|
-
"type": "impl",
|
|
123
|
-
"parallel": true,
|
|
124
|
-
"max_rounds": 1
|
|
125
|
-
},
|
|
126
|
-
"gate": "pr"
|
|
127
|
-
}
|
|
128
|
-
],
|
|
129
|
-
"signals": {
|
|
130
|
-
"PHASE_COMPLETE": {
|
|
131
|
-
"description": "Signal current phase is complete",
|
|
132
|
-
"transitions_to": "next_phase"
|
|
133
|
-
},
|
|
134
|
-
"BLOCKED": {
|
|
135
|
-
"description": "Signal implementation is blocked",
|
|
136
|
-
"requires": "reason"
|
|
137
|
-
}
|
|
138
|
-
},
|
|
139
|
-
"defaults": {
|
|
140
|
-
"mode": "strict",
|
|
141
|
-
"consultation": {
|
|
142
|
-
"enabled": true,
|
|
143
|
-
"models": ["gemini", "codex"],
|
|
144
|
-
"parallel": true
|
|
145
|
-
},
|
|
146
|
-
"checks": {
|
|
147
|
-
"build": "npm run build",
|
|
148
|
-
"test": "npm test"
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|