Scale readiness

Strong foundation. Explicit limits.

The data shape scales cleanly across users, but the current client still assumes a bounded solo workspace. Here is the honest line.

Launch wedge before team platform
Solo executionReady

Hundreds to low thousands of active work items per user.

Human + agentsReady

Atomic, attributed, idempotent transitions share one graph.

Small-team SlackDeploy blocked

Code is built; Functions billing and Slack installation remain.

Large workspaceNot yet

Needs workspace tenancy, archival, and production observability.

Why the model holds

Firestore fits the first product wedge

Documents stay small, ownership is clear, and event history does not inflate the current-state record.

Top-level work items

Goal updates never rewrite arrays of executable work.

Derived execution views

Focus, Queue, Zones, and Done read one canonical state.

Append-only events

Audit and summaries grow independently from hot work state.

Scaling sequence

Earn complexity in four phases

Each phase removes a measured constraint before introducing the next operating model.

  1. 01
    NowProve the solo loop

    Flutter + MCP + Slack around one user's execution graph.

    • Deploy API
    • Install Slack app
    • Validate beta retention
  2. 02
    NextBound the hot data

    Keep active views fast while execution history grows.

    • Archive Done history
    • Measure query cost
    • Add retention controls
  3. 03
    TeamIntroduce workspace tenancy

    Move ownership from one user to a permissioned shared workspace.

    • Membership roles
    • Invitations
    • Workspace-scoped collections
  4. 04
    FleetOperate agent workloads

    Make long-running and scheduled execution observable and durable.

    • Due-job queue
    • Cost telemetry
    • Fleet-level run recovery
Current constraints

What fails first if usage jumps

Realtime readsFlutter bounds the live board to 500 open and 100 recent done items.Next: measure + tune per-view queries
History navigationActivity streams 100 recent events and loads older pages by cursor.Next: retention + archival policy
CollaborationTenancy belongs to a user, not a workspace.Fix: membership + RBAC
SchedulesSlack publisher scans enabled integrations hourly.Fix: due-job queue