E. UX + diagnostics + durable UX review gate #121

Closed
opened 2026-09-24 15:23:50 +00:00 by kilo · 1 comment
Member

Child E of #116 (Dynamic Execution Sources program).

Known UX defects to fix

  1. Worker selector: resource UI exposes opaque worker_id first (server_ui.py:995-1025 workers rows, :572-577 resource-add dropdown; diagnostics.py:683-687 doctor). Display friendly worker label FIRST: Precision Codex with the technical id below it; the exact ID remains available for diagnostics/audit.
  2. Authentication terminology: the diagnostics ladder (detected, authenticated, protocol_compatible, available, eligible, promotion_confirmed; diagnostics.py:50-57) uses authenticated for worker PAIRING only. UX must distinguish worker authenticated vs provider/source authenticated; never imply ChatGPT/provider auth from worker pairing.
  3. Manual model slug: normal source setup must not ask for gpt-6-sol unless the user explicitly chooses an ADVANCED exact pin.
  4. Discovery visibility: read-only source view approximately:
Personal ChatGPT Pro
Connected · Authenticated
Detected models: GPT-6 Luna, GPT-6 Sol, GPT-6 Astra
3 routable · 1 restricted · 0 errors

No raw protocol structures exposed.

Advanced mode

Expert narrowing (allowed tracks, exact model pin, disable automatic adoption) stays OUT of the normal path; defaults work.

Durable UX review gate (governance)

Make UX a mandatory review dimension in AGENTS.md / review instructions / llm-operating-policy (Program Execution Mode rules). Every future review answers UX impact: none or assesses user-facing consequences across: first-run; happy path; recovery/error path; upgrade/model-change path; unnecessary technical-ID exposure; auto-discoverable configuration; actionable errors; necessary+understandable security friction; repeated manual work; understandable system state. A material UX regression is CHANGES_REQUESTED even when the implementation is technically correct. No large UX bureaucracy.

Private PKI friction

Windows private-CA install friction observed in live acceptance: do NOT weaken TLS, no certificate-ignore. Record the friction during the UX audit; implement a secure bootstrap approach only if it naturally fits this program; otherwise a focused follow-up issue with concrete requirements. Must not derail the program.

Reliability UX

Discovery failures isolate to the source (never take down worker/other sources/server/recommendation mode); bounded timeout, inventory size, pages, refresh cadence, stale semantics, backoff; no unbounded retry, no hidden fallback. Errors must tell the user what to do.

Child E of #116 (Dynamic Execution Sources program). ## Known UX defects to fix 1. **Worker selector**: resource UI exposes opaque `worker_id` first (server_ui.py:995-1025 workers rows, :572-577 resource-add dropdown; diagnostics.py:683-687 doctor). Display friendly worker label FIRST: `Precision Codex` with the technical id below it; the exact ID remains available for diagnostics/audit. 2. **Authentication terminology**: the diagnostics ladder (`detected, authenticated, protocol_compatible, available, eligible, promotion_confirmed`; diagnostics.py:50-57) uses `authenticated` for worker PAIRING only. UX must distinguish `worker authenticated` vs `provider/source authenticated`; never imply ChatGPT/provider auth from worker pairing. 3. **Manual model slug**: normal source setup must not ask for `gpt-6-sol` unless the user explicitly chooses an ADVANCED exact pin. 4. **Discovery visibility**: read-only source view approximately: ```text Personal ChatGPT Pro Connected · Authenticated Detected models: GPT-6 Luna, GPT-6 Sol, GPT-6 Astra 3 routable · 1 restricted · 0 errors ``` No raw protocol structures exposed. ## Advanced mode Expert narrowing (allowed tracks, exact model pin, disable automatic adoption) stays OUT of the normal path; defaults work. ## Durable UX review gate (governance) Make UX a mandatory review dimension in AGENTS.md / review instructions / llm-operating-policy (Program Execution Mode rules). Every future review answers `UX impact: none` or assesses user-facing consequences across: first-run; happy path; recovery/error path; upgrade/model-change path; unnecessary technical-ID exposure; auto-discoverable configuration; actionable errors; necessary+understandable security friction; repeated manual work; understandable system state. A material UX regression is `CHANGES_REQUESTED` even when the implementation is technically correct. No large UX bureaucracy. ## Private PKI friction Windows private-CA install friction observed in live acceptance: do NOT weaken TLS, no certificate-ignore. Record the friction during the UX audit; implement a secure bootstrap approach only if it naturally fits this program; otherwise a focused follow-up issue with concrete requirements. Must not derail the program. ## Reliability UX Discovery failures isolate to the source (never take down worker/other sources/server/recommendation mode); bounded timeout, inventory size, pages, refresh cadence, stale semantics, backoff; no unbounded retry, no hidden fallback. Errors must tell the user what to do.
Author
Member

Closeout — implemented in merged PR #124 (merge commit a4370f0 into develop, head 9789c67; program #116 / D-053).

Child E delivered: the Sources page (/admin/sources, /control/sources GET/POST/DELETE) — add a Codex source with just a label + owning worker (source id derives from the label; no model slug anywhere in the normal path); each row shows source auth state, detected models with per-model adoption state, routable/restricted/error counts, and the exact two worker-side commands (login + run) with SSH device-code guidance. Worker labels are now shown before technical ids on the workers page, resource-add dropdown and doctor output. The resources ladder renders "worker authenticated (pairing)" so pairing is never mistaken for provider auth. Durable governance: AGENTS.md and docs/llm-operating-policy.md now make UX a mandatory review dimension (UX impact: none or a ten-point assessment; material UX regression = CHANGES_REQUESTED). Advanced narrowing (allowed tracks, exact pins, auto-adopt off) stays out of the normal path; errors are actionable (bounded cadence, closed vocabularies, per-source isolation).

**Closeout — implemented in merged PR #124** (merge commit `a4370f0` into `develop`, head `9789c67`; program #116 / D-053). Child E delivered: the Sources page (`/admin/sources`, `/control/sources` GET/POST/DELETE) — add a Codex source with just a label + owning worker (source id derives from the label; no model slug anywhere in the normal path); each row shows source auth state, detected models with per-model adoption state, routable/restricted/error counts, and the exact two worker-side commands (login + run) with SSH device-code guidance. Worker labels are now shown before technical ids on the workers page, resource-add dropdown and doctor output. The resources ladder renders "worker authenticated (pairing)" so pairing is never mistaken for provider auth. Durable governance: AGENTS.md and docs/llm-operating-policy.md now make UX a mandatory review dimension (`UX impact: none` or a ten-point assessment; material UX regression = CHANGES_REQUESTED). Advanced narrowing (allowed tracks, exact pins, auto-adopt off) stays out of the normal path; errors are actionable (bounded cadence, closed vocabularies, per-source isolation).
kilo closed this issue 2026-09-26 17:54:42 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Creatidy/scarcity-router#121
No description provided.