mirror of
https://github.com/stablyai/orca.git
synced 2026-09-26 16:02:43 +00:00
Revives the terminal model/view architecture chain (hidden view parking, hidden delivery gate, side-effect authority in main, model query authority — all kill-switched, defaults on) on top of orca-performance's terminal performance fixes. 34 conflicted files resolved with these decisions: - Both sides' features kept and kill-switchable. orca-performance's fixes preserved exactly: parse-clocked scheduler drains (9e8bb2243), windowed retained-tail redraw (4e08a28cd), throttled wait-blocked check (66f20258e), #7139/#7150 cooperative drain, backlog caps, wedge guards, and probe-certified replay release. - orca-runtime.ts onPtyData: chain's per-PTY title tracker + side-effect facts replace the inline OSC title blocks; our scheduleWaitBlockedCheck and redraw-cursor plumbing retained; refreshPtyForegroundAgent re-grafted into applyTrackedPtyTitle on status transitions. - pty.ts: chain's hidden-gate drop sites, restore markers, initiallyHidden spawn marking, ConPTY DA1 record, and view-attribute/delivery-interest IPC wired through our newer spawn/delivery structure. The chain's flat 2 MB pending cap was NOT taken: our scrollback-scaled cap (#7150, empty-drop + droppedOutput sentinel) wins and now also emits the chain's one-per-episode pty:modelRestoreNeeded 'pending-cap' marker when the gate is enabled. Our 8 MB renderer in-flight high water kept over the chain's 2 MB. - pty-connection.ts: chain's gate sync, model-restore channel, side-effect fact consumer, and post-restore seq reconciliation composed with our hidden-startup query grammar, synchronized-frame latency machinery, and probe-certified restore. Phase 6 (skip-grammar deletion) intentionally NOT taken: our side evolved that grammar past the chain's base and #7150 machinery builds on it; with the gate on it is dormant (main drops hidden bytes), with switches off it remains the byte-identical fallback. - Shared module moves adopted (agent-title-*, github-links, bell detector, command-code, PR-link detector) with our newer bounded regex-free OSC parsers wired through the chain's scanner classes; our pi-synthetic/Devin/ MiMo agent additions ported into the split modules. - daemon-pty-adapter: chain's sleep-restore cache + our checkpoint cooldown, teardown flag, and oscLinks-carrying cold-restore payload combined. - rpc/methods/terminal.ts: chain's ACK-gated multiplex output + recovery snapshots composed with our budgeted mobile snapshots and resize re-stream. - Tests adapted only where they encoded superseded cadence: watermark counts (2 MB->8 MB), pending-cap trim -> empty-drop sentinel, initial snapshot frame seq (layout seq -> snapshot output seq), mock module paths. Contract tests: 881 passed. Renderer terminal suites: 1895 passed. Full main runtime+ipc: 2974 passed. Typecheck (3 configs) clean. Pre-existing baseline failures (pty-subprocess WSL, PR sidebar, Linear prompt, SidebarToolbar) are unrelated and fail identically on7839fb9db. Co-authored-by: Orca <help@stably.ai>