diff --git a/.planning/STATE.md b/.planning/STATE.md index 4879b9a5..556be508 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -5,7 +5,7 @@ milestone_name: milestone current_phase: 13 current_phase_name: aiui-functional-conversational-node-control-and-content-surf status: executing -stopped_at: 13-14 COMPLETE 2026-08-06, next 13-15 device-close +stopped_at: "13-14 COMPLETE 2026-08-06 (14/15). ONLY 13-15 REMAINS (device-close, autonomous:false, blocking human-verify). archi-dev-box runs the current merged stack (binary 2d10b710-era + history replay + persona fix; neode-ui + AIUI deployed, live-chunk verified). Grants apps+system. 13-15 needs FOUR browser checks by the operator — see .planning/todos/pending/2026-08-06-open-operational-tasks.md for the exact list plus every open non-phase task and the follow-on phase proposal. Known gaps to RECORD not fix: music view (D-13 independent), Routstr live paid request, E-09 naive-user study." last_updated: "2026-08-06T18:07:49.641Z" last_activity: 2026-08-06 last_activity_desc: 13-14 complete (18-case adversarial eval harness EV-01..EV-18, ScriptedBackend-driven, offline/zero-footprint; E-02 confirmation-copy sign-off operator-approved with three verbatim dialog texts; E-09 naive-user comprehension study recorded as an open residual, not run) diff --git a/.planning/todos/pending/2026-08-06-open-operational-tasks.md b/.planning/todos/pending/2026-08-06-open-operational-tasks.md new file mode 100644 index 00000000..67facdf7 --- /dev/null +++ b/.planning/todos/pending/2026-08-06-open-operational-tasks.md @@ -0,0 +1,56 @@ +--- +captured: 2026-08-06 +source: session task list (session-scoped, persisted here so a fresh session inherits it) +--- + +# Open operational tasks as of 2026-08-06 evening + +Phase 13 itself: **14/15 plans complete**, only **13-15** (device-close, `autonomous: false`) +remains. Everything below is outside the plan graph unless stated. + +## Blocking 13-15 (needs the operator, in a browser) + +Four checks on **archi-dev-box** in the real embedded Chat iframe (not `dev:mock`), hard-reload +first. These close AIUI-06: + +1. **Renders** — AIUI appears in the Chat iframe, not a black page. Repeat on **mobile** + (reach the node by IP or Tailscale name; `.local` https does not resolve on Android). +2. **Content grid — BLOCKING GATE** — real peer/owned files render (not fixtures, not + model-invented rows); playing audio goes to the **bottom bar**, never the lightbox. +3. **Share regression** — share a video and a document from the cloud view; each still gets its + correct type and files where it always did (the music track edited that MIME map). +4. **CSP boundary** — in the **AIUI frame's** devtools console a POST to the RPC endpoint is + **blocked**; from the **top-level** frame the same call succeeds. + +Then: write `13-UAT.md`, fill `13-VALIDATION.md`'s map, close 13-15, close the phase. +Known gaps to record rather than fix: music view (D-13 independent track), Routstr live paid +request (protocol unverified, zero allowance), E-09 naive-user comprehension study. + +## Node/infra tasks (not phase 13) + +- **Gated-app iframe login** (`session timeout` in-frame, works in a tab). Mechanism confirmed: + https dashboard + hardcoded `http://` iframe URL => schemeful-same-site => `SameSite=Lax` + cookie withheld on the subrequest. **Two fixes ruled out**: the appgate has NO TLS (verified: + `https://127.0.0.1:8334` refuses), and `/app//` path-prefix proxying is rejected by the + operator ("never works ever, breaks all the websites historically"). Remaining: TLS on app + ports (gate or an nginx TLS front) vs. enforcing one dashboard scheme per node. Needs a + decision before code. +- **App health UX** — a container that is up but not yet answering its probe renders as + **"Unreachable"** instead of **"Starting…"**. Hit today by both LND and bitcoind (`-28` + warm-up). Fix the status mapping with a grace window. +- **.228 mempool** — NOT down (API serves live data; ElectrumX is rebuilding its index from + genesis after being recreated, ~24h, address lookups only). The tx-link half is **fixed** + (`24a34a37`) but only reaches .228 when a release ships there — decide: normal release, or + push the frontend to .228 sooner. +- **Unreachable node app-gate** — operator to OTA it to .125 from its own UI, then retest. + +## Follow-on phases (proposal written) + +See `../phases/13-.../FOLLOW-ON-SCOPE-PROPOSAL.md`, pushed. Shape: +**A** finish declared-but-unbuilt AIUI-02 (conversational settings) + AIUI-05 (delivery/build); +**B** outbound brokered, driven by the **web-search setting** (operator decision: the toggle must +change what is *possible* — move it node-side, derive the CSP from it, allowlist not wildcard); +**C** Nostr first-class + **zaps** (wallet tool category behind the 13-08 confirm gate). +B before C. + +Other captured todos in this directory: Routstr funding UX; web-search through node chat.