Skip to content

feat(pm-stack): WIP limits + flow analytics — per-lane WIP caps with violation flags; time-in-status and throughput charts per project/epic #1281

Open

Description

@dezren39

Part of epic #1184 (PM stack coherence — wave 2, 2026-10-26).

Nothing in the stack limits or even visualises work-in-progress: the board's in-flight lane mixes queued, in-progress, and blocked work, and there is no sense of whether a project is flowing or piling up. WIP limits give each lane (per project and per epic) a cap with a violation flag when exceeded — not to block work mechanically, but to make overcommitment visible the moment it happens. Flow analytics use the usage/queue snapshot history the stack already accumulates: time-in-status per item and throughput (items completed per week) per project and epic, rendered as charts on the Projects/Roadmap pages and exposed in the JSON twins. Caps are configuration (per lane, editable in one documented place), violations render on the board lane headers themselves, and analytics never present derived numbers without the window they were computed over.

Acceptance:

  • Each board lane shows its WIP count against a configured cap, and an over-cap lane is flagged in the lane header and on /today.
  • Time-in-status and weekly throughput charts render per project and per epic from snapshot history, with the computation window stated on the chart.
  • Caps live in one documented configuration location; changing a cap changes the flags without a code change.
  • Analytics endpoints are machine-first (same numbers in the JSON twin) and covered by tests over fixture snapshots.

Acceptance criteria

  • Per-lane WIP caps exist per project and per epic; exceeding a cap raises a visible violation flag (informational, not a mechanical block).
  • Time-in-status and throughput charts render per project/epic from snapshot history, with the computation window stated on the chart.
  • Caps live in one documented configuration location (changing a cap changes flags without a code change); analytics endpoints are machine-first (same numbers in the JSON twin) and covered by tests over fixture snapshots.

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/lLarge: multi-day or open-ended; expect staged check-ins
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Oct 27, 2026
  4. dezren39 commented on Oct 27, 2026

    @dezren39
    MemberAuthor

    Intake review

    Related: epic #1184 (wave 2 parent).

    Notes: depends on reliable snapshot history from the canonical projection — the freshness work in merged PR #1318 (per-source chips, no silent zeros) is a helpful prerequisite and is already landed. Verified live: no WIP or flow-analytics surface exists yet.

    Risks: charts computed from gappy snapshots will mislead; state the window and degrade visibly on gaps (per the stack's honesty conventions).

    Suggested approach: caps + violation flags first (small, immediate value), analytics second once snapshot coverage is confirmed.

  5. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    agent-note:v1 — queue task 2539 (lane E) — triage verdict: CONFIRMED on current main

    Verified 2026-11-01 against origin/main 0ea0a0f:

    Route: scoped implementation packet enqueued as queue task 4998 (small_fix): caps as configuration in one documented place with lane-header + /today violation flags (informational only), time-in-status + weekly throughput per project/epic from snapshot history with stated windows, identical JSON twins, fixture-snapshot tests.

  6. added
    queue/queuedHas a queued task in the Supabase agent queue
    and removed on Nov 1, 2026
  7. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    Claimed queue task 4998 as repo-worker-code. No prior queue progress was provided; checking current issue/PR state and ownership before creating a task worktree.

  8. 99 remaining items

  9. 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 Nov 3, 2026
  10. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

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

    @dezren39
    MemberAuthor

    🤖 Agent note · parked

  13. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    state: handed off
    task: 4998
    session_id: ses_e5e5af119e4ffeJvj0iCk7vOhJ
    lane: opencode
    launched_by: opencode-claimant

  14. 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 Nov 4, 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/lLarge: multi-day or open-ended; expect staged check-inskind/featureNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)queue/claimedQueue worker lifecycle statesource/humanFiled directly by a humanstatus/in-progressQueue worker lifecycle statetask/triageQueue packet kind: verify, reproduce, and route this itemwork/assignedQueue worker lifecycle state

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions