Skip to content

work-items/tracker: list-sub-items returns empty because gh --json subIssues nodes carry no repository field #3825

Description

@kyle-sexton

Agent Brief

Type: Bug

Summary: list-sub-items and list-frontier --parent return empty on GitHub because the adapter filters sub-issue nodes on a repository field that gh --json subIssues does not emit.

Current behavior:

Publishing a spec container with native sub-issues succeeds (edges verified on GitHub), but work-item-tracker.sh list-sub-items <container> returns an empty list. The GitHub adapter intersects subIssues.nodes on .repository.nameWithOwner; gh 2.97 returns sub-issue nodes without a repository field, so the intersection is always empty. Container rollup, list-frontier --parent, and /work-items:ship status are blind to every sub-item. Observed 2026-09-06 while publishing #3799 through #3823.

Desired behavior:

list-sub-items returns every native sub-issue of the container, and list-frontier --parent <n> scopes correctly, on the gh version currently installed and on the field shape the GitHub API documents for sub-issues. When the same-repo filter is still wanted, derive it from a field the API actually returns (for example the node's url or repository { nameWithOwner } requested explicitly in a GraphQL query) rather than a field absent from the REST-backed --json projection.

Key interfaces:

  • GitHub adapter list-sub-items verb: same-repo filter predicate
  • Seam list-frontier --parent (depends on the verb above)
  • Adapter conformance test for sub-item enumeration

Acceptance criteria:

Out of scope:

  • Adapters other than GitHub
  • Changing the container publish path (edges are already correct)

Blocked by

None. Can start immediately.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.priority: needs-triageDefault until a priority tier is assigned.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions