Skip to content

QEP-6 field test: follow-up actions needing a gh-equipped environment #20

Description

@quantecon-services

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions