Skip to content

qe 0.10.0: workplan-project conforms to QEP-6 — the six field-test findings (#69–#74) - #76

Merged
mmcky merged 9 commits into
mainfrom
workplan-project-qep6-findings
Sep 2, 2026
Merged

qe 0.10.0: workplan-project conforms to QEP-6 — the six field-test findings (#69–#74)#76
mmcky merged 9 commits into
mainfrom
workplan-project-qep6-findings

Conversation

@mmcky

@mmcky mmcky commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Brings qe/skills/workplan-project/SKILL.md into 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 against main at 393d98f before 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.

Commit Finding What changes
fd87568 #69 The Phase | Issue | Work item table becomes Phase | 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.
3931e2d #70 Plan order is stated (draft file order is plan order; NN- never reaches a title). Linking uses gh issue edit --add-sub-issue in 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 #72 Every pre-existing issue's parent is read before linking. Verified in cli/cli v2.98.0 source that --add-sub-issue and --parent both send replace_parent=true unconditionally. 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.
dc42076 #71 New step 4, a membership gate: the definition of done is written before membership is decided, each survivor is tested against QEP-6 §1's criterion, packages split by definition of done rather than by count or phase, and non-members are filed unparented. Draft and file become steps 5 and 6.
3fb217f #73 Drifted since filing: QuantEcon.py#925's heading now parses (verified 2026-08-31 14:53 AEST), but its plan table still carries Issue and Status columns, 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.
7564abd #74 Multi-package runs draft Related work in 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.
16fdb0f Housekeeping: the status banner pointed at #3 rather than #65, and the intro linked the retired audit plugin directory.
7ddc851 qe 0.9.0 → 0.10.0, minor, with the changelog entry.

python scripts/validate.py and scripts/check-version-bump.py pass 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

mmcky and others added 8 commits September 2, 2026 12:19
…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>
…e at /qe:audit-issues

The banner said first-run validation is tracked in #3; it is #65, under the family tracker #63. The intro linked the retired `audit` plugin directory, which folded into `qe` at 0.7.0.

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>
Copilot AI lite review requested due to automatic review settings September 2, 2026 02:23

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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 qe plugin 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.

Comment thread qe/skills/workplan-project/SKILL.md Outdated
Comment thread qe/skills/workplan-project/SKILL.md Outdated
…, 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>
@mmcky
mmcky merged commit 7ebf8a5 into main Sep 2, 2026
5 checks passed
@mmcky
mmcky deleted the workplan-project-qep6-findings branch September 2, 2026 02:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants