qe 0.11.0: workplan-project writes dependency edges; QEP-2 is Accepted - #79
Open
quantecon-services wants to merge 2 commits into
Open
qe 0.11.0: workplan-project writes dependency edges; QEP-2 is Accepted#79quantecon-services wants to merge 2 commits into
quantecon-services wants to merge 2 commits into
Conversation
Follows the QEP-6 section 4 amendments ruled 2026-09-08, and corrects two citations that were wrong rather than merely stale. WORKPLAN-PROJECT WRITES DEPENDENCY EDGES. Step 6's mutating-call table gains `gh issue edit <item> --add-blocked-by <blocker>`. QEP-6 section 4 has required native edges for a real sequencing constraint since it was drafted and no skill in this family wrote one — every edge on the org's conformant trackers was made by hand, after a review found twenty items carrying none. The row carries the two platform facts a producer needs: one call per edge, since gh takes no list; and for a cross-repository blocker gh refuses the flag, so the REST dependencies/blocked_by endpoint is used instead, whose body takes the blocker's numeric id rather than its number. A GATE BETWEEN PACKAGES IS CARRIED, NOT JUST DESCRIBED. The cross-package guidance said a gate is stated once in the body of the package that waits. Under the amended section 4 the gate is carried as native edges and only its rationale is stated, with the phase-level form spelled out: the first item of the waiting phase is blocked by every item of the phase it waits on, which is linear in the upstream phase and clears when that phase closes rather than when the upstream tracker does. Where a phase's exit criterion is a single Decision, each waiting item carries the edge to the Decision instead. THE SIBLING BACK-POINTER IS NO LONGER AN OBLIGATION. Blocked-by and blocking are two ends of one edge, so the reverse direction is read rather than written. A Related work entry pointing at the rationale stays available prose. TWO ADOPTION CLAUSE CITATIONS WERE OFF BY ONE. QEP-6's Adoption list read 1., 2., 2., 3., 4. in source, and Markdown renumbers an ordered list on render, so the published document showed 1-5 while every citation after the first pointed one clause short. The read-before-link obligation is clause 3, not 2; the C2-precedence ruling this skill applies is clause 4, not 3. The 0.10.0 release note is left as written, since it records what shipped. QEP-2 IS ACCEPTED, AND THE AUDIT CONTEXT SAID IT WAS A DRAFT. The context file told an agent that doctrine rule 6 applied and to mark anything beyond the already-canonical labels post-acceptance. QEP-2 has been Accepted since it merged, so the whole set is canonical. The same passage now names qep-0002-labels.yml as the authority over any tool's own copy of the list, and warns that a clean sync is not proof of a full set — qe 0.2.0's manifest skipped four labels that had to be created by hand. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Hwm5shrGXmaq4r3Lp9kS33
quantecon-services
force-pushed
the
claude/qep6-section4-and-qep2-accepted
branch
from
September 8, 2026 10:52
0da0353 to
71631f8
Compare
One sentence in the cross-package guidance, following QEP-6 §4's new test: an edge only where the downstream item cannot start without something the upstream produces; shared files and serial work are plan order — position, not an edge — and belong under sequencing rationale, not gates. Without it the skill's new blocked-by row would have taught the opposite lesson from the first tracker it touched, where three of the edges a review proposed were exactly that. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Hwm5shrGXmaq4r3Lp9kS33
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.
Follows the QEP-6 §4 amendments ruled 2026-09-08, and corrects two citations that were wrong rather than merely stale. QEP-6 is still a Draft and this plugin still tracks it by PR, as 0.10.0 did.
workplan-projectwrites dependency edgesStep 6's mutating-call table gains
gh issue edit <item> --add-blocked-by <blocker>.QEP-6 §4 has required native edges for a real sequencing constraint since it was drafted, and no skill in this family wrote one. The complete mutating-call tables were
gh issue create/--add-sub-issue/sub_issues/priority/--type Projectforworkplan-project, body-comment-close forworkplan, andworkplan-roadmap"never edits an issue". So the standard's central mechanism had no producer, and every edge on the org's conformant trackers was made by hand — a review of two QEP-6-conformant trackers found twenty items carrying none while their bodies stated the constraints in prose.The row carries the two platform facts a producer needs, both measured rather than assumed:
ghtakes no list.ghrefuses the flag outright, so the RESTdependencies/blocked_byendpoint is used instead — and its body takes the blocker's numeric id, not its issue number.A gate between packages is carried, not just described
The cross-package guidance said a gate is stated once in the body of the package that waits. Under the amended §4 it is carried as native edges, with only the rationale stated — prose is the one carrier no consumer reads. The phase-level form is now spelled out: the first item of the waiting phase is blocked by every item of the phase it waits on, which is linear in the upstream phase rather than a cross-product, and clears when that phase closes rather than when the upstream tracker does. Where a phase's exit criterion is a single
Decision, each waiting item carries the edge to theDecisioninstead.The third push adds the test §4 applies before any edge is written — output, not order. An edge only where the downstream item cannot start without something the upstream produces (a ruling, a field, a document, a page it draws from); two items that touch the same file or will be worked in sequence are plan order, which is position and not an edge, and go under the body's sequencing rationale rather than its gates. Without that sentence the new row would have taught the opposite lesson from the first tracker it touched, where five of the eight edges a review had proposed were exactly that.
The existing warning against a project-level edge is kept and sharpened — it parks the whole downstream project in any consumer deriving parked-ness from open blockers.
The sibling back-pointer is no longer an obligation
§4's requirement that the waited-on project point back was struck upstream: blocked-by and blocking are two ends of one edge, so the reverse direction is read rather than written. A
Related workentry pointing at the rationale stays available prose. (The obligation had zero producers and a free platform inverse, which is why it was missed every time it applied.)Two Adoption clause citations were off by one
QEP-6's Adoption list read
1., 2., 2., 3., 4.in source. Markdown renumbers an ordered list on render, so the published document showed 1–5 while every citation after the first pointed one clause short:qe/CHANGELOG.md's 0.10.0 entry also cites clause 3 for the precedence ruling; that is left as written, since a release note records what shipped. The source numbering is corrected upstream and is now enforced by a CI check (qeps#30) rather than left to review — the defect survived a twelve-amendment review, a field report and four PR comments.QEP-2 is Accepted, and the audit context said it was a Draft
qe/references/audit/quantecon-context.mdtold an agent:QEP-2 has been Accepted since it merged, so the whole set is canonical and the caveat was suppressing correct recommendations. The passage is corrected, and now records how the standard actually reaches a repository:
qep-0002-labels.ymlis the authority.qeCLI vendors it verbatim with a pin to theqepsrevision it came from, and a weekly job compares the vendored blob against upstream — content rather than commit, so it fires when the schema moves and not when some other QEP is edited. Soqe gh labels check's verdict is the one to cite.Checks
Minor bump per the CHANGELOG's own rule: step 6 now does something materially different.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Hwm5shrGXmaq4r3Lp9kS33