This file provides instructions and context for AI coding agents working on this project.
This project uses bd (beads) for issue tracking. Run bd prime to see full workflow context and commands.
bd ready # Find available work
bd show <id> # View issue details
bd update <id> --claim # Claim work
bd close <id> # Complete work- Use
bdfor ALL task tracking — do NOT use TodoWrite, TaskCreate, or markdown TODO lists - Run
bd primefor detailed command reference and session close protocol - Use
bd rememberfor persistent knowledge — do NOT use MEMORY.md files
When ending a work session, you MUST complete ALL steps below. Work is NOT complete until git push succeeds.
MANDATORY WORKFLOW:
- File issues for remaining work - Create issues for anything that needs follow-up
- Run quality gates (if code changed) - Tests, linters, builds
- Update issue status - Close finished work, update in-progress items
- PUSH TO REMOTE - This is MANDATORY:
git pull --rebase bd dolt push git push git status # MUST show "up to date with origin" - Clean up - Clear stashes, prune remote branches
- Verify - All changes committed AND pushed
- Hand off - Provide context for next session
CRITICAL RULES:
- Work is NOT complete until
git pushsucceeds - NEVER stop before pushing - that leaves work stranded locally
- NEVER say "ready to push when you are" - YOU must push
- If push fails, resolve and retry until it succeeds
make build # Build linux/amd64 by default
make structure # Verify package, config, and image cleanup
make smoke # Verify initialization and persistence
make smoke-all # Build and smoke all release platforms
make build-all # Build all platforms into Buildx cacheThe image packages Debian Etch's pinned MySQL 5.0.32 server/client packages.
docker-entrypoint.sh initializes empty datadirs through a socket-only temporary
server and leaves existing datadirs unchanged. Releases publish one manifest
for linux/amd64, linux/386, and linux/arm/v5.
- Keep pinned APT installation before local
COPYinstructions. - Keep shell compatible with Debian Etch's Bash 3 and validate with
bash -n. - Preserve Docker Official Image semantics where MySQL 5.0 supports them.
- Treat QEMU execution of
linux/arm/v5as best effort; Buildx output is supported, but MySQL's legacy threaded bootstrap requires native validation. - Use non-interactive cleanup and never commit database dumps.
- Run
make structureandmake smokeafter runtime changes.