Follow-up actions for the QEP-6 field report (#19).
Original items 1–4 are all closed. Results are recorded on #19 (part 1, part 2, item 4 rationale). Item numbering below is preserved so those reports keep referring to the same things.
Correction, 2026-08-27: an earlier revision of this body re-listed items 1–4 as outstanding. That was wrong — they had already been executed. Restored, with the completed status recorded and only genuinely open work below.
Closed
1. Dependency edges — done. All four written on QuantEcon/cli and confirmed via blockedBy read-back: 3 ← 2, 4 ← 3, 10 ← 9, 6 ← 12. --add-blocked-by accepted plain issue numbers; the database-id fallback was not needed. The prose "Constraints" paragraph is deleted from the cli#20 body, leaving the edges as sole authority.
Worth recording for amendment 9: 3 ← 2 and 4 ← 3 are edges between items that the membership review later moved out of cli#20. They remain valid and useful. Dependency edges are independent of project membership — this is now demonstrated live, not merely argued.
2. Ordering cross-check — closed on all three surfaces. REST, GraphQL and the rendered UI returned identical order. List position is an unambiguous order carrier; finding 3 stays closed. (Verified against the pre-review 18-item list; the tracker is now 14 items after the membership review, which does not affect the result.)
3. Markdown template type: — works. An issue opened through the web template chooser arrived with issueType: Project and the Appendix A skeleton verbatim, ## Where we stand (verified YYYY-MM-DD) intact at H2. The recommendation of markdown templates over issue forms stands. Caveat: non-interactive gh issue create never applies a template, so scripted creation needs explicit --type plus a read-back.
4. Low-permission type: drop — closed as won't-test. Both possible outcomes lead to the same action, since the read-back is already mandated on two independent grounds.
Open
5. ⚠️ Verify a dependency edge between two tracker issues — gates amendment 10
Amendment 10 rests on this and it is untested. The claim: because dependencies are independent of the parent hierarchy, an edge between two tracker issues expresses "project B waits on project A" natively, in one edge — which is why a project-level gate should not be body prose the way a phase-level gate must be.
Item 1 above established that edges work between ordinary issues, and that they survive a membership change. What is not established is the tracker-to-tracker case specifically: both ends carrying the Project issue type and having sub-issues of their own.
Check that the edge is accepted, that --json blockedBy reads it back, and that the UI renders it as a blocker rather than silently ignoring it:
gh issue edit <trackerB> --repo <owner/repo> --add-blocked-by <trackerA>
gh issue view <trackerB> --repo <owner/repo> --json number,blockedBy
If it fails, the project-level half of amendment 10 collapses back to body prose and the amendment needs rewriting before it reaches the draft. Status 2026-08-27: a second tracker now exists in QuantEcon/cli (QuantEcon/cli#24, promoted from an existing strategy issue), and the natural occasion for a tracker-to-tracker edge arrived — but the real constraint between the two projects turned out to be phase-level, not project-level, so the edge was correctly not written and the real case declined to appear. This item therefore still needs a throwaway pair, and it is less urgent than when filed: it gates the project-level half of amendment 10 §1, which is now the half nothing has needed. Full analysis in the reopening comment.
6. Two amendment edits awaiting a call
Flagged in the item-4 rationale and not yet made:
- Amendment 8 gains the read-back mandate — the assertion must read the issue itself (
gh issue view N --json issueType) rather than validate against GET /orgs/{org}/issue-types, which returns 403 Resource not accessible by integration for app identities even where the repo-scoped read succeeds.
- The field report's "untyped = untriaged" line is the one claim that leaned on item 4. Recommend dropping it as a load-bearing justification for type-over-label rather than testing it — that choice stands on native, structured, org-wide types versus repo-local labels.
Wider caveat
Most gh capability claims in #19 remain source-derived, not executed — read from cli/cli at pinned release tags and OpenAPI 1.1.4. What has been verified live: the reorder read-back, the not_planned progress inflation, the membership review's effect on the tracker, and items 1–3 above. Item 5 is the last structural claim still resting on inference.
Follow-up actions for the QEP-6 field report (#19).
Original items 1–4 are all closed. Results are recorded on #19 (part 1, part 2, item 4 rationale). Item numbering below is preserved so those reports keep referring to the same things.
Closed
1. Dependency edges — done. All four written on QuantEcon/cli and confirmed via
blockedByread-back:3 ← 2,4 ← 3,10 ← 9,6 ← 12.--add-blocked-byaccepted plain issue numbers; the database-id fallback was not needed. The prose "Constraints" paragraph is deleted from the cli#20 body, leaving the edges as sole authority.2. Ordering cross-check — closed on all three surfaces. REST, GraphQL and the rendered UI returned identical order. List position is an unambiguous order carrier; finding 3 stays closed. (Verified against the pre-review 18-item list; the tracker is now 14 items after the membership review, which does not affect the result.)
3. Markdown template
type:— works. An issue opened through the web template chooser arrived withissueType: Projectand the Appendix A skeleton verbatim,## Where we stand (verified YYYY-MM-DD)intact at H2. The recommendation of markdown templates over issue forms stands. Caveat: non-interactivegh issue createnever applies a template, so scripted creation needs explicit--typeplus a read-back.4. Low-permission
type:drop — closed as won't-test. Both possible outcomes lead to the same action, since the read-back is already mandated on two independent grounds.Open
5.⚠️ Verify a dependency edge between two tracker issues — gates amendment 10
Amendment 10 rests on this and it is untested. The claim: because dependencies are independent of the parent hierarchy, an edge between two tracker issues expresses "project B waits on project A" natively, in one edge — which is why a project-level gate should not be body prose the way a phase-level gate must be.
Item 1 above established that edges work between ordinary issues, and that they survive a membership change. What is not established is the tracker-to-tracker case specifically: both ends carrying the
Projectissue type and having sub-issues of their own.Check that the edge is accepted, that
--json blockedByreads it back, and that the UI renders it as a blocker rather than silently ignoring it:If it fails, the project-level half of amendment 10 collapses back to body prose and the amendment needs rewriting before it reaches the draft. Status 2026-08-27: a second tracker now exists in
QuantEcon/cli(QuantEcon/cli#24, promoted from an existing strategy issue), and the natural occasion for a tracker-to-tracker edge arrived — but the real constraint between the two projects turned out to be phase-level, not project-level, so the edge was correctly not written and the real case declined to appear. This item therefore still needs a throwaway pair, and it is less urgent than when filed: it gates the project-level half of amendment 10 §1, which is now the half nothing has needed. Full analysis in the reopening comment.6. Two amendment edits awaiting a call
Flagged in the item-4 rationale and not yet made:
gh issue view N --json issueType) rather than validate againstGET /orgs/{org}/issue-types, which returns403 Resource not accessible by integrationfor app identities even where the repo-scoped read succeeds.Wider caveat
Most
ghcapability claims in #19 remain source-derived, not executed — read fromcli/cliat pinned release tags and OpenAPI 1.1.4. What has been verified live: the reorder read-back, thenot_plannedprogress inflation, the membership review's effect on the tracker, and items 1–3 above. Item 5 is the last structural claim still resting on inference.