docs(prd-0018): one compose project per bottle instance #33
Reference in New Issue
Block a user
Delete Branch "compose-per-instance"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Draft PRD for replacing the per-sidecar
dockerSDK chain inclaude-bottle startwith onedocker composeproject per bottle instance. Eachstate/<slug>/dir becomes self-describing — a singlecataway from understanding what an instance ran.state/<slug>/after this PRD:metadata.json— adds acompose_projectfielddocker-compose.yml— the exact spec used to spin the instance upcompose.log— full dump ofdocker compose logs --no-colorat session endtranscript/+live-config/— unchangedSidecar stage-file delivery moves from
docker cpinto containers to host bind-mounts under the state dir, which lets eachDocker{Sidecar}class collapse itsstart/stoplifecycle into a singlecompose_service(plan)method that returns a service-stanza fragment. Apply flows (pipelock-block/egress-block/capability-block) keep working unchanged because the SIGHUP-reload protocol against the bind-mounted files doesn't change.Sized into 5 implementation chunks. Drafted with seven open questions called out — the most load-bearing being the agent's foreground attachment under compose and the bind-mount semantics of
compose down --volumes.