Real time · docs/realtime-platform/delivery-plan.md

Real-time platform delivery plan

The implementation uses two-week iterations and lands only passing vertical slices. Each slice updates documentation and is committed and pushed on an AI-neutral feature/... branch.

3 min read492 wordsSource synchronized
View source on GitHub
ON THIS PAGE

Real-time platform delivery plan

The implementation uses two-week iterations and lands only passing vertical slices. Each slice updates documentation and is committed and pushed on an AI-neutral feature/... branch.

Phase Scope Release gate
0 ADRs, dependency rules, product versions, release trains, contract documentation contracts reviewed; dependency direction and release-family declarations machine-enforced
1 relation/type cache, dynamic rows, transaction assembly, identities, bounded spool, deliveries PostgreSQL 15–19 DML, tuple-state, abort, reconnect, and streamed-transaction coverage
2 stores, CAS checkpoints, leases, direct groups, PostgreSQL relay, replay and retention crash injection proves redelivery or clean progress without loss
3 typed/EF mappings, exported-snapshot bootstrap, DI, telemetry, Aspire, CloudEvents, CLI, testing concurrent snapshot writes have no gap; restart creates a new epoch; direct and relay modes present
4 prepared transactions, relay operations and migrations, Control Plane foundation, Streams freeze format upgrades pass and 72-hour fault-injected relay endurance completes
5 Sync state machine, transformations, four connectors, reconciliation, rebuilds and dashboard all connectors pass snapshot-plus-stream, recovery, upgrade, repair, and endurance suites
6 registered Live compiler, gap-free initial results, diffs, replay, transports and clients adversarial isolation and reconnect testing plus checked-in load budgets pass
7 bounded SQL/PGQ registration, dependency invalidation, authoritative graph diff and samples PostgreSQL 19 guards, graph correctness, cancellation, and workload benchmarks pass
8 V1 expansion: multiplexing, managed hosting, capability-secured client SQL/LINQ, isolated transformations, and incremental graph evaluation each capability has threat modelling, bounded resource contracts, fault recovery, operations, conformance, benchmarks, and an independently reviewable release gate

Every phase additionally requires formatting, a zero-warning build, current provider regressions, documentation-link validation, vulnerability auditing, packaging checks, and applicable public API and serialization baselines.

Locked defaults

  • .NET 10 and PostgreSQL 15–19, with explicit PostgreSQL 19 capability guards.
  • PostgreSQL is the first relay/control store; file is single-node and Redis is an alternative checkpoint/lease store.
  • Sync workers are in-process for 1.0.
  • Live ships SignalR and SSE, then TypeScript and Angular, with gRPC and React before 1.0.
  • Schema drift and poison records pause with diagnostics by default.
  • Bounded statement multiplexing and fenced, quota-aware managed-hosting reconciliation are implemented as the first two Phase 8 vertical slices. The deterministic, resource-bounded Sync JSON transformation sandbox is also implemented; it executes a finite instruction VM rather than treating in-process C# or an unconstrained child process as isolated. Capability-secured client SQL/remote LINQ is implemented with explicit application grants, RLS plus dedicated read-only roles for SQL, bounded execution, conservative invalidation, and security-scoped sharing. Bounded incremental graph evaluation is implemented with authorised affected-key queries, conservative top-N maintenance, authoritative repair, transactional proposal commit, and replay-before-ack recovery. It remains release-gated until the Phase 8 production evidence lands. “Arbitrary” client queries never means bypassing RLS, tenant scope, authorisation, cost limits, or cancellation.