# Project Handoff Audit status: completed date: 2026-07-12 baseline_commit: `ab758e7` ## Objective Make the repository sufficient for another AI to clone, validate, understand prior decisions, run the service, and continue the actual product goal without access to the original conversation. ## Initial Findings - Git was clean and synchronized with `origin/main` at `ab758e7`. - Content and research artifacts were committed, but there was no single AI continuation entrypoint. - The root README described repository sections but not current completion, failed routes, runtime state, or next priorities. - The 12-paper learning pilot was marked failed in its experiment file, while `experiments/README.md`, `learning/README.md`, and `module.json` still described it as an active pilot. - The web process was stopped; `lab.k1412.top` returned 502. - The web app requested stale `light/fast/large` model tags. Live Ollama exposed Luna/Terra/Sol instead. - Ordinary `nohup` passed one health check but was reaped with the Codex command session, so it was not a reliable service manager. ## Changes - Added `AGENTS.md` with read order, truth hierarchy, commands, and repository contracts. - Added project status, exploration history, and continuation plan under `docs/06-08`. - Added `tools/check_project.py` for deterministic item/index/research/syntax/contract checks. - Reconciled failed-pilot status across learning and experiment indexes. - Made Ollama model tiers configurable and aligned defaults with live Luna/Terra/Sol tags. - Added model readiness and missing-default reporting to `/api/health`. - Added an enabled user-level systemd service and `web/manage.sh` lifecycle commands. - Updated web and root documentation with product boundaries and operations. ## Validation Performed Offline: - parsed every committed JSON research/learning file used by the checker; - verified 989 indexed items match 6 job, 974 paper, and 9 industry files; - verified the memory snapshots remain 516 candidates, 379 title-central, and 293 local paper records; - parsed all Python files under `tools/` and `web/app.py` with `ast`; - asserted the web client does not send `num_ctx` or `keep_alive`; - ran `git diff --check`. Live: - verified Tailscale address `100.114.68.27` exists; - verified Ollama inventory and all default model tags; - started the Atlas as `agent-knowledge-atlas.service`; - verified `/api/health`, `/api/models`, `/api/atlas`, `/`, and the public mapped domain; - verified the Atlas reports 974 papers, 15 topics, 5 routes, and 13 timeline buckets; - completed one real paper-summary request through the web API with Luna in 5.32 seconds. ## External State Boundary Git contains the application, unit file, management script, and documentation. The following remain external: - Gitea credentials and credential helper; - Cloudflare/reverse-proxy/TLS mapping for `lab.k1412.top`; - Ollama model manifests and server residency/context configuration; - the company GPT-5.5 data-agent endpoint and credentials. - temporary full-paper PDFs/text and regenerable web caches. Future handoffs must verify those live rather than treating this record as permanent state.