Compile every decision on the map into one ordered checklist an execution pass can follow on docs/cleanup-and-restructure without making new decisions: removals, source changes (qdrant loopback, dashboard stays LAN), new/moved/deleted docs, comment conversions, CONTEXT.md commit, agent guide + domain.md + CLAUDE.md pointer — then the server-side deploy steps (update.sh, volumes, dashboard provider/keys, reverse-proxy hosts, stale .env lines) gathered from the removal inventory and Intent vs. source. AFK, then user review.
Part of #55
## Question
Compile every decision on the map into one ordered checklist an execution pass can follow on `docs/cleanup-and-restructure` without making new decisions: removals, source changes (qdrant loopback, dashboard stays LAN), new/moved/deleted docs, comment conversions, CONTEXT.md commit, agent guide + domain.md + CLAUDE.md pointer — then the server-side deploy steps (`update.sh`, volumes, dashboard provider/keys, reverse-proxy hosts, stale .env lines) gathered from the removal inventory and Intent vs. source. AFK, then user review.
One pass on branch docs/cleanup-and-restructure, one commit per phase, one PR. Each step names the ticket that holds its detail; the ticket, not this list, is authoritative.
Phase 1 — Removals (source)
Remove ComfyUI, downloader-comfyui, Open WebUI, scripts/switch-model.sh, the COMFYUI_* / OPENWEBUI_* keys, the update.sh downloader line, and the two image-gen research docs — per Removal inventory: image generation and Open WebUI (#58).
Remove Lazytainer (service, lazytainer.* labels on llama-server, LAZYTAINER_INACTIVE_TIMEOUT) and neo4j (service, neo4j-data volume, NEO4J_PASSWORD in .env.example and update.sh) — per Intent vs. source (#63).
Create docs/architecture.md, docs/gateway.md (from proxy-key-onboarding.md), docs/operations.md; rewrite docs/network-access.md; slim README.md to intro + Quickstart + index; fix docs/coding-cli-setup/* — per Target doc structure (#60). Resolve every FALSE/STALE verdict and collapse every duplicate cluster from the Audit (#56) while writing; use CONTEXT.md terms.
Move docs/proxy-request-priority.md → docs/research/; create docs/research/README.md from the Research-doc index (#57), adding the lazytainer / neo4j / Open WebUI removal notes from #58 and #63. Both build plans labelled background research.
Phase 4 — Comments → docs
Convert every comment in docker-compose.yml, .env.example, scripts/update.sh per Comment destination map (#61): pointer / inline warning / auto-filled marker / nothing. Every pointer targets a section created in Phase 3.
Phase 5 — Agent guide
Create docs/agents/writing-docs.md, extend docs/agents/domain.md, add the CLAUDE.md pointer line — per Agent guide (#62).
Phase 6 — Done-check (from #62's rule 6, applied to the whole branch)
Every # see docs/…#… pointer resolves to an existing heading.
Every non-research doc opens with its Source of truth line and is listed in the README index.
No non-research doc restates a value from compose / .env.example.
OmniRoute dashboard: revoke the openwebui-chat API key; delete the comfyui provider connection if it exists.
Reverse proxy: remove the knowledge.proxy-ai.home host and any comfy.home / :8008 route.
Optional: delete stale COMFYUI_*, OPENWEBUI_OMNIROUTE_KEY, NEO4J_PASSWORD, LAZYTAINER_* lines from the server .env; docker image rm the unused images.
Verify: docker compose ps shows only llama-server, qwen-classifier, omniroute, qdrant; qdrant unreachable from another LAN host on 6333; a coding CLI still gets a response through the gateway.
## Resolution — execution hand-off checklist
One pass on branch `docs/cleanup-and-restructure`, one commit per phase, one PR. Each step names the ticket that holds its detail; the ticket, not this list, is authoritative.
### Phase 1 — Removals (source)
- [ ] Remove ComfyUI, `downloader-comfyui`, Open WebUI, `scripts/switch-model.sh`, the `COMFYUI_*` / `OPENWEBUI_*` keys, the `update.sh` downloader line, and the two image-gen research docs — per **Removal inventory: image generation and Open WebUI** (#58).
- [ ] Remove Lazytainer (service, `lazytainer.*` labels on llama-server, `LAZYTAINER_INACTIVE_TIMEOUT`) and neo4j (service, `neo4j-data` volume, `NEO4J_PASSWORD` in `.env.example` and `update.sh`) — per **Intent vs. source** (#63).
- [ ] Check: `docker compose config -q` passes; `git grep -iE 'comfy|open-?webui|lazytainer|neo4j|switch-model' -- ':!docs/research'` returns nothing.
### Phase 2 — Source changes
- [ ] qdrant port bound to loopback — per #63. Dashboard port unchanged (stays LAN-published).
### Phase 3 — Docs (new structure)
- [ ] Commit `CONTEXT.md` (already drafted) — Glossary (#59).
- [ ] Create `docs/architecture.md`, `docs/gateway.md` (from `proxy-key-onboarding.md`), `docs/operations.md`; rewrite `docs/network-access.md`; slim `README.md` to intro + Quickstart + index; fix `docs/coding-cli-setup/*` — per **Target doc structure** (#60). Resolve every FALSE/STALE verdict and collapse every duplicate cluster from the **Audit** (#56) while writing; use `CONTEXT.md` terms.
- [ ] Move `docs/proxy-request-priority.md` → `docs/research/`; create `docs/research/README.md` from the **Research-doc index** (#57), adding the lazytainer / neo4j / Open WebUI removal notes from #58 and #63. Both build plans labelled background research.
### Phase 4 — Comments → docs
- [ ] Convert every comment in `docker-compose.yml`, `.env.example`, `scripts/update.sh` per **Comment destination map** (#61): pointer / inline warning / auto-filled marker / nothing. Every pointer targets a section created in Phase 3.
### Phase 5 — Agent guide
- [ ] Create `docs/agents/writing-docs.md`, extend `docs/agents/domain.md`, add the `CLAUDE.md` pointer line — per **Agent guide** (#62).
### Phase 6 — Done-check (from #62's rule 6, applied to the whole branch)
- [ ] Every `# see docs/…#…` pointer resolves to an existing heading.
- [ ] Every non-research doc opens with its *Source of truth* line and is listed in the README index.
- [ ] No non-research doc restates a value from compose / `.env.example`.
- [ ] `docker compose config -q` passes; `bash -n scripts/update.sh`.
- [ ] Open the PR; user reviews and merges.
### Phase 7 — Deploy on the server (user runs; agent has no shell access there)
- [ ] `git pull` + `./scripts/update.sh` (its `--remove-orphans` removes the comfyui, open-webui, lazytainer and neo4j containers). Expect conflict prompts only for changed defaults.
- [ ] `docker volume rm` the `comfyui-data`, `open-webui-data`, `neo4j-data` volumes (project prefix, normally `llm-server_`).
- [ ] OmniRoute dashboard: revoke the `openwebui-chat` API key; delete the `comfyui` provider connection if it exists.
- [ ] Reverse proxy: remove the `knowledge.proxy-ai.home` host and any `comfy.home` / :8008 route.
- [ ] Optional: delete stale `COMFYUI_*`, `OPENWEBUI_OMNIROUTE_KEY`, `NEO4J_PASSWORD`, `LAZYTAINER_*` lines from the server `.env`; `docker image rm` the unused images.
- [ ] Verify: `docker compose ps` shows only llama-server, qwen-classifier, omniroute, qdrant; qdrant unreachable from another LAN host on 6333; a coding CLI still gets a response through the gateway.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Part of #55
Question
Compile every decision on the map into one ordered checklist an execution pass can follow on
docs/cleanup-and-restructurewithout making new decisions: removals, source changes (qdrant loopback, dashboard stays LAN), new/moved/deleted docs, comment conversions, CONTEXT.md commit, agent guide + domain.md + CLAUDE.md pointer — then the server-side deploy steps (update.sh, volumes, dashboard provider/keys, reverse-proxy hosts, stale .env lines) gathered from the removal inventory and Intent vs. source. AFK, then user review.Resolution — execution hand-off checklist
One pass on branch
docs/cleanup-and-restructure, one commit per phase, one PR. Each step names the ticket that holds its detail; the ticket, not this list, is authoritative.Phase 1 — Removals (source)
downloader-comfyui, Open WebUI,scripts/switch-model.sh, theCOMFYUI_*/OPENWEBUI_*keys, theupdate.shdownloader line, and the two image-gen research docs — per Removal inventory: image generation and Open WebUI (#58).lazytainer.*labels on llama-server,LAZYTAINER_INACTIVE_TIMEOUT) and neo4j (service,neo4j-datavolume,NEO4J_PASSWORDin.env.exampleandupdate.sh) — per Intent vs. source (#63).docker compose config -qpasses;git grep -iE 'comfy|open-?webui|lazytainer|neo4j|switch-model' -- ':!docs/research'returns nothing.Phase 2 — Source changes
Phase 3 — Docs (new structure)
CONTEXT.md(already drafted) — Glossary (#59).docs/architecture.md,docs/gateway.md(fromproxy-key-onboarding.md),docs/operations.md; rewritedocs/network-access.md; slimREADME.mdto intro + Quickstart + index; fixdocs/coding-cli-setup/*— per Target doc structure (#60). Resolve every FALSE/STALE verdict and collapse every duplicate cluster from the Audit (#56) while writing; useCONTEXT.mdterms.docs/proxy-request-priority.md→docs/research/; createdocs/research/README.mdfrom the Research-doc index (#57), adding the lazytainer / neo4j / Open WebUI removal notes from #58 and #63. Both build plans labelled background research.Phase 4 — Comments → docs
docker-compose.yml,.env.example,scripts/update.shper Comment destination map (#61): pointer / inline warning / auto-filled marker / nothing. Every pointer targets a section created in Phase 3.Phase 5 — Agent guide
docs/agents/writing-docs.md, extenddocs/agents/domain.md, add theCLAUDE.mdpointer line — per Agent guide (#62).Phase 6 — Done-check (from #62's rule 6, applied to the whole branch)
# see docs/…#…pointer resolves to an existing heading..env.example.docker compose config -qpasses;bash -n scripts/update.sh.Phase 7 — Deploy on the server (user runs; agent has no shell access there)
git pull+./scripts/update.sh(its--remove-orphansremoves the comfyui, open-webui, lazytainer and neo4j containers). Expect conflict prompts only for changed defaults.docker volume rmthecomfyui-data,open-webui-data,neo4j-datavolumes (project prefix, normallyllm-server_).openwebui-chatAPI key; delete thecomfyuiprovider connection if it exists.knowledge.proxy-ai.homehost and anycomfy.home/ :8008 route.COMFYUI_*,OPENWEBUI_OMNIROUTE_KEY,NEO4J_PASSWORD,LAZYTAINER_*lines from the server.env;docker image rmthe unused images.docker compose psshows only llama-server, qwen-classifier, omniroute, qdrant; qdrant unreachable from another LAN host on 6333; a coding CLI still gets a response through the gateway.