Skip to content

design(aggregator): cross-project dependency graph — critical path per epic and what unblocks the most work #1257

Closed

Description

@dezren39

Part of epic #1184 (PM stack coherence — ideal-system design series, 2026-10-26).

Why

Blocked-by today is prose strings on cards; the orchestration dependencies view is rendered by no page, so Drew cannot see the shape of what's stuck or which single unblock frees the most work. The ideal aggregator renders one dependency graph over native GitHub blocked-by relations and Project items: per-epic critical path, blocker age, and a ranked 'unblock this next' list.

Design questions to answer

  • Graph source of truth: native blocked-by relations + sub-issue hierarchy + Project fields — how are prose blockedBy strings migrated or mapped?
  • Layout at phone and desktop width: per-epic graph vs global graph, and how large graphs stay readable (collapse by epic/project)?
  • Critical-path semantics: longest chain, oldest blocker, or most-descendants-freed — which rankings are computed and how are ties explained?
  • Cycles and dangling refs: how are dependency cycles and links to closed/missing items detected and displayed?
  • Actions from the graph: dispatch, poke, or escalate a blocker in place, through the same triage action path as the board.

Acceptance

Acceptance criteria

  • A design note answering every question listed under "Design questions to answer" is landed in the repo doc/ tree and linked from this issue.
  • Implementation issues are filed and linked as sub-issues of epic epic(dashboard): PM stack coherence - single-URL, fresh data, triage-able, hierarchical #1184 (developing-today/code), each with its own acceptance criteria — this design issue does not itself carry implementation work.
  • Every open question that needs Drew is named explicitly in the design note (not buried in prose).
  • The design picks and justifies one critical-path ranking semantics (longest chain vs oldest blocker vs most-descendants-freed) and specifies how cycles and dangling references render.

Activity

  1. added
    kind/featureNew feature or capability request
    app/pm-stackpm-stack (Pad/Grist) in developing-today/code
    on Oct 27, 2026
  2. developing-today commented on Oct 27, 2026

    @developing-today
    Contributor
  3. added
    source/humanFiled directly by a human
    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 28, 2026
  4. dezren39 commented on Oct 28, 2026

    @dezren39
    MemberAuthor

    Intake review

    Fleet-monitor intake pass (2026-10-28T02:40:00Z): this issue was missing a priority/* label and/or the standard ## Acceptance criteria section and was not yet meta/enriched. The criteria section has been appended to the body (original text preserved verbatim above it) and labels normalized.

    Related: Epic: #1184 (PM stack coherence design series). Siblings in the same series were intake-enriched in prior monitor runs (#1264–#1277).

    Notes: Design-series issue (cross-project dependency graph), filed 2026-10-27 by Drew as part of the #1184 batch; body is well-formed (Why + design questions + its own Acceptance section). Still live: merged-PR search this run returns only unrelated PRs whose text coincidentally contains the number — none resolves or implements this design.

    Risks: Design-only stall risk (see tail).

    Suggested approach: This is one of the #1184 PM-stack coherence design series; its own "Acceptance" section already states the bar (design note in doc/ + implementation sub-issues), and the appended criteria restate that in the fleet's standard heading so the monitor and queue can gate on it. Risks: design-only items can sit silently — per house rules a design with no implementation link is flagged by the next sweep, so the follow-through that matters is the sub-issue filing, not the note alone. Suggested approach: answer the design questions against the current aggregator/orchestrator code (cite file:line), land the note, file the implementation sub-issues in the same pass.

    🤖 Agent note · state: handed off

    • Agent: fleet monitor (repo-fleet-monitor)
    • Session / ID: repo-fleet-monitor run 2026-10-27 21:19 CDT
    • Found via: monitor reconciliation (intake enrichment duty)
    • Task: Intake enrichment — acceptance criteria appended, labels normalized, this review posted; the item itself is not being worked by the monitor.
    • Expectation: unenriched → enriched; routing/work happens through the normal queue/sweep paths.
    • Links: n/a
  5. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed on Nov 1, 2026
  6. 11 remaining items

  7. added
    user/reviewNeeds a user-look: Muse reviews first and handles what it can
    and removed
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    on Nov 1, 2026
  8. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  9. added a commit that references this issue on Nov 2, 2026
  10. added
    queue/queuedHas a queued task in the Supabase agent queue
    task/triageQueue packet kind: verify, reproduce, and route this item
    on Nov 3, 2026
  11. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    state: triaged (coverage pass)
    Coverage pass 2026-11-03: reviewed in the fleet-wide per-issue pass (drift / overlap / already-handled / stale / blockers / ordering). Verdict: still live; queued in repo-health-code-pilot as triage at priority 40 (priority/normal). If this is already handled at current main, the triage closes it with evidence; if it needs splitting, the triage files the split.
    Found via: coverage pass 2026-11-03

  12. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done — triage verdict: ALREADY DONE (acceptance met; closing with evidence)

    Evidence (verified fresh 2026-11-03)

    Verdict

    Every acceptance criterion of this design issue is met; the remaining work lives in #3973/#3974/#3975 under epic #1184. Closing as completed. The ## Needs Drew items in the design note are tracked inside those implementation issues' scope and do not block this design issue.

  13. removed
    task/triageQueue packet kind: verify, reproduce, and route this item
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 3, 2026
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/humanFiled directly by a humanuser/reviewNeeds a user-look: Muse reviews first and handles what it can

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions