MVP-001 |
Promote packages/domain into a real shared contracts package and move backend-local runtime and sandbox contracts into it |
Active |
packages/domain/src/index.ts, packages/domain/src/services.ts, packages/domain/src/runtime.ts, packages/domain/test/*.test.ts, packages/backend/src/github/webhookIngestor.ts |
Clients, Convex, adapters, and workers all depend on one shared contracts package, and backend-only contract duplication is removed |
MVP-002 |
Expand the shared Effect contract model to cover WorkflowRun, RuntimeSession, MergeDecision, GitHubInstallation, RepositoryConnection, and WebhookDelivery |
Active |
packages/domain/src/workflow.ts, packages/domain/src/runtime.ts, packages/domain/src/github.ts, packages/domain/src/request-intake.ts, packages/domain/test/*.test.ts |
The shared package contains the full product model needed for orchestration, publication, and provenance |
MVP-003 |
Define shared Effect service boundaries for GitHub, runtime, sandbox, policy, artifacts, and interrupts |
Active |
packages/domain/src/services.ts, packages/backend/src/github/layers.ts, packages/backend/src/github/octokit.ts, packages/backend/src/github/webhookIngestor.ts, packages/backend/src/policy/evaluate.ts |
GitHubInstallationBroker, GitHubPublisher, RuntimeAdapter, SandboxAdapter, PolicyEvaluator, ArtifactStore, and InterruptController exist behind shared contracts |
MVP-004 |
Align Convex schema and function boundaries to shared contracts instead of duplicating shapes locally |
Active |
packages/backend/convex/contracts.ts, packages/backend/convex/schema.ts, packages/backend/convex/requests.ts, packages/backend/convex/github.ts, packages/backend/convex/githubWorker.ts |
Convex ingress and egress decode shared contracts at the boundary, and local shape duplication is removed |
MVP-005 |
Complete repository authority with GitHub App installation and verified webhook wiring |
Active |
packages/backend/convex/http.ts, packages/backend/convex/githubHttp.ts, packages/backend/convex/github.ts, packages/backend/convex/githubWorker.ts, packages/backend/convex/crons.ts, packages/backend/src/github/octokit.ts, packages/backend/src/github/appRequirements.ts |
One repo can be connected through a GitHub App, webhook signatures are verified, and inbound GitHub events can create prompt requests |
MVP-006 |
Add durable Convex state for repositories, webhook deliveries, workflow runs, runtime sessions, publication records, approvals, and pending input |
Active |
packages/backend/convex/schema.ts, packages/backend/convex/contracts.ts, packages/backend/convex/github.ts, packages/backend/convex/githubWorker.ts |
The control plane has durable storage for the full request-to-publication lifecycle |
MVP-007 |
Implement the Daytona execution adapter against the shared execution contract |
Active |
packages/backend/src/sandbox/daytona.ts, packages/backend/src/execution/layers.ts, packages/backend/convex/workflowWorker.ts, packages/backend/src/config/schema.ts |
PatchPlane can create and supervise one sandbox execution through the shared adapter boundary |
MVP-008 |
Implement PiRuntimeAdapter against the shared runtime contract |
Active |
packages/backend/src/runtime/piMono.ts, packages/domain/src/runtime.ts, packages/domain/src/services.ts, packages/backend/convex/workflowWorker.ts |
Pi Mono can run inside the sandbox and emit normalized runtime events through the adapter boundary |
MVP-009 |
Implement normalized runtime event ingestion plus one projector or snapshot path for dashboard state |
Active |
packages/backend/convex/workflows.ts, packages/backend/convex/schema.ts, packages/backend/convex/workflowWorker.ts |
Runtime events are normalized, persisted, and projected into a readable operator timeline |
MVP-010 |
Implement GitHub feedback publication for comments, checks, and PR or draft PR updates |
Active |
packages/domain/src/github.ts, packages/backend/src/github/octokit.ts |
PatchPlane can publish one end-to-end execution result back to GitHub |
MVP-011 |
Implement one reviewer pipeline and connect it to policy gating |
Completed |
packages/backend/src/policy/reviewers.ts, packages/backend/src/policy/runtimeReview.ts, packages/backend/convex/workflowWorker.ts, packages/backend/convex/workflows.ts, packages/backend/test/runtimeReview.test.ts |
One reviewer job runs in the workflow, persists a structured result, and contributes to merge gating |
MVP-012 |
Expose dashboard visibility for live runs, approvals, and decisions |
Active |
apps/client/src/routes/app.tsx provides an authenticated shell, but not live run supervision yet |
Operators can inspect runs, approvals, and merge decisions from the app without dropping to logs or code |