docs(13): operator decision — mocks isolated to demo site, not shipped code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
archipelago
2026-08-07 05:53:59 -04:00
co-authored by Claude
parent a7368b8b1d
commit 9cf1c12213
2 changed files with 17 additions and 10 deletions
@@ -146,15 +146,17 @@ already-proposed follow-on phases.
3. **Stop the mechanisms fighting**: `archyContentActive` must not latch on an *empty*
granted bucket; no-tool turns must not wipe populated grids.
(`aiui/composables/useContentPanel.ts:210-215,311-355`, `useArchy.ts:365-382`)
4. **Mock quarantine — with an explicit demo decision for the operator.** The demo
pressure is why mocks exist, and the other agent's open list says "More mock content
types". The audit position: mocks out of the prod bundle, never presented to the model
as the user's real library, no dead `*.example` URLs. If the demo needs richness before
real content exists, the honest shape is a **labelled demo mode** (visibly marked,
dev/demo builds only, fake credentials scrubbed — the `rpcpassword=archipelago123`
bitcoin.conf must not ship in any case). "More mocks in prod, unlabelled" is the one
option that fails both the audit and the demo.
(`aiui/composables/contentExtraction.ts:4-6`, `useAI.ts:23-37`, bundle-verify by grep)
4. **Mock quarantine — OPERATOR DECISION (2026-08-07): mock content types are isolated
to the demo.archipelago-foundation.org website and do NOT live in the actual code.**
Consequences: (a) the prod bundle drops the static mock imports and never presents
mocks to the model as the user's library (`contentExtraction.ts:4-6`, `useAI.ts:23-37`);
(b) the auto-seeded "Exploring My Node" conversation and `/seed` are removed from the
shipped build entirely — they belong to the demo site's own isolated content pack
(separate fixture layer, injected only in the demo-site build); (c) the fabricated
`rpcpassword=archipelago123` bitcoin.conf is scrubbed even from the demo pack — fake
must never look like a real credential; (d) the demo site's richness comes from that
isolated pack, so "more mock content types" is re-scoped as demo-site work, never a
product-code task. Bundle-verify by grep: zero `*.example` / mock hosts in prod dist.
5. **Honest rendering**: hide zero-value metadata (no "★ 0 · 0m"), empty states name the
actual cause ("no media shared on this node yet" vs "No films match your search"),
mount or remove the dead detail views (apps/recipes), delete or wire the seed-only
@@ -36,7 +36,12 @@ Single flat list. Everything open, from operator reports and on-device evidence.
- [ ] Audit all ten `AIContextCategory` values for real coverage, not stubs
- [ ] `files` context request times out
- [ ] Cmd/Ctrl+K → "search with AIUI" must carry the query into the expanded chat
- [ ] More mock content types
- [ ] ~~More mock content types~~ → **OPERATOR DECISION 2026-08-07: mock content is
isolated to the demo.archipelago-foundation.org website, NOT in the shipped code.**
Re-scoped: build the demo-site content pack as a separate fixture layer; prod drops
mock imports, the auto-seeded demo conversation, and `/seed`. See
`phases/13-aiui-functional-conversational-node-control-and-content-surf/ASSESSMENT-FIX-PLAN-2026-08-07.md`
Wave 1 item 4.
## App lifecycle (operator-reported, serious)