Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/memory/wt-cli/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ description: "Behavior contracts for the `wt` CLI binary — commands, exit code
| [idle-staleness-contract](idle-staleness-contract.md) | The shared idle predicate, the `wt delete --stale` selector, and the safety invariant that idleness never gates a deletion on its own. |
| [init-failure-contract](init-failure-contract.md) | Init-failure behavior of `wt create` / `wt init` — kept-worktree contract, `ExitInitFailed` on every path, the interactive open-anyway prompt, the `wt go` banner hint, SIGINT handling, and terminal-foreground reclaim. |
| [list-status-contract](list-status-contract.md) | `wt list` output contract — enrichment-free default, `--status` opt-in dashboard, `--sort` ordering, and pointer-field JSON shape. |
| [menu-navigation-contract](menu-navigation-contract.md) | Arrow-key navigation contract for the shared `ShowMenu` — TTY gating, keybindings, a terminal-height-aware scrolling viewport, and a byte-identical non-TTY fallback. |
| [menu-navigation-contract](menu-navigation-contract.md) | Arrow-key navigation contract for the shared `ShowMenu` — TTY gating, keybindings, a terminal-height-aware scrolling viewport, a byte-identical non-TTY fallback, and the single-reader `MenuSession` extended to the menu→line-prompt seam. |
| [recency-ordering-contract](recency-ordering-contract.md) | The single recency definition (`RecencyOf`/`RecencyLess`/`SortByRecency`) and newest-first ordering across `wt list`, `wt open`, and `wt delete`. |
| [update-command-contract](update-command-contract.md) | `wt update` self-upgrade contract and the cross-toolkit `--skip-brew-update` flag. |
48 changes: 42 additions & 6 deletions docs/memory/wt-cli/menu-navigation-contract.md

Large diffs are not rendered by default.

17 changes: 17 additions & 0 deletions fab/changes/260708-wryx-menu-prompt-byte-theft/.history.jsonl
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{"action":"enter","driver":"fab-new","event":"stage-transition","stage":"intake","ts":"2026-07-08T14:50:52Z"}
{"args":"Fix stdin byte-theft at the menu-to-line-prompt seam (orphaned read-ahead pump steals the next typed line in wt create); extend MenuSession to session-aware PromptWithDefault/ConfirmYesNo; correct mislabeled dirty-state warning copy in wt create","cmd":"fab-new","event":"command","ts":"2026-07-08T14:50:52Z"}
{"delta":"+4.5","event":"confidence","score":4.5,"trigger":"calc-score","ts":"2026-07-08T14:53:21Z"}
{"cmd":"_intake","event":"command","ts":"2026-07-08T14:53:31Z"}
{"cmd":"fab-switch","event":"command","ts":"2026-07-08T14:54:47Z"}
{"cmd":"git-branch","event":"command","ts":"2026-07-08T14:55:30Z"}
{"cmd":"fab-fff","event":"command","ts":"2026-07-08T14:56:37Z"}
{"action":"enter","driver":"fab-fff","event":"stage-transition","stage":"apply","ts":"2026-07-08T14:57:10Z"}
{"cmd":"fab-continue","event":"command","ts":"2026-07-08T14:57:47Z"}
{"action":"enter","driver":"fab-fff","event":"stage-transition","stage":"review","ts":"2026-07-08T15:20:25Z"}
{"cmd":"fab-continue","event":"command","ts":"2026-07-08T15:21:05Z"}
{"action":"enter","driver":"fab-fff","event":"stage-transition","stage":"hydrate","ts":"2026-07-08T15:37:39Z"}
{"event":"review","result":"passed","ts":"2026-07-08T15:37:39Z"}
{"cmd":"fab-continue","event":"command","ts":"2026-07-08T15:38:06Z"}
{"action":"enter","driver":"fab-fff","event":"stage-transition","stage":"ship","ts":"2026-07-08T15:41:54Z"}
{"action":"enter","driver":"git-pr","event":"stage-transition","stage":"review-pr","ts":"2026-07-08T15:43:29Z"}
{"event":"review","result":"passed","ts":"2026-07-08T15:56:04Z"}
57 changes: 57 additions & 0 deletions fab/changes/260708-wryx-menu-prompt-byte-theft/.status.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
id: wryx
name: 260708-wryx-menu-prompt-byte-theft
created: 2026-07-08T14:50:52Z
created_by: sahil-noon
change_type: fix
issues: []
progress:
intake: done
apply: done
review: done
hydrate: done
ship: done
review-pr: done
plan:
generated: true
task_count: 11
acceptance_count: 16
acceptance_completed: 16
confidence:
certain: 5
confident: 5
tentative: 0
unresolved: 0
score: 4.5
fuzzy: true
dimensions:
signal: 73.0
reversibility: 82.0
competence: 83.0
disambiguation: 75.0
stage_metrics:
intake: {started_at: "2026-07-08T14:50:52Z", driver: fab-new, iterations: 1, completed_at: "2026-07-08T14:57:10Z"}
apply: {started_at: "2026-07-08T14:57:10Z", driver: fab-fff, iterations: 1, completed_at: "2026-07-08T15:20:25Z"}
review: {started_at: "2026-07-08T15:20:25Z", driver: fab-fff, iterations: 1, completed_at: "2026-07-08T15:37:39Z"}
hydrate: {started_at: "2026-07-08T15:37:39Z", driver: fab-fff, iterations: 1, completed_at: "2026-07-08T15:41:54Z"}
ship: {started_at: "2026-07-08T15:41:54Z", driver: fab-fff, iterations: 1, completed_at: "2026-07-08T15:43:29Z"}
review-pr: {started_at: "2026-07-08T15:43:29Z", driver: git-pr, iterations: 1, completed_at: "2026-07-08T15:56:04Z"}
prs:
- https://github.com/sahil87/wt/pull/30
change_type_source: explicit
true_impact:
added: 863
deleted: 19
net: 844
excluding:
added: 449
deleted: 13
net: 436
tests:
added: 311
deleted: 0
net: 311
computed_at: "2026-07-08T15:43:29Z"
computed_at_stage: ship
summary: Extend MenuSession single-reader contract to the menu->line-prompt seam (session-aware PromptWithDefault/ConfirmYesNo via readLine-through-pump); thread one session through wt create; correct dirty-state warning copy to 'current worktree'.
# true_impact: lazily created on first stage-finish that computes it (no placeholder here).
last_updated: 2026-07-08T15:56:04Z
Loading
Loading