Repository navigation
develop action: update test plan checklist in PR description after PR creation #88
Copy link
Copy link
Closed
Labels
action:reviewIssue is ready for reviewIssue is ready for reviewenhancementNew feature or requestNew feature or request
Description
Activity
- addedaction:planIssue is ready for planningIssue is ready for planningenhancementNew feature or requestNew feature or request
on Apr 27, 2026 Plan summary
Updated the issue description with finalized Acceptance Criteria, Dependencies, and a step-by-step Implementation Plan. Assigned to @monkut.
Approach
Prompt-only change in
askcc/definitions.pymirroring the pattern from PR #87 (CHANGES_REQUESTED guard):- Insert a new "Update the test plan checklist in the PR description" bullet into the
DEVELOP_AGENT_PROMPT"On completion" block (between PR push and issue comment). - Append a "Test plan update:" section after the "On completion" block — same read → mark → edit flow as
REVIEWPR_AGENT_PROMPT(lines 496–503), with explicit carveouts for manual/external verification items and a silent no-op when no## Test plansection exists. - Add
TestDevelopPromptTestPlanUpdateintests/test_askcc.py(placed betweenTestDevelopPromptTddContentandTestReviewprPromptMergeGuard) asserting on the new literal substrings.
Files touched
askcc/definitions.py—DEVELOP_AGENT_PROMPT(lines 281–285 and a new appended block)tests/test_askcc.py— newTestDevelopPromptTestPlanUpdateclass
Verification
uv run pytest,uv run ruff check,uv run pyright— all must pass.Risks / open questions
- Test assertions are literal-substring matches; intentional brittleness so prompt-wording changes surface in CI (same trade-off
TestReviewprPromptMergeGuardalready accepts). - No behavioural Python code is changed and no new CLI flags are introduced — scope stays inside the two files above.
:tokens-used: model: N/A, input: 17, output: 7945
- Insert a new "Update the test plan checklist in the PR description" bullet into the
- addedaction:developIssue is ready for developmentIssue is ready for developmentand removedaction:planIssue is ready for planningIssue is ready for planning
on Apr 27, 2026 Implementation summary
Implemented in PR #90 (branch
feature/88-develop-update-pr-test-plan).Changes
askcc/definitions.py—DEVELOP_AGENT_PROMPT:- Added the bullet
Update the test plan checklist in the PR description (see "Test plan update" below).to the "On completion" block, between PR creation and the issue-comment step. - Appended a new "Test plan update:" section mirroring
REVIEWPR_AGENT_PROMPT(lines 496–503): read withgh pr view <number> --json body -q .body, check off- [ ]items satisfied by the implementation/new tests/verification gate, leave manual/external verification items unchecked, edit withgh pr edit <number> --body "<updated body>", and skip silently if no## Test plansection exists.
- Added the bullet
tests/test_askcc.py— addedTestDevelopPromptTestPlanUpdate(betweenTestDevelopPromptTddContentandTestReviewprPromptMergeGuard) with six literal-substring assertions covering the new heading, read/editghcommands, manual-verification carveout, no-op clause, and the completion-step bullet. Class docstring documents the intentional brittleness (mirroring theTestReviewprPromptMergeGuardprecedent).
Acceptance criteria
-
DEVELOP_AGENT_PROMPTinstructs the agent to update test plan items in the PR description after PR creation - Instruction explicitly says to leave items requiring manual/external verification unchecked
- Instruction is a no-op when no
## Test plansection exists - Unit tests assert the new instruction strings are present in
DEVELOP_AGENT_PROMPT -
uv run pytest(192 passed),uv run ruff check(clean), anduv run pyright(0 errors) all pass
No behavioural Python code was changed — prompt-only edit plus test class, exactly as scoped in the implementation plan.
:tokens-used: model: N/A, input: 39, output: 9926
- addedaction:reviewIssue is ready for reviewIssue is ready for reviewand removedaction:developIssue is ready for developmentIssue is ready for development
on Apr 27, 2026 - added a commit that references this issue
on Apr 27, 2026
Metadata
Metadata
Assignees
Labels
action:reviewIssue is ready for reviewIssue is ready for reviewenhancementNew feature or requestNew feature or request
Problem
When the
developaction implements an issue and opens a PR, the PR description includes a## Test planchecklist (generated by Claude Code's standard PR template). However, the develop action does not check off any of those items — even when its own verification gate (tests, lint, type checker) and the new tests it wrote already satisfy them.The
pr-reviewaction already updates the test plan (seeaskcc/definitions.py:496-503), but by then the PR has been sitting with an entirely unchecked test plan, which misrepresents the actual state of verification at PR creation time.Expected behaviour
After
developopens the PR, it should:gh pr view <number> --json body -q .body## Test plansection (if present)- [ ]item, decide if it is already satisfied by the implementation, new tests, or the verification gate run- [ ]with- [x]for satisfied itemsgh pr edit <number> --body "<updated body>"## Test plansection existsActual behaviour
developopens the PR with the test plan items left as- [ ]regardless of what was already verified locally.Suggested fix
Mirror the test-plan-update logic already present in
REVIEWPR_AGENT_PROMPT(askcc/definitions.py:496-503), but forDEVELOP_AGENT_PROMPT:Add tests in
tests/test_askcc.pymirroringTestReviewprPromptMergeGuardto assert the new strings exist inDEVELOP_AGENT_PROMPT.Acceptance Criteria
DEVELOP_AGENT_PROMPTinstructs the agent to update test plan items in the PR description after PR creation## Test plansection existsDEVELOP_AGENT_PROMPTuv run pytest,uv run ruff check, anduv run pyrightall passDependencies
None identified. Self-contained prompt + test change in
askcc/definitions.pyandtests/test_askcc.py. Mirrors the pattern established by issue #86 / PR #87 which added the CHANGES_REQUESTED guard toREVIEWPR_AGENT_PROMPTwithTestReviewprPromptMergeGuard.Implementation Plan
1. Update the "On completion" step list in
DEVELOP_AGENT_PROMPTFile:
askcc/definitions.py, lines 281–285.Insert a new bullet between the PR-push step and the issue-comment step so the order becomes:
/simplifyor/refactor.This creates a forward reference to the detailed section added in step 2.
2. Append a "Test plan update" section to
DEVELOP_AGENT_PROMPTFile:
askcc/definitions.py, immediately after the existing "On completion" block (after line 285).Mirror the structure used in
REVIEWPR_AGENT_PROMPT(lines 496–503), adjusted to the develop context:The wording must contain the literal substrings the tests will assert on (see step 3): the heading
Test plan update, the no-op clauseIf no \## Test plan` section exists, skip this step, and the manual-verification clauseLeave items requiring manual/external verification ... unchecked`.3. Add a
TestDevelopPromptTestPlanUpdatetest class intests/test_askcc.pyFile:
tests/test_askcc.py, immediately afterTestDevelopPromptTddContent(line 251–279) and beforeTestReviewprPromptMergeGuard(line 282), to keep develop-related tests grouped.Mirror
TestReviewprPromptMergeGuard(lines 282–298) with develop-specific assertions:No new imports required —
DEVELOP_AGENT_PROMPTis already imported (line 15).4. Run the verification gate
5. Open PR
Branch:
feature/88-develop-update-pr-test-plan(or similar — develop action picks the slug). PR title should reference issue #88. Standard## Verificationand## Key Flowssections perDEVELOP_AGENT_PROMPTrequirements; the change is small enough that the Key Flows diagram can be skipped (single-string-edit + new test class).Risks / open questions
TestReviewprPromptMergeGuardprecedent), but document it in the test class docstring so reviewers don't "fix" the assertions away.askcc/functions.pyis affected, and no new CLI flags are introduced.