@cluesmith/codev 3.0.5 → 3.0.6

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.
Files changed (77) hide show
  1. package/dashboard-dist/assets/{index-Dn9zmcKp.js → index-CR-uu485.js} +29 -29
  2. package/dashboard-dist/assets/index-CR-uu485.js.map +1 -0
  3. package/dashboard-dist/assets/{index-BWYZtvwm.css → index-nCeIzV_d.css} +1 -1
  4. package/dashboard-dist/index.html +2 -2
  5. package/dist/agent-farm/cli.js +1 -1
  6. package/dist/agent-farm/cli.js.map +1 -1
  7. package/dist/agent-farm/commands/cleanup.js +13 -0
  8. package/dist/agent-farm/commands/cleanup.js.map +1 -1
  9. package/dist/agent-farm/commands/dev.d.ts.map +1 -1
  10. package/dist/agent-farm/commands/dev.js +10 -3
  11. package/dist/agent-farm/commands/dev.js.map +1 -1
  12. package/dist/agent-farm/commands/spawn-worktree.d.ts +12 -3
  13. package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
  14. package/dist/agent-farm/commands/spawn-worktree.js +17 -6
  15. package/dist/agent-farm/commands/spawn-worktree.js.map +1 -1
  16. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  17. package/dist/agent-farm/commands/spawn.js +52 -21
  18. package/dist/agent-farm/commands/spawn.js.map +1 -1
  19. package/dist/agent-farm/db/index.d.ts.map +1 -1
  20. package/dist/agent-farm/db/index.js +34 -0
  21. package/dist/agent-farm/db/index.js.map +1 -1
  22. package/dist/agent-farm/db/schema.d.ts +1 -1
  23. package/dist/agent-farm/db/schema.d.ts.map +1 -1
  24. package/dist/agent-farm/db/schema.js +1 -1
  25. package/dist/agent-farm/servers/analytics.d.ts.map +1 -1
  26. package/dist/agent-farm/servers/analytics.js +1 -0
  27. package/dist/agent-farm/servers/analytics.js.map +1 -1
  28. package/dist/agent-farm/servers/overview.d.ts +25 -3
  29. package/dist/agent-farm/servers/overview.d.ts.map +1 -1
  30. package/dist/agent-farm/servers/overview.js +72 -10
  31. package/dist/agent-farm/servers/overview.js.map +1 -1
  32. package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
  33. package/dist/agent-farm/servers/tower-routes.js +54 -14
  34. package/dist/agent-farm/servers/tower-routes.js.map +1 -1
  35. package/dist/agent-farm/types.d.ts +1 -1
  36. package/dist/agent-farm/types.d.ts.map +1 -1
  37. package/dist/agent-farm/utils/agent-names.d.ts.map +1 -1
  38. package/dist/agent-farm/utils/agent-names.js +3 -0
  39. package/dist/agent-farm/utils/agent-names.js.map +1 -1
  40. package/dist/cli.js +1 -1
  41. package/dist/cli.js.map +1 -1
  42. package/dist/commands/porch/artifacts.d.ts +23 -1
  43. package/dist/commands/porch/artifacts.d.ts.map +1 -1
  44. package/dist/commands/porch/artifacts.js +51 -62
  45. package/dist/commands/porch/artifacts.js.map +1 -1
  46. package/dist/commands/porch/index.d.ts +23 -2
  47. package/dist/commands/porch/index.d.ts.map +1 -1
  48. package/dist/commands/porch/index.js +83 -4
  49. package/dist/commands/porch/index.js.map +1 -1
  50. package/dist/commands/porch/notify.d.ts +27 -5
  51. package/dist/commands/porch/notify.d.ts.map +1 -1
  52. package/dist/commands/porch/notify.js +23 -12
  53. package/dist/commands/porch/notify.js.map +1 -1
  54. package/dist/commands/porch/state.d.ts +1 -1
  55. package/dist/commands/porch/state.d.ts.map +1 -1
  56. package/dist/commands/porch/state.js +8 -6
  57. package/dist/commands/porch/state.js.map +1 -1
  58. package/dist/lib/github.d.ts +8 -0
  59. package/dist/lib/github.d.ts.map +1 -1
  60. package/dist/lib/github.js +29 -2
  61. package/dist/lib/github.js.map +1 -1
  62. package/dist/lib/team-github.d.ts +4 -0
  63. package/dist/lib/team-github.d.ts.map +1 -1
  64. package/dist/lib/team-github.js +14 -3
  65. package/dist/lib/team-github.js.map +1 -1
  66. package/package.json +4 -4
  67. package/skeleton/protocols/pir/builder-prompt.md +92 -0
  68. package/skeleton/protocols/pir/consult-types/impl-review.md +78 -0
  69. package/skeleton/protocols/pir/consult-types/pr-review.md +65 -0
  70. package/skeleton/protocols/pir/prompts/implement.md +156 -0
  71. package/skeleton/protocols/pir/prompts/plan.md +133 -0
  72. package/skeleton/protocols/pir/prompts/review.md +261 -0
  73. package/skeleton/protocols/pir/protocol.json +125 -0
  74. package/skeleton/protocols/pir/protocol.md +204 -0
  75. package/skeleton/templates/AGENTS.md +24 -0
  76. package/skeleton/templates/CLAUDE.md +24 -0
  77. package/dashboard-dist/assets/index-Dn9zmcKp.js.map +0 -1
@@ -0,0 +1,78 @@
1
+ # Implementation Review Prompt (PIR)
2
+
3
+ ## Context
4
+
5
+ You are reviewing the implementation of a PIR protocol project before it reaches the `dev-approval` human gate. A builder has implemented the approved plan and written a dev-approval summary. Your job is to verify the implementation matches the plan and is ready for human review.
6
+
7
+ ## CRITICAL: Verify Before Flagging
8
+
9
+ Before requesting changes for missing configuration, incorrect patterns, or framework issues:
10
+ 1. **Check `package.json`** for actual dependency versions — framework conventions change between major versions
11
+ 2. **Read the actual config files** (or confirm their deliberate absence) before flagging missing configs
12
+ 3. **Do not assume** your training data reflects the version in use — verify against project files
13
+ 4. If "Previous Iteration Context" is provided, read it carefully before re-raising concerns that were already disputed
14
+
15
+ ## Focus Areas
16
+
17
+ 1. **Plan Adherence**
18
+ - Does the implementation fulfill the approved plan?
19
+ - Are all "Files to Change" actually changed?
20
+ - Are the changes scoped to what the plan described, or has scope crept?
21
+
22
+ 2. **Code Quality**
23
+ - Is the code readable and maintainable?
24
+ - Are there obvious bugs?
25
+ - Are error cases handled appropriately?
26
+ - Is the change minimal — no unnecessary refactoring or unrelated tidy-ups?
27
+
28
+ 3. **Test Coverage**
29
+ - Are the tests adequate for the changes?
30
+ - Do tests cover both the main path and the edge cases the plan called out?
31
+ - For a bug fix: is there a regression test that would fail without the fix?
32
+
33
+ 4. **Review File Quality**
34
+ - Does `codev/reviews/<id>-<slug>.md` exist and follow the template?
35
+ - Does it accurately describe what changed?
36
+ - Is "Things to Look At" honest about tricky spots?
37
+ - Is "How to Test Locally" specific enough that the human reviewer can act on it?
38
+
39
+ 5. **PIR-Specific Concerns**
40
+ - For UI / mobile / cross-platform changes: does the review file explain platform-specific behavior the human should verify?
41
+ - For changes with external integrations: are the integration points documented?
42
+
43
+ ## Verdict Format
44
+
45
+ After your review, provide your verdict in exactly this format:
46
+
47
+ ```
48
+ ---
49
+ VERDICT: [APPROVE | REQUEST_CHANGES | COMMENT]
50
+ SUMMARY: [One-line summary of your assessment]
51
+ CONFIDENCE: [HIGH | MEDIUM | LOW]
52
+ ---
53
+ KEY_ISSUES:
54
+ - [Issue 1 or "None"]
55
+ - [Issue 2]
56
+ ...
57
+ ```
58
+
59
+ **Verdict meanings:**
60
+ - `APPROVE`: Ready for human at the `dev-approval` gate
61
+ - `REQUEST_CHANGES`: Issues that must be fixed before reaching the human
62
+ - `COMMENT`: Minor suggestions, can proceed but note feedback
63
+
64
+ ## Scope
65
+
66
+ - **DO** review the implementation against the approved plan
67
+ - **DO** flag missing regression tests for bug fixes
68
+ - **DO** flag obvious bugs, code smells, security issues
69
+ - **DO NOT** redesign the approach — that was settled at `plan-approval`
70
+ - **DO NOT** demand changes outside the plan's scope
71
+ - **DO NOT** request architecture-level refactors unless the change introduces a clear new problem
72
+
73
+ ## Notes
74
+
75
+ - This is a pre-gate review; the human is the final authority
76
+ - Focus on "is this ready for someone else to test in a browser / simulator"
77
+ - If referencing line numbers, use `file:line` format
78
+ - The builder needs actionable feedback to iterate
@@ -0,0 +1,65 @@
1
+ # PR Review Prompt (PIR)
2
+
3
+ ## Context
4
+
5
+ You are performing the CMAP-2 review of a PIR protocol PR. The builder has implemented an approved plan, the human has approved the `dev-approval` gate (meaning a human has run the code locally and tested it), and the PR has been opened. This is a single advisory pass (`max_iterations: 1`) — your verdict is surfaced to the human at the `pr` gate, who is the sole remaining reviewer; it is not auto-re-reviewed.
6
+
7
+ ## Focus Areas
8
+
9
+ 1. **Completeness**
10
+ - Is the PR body the review file content + `Fixes #<N>`?
11
+ - Are all commits properly formatted (`[PIR #<N>] ...`)?
12
+ - Does the diff match what the review file describes?
13
+
14
+ 2. **Test Status**
15
+ - Do all tests pass on the branch?
16
+ - Is test coverage adequate for the change?
17
+ - Are there skipped or flaky tests documented?
18
+
19
+ 3. **Code Quality**
20
+ - Any debug code left in?
21
+ - Any TODO comments that should be resolved?
22
+ - Any `// REVIEW:` markers that weren't addressed?
23
+
24
+ 4. **Branch Hygiene**
25
+ - Is the branch up to date with main? (If not, suggest a rebase.)
26
+ - Are commits atomic and well-described?
27
+ - Is the change diff a reasonable size for the issue scope?
28
+
29
+ 5. **Issue Linkage**
30
+ - Does the PR body contain `Fixes #<N>` (or `Refs #<N>` for partial fixes)?
31
+ - Without this, GitHub won't auto-close the issue on merge
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`: Ready to merge
51
+ - `REQUEST_CHANGES`: Issues to fix before merging
52
+ - `COMMENT`: Minor items, can merge but note feedback
53
+
54
+ ## Scope
55
+
56
+ - **DO** flag missing `Fixes #<N>` lines
57
+ - **DO** flag obvious problems the human reviewer at the gate might have missed
58
+ - **DO NOT** redesign the approach — that was settled at `plan-approval` and validated at `dev-approval`
59
+ - **DO NOT** demand changes the human reviewer already accepted at the `dev-approval` gate (the human ran the code and approved it; you didn't)
60
+
61
+ ## Notes
62
+
63
+ - The human at the `dev-approval` gate is the primary reviewer for behavior; you are the secondary reviewer for hygiene and edge cases
64
+ - Focus on "what would an integration reviewer catch that the gate reviewer missed"
65
+ - If referencing line numbers, use `file:line` format
@@ -0,0 +1,156 @@
1
+ # IMPLEMENT Phase Prompt
2
+
3
+ You are executing the **IMPLEMENT** phase of the PIR protocol.
4
+
5
+ ## Your Goal
6
+
7
+ Implement the approved plan, write tests, and pause at the `dev-approval` gate so the human can verify behavior by running the worktree locally. No file artifact is produced in this phase — the retrospective (review file) is written in the next phase, after the human has approved the running code.
8
+
9
+ ## Context
10
+
11
+ - **Project ID**: {{project_id}}
12
+ - **Issue Number**: #{{issue.number}}
13
+ - **Issue Title**: {{issue.title}}
14
+ - **Plan File**: `codev/plans/{{artifact_name}}.md` (already approved)
15
+
16
+ ## Resumption Check (do this FIRST)
17
+
18
+ Run `porch next {{project_id}}`. If the response is `gate_pending` on `dev-approval`, the code is already written and you're awaiting review. In that case:
19
+
20
+ 1. Check for feedback:
21
+ - `git diff main` — has the reviewer made any direct edits to your code?
22
+ - `gh issue view {{issue.number}} --comments`
23
+ - `afx send` queue messages
24
+ 2. If feedback requires code changes: make them, re-run build + tests, recommit.
25
+ 3. If feedback is a discussion question: respond and stay in the session.
26
+
27
+ Otherwise (`tasks` response — first run), continue below.
28
+
29
+ ## Process
30
+
31
+ ### 1. Re-Read the Plan
32
+
33
+ ```bash
34
+ cat codev/plans/{{artifact_name}}.md
35
+ ```
36
+
37
+ The plan is your authoritative scope. Stick to it. If you discover the plan is wrong while implementing, stop and signal `BLOCKED` rather than silently deviating.
38
+
39
+ ### 2. Implement the Code
40
+
41
+ Follow the plan's "Files to Change" section. Apply the changes.
42
+
43
+ **Code quality standards:**
44
+ - Self-documenting code (clear names, obvious structure)
45
+ - No commented-out code
46
+ - No debug prints
47
+ - Explicit error handling
48
+ - Follow project style guide
49
+
50
+ **Commit cadence:** commit each logical unit separately. Use the format:
51
+
52
+ ```
53
+ [PIR #{{issue.number}}] <Concise description of this commit's change>
54
+ ```
55
+
56
+ **Never use `git add .` or `git add -A`.** Stage files explicitly:
57
+
58
+ ```bash
59
+ git add path/to/changed-file.ts
60
+ git commit -m "[PIR #{{issue.number}}] ..."
61
+ ```
62
+
63
+ ### 3. Write Tests
64
+
65
+ The plan's "Test Plan" section lists what to verify. Write the corresponding tests:
66
+
67
+ - Unit tests for new functions
68
+ - Integration tests for cross-component flows
69
+ - Regression tests for any bug fixes
70
+
71
+ **Test quality:**
72
+ - Test behavior, not implementation
73
+ - Avoid overmocking — only mock external dependencies (APIs, databases, file systems)
74
+ - Use real implementations for internal module boundaries
75
+
76
+ ### 4. Verify Everything Works
77
+
78
+ ```bash
79
+ npm run build # or project equivalent
80
+ npm test # or project equivalent
81
+ ```
82
+
83
+ Both MUST pass before signaling phase complete. If a test is flaky (intermittent failure unrelated to your changes), skip it with annotation — you'll document each skipped test in the review file in the next phase.
84
+
85
+ **Flaky ≠ pre-existing unrelated failure.** If the suite surfaces a *deterministic* failure your diff did not cause (e.g., a stale test broken by another team's earlier refactor, or a type error in an unrelated package), that is **out of scope** — do not fix it, skip it, or quarantine it to force a green. Note it for the review file's Lessons Learned and proceed. Porch's gate `checks` are narrow structural assertions, not a full-suite proof; making an unrelated red go green is scope creep, not diligence.
86
+
87
+ ### 5. Push Your Branch
88
+
89
+ ```bash
90
+ git push -u origin "$(git branch --show-current)"
91
+ ```
92
+
93
+ So the reviewer can pull / inspect from elsewhere if they want.
94
+
95
+ ### 6. Signal Phase Complete
96
+
97
+ ```bash
98
+ porch done {{project_id}}
99
+ porch next {{project_id}}
100
+ ```
101
+
102
+ PIR's `implement` phase has no AI consult — the `dev-approval` gate becomes pending immediately, and the human is the sole reviewer of the running code. (CMAP-2 runs later, in the `review` phase, after the human approves the gate and the PR is opened.)
103
+
104
+ ### 7. End Your Turn With a Code-Review Summary (Prose, Not a File)
105
+
106
+ When the gate goes pending, output a short prose summary in the pane to orient the human reviewer. This is **not** a committed file — it's a transient message to help them inspect the change. Structure:
107
+
108
+ > **What changed**: 2–3 sentence summary.
109
+ >
110
+ > **Files**: `git diff --stat main` style list — paths and +/-.
111
+ >
112
+ > **Test results**: `npm run build` ✓, `npm test` ✓ (X tests, Y new).
113
+ >
114
+ > **Things to look at**: tricky spots, platform-specific behavior, anything you want the reviewer to focus on.
115
+ >
116
+ > **How to test locally**: VSCode → right-click builder → **Run Dev Server**, or `afx dev pir-{{project_id}}`. View diff via VSCode → **View Diff** (auto-detects the repo's default branch).
117
+ >
118
+ > Ready for review — type feedback here, or approve with `porch approve {{project_id}} dev-approval --a-human-explicitly-approved-this` (Cmd+K G in VSCode).
119
+
120
+ Then **stay in the interactive session**. Do not exit. Wait for the user's next message.
121
+
122
+ (Optional: if your team prefers an issue-thread record, you can also post a one-line comment on the GitHub issue pointing reviewers at the worktree branch. The summary itself stays in the pane — don't duplicate it as a committed file. That's the next phase's job, and that file will be a proper retrospective with arch + lessons updates, not a transient dev-approval note.)
123
+
124
+ ## Signals
125
+
126
+ ```
127
+ <signal>PHASE_COMPLETE</signal> # Implementation + tests done; dev-approval gate becomes pending
128
+ <signal>BLOCKED:reason</signal> # Cannot proceed
129
+ ```
130
+
131
+ ## What NOT to Do
132
+
133
+ - **Don't write `codev/reviews/<id>-<slug>.md` in this phase** — it's the next phase's artifact, with a different shape (retrospective with arch + lessons updates)
134
+ - Don't add features not in the plan — scope creep is a `BLOCKED` signal, not a free expansion
135
+ - Don't run `porch approve` yourself
136
+ - Don't push to main — only to your builder branch
137
+ - Don't squash commits — let the merge commit preserve history
138
+ - Don't use `git add .` or `git add -A`
139
+ - Don't open the PR yet — that's the `review` phase
140
+ - Don't exit the interactive session at the gate
141
+
142
+ ## Handling Feedback at the Gate
143
+
144
+ The reviewer will run your code via `afx dev` and test it. They may:
145
+
146
+ - Approve immediately → porch advances to the `review` phase
147
+ - Type feedback in the pane / send via `afx send` / edit code in the worktree / comment on the issue
148
+ - Ask clarifying questions about specific files or behaviors
149
+
150
+ When they provide feedback:
151
+
152
+ 1. If it's code feedback: make the change, run build + tests, recommit
153
+ 2. If it's a discussion question: answer it in the pane
154
+ 3. Don't re-run `porch done` unless porch's `verify` block needs to re-validate — porch will tell you
155
+
156
+ The gate stays pending until the human approves.
@@ -0,0 +1,133 @@
1
+ # PLAN Phase Prompt
2
+
3
+ You are executing the **PLAN** phase of the PIR protocol.
4
+
5
+ ## Your Goal
6
+
7
+ Read the GitHub issue, investigate the codebase, and write a plan to `codev/plans/{{artifact_name}}.md`. The plan is reviewed by a human at the `plan-approval` gate before any code is written.
8
+
9
+ ## Context
10
+
11
+ - **Project ID**: {{project_id}}
12
+ - **Issue Number**: #{{issue.number}}
13
+ - **Issue Title**: {{issue.title}}
14
+ - **Artifact**: `codev/plans/{{artifact_name}}.md`
15
+
16
+ ## Resumption Check (do this FIRST)
17
+
18
+ Run `porch next {{project_id}}`. If the response is `gate_pending`, you have already drafted the plan and are awaiting review. In that case:
19
+
20
+ 1. Read your current plan file: `cat codev/plans/{{artifact_name}}.md`
21
+ 2. Check for new feedback that may have arrived while you were idle:
22
+ - `git diff HEAD~1 codev/plans/{{artifact_name}}.md` — the reviewer may have edited the file directly
23
+ - `gh issue view {{issue.number}} --comments` — check for new comments
24
+ - Read any `afx send` queue messages
25
+ 3. If feedback exists, revise the plan and recommit. If not, end the turn with a short "still awaiting review" message and stay in the interactive session.
26
+
27
+ Otherwise (`tasks` response — this is your first run), continue with the steps below.
28
+
29
+ ## Process
30
+
31
+ ### 1. Read the Issue
32
+
33
+ ```bash
34
+ gh issue view {{issue.number}}
35
+ ```
36
+
37
+ Understand what's being asked. For a bug, identify the symptom. For a feature, identify the desired outcome.
38
+
39
+ ### 2. Investigate the Codebase
40
+
41
+ - Use Glob / Grep / Read to find the relevant code
42
+ - For a bug: trace the failure path, identify the root cause
43
+ - For a feature: find the existing patterns and integration points
44
+ - Note any existing utilities, components, or conventions you should reuse
45
+
46
+ ### 3. Write the Plan
47
+
48
+ Create `codev/plans/{{artifact_name}}.md` where `<slug>` is a short kebab-case description of the change. Use this structure:
49
+
50
+ ```markdown
51
+ # PIR Plan: <Short Title>
52
+
53
+ ## Understanding
54
+
55
+ What the issue is asking for, in your own words. For a bug, include the root cause you identified — back it up with file:line references.
56
+
57
+ ## Proposed Change
58
+
59
+ The approach you intend to take. Be specific. If there are multiple valid approaches, pick one and explain why.
60
+
61
+ ## Files to Change
62
+
63
+ Concrete file paths. Use `file:line` format for specific edits where possible.
64
+
65
+ - `path/to/file.ts:42-55` — what changes
66
+ - `path/to/new-file.ts` — new file, what it does
67
+
68
+ ## Risks & Alternatives Considered
69
+
70
+ - Risk: what could go wrong; mitigation
71
+ - Alternative: <other approach>; why rejected
72
+
73
+ ## Test Plan
74
+
75
+ How to verify this works once implemented. The reviewer will use this at the `dev-approval` gate to test the running worktree.
76
+
77
+ - Unit test: <what to test>
78
+ - Manual: <what to click / observe>
79
+ - Cross-platform: <if applicable — what to verify on iOS / Android / web>
80
+ ```
81
+
82
+ ### 4. Commit and Push
83
+
84
+ ```bash
85
+ git add codev/plans/{{artifact_name}}.md
86
+ git commit -m "[PIR #{{issue.number}}] Plan draft"
87
+ git push -u origin "$(git branch --show-current)"
88
+ ```
89
+
90
+ **Never use `git add .` or `git add -A`.**
91
+
92
+ ### 5. Signal Phase Complete
93
+
94
+ ```bash
95
+ porch done {{project_id}}
96
+ porch next {{project_id}}
97
+ ```
98
+
99
+ `porch next` will respond with `gate_pending` on the `plan-approval` gate. Porch automatically notifies the architect.
100
+
101
+ ### 6. End Your Turn With a Prose Summary
102
+
103
+ Output something like:
104
+
105
+ > Plan written to `codev/plans/{{artifact_name}}.md` and committed. Ready for review — type any feedback here, edit the plan file directly in VSCode, or approve with `porch approve {{project_id}} plan-approval --a-human-explicitly-approved-this` (Cmd+K G in VSCode).
106
+
107
+ Then **stay in the interactive session**. Do not exit. Wait for the user's next message.
108
+
109
+ ## Signals
110
+
111
+ ```
112
+ <signal>PHASE_COMPLETE</signal> # Plan drafted (informational; the real signal is porch done)
113
+ <signal>BLOCKED:reason</signal> # Cannot proceed
114
+ ```
115
+
116
+ ## What NOT to Do
117
+
118
+ - Don't write code — that's the implement phase
119
+ - Don't run `porch approve` yourself — only the human can approve the gate
120
+ - Don't post the plan content as a GitHub issue comment — the plan lives in the file, not the issue thread. A one-line pointer comment on the issue is fine if you think it helps the discussion.
121
+ - Don't use `git add .` or `git add -A`
122
+ - Don't exit the interactive session at the gate
123
+
124
+ ## Handling Feedback
125
+
126
+ When the reviewer provides feedback (typed in pane, file-edit, `afx send`, or issue comment):
127
+
128
+ 1. Re-read the plan file (the user may have edited it)
129
+ 2. Apply the requested changes to your plan
130
+ 3. Recommit: `git add codev/plans/{{artifact_name}}.md && git commit -m "[PIR #{{issue.number}}] Plan revised"`
131
+ 4. Push
132
+ 5. Output a short "Revised — see commit X" message
133
+ 6. Wait for next input — the gate remains pending until the human approves