Skip to content

docs(tui): COR-23 computer-disconnected + Cloud-default lock_v2 scenes - #69

Merged
Mathis (echobt) merged 8 commits into
mainfrom
cursor/cor-23-lock-computer-fail-closed-5116
Sep 13, 2026
Merged

Mathis (echobt) merged 8 commits into
mainfrom
cursor/cor-23-lock-computer-fail-closed-5116

Conversation

@echobt

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

Copy link
Copy Markdown
Contributor

Summary

Adds designer and runtime lock_v2 boards for This PC/SSH fail-closed messaging and the Computer · Cloud shipped default, at both 40×12 and 120×40.

Rebased onto origin/main after cli #70 squash-merge (9743f194 — consent, @file chip, undo sheet). Combined SPEC §7 inventory is 89 wide / 43 narrow (132 PNGs).

COR-23 computer PNGs are byte-identical to the pre-rebase branch (not rewritten). Extra PNGs vs that SHA are COR-20 offline / rate-limit and #70 consent / file-chip / undo from main.

CodeBuild: pull_request and pull_request_target no longer share one concurrency group (that cancelled wiring and left a synthetic matrix.context job).

Linear: COR-23

Test plan

  • Rebase onto origin/main (9743f194); computer + lock(tui): COR-222/223/224 consent, @file chip, undo sheet #70 PNGs all present
  • Computer designer/runtime PNGs sha256-match the pre-rebase branch
  • Combined inventory 89/43 in ids, SPEC, index, render script
  • python3 -B -m unittest discover -s scripts/readiness -p test_codebuild.py -v
  • cargo test -p cortex-tui --lib lock_v2 — ids 89/43 (32 passed)
  • @greptileai requested after push
  • GitHub CI on b661b0e — Format, Clippy, Test, TUI, Audit, coverage, CodeBuild wiring, CodeQL (Greptile Review still running; not a merge gate)
  • TUI / snapshot tests for the new lock surfaces

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 still say The coding service is temporarily unavailable (error-unavailable unchanged). The new fail-closed board uses DISCONNECTED_RUNTIME and does not reuse the API-down line. No raw provider, SDK, or transport names.
  • TUI verified — every TUI surface touched in this PR was exercised with headless MockTerminal / designer raster tests (40×12 and 120×40). No TTY was available for a live interactive run.
  • Tests added — unit tests cover scene ids, engine copy, color (error-red title / dim body), and uniqueness vs siblings. No mocks that report success.
  • No secrets — no API keys, WorkOS secrets, R2/AWS credentials, or .env files are included.

Risk

Lock-v2 capture harness plus composer hold flags. CodeBuild concurrency group now includes github.event_name so PR events do not cancel each other. No auth, exec-policy, sandbox, release, or API-contract change.

Open in Web Open in Cursor 

@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai)

1 similar comment
@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai)

@greptile-apps

greptile-apps Bot commented Sep 13, 2026 •

Copy link
Copy Markdown

Greptile Summary

No newly introduced behavioral, correctness, security, or repository-rule issues require action in this subsequent review.

Confidence Score: 5/5

Safe to merge.

cursor[bot] manually resolved the prior system-status styling thread without explanation. cursor[bot] manually resolved the prior delivery-scope documentation thread without explanation. cursor[bot] manually resolved the prior capture-only scene classification thread without explanation.

Reviews (9): Last reviewed commit: "docs(tui): sync lock_v2 inventory after ..." | Re-trigger Greptile

Comment thread src/cortex-tui/src/views/minimal_session/rendering.rs Outdated
Comment thread docs/media/tui-lock-v2/SPEC.md Outdated
@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai)

Comment thread design/cli-lock-board-index.md Outdated
@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai)

@cursor
cursor Bot force-pushed the cursor/cor-23-lock-computer-fail-closed-5116 branch from 68cb28d to 5ae6dd5 Compare September 13, 2026 17:10
@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai)

2 similar comments
@echobt

Copy link
Copy Markdown
Contributor Author

Greptile (@greptileai)

@cursor

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai)

Add designer and runtime lock boards for This PC/SSH fail-closed
messaging and the Computer · Cloud shipped default at 40×12 and
120×40. Permission-prompt, cloud-handoff, and error-unavailable
boards are unchanged.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
Rasterise the new fail-closed and Cloud-default scenes from
MockTerminal at 40×12 and 120×40, and quiet non-test imports in
the computer lock module.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
Re-render computer lock_v2 runtime frames, drop the stray narrow jobs.png so 40x12 is exactly 38 unique hashes, and wire scene_state with explicit computer arms.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
Co-authored-by: Mathis <echobt@users.noreply.github.com>
Co-authored-by: Mathis <echobt@users.noreply.github.com>
Co-authored-by: Mathis <echobt@users.noreply.github.com>
pull_request and pull_request_target shared one group on github.ref, so
one cancelled the other and the cancelled job rendered as matrix.context.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
Keep COR-23 computer scenes and #70 consent/@file/undo boards.
Combined SPEC §7 set is 89 wide / 43 narrow (132 PNGs).

Co-authored-by: Mathis <echobt@users.noreply.github.com>
@cursor
cursor Bot force-pushed the cursor/cor-23-lock-computer-fail-closed-5116 branch from cd81883 to b661b0e Compare September 13, 2026 17:36
@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

cursor Bot commented Sep 13, 2026

Copy link
Copy Markdown

Greptile (@greptileai) rebased onto origin/main after #70 (9743f19). Tip b661b0e2681c43903172a060875fcc8470692824. Stay DRAFT. COR-23 Designer re-LOCK PNGs unchanged.

@echobt
Mathis (echobt) marked this pull request as ready for review September 13, 2026 17:53
@echobt
Mathis (echobt) merged commit 93dd6df into main Sep 13, 2026
21 checks passed
@echobt
Mathis (echobt) deleted the cursor/cor-23-lock-computer-fail-closed-5116 branch September 13, 2026 17:53
cursor Bot pushed a commit that referenced this pull request Sep 13, 2026
Keep 95 wide / 49 narrow after merging Computer boards with designed scenes.

Co-authored-by: Mathis <echobt@users.noreply.github.com>
Mathis (echobt) added a commit that referenced this pull request Sep 13, 2026
* feat(tui): lock_v2 scenes for theme, fork, init, hooks

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>

* fix(tui): add 40x12 handoff-confirm lock board

Designer cli HOLD on #71: capture handoff-confirm at 40×12 as well.

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

* fix(tui): align lock_v2 hooks, init, handoff with product

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>

* fix(tui): recapture hooks/init lock boards after copy

Keep never-consent visible on the narrow hooks picker.

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

* fix(tui): recapture 40x12 init-agents lock board

Show built-in template on the narrow /init picker so the runtime
PNG actually changes.

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

* lock(tui): render designer init and hooks lock boards

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>

* fix(tui): handle /handoff confirm in the session

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>

* fix(tui): update computer lock id counts after #69 rebase

Keep 95 wide / 49 narrow after merging Computer boards with designed scenes.

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

* fix(tui): keep handoff handler under source-policy limits

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>

* fix(tui): load live cloud agents on /handoff

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>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Mathis <echobt@users.noreply.github.com>
@cursor cursor Bot mentioned this pull request Sep 13, 2026
8 tasks done
cursor Bot pushed a commit that referenced this pull request Sep 13, 2026
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>
cursor Bot pushed a commit that referenced this pull request Sep 13, 2026
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>
cursor Bot pushed a commit that referenced this pull request Sep 13, 2026
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>
cursor Bot pushed a commit that referenced this pull request Sep 13, 2026
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>
cursor Bot pushed a commit that referenced this pull request Sep 13, 2026
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>
cursor Bot pushed a commit that referenced this pull request Sep 13, 2026
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>
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