diff --git a/.planning/phases/01-foundation/01-CONTEXT.md b/.planning/phases/01-foundation/01-CONTEXT.md new file mode 100644 index 0000000..100400d --- /dev/null +++ b/.planning/phases/01-foundation/01-CONTEXT.md @@ -0,0 +1,59 @@ +# Phase 1: Foundation - Context + +**Gathered:** 2026-02-03 +**Status:** Ready for planning + + +## Phase Boundary + +Go backend running in Docker with isolated storage. Container serves HTTP and has access only to the mounted data volume. This phase establishes the infrastructure foundation — no application logic yet. + + + + +## Implementation Decisions + +### Container Isolation +- Standard isolation — volume mount restriction only, no hardened filesystem +- Port 32768 inside container — high port to avoid collisions with other Pi services +- Data volume mounted at `/data` inside container +- HTTP only — no outbound network access needed + +### Build Strategy +- Multi-arch image using docker buildx (x86_64 + ARM64) +- Single Dockerfile — no separate dev/prod files +- Base image: Debian slim (compatibility and debugging over minimal size) +- Push to local Gitea registry (once set up) + +### Dev Workflow +- Docker Compose for local development +- Deploy to Pi: git pull from Gitea + build image directly on Pi +- Go version: Latest stable (1.22+) + +### Claude's Discretion +- Go project structure and module naming +- Hot reload / watch mode setup for local dev (or manual rebuild) +- Multi-stage Dockerfile optimization +- Health check endpoint design + + + + +## Specific Ideas + +- User plans to move primary dev environment to Pi after setting up local Gitea, so cross-platform dev experience is transitional +- Pi may run other services, hence the high port (32768) to avoid conflicts + + + + +## Deferred Ideas + +None — discussion stayed within phase scope + + + +--- + +*Phase: 01-foundation* +*Context gathered: 2026-02-03*