qe 0.10.0: workplan-project conforms to QEP-6 — the six field-test findings (#69–#74) - #76
Merged
Merged
Conversation
…e the tracker once (#69) The mandated `Phase | Issue | Work item` table was a roster of the sub-issue list — membership and order restated in the body, which QEP-6 §7 forbids and its Alternatives section rejects by name. It is replaced with Appendix A's `Phase | Intent | Exit criterion`, which carries what the list cannot. With no Issue column there is nothing to backfill, so step 5's backfill edit and the placeholder-then-fill creation order go, and the tracking issue is written once. The read-back no longer guards a second body write. The construct was C2-conformant: C2 only rules that checkbox progress is never read. The skill now says where the two documents disagree and cites QEP-6 Adoption clause 3, which rules QEP-6 authoritative for structure until the handover, rather than resolving the gap itself. See #69. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ace re-run items in position (#70) QEP-6 §3 makes the sub-issue list the plan — position is sequence, topmost open item is next — and the skill never said so. A first run produced plan order by accident (create in draft order, link in draft order, linking appends); the documented re-run path broke it, because a recovered item is appended to the bottom regardless of its phase. The invariant is now stated in step 4 (draft file order is plan order; the NN- prefix never reaches a title). Step 5 links with `gh issue edit --add-sub-issue`, which takes plain numbers, in draft order, and the read-back asserts list order. A re-run places what it recovers with the reprioritise API and `after_id`, which is the one sub-issue operation with no gh verb and the one place a database id is needed — the id gotcha moves there, off the common path. The read-back says to check on GitHub rather than the dashboard, whose collector re-sorts children by issue number until status-projects#19 ships. See #70. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…king is claiming (#72) Sub-issue membership is single-parent, and gh's `--add-sub-issue` and `--parent` both send replace_parent=true with no opt-out (cli/cli v2.98.0, api/queries_issue.go), so linking an already-parented issue silently detaches it from its tracker. The field test emptied the org's QEP-2 rollout tracker this way and left it publishing 100%. The skill now reads `.parent.number` for every work item that is an existing issue — at draft time, so the method note names the parent the item would leave and the approval covers it knowingly — and a re-run that discovers an issue the drafts did not know stops before linking. Detachments that go ahead are recorded. Step 5 documents the verb's replace behaviour and states why one link method with one guard replaces the two methods that behaved differently on the one case that matters. Cites QEP-6 Adoption clause 2, which makes the read an obligation on conform tooling. See #72. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ng (#71) The extraction bar (actionable, evidenced, material) and the validation step are a quality bar and a truth bar; nothing asked whether a survivor belongs to this project. Drafted from a report bundle, the goal described whatever survived instead of constraining it — the repository-sweep failure the QEP-6 field test produced on cli#20, reproduced by this skill from a different direction. New step 4: write the definition of done before membership is decided, test each survivor against QEP-6 §1's criterion (cited, with only its goal-widening diagnostic restated), split by definition of done rather than by count or phase, file non-members unparented, and record membership exclusions in the method note separately from verification drops. The ~15 gotcha now points at that question instead of at "raise the bar or split by phase". Draft and file become steps 5 and 6; cross-references renumbered. See #71. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… and Appendix A for shape (#73) QuantEcon.py#925 was cited as the shape to follow in the same step that calls the stamp form exact. Its heading has been fixed since the finding was filed (it now reads `verified 2026-08-31 14:53 AEST`, parseable under C2 §3.4), but its plan table still carries an Issue and a Status column, so it remains non-conformant for shape under QEP-6 §7 — and once the skill's own table goes (#69) the exemplar would teach what the skill just stopped doing. The shape now comes from QEP-6 Appendix A; #925 is cited for body content and #926 for a sub-issue's evidence bar, with the exemplar's table named as the thing not to copy. See #73. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The skill's own remedy for an oversized package produces the multi-project case and then had nowhere to record how the packages relate — the relationship lived in the author's head at split time. GitHub records only that a mention happened, so a deliberate relationship between projects is an assertion with no native carrier, which is what the body is for. A multi-package run now drafts a Related work section in each package naming its siblings (projects, never work items), and a gate between packages is written once, on the waiting side, at phase granularity by default — the field result on cli#20/#24 was that a tracker-to-tracker edge would have asserted a constraint that did not exist. Cites QEP-6 §7 and Appendix A rather than restating them. See #74. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…conformance release Minor, because the procedure changes materially: the plan table goes, plan order and single-parent guarding come in, and a membership step is added. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
There was a problem hiding this comment.
🟡 Changes recommended
The updated workplan-project SKILL.md contains a couple of internally inconsistent/ambiguous command placeholders and an incomplete “What this skill writes” mutation summary that could mislead users when executing the procedure.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Updates the qe plugin’s workplan-project skill documentation to align its tracker-writing procedure with QEP-6 (draft) and the field-test findings (#69–#74), then bumps the plugin version and records the release notes.
Changes:
- Restructures
workplan-project’s procedure (adds a membership gate, switches to a phase table, states/enforces plan order, and documents safer linking/re-run behavior). - Updates release notes to describe the new behavior and rationale for QEP-6 vs C2 structure rules.
- Bumps the
qeplugin version from 0.9.0 to 0.10.0 in manifests.
File summaries
| File | Description |
|---|---|
qe/skills/workplan-project/SKILL.md |
Revises the documented procedure and safety model to match QEP-6-oriented tracker structure/order and the six field-test findings. |
qe/CHANGELOG.md |
Adds a 0.10.0 entry describing the workplan-project behavior changes and housekeeping. |
qe/.claude-plugin/plugin.json |
Updates qe plugin version to 0.10.0. |
.claude-plugin/marketplace.json |
Updates marketplace entry for qe to version 0.10.0. |
Review details
- Files reviewed: 4/4 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…, and use <parent-number> throughout step 6 Copilot's two review comments on #76: the "What this skill writes" table did not mention the unparented issues step 4 now files, and its type row had no target; and step 6 alternated between <parent> and <parent-number> in a section whose point is that the parent is a number and the children in the reprioritise body are database ids. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This was referenced Sep 2, 2026
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings
qe/skills/workplan-project/SKILL.mdinto line with QEP-6 (draft), following the six findings its field test (QuantEcon/qeps#19, finding 9) filed against the skill on 2026-08-27 and proposed for phase 1 of #63. Each finding was re-verified againstmainat393d98fbefore editing; the report is in the session, and the one drift is recorded under #73 below. The PR is one commit per finding, in the proposer's order, then a housekeeping commit and the version bump, so it reads finding by finding.The skill keeps pointing outward: it cites QEP-6 §1, §3, §7 and Appendix A and C2 rather than restating them. Where the two documents disagree — a body roster of work items is C2-conformant, since C2 only rules that checkbox progress is never read, and QEP-6-forbidden — the skill says so and cites QEP-6's Adoption clause 3, which rules QEP-6 authoritative for structure until C2's handover, rather than resolving the gap itself.
fd87568Phase | Issue | Work itemtable becomesPhase | Intent | Exit criterion. The tracking issue is written once: no placeholder numbers, no backfill edit, no second body write to lose the stamp in. The C2/QEP-6 disagreement is named.3931e2dNN-never reaches a title). Linking usesgh issue edit --add-sub-issuein draft order, the read-back asserts list order, and a re-run places a recovered item with the reprioritise API instead of appending it. The database-id gotcha moves off the link path to the one call that needs it. The check is on GitHub, since the dashboard re-sorts children until QuantEcon/status-projects#19 ships.35653bc--add-sub-issueand--parentboth sendreplace_parent=trueunconditionally. An already-parented item is named in the approval draft with the tracker it would leave; a re-run that finds one stops before linking; detachments that go ahead are recorded. One link method, one guard.dc420763fb217fverified 2026-08-31 14:53 AEST), but its plan table still carriesIssueandStatuscolumns, so it is still non-conformant for shape. The shape now comes from QEP-6 Appendix A; #925 is cited for body content and #926 for the evidence bar, with the table named as the thing not to copy.7564abdRelated workin each package (projects, never work items); a gate between packages is written once, in the body of the package that waits, at phase granularity by default.16fdb0fauditplugin directory.7ddc851qe0.9.0 → 0.10.0, minor, with the changelog entry.python scripts/validate.pyandscripts/check-version-bump.pypass locally. The skill has still not run against a real bundle (#65); this changes what that run will produce.Closes #69, closes #70, closes #71, closes #72, closes #73, closes #74.
🤖 Generated with Claude Code