Skip to content

aggregator: capture item history for forecasting and flow calculations #3981

Closed

Description

@dezren39

Parent chain: #1184 → #1256 → this issue. GitHub currently caps #1184 at 100 direct sub-issues and rejects additional links (REST 422), so this implementation slice is nested under #1256, which is already a native sub-issue of #1184. No existing relationships were changed.

Design context: #1256 and doc/2026-11-01T21-07-00Z_design_pm-stack_forecasting/2026-11-01T21-07-00Z_design_pm-stack_forecasting.md (§1, §3, §5). Coordinate with #1281 and provide one reusable history seam rather than a duplicate flow store.

Goal

Capture enough versioned, time-bounded item history to support delivery velocity, time-in-status, and lower-bound blocked-age forecasts. Current coverage snapshots are aggregate census, while the live project projection lacks closure/edge event times.

Acceptance criteria

  • A durable, versioned history records the observed item scope and state/status, GitHub closure/reopen transitions, project/epic membership, effort changes, and blocker edges at each complete weekly cutoff; zero-completion weeks are preserved.
  • Source unavailable/null is distinct from zero, and each snapshot records its source freshness/coverage so incomplete weeks are excluded rather than treated as zero throughput.
  • Blocker age derived from a locally first-seen edge is labelled a lower bound; no exact historical event time is fabricated from current state.
  • The history interface is reusable by feat(pm-stack): WIP limits + flow analytics — per-lane WIP caps with violation flags; time-in-status and throughput charts per project/epic #1281 flow analytics and forecasting; document ownership/retention and avoid introducing a second collector/store.
  • Tests cover reopen, membership change, missing-source, zero-week, and first-observed-blocker behavior.

Activity

  1. added
    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
    app/pm-stackpm-stack (Pad/Grist) in developing-today/code
    on Nov 1, 2026
  2. 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
  3. developing-today commented on Nov 3, 2026

    @developing-today
    Contributor

    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

  4. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed on Nov 3, 2026
  5. 13 remaining items

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

    @dezren39
    MemberAuthor

    agent-note:v1
    state: picked up (resume)
    task 8751 re-claimed by lane code-p (direct), 2026-11-03T21:16Z, resuming the parked prior claim (lane code-h). PR #5133 @ a06bc4a exists with laptop tests passing, but its Codex review completed with 3 undispositioned P2 findings (contentKind double-counting in weeklyCompletions; missing-week interval misattribution; blocker age not resetting after edge removal). This claim fixes those three in the PR, extends tests, and replies on the Codex threads. No competing PR will be created.

  8. added 2 commits that reference this issue on Nov 3, 2026
  9. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

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 requestpriority/normalOrdinary priority (the default)source/queue-workerFiled or worked by the queue/worker pilottask/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions