@docs/.agents/README.md @docs/.agents/CONSTITUTION.md
This Project uses Superpowers workflows:
- Brainstorming
- Specification
- Design
- Tasks
- Validation
- Subagent Execution
- TDD
However, This Project overrides the default Superpowers filesystem layout.
Agents must NEVER create:
docs/superpowers/specs/ docs/superpowers/plans/ docs/superpowers/tasks/
Instead, use:
Specifications
docs/.agents/SPECS/FEATURES//
Files:
SPEC.md DESIGN.md TASKS.md VALIDATION.md STATUS.md
Implementation Plans
docs/.agents/IMPLEMENTATION/PLANS/
Examples:
peakvox-phase-1-foundations.md peakvox-phase-2-model-registry.md
Execution Tasks
docs/.agents/IMPLEMENTATION/TASKS/
Examples:
task-voice-source-assets.md task-provider-validation.md
Validation Reports
docs/.agents/VALIDATION/
Examples:
provider-validations/ retrospectives/ audits/
Current Superpowers Session
docs/.agents/SDD/
CURRENT_SPEC.md CURRENT_DESIGN.md CURRENT_TASKS.md CURRENT_VALIDATION.md
When using any Superpowers skill:
- brainstorm
- specification
- design
- planning
- task generation
- validation
- subagent execution
the generated artifacts must be written into the This Project documentation architecture.
Never use the default Superpowers folders.
The This Project documentation architecture supersedes the default Superpowers layout.
Whenever a new feature is created, the agent must generate:
docs/.agents/SPECS/FEATURES//
SPEC.md DESIGN.md TASKS.md VALIDATION.md STATUS.md
before implementation begins.
Implementation without a SPEC is prohibited.
Every implementation task must reference:
- Related ADRs
- Related Architecture Documents
- Related Spec
before coding begins.
Every completed feature must generate:
VALIDATION.md
inside the feature folder.
Validation is considered part of implementation.
Every feature folder must contain:
STATUS.md
Allowed statuses:
NOT_STARTED PLANNED APPROVED IN_PROGRESS PARTIAL IMPLEMENTED VALIDATED SUPERSEDED ARCHIVED
This becomes the feature-level implementation state.
Use this instead of rebuilding Docker images during development. The edit → save → see-the-change loop requires no image rebuilds.
scripts/start-dev.shWhat it does:
- Backend + MinIO run in Docker via
docker-compose.yml+docker-compose.dev.yml(--profile dev). The override bind-mountsbackend/app/into the container and runs uvicorn with--reload(watchfiles): saving any.pyfile underbackend/app/reloads the API in a few seconds. All production mounts are preserved (shared/datavolume,docker.sockfor the DockerRuntimeDriver, read-onlyruntime-registry/), so the Runtime Registry lifecycle works identically in dev. - Frontend runs on the host with
next dev(http://localhost:3000) for native HMR — component changes appear in the browser on save.NEXT_PUBLIC_API_URLfalls back tohttp://localhost:8000. - Ctrl-C stops the frontend and brings the compose services down.
Runtime containers (
peakvox-runtime-*) are driver-managed, not compose services — start-dev never touches them.
backend/requirements.txtorbackend/Dockerfilechanged:scripts/start-dev.sh --buildfrontend/package.jsonchanged:cd frontend && npm install(the script auto-installs only whennode_modules/is missing)- Runtime server code (
runtime-registry/*/server.py) changed: rebuild that runtime image via the Models page (Remove + Install) — runtime containers are intentionally immutable in dev.
docker compose --profile production up -d --buildThe dev override file is opt-in only; production compose, Dockerfiles, and deployment behavior are unaffected.
When iterating on backend/app/ or frontend/src/, use development
mode. Do not run docker compose build per change — that is the
expensive path this workflow replaces.