Repository navigation
docs(tui): COR-20 offline + rate-limit lock_v2 scenes - #67
Conversation
Add designer and runtime lock boards for network-offline and HTTP 429 rate-limit at both 40x12 and 120x40. Leave error-unavailable and quota-exhausted unchanged. Co-authored-by: Mathis <echobt@users.noreply.github.com>
Hold composer + footer for offline and HTTP 429; paint titles error-red and bodies dim. Re-render runtime PNGs only. Co-authored-by: Mathis <echobt@users.noreply.github.com>
Greptile SummaryAdds dedicated offline and HTTP 429 lock-screen scenes with held composer states, recovery actions, compact narrow-terminal copy, and preserved context-limit error styling. Confidence Score: 5/5Safe to merge; there are no outstanding blocking issues. All previously reported issues are resolved. The held composer and recovery-footer behavior was fixed as described by cursor[bot]; the narrow-screen transcript copy was updated to the compact variants; and context-limit messages were restored to error styling without applying that styling to the rate-limit body. No outstanding findings remain. Files Needing Attention: None. Reviews (6): Last reviewed commit: "fix(tui): keep context-limit lock-red wi..." | Re-trigger Greptile |
# Conflicts: # src/cortex-tui/src/lib.rs # src/cortex-tui/src/lock_v2.rs Co-authored-by: Mathis <echobt@users.noreply.github.com>
|
Greptile (@greptileai) merged |
Co-authored-by: Mathis <echobt@users.noreply.github.com>
|
Greptile (@greptileai) head is now |
Co-authored-by: Mathis <echobt@users.noreply.github.com>
|
Greptile (@greptileai) head |
Designer cli LOCK — COR-20 offline + rate-limitVerdict: LOCK (chrome lockable; undraft/squash when CI + Greptile green). QA on head
Alexa (@alexa) chrome is lockable — auto-merge OK once Protect/CI/Greptile settle. Do not redesign permission-prompt*. |
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>
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>
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>
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>
* 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>
Summary
Adds designer and runtime lock_v2 boards for offline (network / unreachable) and rate-limit (HTTP 429 / Retry-After) at both 40×12 and 120×40.
Merged
origin/main(5382162, harness #66) into this draft — no force-push. Head:5972640.lock_v2.rsscene construction lives inlock_v2_boards.rs/lock_v2_scenes.rsas on main;apply_offline_rate_limit_sceneis wired there. Lock-red system copy lives insystem_message_is_error(offline, Rate limited, context limit) sorendering.rsdoes not grow past main’s line-count debt and 429 bodies stay dim.error-unavailableandquota-exhaustedare unchanged.permission-prompt*boards are not touched. Designer boards were not redesigned.Runtime matches designer chrome:
#F87171; rate-limit body dim#6B7280Waiting for network — your work is saved/Add a follow-up — held until the rate limit resets; narrow shorten OK)Enter:retry | Ctrl+x:shortcutsandEnter:retry | /usage:detailsReconnect — your work is saved.Too many requests — try again in 2m.(compact; keeps 2m timing)Linear: COR-20
Test plan
python3 tools/render_lock_v2.py --only offline,rate-limit --index(designer PNGs + txt + index)offline+rate-limitat both sizes only#000000/#F5F5F5/#6B7280/#F87171titles; body dim on rate-limit; zero violet)error-unavailable/quota-exhaustedcargo fmt --all -- --checkcargo test --no-default-features -p cortex-tui --lib lock_v2— 18 passedcargo test --no-default-features -p cortex-tui --lib lock_v2_network— 2 passedcargo test --no-default-features -p cortex-tui --lib lock_palette— 4 passedcargo test --no-default-features -p cortex-tui --lib views::minimal_session— 21 passed (1 ignored)python3 scripts/readiness/quality.py --base origin/main— 0 regressions (after extracting lock-red copy)cargo audit(not re-run locally; CI Security Audit passed on the merge commit)origin/mainlocally after the line-count fixGreptile (@greptileai) requested.
Attestation (required)
I attest that:
.envfiles are included.Risk
Docs / lock-harness plus session chrome hold flags for offline and HTTP 429. Merge brings harness #66. No auth, exec policy, sandbox, release, or API-contract change from the COR-20 delta. No new feature flag.
error-unavailable/quota-exhausted/permission-prompt*unchanged. Draft — do not merge until CI + Greptile are green.