Skip to content

A11 — Creator overview and campaign financial views ​

Status: blocked. Updated: 2026-09-06. Assigned agent: unassigned. Implementation PR: none.

Issues and acceptance covered ​

#51. The acceptance boundary is the implementation scope and completion checks below; see the issue acceptance matrix for parent coverage. Shared definitions: financial contract; proof anchors: evidence index.

Dependencies and blockers ​

A02/A04/A06 deployed additive contracts. A03 coverage controls visible claims. Existing precise rate UI contract available; private access #50 and navigation remain separate owners.

Repository and expected files ​

Frontend: features/overview, features/campaigns, their surfaces/content-rewards/screens/overview and screens/campaigns; CampaignPayoutRequirements.tsx; narrowly shared money/coverage helpers (proposed features/analytics/).

Existing behavior and verified gap ​

Overview uses synthetic sparklines/zero fallback and clipper-only balance while payout page chooses combined; campaign remaining parses/clamps configured budget; detail still derives legacy payout text labelled CPM despite precise RPM card support (E14/E15).

Proposed implementation boundary ​

Display server exact gross/net components with clear pending/held/available/reserved/paid and coverage; use recorded observations for any trend or remove unsupported trend claims. Display committed funding/CPM spend/remaining only where API permits; creator compensation labels use exact RPM. Own the small reusable formatter/coverage component, no design-system redesign.

Expected API / data contract ​

Handwritten v2 types and feature client adapters; preserve backend-old response fallback as clearly legacy estimate/unavailable, not fake zero. No client earning/budget/eligibility arithmetic. Keep content/referral amounts visibly separate per backend contract.

Required tests ​

Exact strings and display rounding without Number loss; null/partial/unavailable/loading/error; signed and single-point charts; two-campaign reconciliation; content/referral balance basis; rates not relabelled CPM; overrun not hidden; old/new payload compatibility. Focused native formatter/API tests, lint/build and manual desktop/mobile.

Suggested agent tier ​

Lower-cost implementation agent after contracts freeze; smart owner reviews displayed financial meaning, scoping and final browser fixture comparison.

Expected PR boundary and reason ​

One creator overview/campaign UI PR stacked on backend contracts. Own shared helper once, unlocking A12/A13/A15/A16 reuse. No payout workflow/rate editor redesign. Keep compatibility additive, avoid unrelated cleanup, and list exact stacked commits and later units unlocked in the PR. If observed scope grows beyond this boundary, update the plan before splitting or adding work.

RBAC requirements / TODOs ​

Keep creator auth and existing campaign access behavior; do not broaden route permissions. TODO(RBAC): Respect separately approved private campaign and financial read scope; frontend visibility never authorizes backend data.

Completion and reconciliation checks ​

All financial displays format API facts only. Equal own balances match payout/history basis, real trend data or no claim, incomplete data stays visible. API error cannot masquerade as zero earnings.

Record actual tests, source schema/contract versions, PR/merge SHA, manual evidence and residual coverage before changing status to review/complete. Any unexpected migration must first satisfy the migration gates; never bundle upstream financial writer work into this analytics unit.