feat: add reproducible devcontainers

Add a default devcontainer and a compose-backed memory-stack profile, validate them in CI, and document the contributor workflow.

Also lock the memory-stack dependencies, pin related container tooling, and sync the latest healthcheck shutdown fix for stubbed memory handlers.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
JerrettDavis 2026-04-10 12:58:35 -05:00
parent 1e940f822d
commit a1beb08d53
20 changed files with 906 additions and 10 deletions

View file

@ -0,0 +1,26 @@
#!/usr/bin/env bash
set -euo pipefail
profile="${1:-default}"
project_env="${UV_PROJECT_ENVIRONMENT:-/home/vscode/.venvs/headroom}"
sync_extras=(--extra dev)
if [[ "$profile" == "memory-stack" ]]; then
sync_extras+=(--extra memory-stack)
fi
cd /workspaces/headroom
uv sync --frozen "${sync_extras[@]}" --link-mode copy
uv run pre-commit install
echo "Headroom devcontainer is ready."
if [[ "$profile" == "memory-stack" ]]; then
echo "Memory stack sidecars are available at qdrant:6333 and neo4j://neo4j:7687."
fi
echo "Run checks with:"
echo " uv run ruff check ."
echo " uv run ruff format --check ."
echo " uv run mypy headroom --ignore-missing-imports"
echo " uv run pytest -v --tb=short"