Skip to content

fix(ux): operator command-surface friction - #5

Merged
rawphp merged 1 commit into
mainfrom
fix/ux-operator-command-friction
Aug 7, 2026
Merged

fix(ux): operator command-surface friction#5
rawphp merged 1 commit into
mainfrom
fix/ux-operator-command-friction

Conversation

@rawphp

@rawphp rawphp commented Aug 7, 2026

Copy link
Copy Markdown
Owner

Frictions (this PR)

1. Status dumps full archive

Flow: /do-work status (idle project) Severity: S1 Type: Extra work / Feedback gap
Expected: Situation room shows live work (and a short recent-done tail).
Actual: ~300-line table of every archived REQ; unusable scan.
Change: Cap unscoped archive rows to 15 (newest); totals still count all; note how to scope. Idle cue when backlog+working empty.
Evidence after: Unscoped status is 25 lines with "… and 279 more archived"; tests case archive-cap.

2. Archived REQs show stale in-progress

Flow: status on archived REQ with stale header Severity: S1 Type: Confusion
Expected: Archive location means done.
Actual: Status column echoed file header (in-progress).
Change: Archive bucket always renders Status done.
Evidence after: REQ-089 on UR-024 shows done; test archive-status-done.

3. Help suggests capture on drained projects

Flow: bare /do-work with empty backlog + archive Severity: S1 Type: Confusion
Expected: Start new work / status (or capture only for zero-REQ URs).
Actual: "URs exist but backlog empty" always suggested capture.
Change: Help distinguishes zero-REQ URs vs archive-drained idle.
Evidence after: agents/help.md branches A/B.

4. Vague next-step copy after capture / go

Flow: capture/go when next_steps.enabled false Severity: S2 Type: Discoverability
Expected: Copy-pasteable /do-work go UR-NNN / status.
Actual: "run verify… or run the loop"; go printed nothing.
Change: Concrete commands in capture.md and go.md.

5. Help opens on full command wall

Flow: bare /do-work first screen Severity: S2 Type: Confusion
Expected: Primary loop (start/go/status) first.
Actual: 25-row Quick Reference only.
Change: SKILL.md Primary loop section above full table.

Verification

  • Re-walked /do-work status unscoped + scoped UR-024/UR-045
  • Friction no longer occurs (25-line unscoped; done status; help copy)
  • bash lib/tests/synth-status.test.sh — 10 cases, 0 failures
  • Docs for status wording updated (commands + getting-started)

Residuals

  • Coverage rollup still lists every historical UR with proven=0 for pre-proof-era REQs — needs product decision on historical rollup (not a local copy fix).
  • Scoped status totals still count global archive (pre-existing); not changed this PR.

Requirements preserved

No auth/ACL/validation gates weakened; status remains read-only; archive files on disk unchanged.

Operator command surface friction: status dumped full archive and
stale in-progress headers; bare /do-work suggested capture on drained
projects; capture/go fallbacks used non-actionable next-step copy;
help opened on a 25-row command wall without a primary loop.
@rawphp
rawphp merged commit 900f955 into main Aug 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant