Org Workspace Completion Milestone
Purpose
This document defines what "finished enough to move on" means for the current org-and-portal client-work slice.
Use it to stop the project from widening before the current workspace feels coherent, trustworthy, and operationally complete.
This is not a long-term roadmap.
It is the current completion gate.
Milestone Goal
Finish the current org workspace holistically before starting another major product expansion.
For this milestone to count as complete, the org workspace must feel like one deliberate system across:
- collections
- detail routes
- analytics
- Stripe-backed client billing workflows
- portal-facing follow-through where the current slice already promises it
Included Work
This milestone includes the work that closes the gap between a live slice and a finished operational workspace.
Tracked Checklist
Use this as the live status snapshot for the current baton.
Owner is a workstream owner label, not necessarily a named individual.
| Workstream | Status | Owner | Exit signal |
|---|---|---|---|
Collection consistency across customers, projects, time, billing, and documents | in progress | org workspace UI | the major org collections feel like one system |
| Row-level quick actions across the org collections | planned | org workspace UI | row actions are consistent, useful, and do not break row-open or drag behavior |
Detail-route IA cleanup, starting with customers/[clientId] | planned | org detail IA | long detail routes no longer read like stacked dumping grounds |
org/(dashboard)/analytics route | planned | org analytics | analytics exists as a real sidebar route and complements overview |
| Stripe invoice and subscription workflows on top of the new backend foundation | planned | org billing workflows | invoice creation and subscription creation are real app workflows |
clientContacts workflow completion | planned | client-work model | clientContacts is no longer only schema-and-seed reality |
| Multi-company portal access grant rollout | planned | portal access model | one portal identity can hold parallel company grants inside one agency organization |
| Portal response-loop follow-through for the current slice | planned | portal follow-through | portal billing, files, and project visibility stay coherent with org-side workflows |
Current Gate Summary
Right now this milestone should be treated as in progress.
The biggest open completion blockers are:
- org workspace consistency still needs its final polish pass
- analytics is not live yet
- Stripe billing is now structurally real in the backend, but invoice and subscription authoring are not finished in the app
- the portal access layer still assumes one company per org-scoped portal identity
- portal-side self-service people management should not ship on top of that old single-company assumption
1. Collection consistency
- finish the org list polish pass
- align density, spacing, headers, and row hierarchy across
customers,projects,time,billing, anddocuments - add consistent row-level quick actions where they belong
2. Detail-route information architecture
- convert the detail pages that have outgrown a single long stack into tabbed or otherwise clearer IA
- keep the detail routes coherent with the list surfaces that lead into them
- make
customers/[clientId]the highest-priority IA decision
3. Analytics drill-in
- add
org/(dashboard)/analyticsas a real sidebar route - make it the reporting surface for delivery, utilization, receivables, revenue, and billing attention
- keep
overviewas the summary cockpit rather than turning it into a giant reporting dump
4. Stripe workflow completion for the current slice
- keep Polar SaaS billing separate from agency-operated client billing
- build on the new Stripe foundation already in the backend
- ship the first real invoice workflow inside
org/(dashboard)/invoices - ship the first real subscription or retainer workflow inside
org/(dashboard)/subscriptions - keep webhook-driven Stripe sync as the truth path for mirrored invoice and subscription state
5. Existing schema follow-through
- surface
clientContactsas a real workflow instead of leaving it schema-only - continue using the current first-wave tables instead of inventing second-wave convenience tables
6. Portal follow-through for the current promise
- land the multi-company portal access grant model before deeper client-managed people administration
- keep the portal aligned with the current org slice where visibility is already expected
- improve client-facing response loops only where they naturally finish the current delivery and billing promise
Explicitly Not In This Milestone
Do not treat these as part of the current completion gate:
- platform multi-agency operations
- richer time locking and approval depth beyond the current workflow
- complex document approval or request systems beyond the first believable loop
- CRM expansion
- proposal generation
- a second major analytics product area outside the org workspace
- advanced Stripe finance operations such as a full refund and credit-note console unless they are required to make the first invoice flow legitimate
Completion Rule
Do not move on to the next major expansion until all of the following are true.
Workspace quality
- the major org collections feel like one system
- the major detail routes feel intentional rather than stacked dumping grounds
- the org sidebar has a real analytics drill-in route
Billing legitimacy
- an agency can operate its own client billing relationship from inside the app without the current flow collapsing back to manual mirrored Stripe ids
- invoice creation exists as a real app workflow
- subscription or retainer creation exists as a real app workflow
- Stripe connection health and sync health are visible enough to trust the billing surface
Model follow-through
clientContactsis no longer only schema-and-seed reality- the current first-wave schema is being used instead of worked around
- portal access is grant-based per company instead of being trapped in a one-company portal membership assumption
Portal follow-through
- the current portal billing, files, and project visibility story is coherent with the org-side workflows already shipped
- the portal is not promising more than the org workflows can actually support
Recommended Implementation Order
- collection polish and parity
- row quick actions
- detail-route IA cleanup
- analytics route
- Stripe invoice and subscription workflows on top of the new backend foundation
clientContactsworkflow completion- multi-company portal access grant rollout
- portal response-loop follow-through
Sanity Check Before Starting New Expansion
Before starting another major product area, ask these questions:
- would a real agency operator think the current org workspace feels finished, or still obviously mid-transition?
- are we extending the current model, or compensating for unfinished work with new surface area?
- are we still using the first-wave tables directly, or quietly inventing new ones because the current workflows are incomplete?
- would the next expansion make the current workspace feel stronger, or just make the unfinished parts easier to ignore?
If those answers are weak, finish this milestone first.