You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
4. Implement against the hierarchical TODOs and keep the comment current:
186
186
- Check off completed items.
187
+
- Add newly discovered items in the appropriate section.
188
+
- Keep parent/child structure intact as scope evolves.
189
+
- Update the workpad immediately after each meaningful milestone (for example: reproduction complete, code change landed, validation run, review feedback addressed).
190
+
- Never leave completed work unchecked in the plan.
191
+
- For tickets that started as `Todo` with an attached PR, run the full PR feedback sweep protocol immediately after kickoff and before new feature work.
192
+
5. Run validation/tests required for the scope.
193
+
- Mandatory gate: execute all ticket-provided `Validation`/`Test Plan`/ `Testing` requirements when present; treat unmet items as incomplete work.
194
+
- Prefer a targeted proof that directly demonstrates the behavior you changed.
195
+
- You may make temporary local proof edits to validate assumptions (for example: tweak a local build input for `make`, or hardcode a UI account / response path) when this increases confidence.
196
+
- Revert every temporary proof edit before commit/push.
197
+
- Document these temporary proof steps and outcomes in the workpad `Validation`/`Notes` sections so reviewers can follow the evidence.
198
+
- If app-touching, run `launch-app` validation and capture/upload media via `github-pr-media` before handoff.
199
+
6. Re-check all acceptance criteria and close any gaps.
200
+
7. Before every `git push` attempt, run the required validation for your scope and confirm it passes; if it fails, address issues and rerun until green, then commit and push changes.
201
+
8. Attach PR URL to the issue (prefer attachment; use the workpad comment only if attachment is unavailable).
202
+
- Ensure the GitHub PR has label `symphony` (add it if missing).
203
+
9. Merge latest `origin/main` into branch, resolve conflicts, and rerun checks.
204
+
10. Update the workpad comment with final checklist status and validation notes.
205
+
- Mark completed plan/acceptance/validation checklist items as checked.
206
+
- Add final handoff notes (commit + validation summary) in the same workpad comment.
207
+
- Do not include PR URL in the workpad comment; keep PR linkage on the issue via attachment/link fields.
208
+
- Add a short `### Confusions` section at the bottom when any part of task execution was unclear/confusing, with concise bullets.
209
+
- Do not post any additional completion summary comment.
210
+
11. Before moving to `Human Review`, poll PR feedback and checks:
211
+
- Read the PR `Manual QA Plan` comment (when present) and use it to sharpen UI/runtime test coverage for the current change.
212
+
- Run the full PR feedback sweep protocol.
213
+
- Confirm PR checks are passing (green) after the latest changes.
214
+
- Confirm every required ticket-provided validation/test-plan item is explicitly marked complete in the workpad.
215
+
- Repeat this check-address-verify loop until no outstanding comments remain and checks are fully passing.
216
+
- Re-open and refresh the workpad before state transition so `Plan`, `Acceptance Criteria`, and `Validation` exactly match completed work.
217
+
12. Only then move issue to `Human Review`.
218
+
- Exception: if blocked by missing required non-GitHub tools/auth per the blocked-access escape hatch, move to `Human Review` with the blocker brief and explicit unblock actions.
219
+
13. For `Todo` tickets that already had a PR attached at kickoff:
220
+
- Ensure all existing PR feedback was reviewed and resolved, including inline review comments (code changes or explicit, justified pushback response).
221
+
- Ensure branch was pushed with any required updates.
222
+
- Then move to `Human Review`.
223
+
224
+
## Step 3: Human Review and merge handling
225
+
226
+
1. When the issue is in `Human Review`, do not code or change ticket content.
227
+
2. Poll for updates as needed, including GitHub PR review comments from humans and bots.
228
+
3. If review feedback requires changes, move the issue to `Rework` and follow the rework flow.
229
+
4. If approved, human moves the issue to `Merging`.
230
+
5. When the issue is in `Merging`, open and follow `.codex/skills/land/SKILL.md`, then run the `land` skill in a loop until the PR is merged. Do not call `gh pr merge` directly.
231
+
6. After merge is complete, move the issue to `Done`.
232
+
233
+
## Step 4: Rework handling
234
+
235
+
1. Treat `Rework` as a full approach reset, not incremental patching.
236
+
2. Re-read the full issue body and all human comments; explicitly identify what will be done differently this attempt.
237
+
3. Close the existing PR tied to the issue.
238
+
4. Remove the existing `## Codex Workpad` comment from the issue.
239
+
5. Create a fresh branch from `origin/main`.
240
+
6. Start over from the normal kickoff flow:
241
+
- If current issue state is `Todo`, move it to `In Progress`; otherwise keep the current state.
242
+
- Create a new bootstrap `## Codex Workpad` comment.
243
+
- Build a fresh plan/checklist and execute end-to-end.
244
+
245
+
## Completion bar before Human Review
246
+
247
+
- Step 1/2 checklist is fully complete and accurately reflected in the single workpad comment.
248
+
- Acceptance criteria and required ticket-provided validation items are complete.
249
+
- Validation/tests are green for the latest commit.
250
+
- PR feedback sweep is complete and no actionable comments remain.
251
+
- PR checks are green, branch is pushed, and PR is linked on the issue.
252
+
- Required PR metadata is present (`symphony` label).
253
+
- If app-touching, runtime validation/media requirements from `App runtime validation (required)` are complete.
254
+
255
+
## Guardrails
256
+
257
+
- If the branch PR is already closed/merged, do not reuse that branch or prior implementation state for continuation.
258
+
- For closed/merged branch PRs, create a new branch from `origin/main` and restart from reproduction/planning as if starting fresh.
259
+
- If issue state is `Backlog`, do not modify it; wait for human to move to `Todo`.
260
+
- Do not edit the issue body/description for planning or progress tracking.
261
+
- Use exactly one persistent workpad comment (`## Codex Workpad`) per issue.
262
+
- If comment editing is unavailable in-session, use the update script. Only report blocked if both MCP editing and script-based editing are unavailable.
263
+
- Temporary proof edits are allowed only for local verification and must be reverted before commit.
264
+
- If out-of-scope improvements are found, create a separate Backlog issue rather
265
+
than expanding current scope, and include a clear
266
+
title/description/acceptance criteria, same-project assignment, a `related`
267
+
link to the current issue, and `blockedBy` when the follow-up depends on the
268
+
current issue.
269
+
- Do not move to `Human Review` unless the `Completion bar before Human Review` is satisfied.
270
+
- In `Human Review`, do not make changes; wait and poll.
271
+
- If state is terminal (`Done`), do nothing and shut down.
272
+
- Keep issue text concise, specific, and reviewer-oriented.
273
+
- If blocked and no workpad exists yet, add one blocker comment describing blocker, impact, and next unblock action.
274
+
275
+
## Workpad template
276
+
277
+
Use this exact structure for the persistent workpad comment and keep it updated in place throughout execution:
0 commit comments