Skip to content

lock(tui): COR-18/225/227/228 theme, fork, init, hooks - #71

Merged
Mathis (echobt) merged 10 commits into
mainfrom
cursor/cor-18-225-227-228-lock-scenes-74dc
Sep 13, 2026
Merged

Mathis (echobt) merged 10 commits into
mainfrom
cursor/cor-18-225-227-228-lock-scenes-74dc

Conversation

@echobt

@echobt Mathis (echobt) commented Sep 13, 2026 •

Copy link
Copy Markdown
Contributor

Summary

One draft PR for Designer-cli Already designed lock_v2 scenes on the CLI surface (Chat · Code · Bot only). Rebased on origin/main.

Landed scenes:

  • COR-18 — theme-picker, handoff-confirm (40×12 and 120×40), session-fork
  • COR-225 — init-agents
  • COR-227 — custom-commands
  • COR-228 — hooks-lifecycle

/handoff opens the confirm picker (not the unsupported-command path). Stay keeps this CLI; Cortex Cloud keeps Chat · Code · Bot here and opens /jobs. Source-policy: modal.rs stays under the line/complexity targets.

Designer cli: chrome LOCK on these scenes. Stays draft — do not undraft or merge until CI is green.

Linear: COR-18 · COR-225 · COR-227 · COR-228

Test plan

  • cargo fmt --all -- --check
  • python3 scripts/readiness/quality.py --base origin/main
  • cargo test --no-default-features -p cortex-tui --lib ux_contract_handoff
  • ./scripts/clippy.sh (CI)
  • cargo audit (CI)

Attestation (required)

I attest that:

  • Security reviewed — auth, exec/sandbox, path traversal, network egress, and secret handling in this diff were reviewed. No secrets, tokens, or keyring dumps are in the change.
  • Product-facing errors — user-visible failures use Cortex product copy. API-down paths say The coding service is temporarily unavailable. No raw provider, SDK, or transport names.
  • TUI verified — lock_v2 uniqueness and designed-scene copy were exercised with MockTerminal tests. /handoff opens the confirm picker.
  • Tests added — unit tests cover the new scene ids and assert they are distinct; TUI changes include buffer/plain assertions. No mocks that report success.
  • No secrets — no API keys, WorkOS secrets, R2/AWS credentials, or .env files are included.

Risk

Visual-lock / TUI chrome plus /handoff session command. Stays draft.

Open in Web Open in Cursor 

@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai)

1 similar comment
@echobt

Copy link
Copy Markdown
Contributor Author

Greptile (@greptileai)

cursor Bot pushed a commit that referenced this pull request Sep 13, 2026
Designer cli HOLD on #71: capture handoff-confirm at 40×12 as well.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai)

2 similar comments
@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai)

@echobt

Copy link
Copy Markdown
Contributor Author

Greptile (@greptileai)

@greptile-apps

greptile-apps Bot commented Sep 13, 2026 •

Copy link
Copy Markdown

Greptile Summary

This PR adds locked terminal UI scenes for theme selection, session forking, initialization, custom commands, hooks, and Cortex Cloud handoff. It also registers /handoff, routes it through a confirmation flow, and loads or creates live Cortex Cloud Code sessions while handling authentication and service failures.

Confidence Score: 5/5

Safe to merge; there are no outstanding blocking issues.

No accepted new findings or outstanding previous findings remain.

Reviews (10): Last reviewed commit: "fix(tui): load live cloud agents on /han..." | Re-trigger Greptile

Comment thread src/cortex-tui/src/lock_v2_designed.rs
Comment thread src/cortex-tui/src/lock_v2_designed.rs
Comment thread src/cortex-tui/src/lock_v2_designed.rs Outdated
Comment thread docs/media/tui-lock-v2/index.md Outdated
cursor Bot pushed a commit that referenced this pull request Sep 13, 2026
Designer cli HOLD on #71: capture handoff-confirm at 40×12 as well.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
@cursor
cursor Bot force-pushed the cursor/cor-18-225-227-228-lock-scenes-74dc branch from fe9a4ab to 8e00fec Compare September 13, 2026 17:37
@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai)

3 similar comments
@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai)

@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai)

@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai)

Comment thread src/cortex-tui/src/commands/executor/session.rs
@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai)

Add runtime lock boards for COR-18, COR-225, COR-227, and COR-228.
Skip COR-226 share/unshare. Leave existing designer PNGs untouched.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
Designer cli HOLD on #71: capture handoff-confirm at 40×12 as well.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
Register /handoff, use HookEvent names, built-in AGENTS.md copy,
and drop the stale narrow jobs.png.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
Keep never-consent visible on the narrow hooks picker.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
Show built-in template on the narrow /init picker so the runtime
PNG actually changes.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
Add IBM Plex designer PNGs plus txt dumps so OCR matches
built-in project template and pre_tool_use / session_end.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
Open the Cortex Cloud vs stay picker instead of the unsupported
async-command path. Stay keeps the CLI; Cloud points at /jobs.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
Keep 95 wide / 49 narrow after merging Computer boards with designed scenes.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
@cursor
cursor Bot force-pushed the cursor/cor-18-225-227-228-lock-scenes-74dc branch from f9af608 to 2cd008d Compare September 13, 2026 18:03
@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai)

@echobt

Copy link
Copy Markdown
Contributor Author

Designer cli LOCK — COR-18 / 225 / 227 / 228

Verdict: LOCK (chrome lockable) on head f9af608a.

QA runtime 40×12 + 120×40: theme-picker, handoff-confirm, session-fork, init-agents, custom-commands, hooks-lifecycle (+ designer boards for hooks/init)

  • Ink chrome #000 / #F5F5F5 / #6B7280 / #1F4945 / #262626 / #1A1A1A; violet px = 0 on all runtime boards
  • Zero competitor / violet / phosphor
  • Linear COR-18/225/227/228 already Already designed

Note: Greptile still flags /handoff async handler P1 — chrome is LOCK; undraft/squash only after that + CI green.

Alexa (@alexa) chrome is lockable for these scenes.

Move /handoff confirm handling out of modal.rs so the file stays
under the line and complexity targets.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai)

Comment thread src/cortex-tui/src/runner/event_loop/modal.rs
Comment thread src/cortex-tui/src/runner/event_loop/modal.rs Outdated
Selecting Cortex Cloud lists or creates Code sessions instead of
opening the empty local jobs picker.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai) /handoff Cloud now loads or creates live Code sessions instead of the empty local /jobs picker.

@echobt
Mathis (echobt) marked this pull request as ready for review September 13, 2026 18:33
@echobt
Mathis (echobt) merged commit 98eb2c5 into main Sep 13, 2026
21 checks passed
@echobt
Mathis (echobt) deleted the cursor/cor-18-225-227-228-lock-scenes-74dc branch September 13, 2026 18:33
cursor Bot pushed a commit that referenced this pull request Sep 13, 2026
Co-authored-by: Mathis <echobt@users.noreply.github.com>
cursor Bot pushed a commit that referenced this pull request Sep 13, 2026
Co-authored-by: Mathis <echobt@users.noreply.github.com>
Mathis (echobt) added a commit that referenced this pull request Sep 13, 2026
* feat(tui): residual lock chrome for shortcuts, goal, composer

Interactive /shortcuts sheet, /goal status polish, composer hover and
Alt+Enter, denser diff/markdown locks, and distinct thinking/stop/todos
question states. COR-7/9/10/14/15 only — not offline or 429 chrome.

Co-authored-by: Mathis <echobt@users.noreply.github.com>

* chore(tui): recapture lock v2 runtime pngs

Regenerate 36×40×12 and 82×120×40 unique hashes via
scripts/render-tui-lock-v2.sh for COR-7/9/10/14/15 chrome.

Co-authored-by: Mathis <echobt@users.noreply.github.com>

* feat(tui): lock /model effort radios and custom labels

Align /model list and High/Medium/Low effort rows with lock v2
copy, gutter, and footers. Enter chooses then applies; custom
providers stay Cortex-safe. COR-13 residual only.

Co-authored-by: Mathis <echobt@users.noreply.github.com>

* chore(tui): recapture /model effort lock pngs

Runtime 40×12 and 120×40 hashes after COR-13 /model residual.

Co-authored-by: Mathis <echobt@users.noreply.github.com>

* feat(tui): lock farm modes, mcp, hover, resume, sandbox

Document Esc/Ctrl+C/Shift+Tab/Ctrl+x/F2, polish Plan/Ask/Agent and
/mcp/resume/clear/sandbox-deny chrome. Permission-prompt radios unchanged.

Co-authored-by: Mathis <echobt@users.noreply.github.com>

* chore(tui): recapture farm lock pngs

Runtime 40x12 and 120x40 proofs for mode, mcp, resume, clear, sandbox.

Co-authored-by: Mathis <echobt@users.noreply.github.com>

* fix(tui): split lock modules and keep custom models distinct

Extract MCP panel and session banner helpers so lock files stay under
the 1000-line source policy. Split keyboard/mouse handlers to cap
complexity. Third-party /model rows keep unique Custom labels without
vendor names.

Co-authored-by: Mathis <echobt@users.noreply.github.com>

* fix(tui): split key handlers after rebase onto main

Keep interactive, overlay, and selection dispatch under the source
policy complexity cap now that #67 is on main.

Co-authored-by: Mathis <echobt@users.noreply.github.com>

* fix(tui): align inline picker clicks with chrome

MCP, permissions, clear-confirm, and resume paint banner/search rows
above options. Hit-testing now uses that same origin so mouse selects
the visible row.

Co-authored-by: Mathis <echobt@users.noreply.github.com>

* fix(tui): resume picker ux contract and keyboard coverage

/sessions opens the inline resume list, not a modal stack. Cover
Ctrl+x, Shift+Tab, palette arrows, and Esc cancel in verify_mcp.

Co-authored-by: Mathis <echobt@users.noreply.github.com>

* fix(tui): match picker clicks when banners crowd the stack

On short terminals the update and opt-in banners collapse the
transcript, so the picker is no longer composer_y minus its height.
Click zones now use the same stack origin as paint.

Co-authored-by: Mathis <echobt@users.noreply.github.com>

* fix(tui): rebase lock chrome onto main picker and overlay fixes

Keep lock PNG blobs from #67/#69/#70. Wire TodoWrite into the live
checklist, clamp compact shortcut hits, and drop stale stopped copy.

Co-authored-by: Mathis <echobt@users.noreply.github.com>

* fix(tui): drop source-policy complexity after main rebase

Split picker-row painting and custom interactive footers so the
rebase onto #69/#70 stays at the main complexity baseline.

Co-authored-by: Mathis <echobt@users.noreply.github.com>

* fix(tui): apply TodoWrite checklist without dropping the queue

Apply live Working n/m from spawn args and completion output so a
full tool-event channel cannot hide the checklist.

Co-authored-by: Mathis <echobt@users.noreply.github.com>

* fix(tui): import computer lock scenes after #71 rebase

Co-authored-by: Mathis <echobt@users.noreply.github.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Mathis <echobt@users.noreply.github.com>
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.

2 participants