diff --git a/CONTEXT.md b/CONTEXT.md index 809bd7b..4aa4035 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -537,7 +537,8 @@ the guest it backs up. Gaps minted the same session: **R-102 … R-108**. CLOSED (reset-request response carries the rotated code hash — ACK shape/guarantee — emailed codes work immediately; live 1 s apply + first-try accept on Viktor's exact failure path) and F-16 CLOSED (zero native `confirm()` in the hub UI — `inline_confirm.html` partial, Igen/Mégse - inline two-step, `scripts/hub_confirm_gate.py` enforces; danger-zone typed-confirm untouched; + inline two-step, asserted by `scripts/hub_confirm_gate.py` — **which exists but is NOT enforced: + it is invoked by nothing** (R-29); danger-zone typed-confirm untouched; live: offsite re-issue completed under browser automation without freezing). Operator resend keeps the ACK lag — flash says so. Take-two §4 dispositions updated (F-15/F-16/zero-toggle obs → SHIPPED). Remaining from take-two: **F-14** (needs operator ruling: auto-Reissue re-adopt vs diff --git a/REUSE.md b/REUSE.md index 7bc3ec5..6a76c0e 100644 --- a/REUSE.md +++ b/REUSE.md @@ -59,7 +59,7 @@ | Symbol | File | Short signature | Use for | Gotchas | |---|---|---|---|---| | funcMap in `web.New` | hub/internal/web/server.go (~L67) | `template.FuncMap{...}` | ALL template helpers (`timeAgo`, `statusColor`, `json`, `hubVersion`…) | Add new template funcs HERE, nowhere else. Tested by hub/internal/web/funcmap_test.go + render_test.go. | -| `inline_confirm_js` partial (v0.52.0) | hub/internal/web/templates/inline_confirm.html | `{{template "inline_confirm_js"}}` in the page `` | Inline "question + Igen/Mégse" confirm for consequential buttons — `data-confirm="…"` on the button, or `felhomConfirm(el, q, onYes)` from JS | NEVER native `confirm()`/`prompt()` — OS-modals freeze browser automation (F-16); `scripts/hub_confirm_gate.py` enforces zero. Uses `requestSubmit` so `formaction` sub-buttons riding a parent form work. NOT for the danger-zone typed-confirm cascade. | +| `inline_confirm_js` partial (v0.52.0) | hub/internal/web/templates/inline_confirm.html | `{{template "inline_confirm_js"}}` in the page `` | Inline "question + Igen/Mégse" confirm for consequential buttons — `data-confirm="…"` on the button, or `felhomConfirm(el, q, onYes)` from JS | NEVER native `confirm()`/`prompt()` — OS-modals freeze browser automation (F-16). `scripts/hub_confirm_gate.py` asserts zero, but is **not wired to run** (R-29) — so the rule holds only as long as you keep it. Uses `requestSubmit` so `formaction` sub-buttons riding a parent form work. NOT for the danger-zone typed-confirm cascade. | | `timeAgo` | hub/internal/web/server.go (~L603) | `(t time.Time) string` | Human-relative timestamps in UI | — | | `statusColor` | hub/internal/web/server.go (~L630) | `(status string) string` | Status → design-system-v2 token (nominal/warn/crit/neutral) | Class SUFFIX only, never inline color (D4). Exception-color principle: healthy = blue/neutral. | | `(*Server).hostStatus` + `hostStatusClass`/`hostStatusLabel` | hub/internal/web/hosts.go (~L16/34/48) | `(lastReport *time.Time) string` | Host liveness badge | Uses the SAME threshold as HostStalenessChecker (down = 2× stale) — never invent a second definition. | diff --git a/documentation/backlog/OPEN-ITEMS.md b/documentation/backlog/OPEN-ITEMS.md index 4617e99..02888e4 100644 --- a/documentation/backlog/OPEN-ITEMS.md +++ b/documentation/backlog/OPEN-ITEMS.md @@ -1,8 +1,9 @@ # OPEN-ITEMS — the single source of truth for open work **Rebuilt 2026-07-27 by read-only triage.** `ROADMAP.md` keeps the full history and reasoning; this -page keeps only what is **open**, and it is the file to read first. `REPORT.md` is per-session and -**overwritten** — nothing durable may live only there. +page keeps only what is **open**, and it is the file to read first. Root `REPORT.md` is per-session +and **overwritten** — nothing durable may live only there; a session that must not clobber it writes +a non-overwritten `REPORT-.md` sibling instead (`CLAUDE.md:82-87`), of which 14 now exist. State: `BLOCKED` · `READY` · `WAITING-ON-OPERATOR` · `WATCHING`. Every row has an owner. @@ -52,7 +53,10 @@ State: `BLOCKED` · `READY` · `WAITING-ON-OPERATOR` · `WATCHING`. Every row ha | **R-92** | Hub PBS-DR gauge is 0.1 GB-granular — small deltas unverifiable | READY (XS) | — | Widen precision when retention becomes customer-visible | CC | | **R-93** | `drill-r50` is both a blocked customer and the only drift fixture | READY (XS) | — | Retire it for a synthetic fixture, or unblock + silence per-customer | CC | -## Why the READY rows rank this way +## Why the TOP READY rows rank this way + +This covers the next few only — it is deliberately **not** a full ordering of the table above, so that +there is one ranking to maintain rather than two. 1. **R-95** — the largest *data* exposure: the tier holding the customer's documents and photos is the one whose credential can delete. The snapshot mitigation is now **armed** (daily 00:00, keep 7),