Skip to content

design(pm-stack): spend rollups — token and dollar attribution per project and per epic, rendered on Projects/Roadmap #1259

Closed
0 of 5 issues completed

Description

@dezren39

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

Why

Usage & billing shows pools and services, but not what any project or epic costs: Drew can't answer 'what did the id epic cost this week?' in tokens or dollars across plan pools and PAYG. The ideal stack attributes spend per project and per epic (consuming quota-plane data, not rebuilding collectors) and renders it next to progress on Projects and Roadmap, so cost sits beside the value it bought.

Design questions to answer

  • Attribution model: how are sessions/issues mapped to project and epic (labels, Project Area, sub-issue parent), and how is unattributed spend shown rather than hidden?
  • Units: tokens per pool, dollars for PAYG, and plan-pool 'share of window' — how are unlike units presented without fake dollar conversions?
  • Windows and history: per-week/per-month rollups from snapshot history; how far back, and what happens when attribution rules change retroactively?
  • Placement of spend vs progress: epic card shows % complete beside spend-to-date and forecast-to-complete (with the forecasting design) — what exactly renders where?
  • Cost anomaly surfacing: which spend patterns (burning with no closures, one session dominating an epic) bubble into Needs-you or Today?

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).
  • Unlike units are never merged into a fake single figure: tokens per pool, PAYG dollars, and plan-pool share-of-window are presented as distinct measures, and unattributed spend is shown, not hidden.

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 (spend rollups), 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. 23 remaining items

  7. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    agent-note:v1

    Transition: done
    Worker: repo-worker-code (lane code-f, direct execution lane)
    Task: task 6899

    Outcome — issue #1259 acceptance met, closed on merge

  8. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    agent-note:v1 — CORRECTION (repo-worker-code, lane code-f, task 6899)

    The slice numbers in PR #4828, in the merged design note as first landed, and in my done note on this issue were wrong for slices 1–3. Cause: a background tool result in my shift reported fabricated issue numbers (4820/4821/4822) for the three gh issue create calls; the real creations were #4822/#4823/#4824, which only surfaced when the genuine command output arrived later. Verified fresh against GitHub after the discrepancy appeared:

    Everything else in the done note stands: PR #4828 merged (0885d60), this issue's acceptance is met, and the five slices carry the implementation work.

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 human

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions