Status: completed (2026-03-24).
Source direction: 08-v3-spec.md
V3 theme:
- real scale
- serious team use
- robust multi-package support
- root/member contracts with inheritance
- member-level overrides
- workspace task graph
- selective execution for specific members
- first-class container backend abstraction
- first-class remote backend abstraction
- backend capability negotiation
- explicit lifecycle semantics for isolated execution
- command-time backend and lifecycle overrides
- cleanup / teardown support for isolated execution
- runtime distribution support where version alone is not sufficient, especially Java
- stable machine-readable diagnostics schema
- richer exit codes
- stricter validation modes
- task safety policy
- agent writable-path policy
- Support real monorepo structures cleanly
- Make container execution a real first-class path
- Enable remote execution for coding agents and cloud runners
- Lock in machine-readable output as a stable API surface
Implemented so far:
- root/member monorepo declaration in
ota.yaml - member override inheritance
- explicit
--membertargeting for repo commands - automatic member discovery from inside member directories
- root validation that proves declared members exist and validate as merged contracts
- selective multi-member execution for
ota run - selective multi-member inspection for
ota tasks - member-aware
doctor - root-level
ota taskssummary for monorepo roots - root-level
ota doctorsummary for monorepo roots - member-aware
check - root-level
ota checksummary for monorepo roots - member-aware
up - root-level
ota upsummary for monorepo roots ota workspace taskstask-graph summary in dependency orderota workspace run <task>deterministic task orchestration across workspace reposota workspace checkdeterministic checks-only orchestration across workspace repos- first real container-backed
ota run execution.lifecycleenforcement for container-backedota run- command-time
ota run --backend/--lifecycleandota up --backend/--lifecycleoverrides - repo-level
ota cleanfor persistent container teardown - runtime distribution support such as
runtimes.java.distribution - real remote-backed
ota runforprovider: daytona,provider: ssh,provider: tsh, andprovider: kubectlwith explicittarget - remote-backed
ota upsetup execution through the same backend path - provider-specific remote target guidance in validator and runner errors (for
daytona,ssh/tsh, andkubectl) - doctor warnings for suspicious remote target shape (
ssh/tshwithoutuser@host,kubectlwithoutpod/...) - doctor JSON warning contract locks for suspicious remote target findings (
ssh,tsh,kubectl) including full finding object stability - aggregate doctor JSON monorepo coverage proving all suspicious remote target warning families can appear together in one run
V3 closure:
- all required V3 scope items in this plan are implemented
- broader provider-specific remote semantics remain intentionally deferred per 12-v3-gap-closure-and-deferred.md
workspace:
type: monorepo
members:
- api
- web
- sdkMember contracts should inherit from the root and override only what differs.
execution:
preferred: container
supported:
- native
- container
- remote
backends:
container:
image: ghcr.io/myorg/dev:latest
remote:
provider: ssh
target: sandbox-dev
cwd: /workspaceV3 succeeds when:
- a monorepo with 3 or more members can be fully described and run via ota
- task execution can target one member cleanly
- container execution is a real code path, not just declared metadata
- remote sandbox execution works end to end for coding-agent workflows