Skip to content

impl(aggregator+collector) part 1 of 2: Project pool graph edges contract (split of #1122) #2399

Closed

Description

@dezren39

Split of #1122 (part 1 of 2), filed by queue task 3013 (Lane D, 2026-10-29) per that task's verified checkpoint recommendation: the unsplit #1122 packet exceeded two shift budgets unstarted as one multi-hour implementation.

Scope (contract only): extend the pm-stack aggregator collector and its model/feed contract so Project pool items carry graph edges.

  • Collector Project GraphQL read (pm-stack/aggregator/src/projects.ts; collector Project section in src/sources/live.ts): request sub-issue parent, blocked-by/blocks, and epic-membership edges for pool items. Effort/mode labels already flow — do not rebuild the label flow.
  • Model/feed in lockstep: ProjectPoolItem in src/model.ts gains the edge fields; src/feed.ts check validates them.
  • Tests both sides: collector fixture carrying edges; model/feed tests for items with and without edges.

Acceptance:

  • Pool items in the feed carry parent, blocked-by/blocks, and epic edges when GitHub has them, validated by the feed check.
  • Items without edges validate cleanly (graceful absence at the contract level).
  • On completion, enqueue part 2: the render issue (linked below once filed) already has its packet staged as packet-1122-render.json in the keep-the-four-repos-healthy goal hidden_files/ — or work it directly if its queue task already exists.

Part 2 (render: weighted rollup, hands queue, blocked weight + longest chain, depth graph on /program/) is a separate issue, dependent on this contract landing. Parent: #1122 — #1122 closes only when both parts land.

Acceptance criteria

  • The collector's Project read requests sub-issue parent, blocked-by/blocks, and epic-membership edges for Project pool items; effort/mode labels keep flowing unchanged.
  • ProjectPoolItem (model) and the feed contract carry those edges in lockstep — no consumer can read a half-updated contract.
  • Tests/fixtures cover a pool item with each edge kind (parent, blocked-by, epic) and one with none.

Activity

  1. developing-today commented on Oct 29, 2026

    @developing-today
    Contributor
  2. added
    queue/queuedHas a queued task in the Supabase agent queue
    kind/featureNew feature or capability request
    source/queue-workerFiled or worked by the queue/worker pilot
    priority/normalOrdinary priority (the default)
    effort/mMedium: expected under 1 day of work
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Oct 29, 2026
  3. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    Intake review

  4. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Oct 30, 2026
  5. 5 remaining items

  6. added
    status/parkedDeliberately paused with a recorded resume condition
    on Oct 30, 2026
  7. dezren39 commented on Oct 30, 2026

    @dezren39
    MemberAuthor

    Agent note — task 3572 parked at PR #2744 (Lane D shift, 2026-10-30)

    Resumed the prior lane's verified work: the full implementation was sitting uncommitted in the laptop worktree /tmp/fleet/3572-2399-pool-graph-edges. I reviewed the diff (collector GraphQL edges + parser + resolveEpicRefs, ProjectPoolItem edge fields, shared isProjectPoolItem feed gate + poolFromFeed, tests on both sides), verified it, committed it as 22c1432, and opened PR #2744.

    Local verification: targeted projects+feed suites 15/15 pass; full aggregator suite 507 pass / 7 fail — the same 7 failures reproduce on the untouched primary clone (pre-existing page-manifest failures, unrelated to this change).

    Parked: PR CI has not appeared after ~3 minutes (only CodeRabbit — the repo-wide absent-CI pattern seen all shift) and Codex review is pending. Resume: CI green + Codex clean → merge PR #2744 and complete task 3572 (part 2, #2400, then unblocks; #1122 stays open until both parts land).

  8. added
    queue/claimedQueue worker lifecycle state
    and removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    on Oct 30, 2026
  9. dezren39 commented on Oct 30, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  10. dezren39 commented on Oct 30, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

  11. dezren39 commented on Oct 30, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done (already done — duplicate claim)

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

Metadata

Metadata

Assignees

Labels

app/pm-stackpm-stack (Pad/Grist) in developing-today/codeeffort/mMedium: expected under 1 day of workkind/featureNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)source/queue-workerFiled or worked by the queue/worker pilot

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions