FilOzone / FilOzone/filecoin-pay-explorer
Services in the console: sidebar, service list, and per-service pages (Warm Storage first)
- Dominant language
- TypeScript
- Stars
- 3
- Forks
- 7
- Avg merge
- 5d 14h
- Merged PRs (30d)
- 47
Description
## Goal
Give a connected payer one place per service to see what they are paying for and stop paying for what they no longer use. Today the console shows account balance and a flat rails table; it cannot answer "which datasets do I have, what does each cost, is anything dead weight".
Product context, activity-signal constraint, and roadmap: [EPIC: Service pages in the console](https://app.notion.com/p/3c9dc41950c181f497e0cb67561800fb). UX reference: POC #365 (mock data, closed in favor of this epic).
## Design references
- IA and service-section shape: [FOC-PM `wireframes/platform-ia.html`](https://github.com/FilOzone/FOC-PM/blob/main/wireframes/platform-ia.html), "Console · full vision" toggle. Predates the PM review, so it still shows funded-until per dataset; that column is cut.
- PM review applied as code: branch [`agent/service-page-pm-review`](https://github.com/FilOzone/filecoin-pay-explorer/tree/agent/service-page-pm-review) (26 commits on top of #365). Review artifact, not a merge candidate.
- Written scope and cut list: Notion epic above, v0 section.
## Shape
- Sidebar lists each service the payer has a relationship with, plus Add service.
- `/console/services/[operator]` is the generic service page: header (on-chain name and description), metric cards, spending limits, rails.
- When the operator is Warm Storage the page also shows the dataset table, the stale-dataset triage queue, and the terminate flow.
## Work
Already in flight
| Issue / PR | Owner | State |
|---|---|---|
| #409 services section + `/console/services/[operator]` rails | Natalie | approved, merge after indexer catches up |
| #411 Add Service flow recovery (`useIndexedTransaction`) | Natalie | changes requested, conflicting |
| #369 spending limits per service page | unassigned | open |
| #233 on-chain service name/description (also closes #371) | Natalie | open |
New (this epic)
1. #461 Sidebar: per-service entries under console nav
2. #462 Subgraph: index Warm Storage datasets per payer (last write, size, spend)
3. #463 Warm Storage dataset table
4. #464 Service metric cards: recurring vs one-time spend, account runway, locked deposit
5. #465 Stale-dataset triage queue (Keep = alert mute, Terminate)
6. #466 Terminate dataset and stop paying
7. #467 Inactive-dataset email that lands in the triage queue
Every child is one PR that merges on its own without breaking the live site, and as small a diff as the change allows. New UI renders only when its data exists, subgraph changes are additive, nothing waits on a sibling to be safe.
Order: #461 and #464 can start now on top of #409. #462 gates #463, #463 gates #465, #466 is independent of the table, #467 depends on #465 and on the email alerts work.
## Out of scope
Account-level billing and top-up, export before terminate, free-up-budget wizard, lifecycle rules engine, public catalog pages. All tracked in the Notion epic roadmap.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.