docs: close out Tier 1 tracker items — all 3 turned out non-issues

immich is already fully Quadlet-migrated (verified live on .228, same
install_stack_via_orchestrator primitive as netbird/btcpay). TanStack Query
spike recommends not adopting — no cache/staleness bugs, WS push already
covers hot data. Netbird reinstall adoption-skips-cert-render is correct by
design (adoption only fires when no manifest exists to render from anyway).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
archipelago 2026-07-01 12:37:23 -04:00
parent 79bbcca964
commit 0323310c91

View File

@ -44,17 +44,25 @@ those are marked ✅ below with the commit that did it, so we stop re-litigating
## Tier 1 — Medium effort, unblocked
- [ ] **immich → Quadlet migration** — last legacy in-cgroup app; manifest still
declares plain `immich-postgres`/`immich-redis` containers instead of Quadlet
units (`apps/immich/manifest.yml`). Blocks deleting the legacy `create_container`
path (see Phase 3.5 in master plan).
- [ ] **Netbird reinstall adoption path** — verify whether the adopted-container path
actually skips cert/file rendering on reinstall (unconfirmed either way;
`wait_for_adopted_container` in `install.rs:326` exists but no dedicated
cert-render check was found). Reproduce on .228 (has netbird installed) before fixing.
- [ ] **TanStack Query (or equivalent) investigation** — still just a backlog idea, no
code. Time-box a spike: is neode-ui's current fetch/store pattern actually
causing real bugs, or is this nice-to-have? Decide before spending real time.
- [x] ~~immich → Quadlet migration~~ — investigated 2026-07-01, turned out already done:
immich uses the same `install_stack_via_orchestrator` primitive as netbird/btcpay
(`immich_stack_app_ids()` in `stacks.rs:690`), and is confirmed running as real
Quadlet units live on .228 (`immich_server.container`, `immich_postgres.container`,
`immich_redis.container`, all active). Not a legacy in-cgroup app — the only
remaining piece is the fleet-wide Phase-3 default-flip, already tracked in Tier 2.
- [x] ~~Netbird reinstall adoption path~~ — investigated 2026-07-01, **not a bug, by
design.** `adopt_stack_if_exists()` (`stacks.rs:140-198`) is only used as a
fallback when the orchestrator has no manifest for the app — there's nothing to
render certs/config from in that case, so skipping rendering is correct. When
the orchestrator *does* have the manifest (the normal path), the reconcile loop
already re-renders certs even for adopted-running containers, fixed in
`4519dbf0` (`prod_orchestrator.rs:1707-1708`).
- [x] ~~TanStack Query (or equivalent) investigation~~ — spike complete 2026-07-01,
**recommendation: don't adopt / close as not needed.** Only 3 stores actually fetch
data, WebSocket push already handles hot data (server-info/package-data), no
cache-invalidation or stale-data bugs found, migration would touch 62 RPC call
sites for no concrete payoff. If boilerplate ever bothers us, extract a
`usePolling()` composable instead — much cheaper than a query-cache migration.
## Tier 2 — High effort, unblocked (the actual next exit criteria)