From 91c9e9ed34978aa32d968bfae45ea9f398a8eeef Mon Sep 17 00:00:00 2001 From: Lawrence Chen <54008264+lawrencecchen@users.noreply.github.com> Date: Thu, 27 Aug 2026 05:13:31 -0700 Subject: [PATCH 1/7] docs(tui): refresh intent and debt boards through 10962 --- cmux-tui/docs/PR-INTENT-BOARD.md | 218 ++++++++++++++++++----- cmux-tui/docs/TECH-DEBT-BOARD.md | 249 ++++++++++++++++++--------- cmux-tui/docs/TECH-DEBT-CHANGELOG.md | 179 ++++++++++++++----- cmux-tui/docs/USER-INTENT-BOARD.md | 138 +++++++++++++-- cmux-tui/docs/USER-REQUEST-BOARD.md | 78 ++++++++- 5 files changed, 673 insertions(+), 189 deletions(-) diff --git a/cmux-tui/docs/PR-INTENT-BOARD.md b/cmux-tui/docs/PR-INTENT-BOARD.md index f5c05cd269ec..20faa0f8927a 100644 --- a/cmux-tui/docs/PR-INTENT-BOARD.md +++ b/cmux-tui/docs/PR-INTENT-BOARD.md @@ -1,55 +1,183 @@ # cmux TUI PR intent and merge board -Current snapshot: 2026-08-25. The aggregate branch is -`codex/tui-techdebt-aggregate-wave39`; its audited local tip is -`75ddb6fbe84fb37ee8bcc75d0d96c39ec782e3e9` (code), based on `origin/main` -`bd985bddcded04ed849e3484dbcb645b32a32cb6`, 811 commits ahead and 0 behind -before this documentation update. Query `git rev-parse HEAD` for the exact -metadata commit. PR [#10708](https://github.com/manaflow-ai/cmux/pull/10708) -points to the latest pushed head. Focused hosted run -[`32851303914`](https://github.com/manaflow-ai/cmux/actions/runs/32851303914) -passed on the earlier quota source tip and is stale after the latest fixes. Run -focused and full hosted checks on -the new exact head, then run final exact-head autoreview. A mergeable label is -not acceptance proof. - -The prior 2026-08-24 values are historical. The aggregate includes the -cross-platform hardening, PTY generation and delivery gates, bounded readers, -stale-close identity checks, owned no-clobber SSH staging, and the merged web -determinism fix [#10718](https://github.com/manaflow-ai/cmux/pull/10718), plus -the current-main PyPI project-description metadata fix. -All URLs point to `manaflow-ai/cmux`; authors are included for merge decisions. - -The dated snapshot recorded a clean in-scope autoreview with two remote-tmux -findings ignored as out of scope. The wave also includes -the Go canonical fallback correction, C++ exact-parent/CMake include fix, -bounded Rust workspace reads, watcher sink termination, and preview/shell -ownership fixes. These are documented with full commit SHAs and exact revert -commands in `TECH-DEBT-CHANGELOG.md`. - -The current inventory found 105 open PRs mentioning `cmux-tui`, 64 of the -newest 300 open PRs changing a `cmux-tui/` path, and 52 sharing a path with -[#10708](https://github.com/manaflow-ai/cmux/pull/10708). Stacked or -conflicting branches remain ordered work. Green inherited checks do not replace -an exact-head review. +Current snapshot: 2026-08-27T12:20:00Z. This board is pinned to +`origin/main` at [`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0), +committed 2026-08-27T02:58:58-07:00 with subject +`Fix workspace RPC unknown response hangs (#10936)`. The working branch +contains documentation only. The prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` +snapshot, captured at 2026-08-27T09:54:48Z, and the earlier +`99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshot are retained below as +historical evidence. Open-PR heads and check rollups in those inventories must +be re-queried before a merge decision. + +The current main tail includes [#10936](https://github.com/manaflow-ai/cmux/pull/10936), +[#10944](https://github.com/manaflow-ai/cmux/pull/10944), and +[#10950](https://github.com/manaflow-ai/cmux/pull/10950), plus merged +[#10954](https://github.com/manaflow-ai/cmux/pull/10954), +[#10958](https://github.com/manaflow-ai/cmux/pull/10958), +[#10962](https://github.com/manaflow-ai/cmux/pull/10962), and +[#10951](https://github.com/manaflow-ai/cmux/pull/10951). The latest merge shares +startup option scanning and completes the redraw, frame-area, and diagnostics +tail. Source heads, authors, merge times, and merge commits are recorded below. +Source heads, authors, merge times, and merge commits are recorded below. +Individual rollback commands are in +[`TECH-DEBT-CHANGELOG.md`](TECH-DEBT-CHANGELOG.md). + +| PR | Author | Source head | Merged at (UTC) | Merge SHA | +| --- | --- | --- | --- | --- | +| [#10941](https://github.com/manaflow-ai/cmux/pull/10941) | Lawrence Chen | `122a4ff210c50dea21e12846c276849047b16357` | 2026-08-27 07:14:20 | `6641abe023f3ab175fd910b547316fc00bf523ee` | +| [#10940](https://github.com/manaflow-ai/cmux/pull/10940) | Lawrence Chen | `ab2e3d314285d0512280821711b518fae14c2557` | 2026-08-27 07:21:34 | `e6895d94d8fba491e823e3550dda6727cdd87d33` | +| [#10938](https://github.com/manaflow-ai/cmux/pull/10938) | Lawrence Chen | `e9162bfbf4bdbabcd68ffa4461011262229740fe` | 2026-08-27 07:22:50 | `d0f1d94c431cd41947133f7d9406968ee70a7fc7` | +| [#10935](https://github.com/manaflow-ai/cmux/pull/10935) | Lawrence Chen | `f6e9d9e9353c629fa42ff44b65a1074972384b3b` | 2026-08-27 07:37:37 | `502ed87921f4ea933e30cfe8e5bb5aed0b4dad50` | +| [#10932](https://github.com/manaflow-ai/cmux/pull/10932) | Lawrence Chen | `79d5bda289b5ff5e87e8714fd6f3f69f7e7e88fb` | 2026-08-27 07:38:07 | `6e67b662c649096b7133eaace8059cd4420a6ba6` | +| [#10937](https://github.com/manaflow-ai/cmux/pull/10937) | Lawrence Chen | `da0239d03a3398556c496cffeb9ee393aff7ffaa` | 2026-08-27 08:01:23 | `41f17d77e00ed6ae8b022833301b979d82ee95e3` | +| [#10939](https://github.com/manaflow-ai/cmux/pull/10939) | Lawrence Chen | `63805ab765f88419b5c87a63068c79e05948506e` | 2026-08-27 08:06:35 | `26fb89ceba985e908f50502e1666c77b8d7f8ead` | +| [#10934](https://github.com/manaflow-ai/cmux/pull/10934) | Lawrence Chen | `04ab7444e49b05dc3d34dc129ff716780b807354` | 2026-08-27 08:17:49 | `f73fd08c161445b309f6d8d37374d85de58725df` | +| [#10949](https://github.com/manaflow-ai/cmux/pull/10949) | Lawrence Chen | `634f34535681d01a9c51369eee5da21e3f57c3a5` | 2026-08-27 08:34:35 | `b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87` | +| [#10944](https://github.com/manaflow-ai/cmux/pull/10944) | Lawrence Chen | `976b9d427b7e91b900fc8545aea6ea6e878b99c0` | 2026-08-27 09:13:59 | `99bdc375e98eb9abddd3f54289bc16ef876e8095` | +| [#10950](https://github.com/manaflow-ai/cmux/pull/10950) | Lawrence Chen | `e6dd260ffb346b568aa3f6dabb8a68c7f72337f5` | 2026-08-27 09:31:39 | `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | +| [#10936](https://github.com/manaflow-ai/cmux/pull/10936) | Lawrence Chen | `0f6bc912500c630921a6a74d86c09d5817e56278` | 2026-08-27 09:58:58 | `d65d6e6ccacf1d7300316451ce2830f05f889e14` | +| [#10954](https://github.com/manaflow-ai/cmux/pull/10954) | Lawrence Chen | `cc1edc896dbf321da26e26e10fb71e5fbb22e57c` | 2026-08-27 11:23:26 | `a293eba98d6f4fafa4add823327c44deef8371ef` | +| [#10958](https://github.com/manaflow-ai/cmux/pull/10958) | Lawrence Chen | `c6de8f16b6390038225f87474f603b0ea157506e` | 2026-08-27 10:22:03 | `9cf920bb6b7a87bae3af721a0f98c989c45b9c4b` | +| [#10962](https://github.com/manaflow-ai/cmux/pull/10962) | Lawrence Chen | `ff719b6dc4e9f05358d0c77b7f49a9db021f72e7` | 2026-08-27 10:41:51 | `ef5e7434927d89996e2cd29b429823b8a716a08e` | +| [#10951](https://github.com/manaflow-ai/cmux/pull/10951) | Lawrence Chen | `978655f95b56351c9d554d2bdd1be9ad6ec2c551` | 2026-08-27 12:04:42 | `de3902db48d2924c227b5acb26cbe1d89fe03cc0` | + +The bounded open-PR inventory retained below was captured before the d65 merge. +It retains exact heads, check rollups, GitHub state, and classifications without +pretending they are current. Run a fresh `gh pr view` and checks query before +acting on any row. + +The retained session receipt supports at least 258 named substantive turns. +This is a verifiable lower bound, not a total session count, and no +10,000-session claim is made. + +Dependent open intents require separate review: [#10736](https://github.com/manaflow-ai/cmux/pull/10736) (`2fed9d4c6d0d548ee20751afedb2d53b4598b09c`, sidebar preview), [#10742](https://github.com/manaflow-ai/cmux/pull/10742) (`befdff972f563f851ef27e38bbbb115269b4769a`, manual I/O), and [#10812](https://github.com/manaflow-ai/cmux/pull/10812) (`a44314f6e9eaf42925dc1d6c9dfb0a20b021b4a1`, remote daemon). Their open state is not acceptance evidence. + +## Historical snapshot retained: main `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` + +The following section preserves the prior current layer captured at +2026-08-27T09:54:48Z. It is not current evidence. + +Historical snapshot: 2026-08-27T09:54:48Z. This board was pinned to +`origin/main` at [`5c2ee1244e2d796c9e4be5307788b320ac2ee4ff`](https://github.com/manaflow-ai/cmux/commit/5c2ee1244e2d796c9e4be5307788b320ac2ee4ff), +committed 2026-08-27T02:31:38-07:00 with subject +`fix(tui): zeroize oversized remote frames (#10950)`. The working branch +contains documentation only. The prior `99bdc375e98eb9abddd3f54289bc16ef876e8095` +snapshot, captured at 2026-08-27T09:25:01Z after [#10944](https://github.com/manaflow-ai/cmux/pull/10944), +is retained below as historical evidence. Its open-PR heads and check rollups +must be re-queried before a merge decision. + +The nine requested PRs, [#10944](https://github.com/manaflow-ai/cmux/pull/10944), +and [#10950](https://github.com/manaflow-ai/cmux/pull/10950) are in this exact +main snapshot. The latest merge zeroizes oversized remote session frames before +disconnect. Source heads, authors, merge times, and merge commits are recorded +below. Individual rollback commands are in +[`TECH-DEBT-CHANGELOG.md`](TECH-DEBT-CHANGELOG.md). + +| PR | Author | Source head | Merged at (UTC) | Merge SHA | +| --- | --- | --- | --- | --- | +| [#10941](https://github.com/manaflow-ai/cmux/pull/10941) | Lawrence Chen | `122a4ff210c50dea21e12846c276849047b16357` | 2026-08-27 07:14:20 | `6641abe023f3ab175fd910b547316fc00bf523ee` | +| [#10940](https://github.com/manaflow-ai/cmux/pull/10940) | Lawrence Chen | `ab2e3d314285d0512280821711b518fae14c2557` | 2026-08-27 07:21:34 | `e6895d94d8fba491e823e3550dda6727cdd87d33` | +| [#10938](https://github.com/manaflow-ai/cmux/pull/10938) | Lawrence Chen | `e9162bfbf4bdbabcd68ffa4461011262229740fe` | 2026-08-27 07:22:50 | `d0f1d94c431cd41947133f7d9406968ee70a7fc7` | +| [#10935](https://github.com/manaflow-ai/cmux/pull/10935) | Lawrence Chen | `f6e9d9e9353c629fa42ff44b65a1074972384b3b` | 2026-08-27 07:37:37 | `502ed87921f4ea933e30cfe8e5bb5aed0b4dad50` | +| [#10932](https://github.com/manaflow-ai/cmux/pull/10932) | Lawrence Chen | `79d5bda289b5ff5e87e8714fd6f3f69f7e7e88fb` | 2026-08-27 07:38:07 | `6e67b662c649096b7133eaace8059cd4420a6ba6` | +| [#10937](https://github.com/manaflow-ai/cmux/pull/10937) | Lawrence Chen | `da0239d03a3398556c496cffeb9ee393aff7ffaa` | 2026-08-27 08:01:23 | `41f17d77e00ed6ae8b022833301b979d82ee95e3` | +| [#10939](https://github.com/manaflow-ai/cmux/pull/10939) | Lawrence Chen | `63805ab765f88419b5c87a63068c79e05948506e` | 2026-08-27 08:06:35 | `26fb89ceba985e908f50502e1666c77b8d7f8ead` | +| [#10934](https://github.com/manaflow-ai/cmux/pull/10934) | Lawrence Chen | `04ab7444e49b05dc3d34dc129ff716780b807354` | 2026-08-27 08:17:49 | `f73fd08c161445b309f6d8d37374d85de58725df` | +| [#10949](https://github.com/manaflow-ai/cmux/pull/10949) | Lawrence Chen | `634f34535681d01a9c51369eee5da21e3f57c3a5` | 2026-08-27 08:34:35 | `b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87` | +| [#10944](https://github.com/manaflow-ai/cmux/pull/10944) | Lawrence Chen | `976b9d427b7e91b900fc8545aea6ea6e878b99c0` | 2026-08-27 09:13:59 | `99bdc375e98eb9abddd3f54289bc16ef876e8095` | +| [#10950](https://github.com/manaflow-ai/cmux/pull/10950) | Lawrence Chen | `e6dd260ffb346b568aa3f6dabb8a68c7f72337f5` | 2026-08-27 09:31:39 | `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | + +The bounded open-PR inventory from the prior snapshot remains below under +`Historical live PR state (99bd snapshot)`. It retains exact heads, check +rollups, GitHub state, and classifications without pretending they are current. +Run a fresh `gh pr view` and checks query before acting on any row. + +## Historical snapshot retained: main `99bdc375e98eb9abddd3f54289bc16ef876e8095` + +The following section preserves the prior board state captured at +2026-08-27T09:25:01Z. It is not current evidence. + +Historical snapshot: 2026-08-27T09:25:01Z. This board was pinned to +`origin/main` at [`99bdc375e98eb9abddd3f54289bc16ef876e8095`](https://github.com/manaflow-ai/cmux/commit/99bdc375e98eb9abddd3f54289bc16ef876e8095), +committed 2026-08-27T02:13:58-07:00 with subject +`fix(relay): bound Git child cleanup (#10944)`. The +working branch contained documentation only. Older sections remain below as +dated history and are not live evidence. + +The nine requested PRs, plus the subsequent [#10944](https://github.com/manaflow-ai/cmux/pull/10944) +merge, are in this exact main snapshot. Their source heads, authors, merge +times, and merge commits are recorded in the table below; +the same commits and individual rollback commands are in +[`TECH-DEBT-CHANGELOG.md`](TECH-DEBT-CHANGELOG.md). A merged PR is evidence that +the change reached main, not evidence that every user-intent row is complete. + +| PR | Author | Source head | Merged at (UTC) | Merge SHA | +| --- | --- | --- | --- | --- | +| [#10941](https://github.com/manaflow-ai/cmux/pull/10941) | Lawrence Chen | `122a4ff210c50dea21e12846c276849047b16357` | 2026-08-27 07:14:20 | `6641abe023f3ab175fd910b547316fc00bf523ee` | +| [#10940](https://github.com/manaflow-ai/cmux/pull/10940) | Lawrence Chen | `ab2e3d314285d0512280821711b518fae14c2557` | 2026-08-27 07:21:34 | `e6895d94d8fba491e823e3550dda6727cdd87d33` | +| [#10938](https://github.com/manaflow-ai/cmux/pull/10938) | Lawrence Chen | `e9162bfbf4bdbabcd68ffa4461011262229740fe` | 2026-08-27 07:22:50 | `d0f1d94c431cd41947133f7d9406968ee70a7fc7` | +| [#10935](https://github.com/manaflow-ai/cmux/pull/10935) | Lawrence Chen | `f6e9d9e9353c629fa42ff44b65a1074972384b3b` | 2026-08-27 07:37:37 | `502ed87921f4ea933e30cfe8e5bb5aed0b4dad50` | +| [#10932](https://github.com/manaflow-ai/cmux/pull/10932) | Lawrence Chen | `79d5bda289b5ff5e87e8714fd6f3f69f7e7e88fb` | 2026-08-27 07:38:07 | `6e67b662c649096b7133eaace8059cd4420a6ba6` | +| [#10937](https://github.com/manaflow-ai/cmux/pull/10937) | Lawrence Chen | `da0239d03a3398556c496cffeb9ee393aff7ffaa` | 2026-08-27 08:01:23 | `41f17d77e00ed6ae8b022833301b979d82ee95e3` | +| [#10939](https://github.com/manaflow-ai/cmux/pull/10939) | Lawrence Chen | `63805ab765f88419b5c87a63068c79e05948506e` | 2026-08-27 08:06:35 | `26fb89ceba985e908f50502e1666c77b8d7f8ead` | +| [#10934](https://github.com/manaflow-ai/cmux/pull/10934) | Lawrence Chen | `04ab7444e49b05dc3d34dc129ff716780b807354` | 2026-08-27 08:17:49 | `f73fd08c161445b309f6d8d37374d85de58725df` | +| [#10949](https://github.com/manaflow-ai/cmux/pull/10949) | Lawrence Chen | `634f34535681d01a9c51369eee5da21e3f57c3a5` | 2026-08-27 08:34:35 | `b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87` | +| [#10944](https://github.com/manaflow-ai/cmux/pull/10944) | Lawrence Chen | `976b9d427b7e91b900fc8545aea6ea6e878b99c0` | 2026-08-27 09:13:59 | `99bdc375e98eb9abddd3f54289bc16ef876e8095` | + +The broad command `gh pr list --repo manaflow-ai/cmux --state open +--search 'cmux-tui' --limit 1000 --json number` returned 232 open title/body +matches at the snapshot time. That query is intentionally broad and does not +prove a PR changes a `cmux-tui/` path. The live table below is a bounded, +reproducible active set of TUI, relay, packaging, recovery, and directly +related follow-ups. Each row gives the exact head returned by `gh pr view`, a +rollup count (`S/F/P/T` means successful, failed, pending, total entries), +mergeability, and a disposition. It is not a claim that the other 232 rows are +safe to merge or irrelevant. + +## Historical live PR state (99bd snapshot, 2026-08-27) + +| PR | Author | Exact head | Checks at snapshot | GitHub state | Classification | +| --- | --- | --- | --- | --- | --- | +| [#10951](https://github.com/manaflow-ai/cmux/pull/10951) | Lawrence Chen | `a80b9e6e667491a9b0b49a22cd3bb54dac4a5e97` | 21/0/1/24 | mergeable, CLEAN | Candidate; exact-head review required. | +| [#10950](https://github.com/manaflow-ai/cmux/pull/10950) | Lawrence Chen | `e6dd260ffb346b568aa3f6dabb8a68c7f72337f5` | 21/0/1/24 | mergeable, CLEAN | Candidate; one hosted check remains pending. | +| [#10946](https://github.com/manaflow-ai/cmux/pull/10946) | Lawrence Chen | `e062c7f5130be5e9641a07f6120b0f9cfdb8de24` | 21/0/1/25 | mergeable, CLEAN | Preview follow-up candidate; review required. | +| [#10936](https://github.com/manaflow-ai/cmux/pull/10936) | Lawrence Chen | `563b18e7be5cb3d65fe02fdbe42712dc3272e304` | 21/0/1/24 | mergeable, CLEAN | Candidate; exact-head RPC review required. | +| [#10929](https://github.com/manaflow-ai/cmux/pull/10929) | Lawrence Chen | `0d4f84c69174a7a7a30a5d306283b59db82c5184` | 21/0/1/24 | mergeable, UNSTABLE | Re-land candidate; one hosted check remains pending. | +| [#10891](https://github.com/manaflow-ai/cmux/pull/10891) | Lawrence Chen | `c5e6141198525119f11478949d70163dfa793bb7` | 12/5/1/28 | mergeable, UNSTABLE | Blocked by five failed checks and one pending check; rework first. | +| [#10886](https://github.com/manaflow-ai/cmux/pull/10886) | Lawrence Chen | `8c83105dffeb234e4f4563cb6ac1670a0fa5e5f4` | 3/2/1/14 | mergeable, UNSTABLE | Docs candidate; checks incomplete and failing. | +| [#10882](https://github.com/manaflow-ai/cmux/pull/10882) | ninjin0802 | `d69d150c11738f8165fe7538d282620b9ede9a45` | 2/0/1/6 | mergeable, UNSTABLE | Diagnostic candidate; exact-head review required. | +| [#10736](https://github.com/manaflow-ai/cmux/pull/10736) | Lawrence Chen | `2fed9d4c6d0d548ee20751afedb2d53b4598b09c` | 22/0/1/25 | mergeable, CLEAN | Independent UI candidate; review and behavior proof required. | +| [#10743](https://github.com/manaflow-ai/cmux/pull/10743) | Lawrence Chen | `470252914f76bd3124d38a5e19c61c9716cd1fb3` | 22/0/1/28 | conflicting, DIRTY | Stale-surface follow-up; rebase and rework. | +| [#10747](https://github.com/manaflow-ai/cmux/pull/10747) | Lawrence Chen | `35ef21fa3b41f528709b2c932468737aa6475369` | 22/0/1/26 | mergeable, CLEAN | Rework required; prior review found catalog-loss risk. | +| [#10744](https://github.com/manaflow-ai/cmux/pull/10744) | Lawrence Chen | `45f208fb98d6b647d28818f3c96314c20b997897` | 22/0/1/26 | mergeable, CLEAN | Generation-gate candidate; exact review required. | +| [#10745](https://github.com/manaflow-ai/cmux/pull/10745) | Lawrence Chen | `8b08588991917f37bd30eabcf80adc7b9a337f3d` | 21/1/1/27 | conflicting, DIRTY | Blocked by a failed conformance check and conflict. | +| [#10746](https://github.com/manaflow-ai/cmux/pull/10746) | Lawrence Chen | `9fa4c1497719f3c205ce6d402b3ce338d7fd5504` | 22/0/1/27 | mergeable, CLEAN | Rework required; detached-reaper risks remain. | +| [#10748](https://github.com/manaflow-ai/cmux/pull/10748) | Lawrence Chen | `646f58844cdafda97627bf08fce41b30d6258900` | 4/0/1/10 | conflicting, DIRTY | Stale recovery-test branch; rebase before review. | +| [#10681](https://github.com/manaflow-ai/cmux/pull/10681) | Austin Wang | `c1d5b7c126a0b5f2266dbe290148c97edcaf7dbd` | 4/0/1/9 | mergeable, CLEAN | Independent editor-lifecycle candidate; behavior proof required. | +| [#10607](https://github.com/manaflow-ai/cmux/pull/10607) | Lawrence Chen | `126d772a131ce71f245ae56c3048aa99f3607d17` | 21/0/1/25 | conflicting, DIRTY | Identity-preflight follow-up; rebase. | +| [#10609](https://github.com/manaflow-ai/cmux/pull/10609) | Lawrence Chen | `bdcbb8c8049eb552a0d646cdce78d58d294b7b82` | 21/0/1/28 | conflicting, DIRTY | Overlaps the merged sequence; superseded pending unique-work review. | +| [#10537](https://github.com/manaflow-ai/cmux/pull/10537) | dkta0 | `5432799b46fa4ba3967497c7ad2ade440228264e` | 3/0/1/7 | conflicting, DIRTY | Independent host-color candidate; rebase. | +| [#10521](https://github.com/manaflow-ai/cmux/pull/10521) | Lawrence Chen | `a840d018b798cad68cec4b5fdeb13242668da730` | 21/0/1/26 | conflicting, DIRTY | Journal-restore dependency; rebase and lifecycle proof. | +| [#10513](https://github.com/manaflow-ai/cmux/pull/10513) | Lawrence Chen | `55caae646e40d9b665714e001ba84ec427631f52` | 2/0/1/7 | conflicting, DIRTY | Host-death dependency; rebase and hosted proof. | +| [#10428](https://github.com/manaflow-ai/cmux/pull/10428) | Lawrence Chen | `076d648a2c03e6b1b4226dd4ae7c5286e1f98f16` | 21/0/1/25 | conflicting, DIRTY | Scoped-attach security follow-up; rebase and review. | +| [#10413](https://github.com/manaflow-ai/cmux/pull/10413) | Lawrence Chen | `891544e0ab1f1ab277213b984e7f53078374fb63` | 20/1/1/25 | conflicting, DIRTY | Journal-topology dependency; failed check and rebase required. | +| [#10213](https://github.com/manaflow-ai/cmux/pull/10213) | Lawrence Chen | `911ee5304feba9b816fd59806c75bb41ca8db00c` | 21/0/1/25 | mergeable, CLEAN | Redraw candidate; exact-head review required. | + +`CLEAN` and `UNSTABLE` are GitHub merge-state labels, not acceptance claims. +The rollup includes required checks and reviewer/inventory entries, so a green +count alone does not replace exact-head review or behavior evidence. Re-run the +metadata query before making a merge decision because heads and checks can move. Session-mined unfinished requests and the simplification backlog are in [`USER-REQUEST-BOARD.md`](USER-REQUEST-BOARD.md). They remain open until a behavior test or dogfood result proves completion. -Final aggregate commits include the merge of current main -[`0560bae72c`](https://github.com/manaflow-ai/cmux/commit/0560bae72c17ccf2da139fdf44f1907523fc82cc), - the PTY generation and delivery gate fixes through `77b51e368a`, the per-entry -legacy socket scan fix `ae2fa91709`, the Go write-progress fixes through -`4a50dd64b2`, the Java path test `3e85c7dd05`, and scoped remote-daemon upload -cleanup through `4fffdfc128`, followed by the PID-marker, terminal-lookup, -wire-contract, selector, and Kitty quota fixes recorded at the audited tip. -The latest tail also includes protocol-v7 PTY error gating, partial-write -cancellation retirement, bounded Git stderr drains for both status and diff, -child reaping on missing diff stdout, and stale-overflow generation gating. Do -not infer hosted or review-green status from commits alone. - -## Live PR state +Rollback commands, residual risk, and the session-scan receipt are maintained +in [`TECH-DEBT-BOARD.md`](TECH-DEBT-BOARD.md) and +[`TECH-DEBT-CHANGELOG.md`](TECH-DEBT-CHANGELOG.md). + +## Historical live PR state (2026-08-25) This table is authoritative. Older tables below preserve historical snapshots. diff --git a/cmux-tui/docs/TECH-DEBT-BOARD.md b/cmux-tui/docs/TECH-DEBT-BOARD.md index 748114175e3b..98acfe04958c 100644 --- a/cmux-tui/docs/TECH-DEBT-BOARD.md +++ b/cmux-tui/docs/TECH-DEBT-BOARD.md @@ -1,84 +1,173 @@ # cmux-tui technical-debt board -Current snapshot: 2026-08-25. -Audit base: `origin/main` at `bd985bddcded04ed849e3484dbcb645b32a32cb6`. -Integration branch: `codex/tui-techdebt-aggregate-wave39`. -Audited code tip for this board snapshot: `75ddb6fbe84fb37ee8bcc75d0d96c39ec782e3e9`. -The documentation update follows this code tip. Query `git rev-parse HEAD` for -the exact metadata commit after this update. -PR [#10708](https://github.com/manaflow-ai/cmux/pull/10708), author Lawrence Chen, -points to the latest source tip after the push. The branch is 811 commits ahead -of `origin/main` before this documentation commit and 0 commits behind. The focused hosted run -[`32851303914`](https://github.com/manaflow-ai/cmux/actions/runs/32851303914) -passed on the earlier quota source tip and is stale for this board. The -stale-overflow, child-reaping, protocol, cancellation, and Git pipe fixes need -exact pushed-head hosted verification and exact-head autoreview before merge. - -The 2026-08-24 values below are historical snapshots. Do not use their SHAs, -ahead counts, or review status as current evidence. - -Historical snapshot tip was `387b4185f28e8baf040207f3e7ec9ffb50f3b53b`, -747 commits ahead of the then-current `origin/main` before its documentation -update. The exact current tip is recorded above. -The old `aggregate-final` and `feat-tui-tech-debt-wave1-clean` branch names are -historical only. -Current-snapshot rule: the facts above and the final-tail notes below are the -only live state in this document. Older sections preserve prior audit snapshots -for revert history. Treat their SHAs, ahead counts, PR heads, and review status -as historical unless they match this snapshot. -The current integration sequence includes the hosted formatter and verification -fixes through `66e83c808f`, the replay preflight correction `c867048c1d`, the -safe scoped-attach series through `dfa4ef3b6a`, manifest and socket-contract -hardening, Unix/Admin task ownership, browser guard coverage, and localization -through `638e536f03`. Localization recovery is recorded in `01c4a2de8d`, -`638e536f03`, and `f04c5409a0`. The aggregate tail adds legacy hashed-socket -fallbacks for Python, TypeScript, Rust, Java, Zig, Go, and C++, bounded Unix JSON -readers, wire-identity preflight, independent config-section recovery, -localization recovery, and systemd quoting fixes. The current tail also bounds -relay and remote queues, validates relay frame versions, joins Python cleanup, -uses one Go fallback deadline, guards TypeScript transport callbacks, bounds -Iroh result delivery, and hardens filesystem-watch admission and overflow -wakeup through `643dbfe2e5`. The final formatting pass is `b61f1bada6`, followed -by socket-send simplification, heartbeat bounds, fairness accounting, shell -reservation cleanup, explicit PTY overflow, preview saturation disconnect, -cross-language transport cleanup, CLI metadata, capability documentation, -credential-child reaping, journal-writer ownership/finalization, explicit socket -parent and lease cleanup, package-mode preservation, and C1 parser support -through `f7471b21e6a4a0e5cac745e78202d4470b87abb5`. The exact-head tail adds bounded preview and Windows -process cleanup, safe socket fallback precedence, Python cancellation -propagation, and the Rust fallback-test contract. Documentation-only bridge commits are -[`42b776a327`](https://github.com/manaflow-ai/cmux/commit/42b776a327c17386d131ef1b1f8a382b02683954) -and [`cef7c71460`](https://github.com/manaflow-ai/cmux/commit/cef7c71460f72444e874f7c9f26100e9259874c1). -The 25-file relay/TUI integration merge is `05c0b30277`. The latest code tail -also includes exact socket-parent matching, bounded workspace reads, watcher -sink termination, cross-language fallback correction, Windows dependency -declarations, path-error classification, shell and preview task ownership, -and clippy cleanup through the earlier aggregate tail, followed by the current -main merge, C1 parser normalization, relay stderr draining, cancellation retry -state, private SSH staging, selector tests, workflow identity checks, and CLI -payload-scope parsing. The latest code tail adds the v7 typed PTY -operational-error compatibility gate, output-overflow classification, retired -partial-write cancellation state, and bounded Git stderr drains for both -`git diff` and `git status`. - -Latest wave follow-ups are recorded in the changelog. The prior exact-head -autoreview found three relay retention issues, now fixed in the latest tail; -the final review for this source tip is pending. Two earlier remote-tmux -findings were ignored as out of scope. The ledger remains a lower bound on -substantive turns, not a fabricated 10,000-session total. - -Subagent ledger: at least 256 substantive agent turns are complete in this -run. This conservative lower bound adds one protocol implementation audit, one -partial-write fix, two Git drain fixes, one session inventory, one official web -research result, and one PR audit batch to the prior 249. It excludes empty, -duplicate, and self-counting turns. The requested 10,000-session target is not -reached. I will not create empty sessions to inflate the count. New turns must -have a named deliverable. - -## Live PR state - -This table is the only live PR state in this append-only board. Older PR tables -below are historical audit snapshots and may contain old heads or old labels. +Current snapshot: 2026-08-27T12:20:00Z. The exact source baseline is +`origin/main` at [`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0), +committed 2026-08-27T02:58:58-07:00 with subject +`Fix workspace RPC unknown response hangs (#10936)`. This is a documentation- +only update, with no local Rust, Zig, or runtime build/test. The prior +`5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` and `99bdc375e98eb9abddd3f54289bc16ef876e8095` +snapshots are retained below as historical layers. + +## Current main tail and debt disposition + +The current tail includes [#10936](https://github.com/manaflow-ai/cmux/pull/10936), +[#10944](https://github.com/manaflow-ai/cmux/pull/10944), and +[#10950](https://github.com/manaflow-ai/cmux/pull/10950), +[#10951](https://github.com/manaflow-ai/cmux/pull/10951), +[#10954](https://github.com/manaflow-ai/cmux/pull/10954), +[#10958](https://github.com/manaflow-ai/cmux/pull/10958), and +[#10962](https://github.com/manaflow-ai/cmux/pull/10962), with the nine requested +PRs. All listed authors are Lawrence Chen. Each row gives the exact merge SHA +and a rollback command. The [#10936](https://github.com/manaflow-ai/cmux/pull/10936) +change fails unknown workspace RPC responses instead of allowing a request +channel to hang. + +| PR | Merged change | Merge SHA | Residual or rollback | +| --- | --- | --- | --- | +| [#10941](https://github.com/manaflow-ai/cmux/pull/10941) | Accept unknown remote capability names with a forward-compatible enum fallback. | `6641abe023f3ab175fd910b547316fc00bf523ee` | Newer capability semantics still need compatibility proof. `git revert 6641abe023f3ab175fd910b547316fc00bf523ee` | +| [#10940](https://github.com/manaflow-ai/cmux/pull/10940) | Define remote ChatGPT auth-refresh ownership and lifecycle in docs. | `e6895d94d8fba491e823e3550dda6727cdd87d33` | Design does not prove runtime refresh or revocation. `git revert e6895d94d8fba491e823e3550dda6727cdd87d33` | +| [#10938](https://github.com/manaflow-ai/cmux/pull/10938) | Use reverse indexes for cmux-tui surface teardown lookups. | `d0f1d94c431cd41947133f7d9406968ee70a7fc7` | Stress and hosted performance evidence remain open. `git revert d0f1d94c431cd41947133f7d9406968ee70a7fc7` | +| [#10935](https://github.com/manaflow-ai/cmux/pull/10935) | Secure detached daemon logs and startup locks with ownership and no-follow checks. | `502ed87921f4ea933e30cfe8e5bb5aed0b4dad50` | Portability and recovery behavior need cross-platform proof. `git revert 502ed87921f4ea933e30cfe8e5bb5aed0b4dad50` | +| [#10932](https://github.com/manaflow-ai/cmux/pull/10932) | Validate pairing config through opened descriptors without symlink races. | `6e67b662c649096b7133eaace8059cd4420a6ba6` | Same-user pathname races outside the descriptor path remain documented. `git revert 6e67b662c649096b7133eaace8059cd4420a6ba6` | +| [#10937](https://github.com/manaflow-ai/cmux/pull/10937) | Preserve the first remote-reader termination reason and distinguish EOF from read failure. | `41f17d77e00ed6ae8b022833301b979d82ee95e3` | End-to-end UI reporting and reconnect behavior remain open. `git revert 41f17d77e00ed6ae8b022833301b979d82ee95e3` | +| [#10939](https://github.com/manaflow-ai/cmux/pull/10939) | Align relay upload ingress and egress frame budgets with Unix limits. | `26fb89ceba985e908f50502e1666c77b8d7f8ead` | Cross-language oversized-frame proof remains required. `git revert 26fb89ceba985e908f50502e1666c77b8d7f8ead` | +| [#10934](https://github.com/manaflow-ai/cmux/pull/10934) | Use canonical noun-first resource commands in public TUI docs. | `f73fd08c161445b309f6d8d37374d85de58725df` | Legacy aliases and actual CLI behavior still need user-facing proof. `git revert f73fd08c161445b309f6d8d37374d85de58725df` | +| [#10949](https://github.com/manaflow-ai/cmux/pull/10949) | Localize browser-control failures at the UI boundary. | `b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87` | Japanese and English behavior need UI acceptance coverage. `git revert b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87` | +| [#10944](https://github.com/manaflow-ai/cmux/pull/10944) | Bound Git child cleanup with an explicit cancellation deadline and reap path. | `99bdc375e98eb9abddd3f54289bc16ef876e8095` | Descendant cleanup still needs hosted stress proof. `git revert 99bdc375e98eb9abddd3f54289bc16ef876e8095` | +| [#10950](https://github.com/manaflow-ai/cmux/pull/10950) | Zeroize oversized remote session frames before returning the size-limit error. | `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | Cross-language and allocator-level zeroization proof remains required. `git revert 5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | +| [#10936](https://github.com/manaflow-ai/cmux/pull/10936) | Fail unknown workspace RPC responses and retire canceled request IDs safely. | `d65d6e6ccacf1d7300316451ce2830f05f889e14` | Cross-client unknown-response, cancellation, and reconnect behavior still need hosted proof. `git revert d65d6e6ccacf1d7300316451ce2830f05f889e14` | + +The session scan receipt and lower-bound ledger below remain retained audit +evidence. No new session scan was performed for this metadata refresh. +The retained receipt supports at least 258 named substantive turns. This is a +verifiable lower bound, not a total session count, and no 10,000-session claim +is made. + +## Current delta since `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` + +| Area | Current state at `d65d6e6ccacf1d7300316451ce2830f05f889e14` | Required proof or next action | +| --- | --- | --- | +| Workspace RPC response routing | Unknown responses fail the workspace RPC channel, and canceled request IDs are retired without exposing the local namespace. | Exercise unknown, late, canceled, and reconnect responses from multiple clients, then verify bounded failure and no request-ID leakage. | + +## Historical snapshot retained: main `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` + +The following sections preserve the prior current layer captured at +2026-08-27T09:54:48Z. They are historical evidence, not current status. + +Historical snapshot: 2026-08-27T09:54:48Z. The exact source baseline was +`origin/main` at [`5c2ee1244e2d796c9e4be5307788b320ac2ee4ff`](https://github.com/manaflow-ai/cmux/commit/5c2ee1244e2d796c9e4be5307788b320ac2ee4ff), +committed 2026-08-27T02:31:38-07:00 with subject +`fix(tui): zeroize oversized remote frames (#10950)`. This is a documentation- +only update, with no local Rust, Zig, or runtime build/test. The prior +`99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshot, captured at +2026-08-27T09:25:01Z, is retained below as a historical layer. + +## Historical main tail and debt disposition at `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` + +The current tail includes [#10944](https://github.com/manaflow-ai/cmux/pull/10944) +and [#10950](https://github.com/manaflow-ai/cmux/pull/10950), with the nine +requested PRs. All listed authors are Lawrence Chen. Each row gives the exact +merge SHA and a rollback command. The [#10950](https://github.com/manaflow-ai/cmux/pull/10950) +change zeroizes an oversized remote session message before reporting the +size-limit disconnect. + +| PR | Merged change | Merge SHA | Residual or rollback | +| --- | --- | --- | --- | +| [#10941](https://github.com/manaflow-ai/cmux/pull/10941) | Accept unknown remote capability names with a forward-compatible enum fallback. | `6641abe023f3ab175fd910b547316fc00bf523ee` | Newer capability semantics still need compatibility proof. `git revert 6641abe023f3ab175fd910b547316fc00bf523ee` | +| [#10940](https://github.com/manaflow-ai/cmux/pull/10940) | Define remote ChatGPT auth-refresh ownership and lifecycle in docs. | `e6895d94d8fba491e823e3550dda6727cdd87d33` | Design does not prove runtime refresh or revocation. `git revert e6895d94d8fba491e823e3550dda6727cdd87d33` | +| [#10938](https://github.com/manaflow-ai/cmux/pull/10938) | Use reverse indexes for cmux-tui surface teardown lookups. | `d0f1d94c431cd41947133f7d9406968ee70a7fc7` | Stress and hosted performance evidence remain open. `git revert d0f1d94c431cd41947133f7d9406968ee70a7fc7` | +| [#10935](https://github.com/manaflow-ai/cmux/pull/10935) | Secure detached daemon logs and startup locks with ownership and no-follow checks. | `502ed87921f4ea933e30cfe8e5bb5aed0b4dad50` | Portability and recovery behavior need cross-platform proof. `git revert 502ed87921f4ea933e30cfe8e5bb5aed0b4dad50` | +| [#10932](https://github.com/manaflow-ai/cmux/pull/10932) | Validate pairing config through opened descriptors without symlink races. | `6e67b662c649096b7133eaace8059cd4420a6ba6` | Same-user pathname races outside the descriptor path remain documented. `git revert 6e67b662c649096b7133eaace8059cd4420a6ba6` | +| [#10937](https://github.com/manaflow-ai/cmux/pull/10937) | Preserve the first remote-reader termination reason and distinguish EOF from read failure. | `41f17d77e00ed6ae8b022833301b979d82ee95e3` | End-to-end UI reporting and reconnect behavior remain open. `git revert 41f17d77e00ed6ae8b022833301b979d82ee95e3` | +| [#10939](https://github.com/manaflow-ai/cmux/pull/10939) | Align relay upload ingress and egress frame budgets with Unix limits. | `26fb89ceba985e908f50502e1666c77b8d7f8ead` | Cross-language oversized-frame proof remains required. `git revert 26fb89ceba985e908f50502e1666c77b8d7f8ead` | +| [#10934](https://github.com/manaflow-ai/cmux/pull/10934) | Use canonical noun-first resource commands in public TUI docs. | `f73fd08c161445b309f6d8d37374d85de58725df` | Legacy aliases and actual CLI behavior still need user-facing proof. `git revert f73fd08c161445b309f6d8d37374d85de58725df` | +| [#10949](https://github.com/manaflow-ai/cmux/pull/10949) | Localize browser-control failures at the UI boundary. | `b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87` | Japanese and English behavior need UI acceptance coverage. `git revert b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87` | +| [#10944](https://github.com/manaflow-ai/cmux/pull/10944) | Bound Git child cleanup with an explicit cancellation deadline and reap path. | `99bdc375e98eb9abddd3f54289bc16ef876e8095` | Descendant cleanup still needs hosted stress proof. `git revert 99bdc375e98eb9abddd3f54289bc16ef876e8095` | +| [#10950](https://github.com/manaflow-ai/cmux/pull/10950) | Zeroize oversized remote session frames before returning the size-limit error. | `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | Cross-language and allocator-level zeroization proof remains required. `git revert 5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | + +The session scan receipt and lower-bound ledger below remain the retained audit +evidence from the prior snapshot. No new session scan was performed for this +metadata refresh. + +## Historical delta since the `99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshot + +| Area | Current state at `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | Required proof or next action | +| --- | --- | --- | +| Oversized remote frames | Remote session messages are zeroized before the size-limit disconnect. | Exercise exact-limit and oversized frames across all SDKs and transports, and verify no secret bytes remain. | + +## Historical snapshot retained: main `99bdc375e98eb9abddd3f54289bc16ef876e8095` + +The following sections preserve the prior board state captured at +2026-08-27T09:25:01Z. They are historical evidence, not current status. + +Historical snapshot: 2026-08-27T09:25:01Z. The exact source baseline was +`origin/main` at [`99bdc375e98eb9abddd3f54289bc16ef876e8095`](https://github.com/manaflow-ai/cmux/commit/99bdc375e98eb9abddd3f54289bc16ef876e8095), +committed 2026-08-27T02:13:58-07:00. This board is append-only in spirit: +the current layer was first, and older sections are retained as historical +snapshots. No local Rust, Zig, or runtime build/test was run for that +documentation-only update. + +## Historical main tail and debt disposition at `99bdc375e98eb9abddd3f54289bc16ef876e8095` + +The nine requested PRs, plus the subsequent [#10944](https://github.com/manaflow-ai/cmux/pull/10944) +merge, are in the pinned main commit. All listed authors are Lawrence Chen. A +merge records source integration; residual acceptance and rollback remain +explicit. + +| PR | Merged change | Merge SHA | Residual or rollback | +| --- | --- | --- | --- | +| [#10941](https://github.com/manaflow-ai/cmux/pull/10941) | Accept unknown remote capability names with a forward-compatible enum fallback. | `6641abe023f3ab175fd910b547316fc00bf523ee` | Newer capability semantics still need compatibility proof. `git revert 6641abe023f3ab175fd910b547316fc00bf523ee` | +| [#10940](https://github.com/manaflow-ai/cmux/pull/10940) | Define remote ChatGPT auth-refresh ownership and lifecycle in docs. | `e6895d94d8fba491e823e3550dda6727cdd87d33` | Design does not prove runtime refresh or revocation. `git revert e6895d94d8fba491e823e3550dda6727cdd87d33` | +| [#10938](https://github.com/manaflow-ai/cmux/pull/10938) | Use reverse indexes for cmux-tui surface teardown lookups. | `d0f1d94c431cd41947133f7d9406968ee70a7fc7` | Stress and hosted performance evidence remain open. `git revert d0f1d94c431cd41947133f7d9406968ee70a7fc7` | +| [#10935](https://github.com/manaflow-ai/cmux/pull/10935) | Secure detached daemon logs and startup locks with ownership and no-follow checks. | `502ed87921f4ea933e30cfe8e5bb5aed0b4dad50` | Portability and recovery behavior need cross-platform proof. `git revert 502ed87921f4ea933e30cfe8e5bb5aed0b4dad50` | +| [#10932](https://github.com/manaflow-ai/cmux/pull/10932) | Validate pairing config through opened descriptors without symlink races. | `6e67b662c649096b7133eaace8059cd4420a6ba6` | Same-user pathname races outside the descriptor path remain documented. `git revert 6e67b662c649096b7133eaace8059cd4420a6ba6` | +| [#10937](https://github.com/manaflow-ai/cmux/pull/10937) | Preserve the first remote-reader termination reason and distinguish EOF from read failure. | `41f17d77e00ed6ae8b022833301b979d82ee95e3` | End-to-end UI reporting and reconnect behavior remain open. `git revert 41f17d77e00ed6ae8b022833301b979d82ee95e3` | +| [#10939](https://github.com/manaflow-ai/cmux/pull/10939) | Align relay upload ingress and egress frame budgets with Unix limits. | `26fb89ceba985e908f50502e1666c77b8d7f8ead` | Cross-language oversized-frame proof remains required. `git revert 26fb89ceba985e908f50502e1666c77b8d7f8ead` | +| [#10934](https://github.com/manaflow-ai/cmux/pull/10934) | Use canonical noun-first resource commands in public TUI docs. | `f73fd08c161445b309f6d8d37374d85de58725df` | Legacy aliases and actual CLI behavior still need user-facing proof. `git revert f73fd08c161445b309f6d8d37374d85de58725df` | +| [#10949](https://github.com/manaflow-ai/cmux/pull/10949) | Localize browser-control failures at the UI boundary. | `b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87` | Japanese and English behavior need UI acceptance coverage. `git revert b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87` | +| [#10944](https://github.com/manaflow-ai/cmux/pull/10944) | Bound Git child cleanup with an explicit cancellation deadline and reap path. | `99bdc375e98eb9abddd3f54289bc16ef876e8095` | Descendant cleanup still needs hosted stress proof. `git revert 99bdc375e98eb9abddd3f54289bc16ef876e8095` | + +The live open-PR table, exact heads, rollup checks, and classifications are in +[`PR-INTENT-BOARD.md`](PR-INTENT-BOARD.md). The nine changes above do not close +the open journal, cloud, direct-I/O, discovery, or sandbox authorization work. + +## Historical residual debt at `99bdc375e98eb9abddd3f54289bc16ef876e8095` + +| Area | Current state at `99bdc375e9` | Required proof or next action | +| --- | --- | --- | +| Capability compatibility | Unknown capability names no longer fail decoding. | Exercise a newer remote capability through every client and verify safe feature gating. | +| Auth refresh ownership | Ownership and lifecycle are documented, not implemented end to end. | Add authenticated refresh, revocation, and expiry behavior tests without logging credentials. | +| Surface teardown scale | Reverse indexes reduce repeated lookups. | Run a 96-browser-tab teardown stress case and capture bounded latency and memory. | +| File and config security | Detached state and pairing config use owner and descriptor checks. | Prove cross-platform permissions, symlink rejection, and recovery after interruption. | +| Reader diagnostics | First termination reasons survive remote reader shutdown. | Surface EOF versus read failure in the UI and reconnect state machine. | +| Frame budgets | Client ingress and server egress limits are explicit. | Verify exact and oversized frame behavior across all SDKs and transports. | +| Canonical CLI docs | Public examples use resource-first commands. | Run fresh-package help and attach flows, and document compatibility aliases. | +| Error localization | Browser-control failures are localized at the UI boundary. | Exercise English and Japanese UI paths and verify no raw backend error leaks. | +| User-intent architecture | Discovery, machine/resource rails, direct Ghostty I/O, restore, and sandbox authorization remain open. | Use the acceptance cases in [`USER-INTENT-BOARD.md`](USER-INTENT-BOARD.md), not source-shape checks. | + +## Session scan receipt and lower-bound ledger + +The full local history scan found 90,787 parsed JSON records and 81,149 unique +Claude session IDs in `~/.claude/history.jsonl`, plus 18,833 records and 2,332 +unique Codex session IDs in `~/.codex/history.jsonl`. The current tail receipt +is 174 Claude records and 42 IDs from line 90614 onward, with 26 records and 12 +IDs matching selected TUI terms; Codex line 18787 onward has 47 records and 17 +IDs, with two records and two IDs matching the narrow TUI terms. Broad full-file +keyword scans found 339 Claude IDs and 310 Codex IDs, but those include +unrelated requests and are not substantive counts. + +The current board records at least 256 substantive turns. Local audit commit +`a6b54c6b0e469c72d527c5b9f7c165ed49bfa03d` (not on this main snapshot) records +one additional named documentation turn, and this update adds one more named +audit turn. The verifiable lower-bound ledger is therefore at least 258 named +substantive turns when those retained receipts are included. It excludes empty, +duplicate, self-counting, secret-bearing, and unrelated records. This is a +lower bound, not a total session count, and it makes no 10,000-session claim. + +## Historical live PR state (2026-08-25) + +This table was the live PR state in the 2026-08-25 snapshot. It is retained for +history only. The current table is in `PR-INTENT-BOARD.md`. | PR | Author | State and head on 2026-08-25 | Decision | | --- | --- | --- | --- | @@ -94,7 +183,7 @@ below are historical audit snapshots and may contain old heads or old labels. | [#10602](https://github.com/manaflow-ai/cmux/pull/10602) | Lawrence Chen | Open, conflicting, unchanged head `67b7e6814f8355235e3930a6f3360a58dc0ba3c0`; superseded by [#10708](https://github.com/manaflow-ai/cmux/pull/10708). | Close after [#10708](https://github.com/manaflow-ai/cmux/pull/10708) merges, after rechecking that the head is unchanged. | | [#10609](https://github.com/manaflow-ai/cmux/pull/10609) | Lawrence Chen | Open, conflicting, unchanged head `bdcbb8c8049eb552a0d646cdce78d58d294b7b82`; superseded by [#10708](https://github.com/manaflow-ai/cmux/pull/10708). | Close after [#10708](https://github.com/manaflow-ai/cmux/pull/10708) merges, after rechecking that the head is unchanged. | -## Current state +## Historical current state (2026-08-25) The audited source tail is `75ddb6fbe84fb37ee8bcc75d0d96c39ec782e3e9`. It carries the watch compatibility, queue-ownership, fairness, timer-bound, shell-reservation, PTY overflow, diff --git a/cmux-tui/docs/TECH-DEBT-CHANGELOG.md b/cmux-tui/docs/TECH-DEBT-CHANGELOG.md index 267f4f51e751..790a9a3cee24 100644 --- a/cmux-tui/docs/TECH-DEBT-CHANGELOG.md +++ b/cmux-tui/docs/TECH-DEBT-CHANGELOG.md @@ -1,48 +1,141 @@ # cmux-tui aggregate change log -Current snapshot: 2026-08-25. The audited source tip before this -documentation snapshot is [`75ddb6fbe8`](https://github.com/manaflow-ai/cmux/commit/75ddb6fbe84fb37ee8bcc75d0d96c39ec782e3e9), -811 commits ahead of `origin/main` at -`bd985bddcded04ed849e3484dbcb645b32a32cb6`. PR [#10708](https://github.com/manaflow-ai/cmux/pull/10708) -points to that exact pushed head. Focused hosted run -[`32851303914`](https://github.com/manaflow-ai/cmux/actions/runs/32851303914) -passed on the earlier source tip and is stale after the child-reap and -stale-overflow fixes. Full hosted verification and exact-head autoreview remain pending. The documentation -commit follows the audited source tip. The 2026-08-24 snapshot below is -historical. - -This update records the current-main merge, the PyPI project-description and -release-candidate package fixes, -web determinism merge -[#10718](https://github.com/manaflow-ai/cmux/pull/10718), and the final PTY, -socket, Go, Java, workflow, and package-test hardening tail. Each entry names -the commit and a direct revert command. For a single commit, use -`git revert `; use the exact command in each table row for -merges or coupled changes. - -Intent-audit delta: local history added two deduplicated requests after the prior board snapshot, sandbox-scoped agent spawning with lifecycle/provider proof (UI-23), and isolated product sessions plus a bounded Firstmate feasibility slice (UI-24). Current open cmux-tui PRs, including [PR 9783](https://github.com/manaflow-ai/cmux/pull/9783), [PR 10321](https://github.com/manaflow-ai/cmux/pull/10321), and [PR 9933](https://github.com/manaflow-ai/cmux/pull/9933), do not provide the stated end-to-end acceptance evidence. - -The 2026-08-25 session audit adds concrete evidence, not completed work: fresh -`uvx cmux` runs reported a missing `machine-provider` executable and a missing -surface reference; repeated resize and peer-death reports require isolation -proof; manual Ghostty I/O and reconnect behavior remain requested; and the -left-sidebar `hjkl` preview, `Esc`, and `Enter` interaction needs a separate -acceptance case. These deltas strengthen UI-01, UI-02, UI-03, UI-06, UI-13, -UI-15, and UI-22. They do not close any row. - -The current PR inventory found 105 open PRs mentioning `cmux-tui`, 64 of the -newest 300 open PRs changing a `cmux-tui/` path, and 52 sharing a path with -[#10708](https://github.com/manaflow-ai/cmux/pull/10708). Independent features -[#10734](https://github.com/manaflow-ai/cmux/pull/10734), -[#10736](https://github.com/manaflow-ai/cmux/pull/10736), and -[#10743](https://github.com/manaflow-ai/cmux/pull/10743) stay separate until -their current review findings are fixed. Conflicting -[#10602](https://github.com/manaflow-ai/cmux/pull/10602) and -[#10609](https://github.com/manaflow-ai/cmux/pull/10609) are superseded and may -close only after [#10708](https://github.com/manaflow-ai/cmux/pull/10708) merges -and their heads are checked. - -## Latest exact-head tail +Current snapshot: 2026-08-27T12:20:00Z. The audited source is pinned to +`origin/main` at [`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0), +committed 2026-08-27T02:58:58-07:00 with subject +`Fix workspace RPC unknown response hangs (#10936)`. This documentation-only +refresh keeps the prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` and +`99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshots below as historical +records. The session receipt and lower-bound ledger are retained from the prior +audit; no new session scan was performed. + +## Current main tail (2026-08-27, main `de3902db48d2924c227b5acb26cbe1d89fe03cc0`) + +Each row includes the merged PR, author, merge SHA, change, and exact rollback +command. The commits are single-parent squash merges, so no `-m` option is +needed. [#10936](https://github.com/manaflow-ai/cmux/pull/10936) fails unknown +workspace RPC responses and retires canceled request IDs without hanging. +The retained session receipt supports at least 258 named substantive turns. This +is a verifiable lower bound, not a total session count, and no 10,000-session +claim is made. + +| PR | Author | Merge SHA | Change | Rollback | +| --- | --- | --- | --- | --- | +| [#10941](https://github.com/manaflow-ai/cmux/pull/10941) | Lawrence Chen | [`6641abe023f3ab175fd910b547316fc00bf523ee`](https://github.com/manaflow-ai/cmux/commit/6641abe023f3ab175fd910b547316fc00bf523ee) | Accept unknown remote capability names with a forward-compatible enum fallback. | `git revert 6641abe023f3ab175fd910b547316fc00bf523ee` | +| [#10940](https://github.com/manaflow-ai/cmux/pull/10940) | Lawrence Chen | [`e6895d94d8fba491e823e3550dda6727cdd87d33`](https://github.com/manaflow-ai/cmux/commit/e6895d94d8fba491e823e3550dda6727cdd87d33) | Define remote ChatGPT auth-refresh ownership and lifecycle in docs. | `git revert e6895d94d8fba491e823e3550dda6727cdd87d33` | +| [#10938](https://github.com/manaflow-ai/cmux/pull/10938) | Lawrence Chen | [`d0f1d94c431cd41947133f7d9406968ee70a7fc7`](https://github.com/manaflow-ai/cmux/commit/d0f1d94c431cd41947133f7d9406968ee70a7fc7) | Use reverse indexes for cmux-tui surface teardown lookups. | `git revert d0f1d94c431cd41947133f7d9406968ee70a7fc7` | +| [#10935](https://github.com/manaflow-ai/cmux/pull/10935) | Lawrence Chen | [`502ed87921f4ea933e30cfe8e5bb5aed0b4dad50`](https://github.com/manaflow-ai/cmux/commit/502ed87921f4ea933e30cfe8e5bb5aed0b4dad50) | Secure detached daemon logs and startup locks with ownership and no-follow checks. | `git revert 502ed87921f4ea933e30cfe8e5bb5aed0b4dad50` | +| [#10932](https://github.com/manaflow-ai/cmux/pull/10932) | Lawrence Chen | [`6e67b662c649096b7133eaace8059cd4420a6ba6`](https://github.com/manaflow-ai/cmux/commit/6e67b662c649096b7133eaace8059cd4420a6ba6) | Validate pairing config through opened descriptors without symlink races. | `git revert 6e67b662c649096b7133eaace8059cd4420a6ba6` | +| [#10937](https://github.com/manaflow-ai/cmux/pull/10937) | Lawrence Chen | [`41f17d77e00ed6ae8b022833301b979d82ee95e3`](https://github.com/manaflow-ai/cmux/commit/41f17d77e00ed6ae8b022833301b979d82ee95e3) | Preserve the first remote-reader termination reason and distinguish EOF from read failure. | `git revert 41f17d77e00ed6ae8b022833301b979d82ee95e3` | +| [#10939](https://github.com/manaflow-ai/cmux/pull/10939) | Lawrence Chen | [`26fb89ceba985e908f50502e1666c77b8d7f8ead`](https://github.com/manaflow-ai/cmux/commit/26fb89ceba985e908f50502e1666c77b8d7f8ead) | Align relay upload ingress and egress frame budgets with Unix limits. | `git revert 26fb89ceba985e908f50502e1666c77b8d7f8ead` | +| [#10934](https://github.com/manaflow-ai/cmux/pull/10934) | Lawrence Chen | [`f73fd08c161445b309f6d8d37374d85de58725df`](https://github.com/manaflow-ai/cmux/commit/f73fd08c161445b309f6d8d37374d85de58725df) | Use canonical noun-first resource commands in public TUI docs. | `git revert f73fd08c161445b309f6d8d37374d85de58725df` | +| [#10949](https://github.com/manaflow-ai/cmux/pull/10949) | Lawrence Chen | [`b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87`](https://github.com/manaflow-ai/cmux/commit/b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87) | Localize browser-control failures at the UI boundary. | `git revert b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87` | +| [#10944](https://github.com/manaflow-ai/cmux/pull/10944) | Lawrence Chen | [`99bdc375e98eb9abddd3f54289bc16ef876e8095`](https://github.com/manaflow-ai/cmux/commit/99bdc375e98eb9abddd3f54289bc16ef876e8095) | Bound Git child cleanup with an explicit cancellation deadline and reap path. | `git revert 99bdc375e98eb9abddd3f54289bc16ef876e8095` | +| [#10950](https://github.com/manaflow-ai/cmux/pull/10950) | Lawrence Chen | [`5c2ee1244e2d796c9e4be5307788b320ac2ee4ff`](https://github.com/manaflow-ai/cmux/commit/5c2ee1244e2d796c9e4be5307788b320ac2ee4ff) | Zeroize oversized remote session frames before returning the size-limit error. | `git revert 5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | +| [#10936](https://github.com/manaflow-ai/cmux/pull/10936) | Lawrence Chen | [`d65d6e6ccacf1d7300316451ce2830f05f889e14`](https://github.com/manaflow-ai/cmux/commit/d65d6e6ccacf1d7300316451ce2830f05f889e14) | Fail unknown workspace RPC responses and retire canceled request IDs safely. | `git revert d65d6e6ccacf1d7300316451ce2830f05f889e14` | +| [#10954](https://github.com/manaflow-ai/cmux/pull/10954) | Lawrence Chen | [`a293eba98d6f4fafa4add823327c44deef8371ef`](https://github.com/manaflow-ai/cmux/commit/a293eba98d6f4fafa4add823327c44deef8371ef) | Route advisory graphics diagnostics away from the status channel. | `git revert a293eba98d6f4fafa4add823327c44deef8371ef` | +| [#10958](https://github.com/manaflow-ai/cmux/pull/10958) | Lawrence Chen | [`9cf920bb6b7a87bae3af721a0f98c989c45b9c4b`](https://github.com/manaflow-ai/cmux/commit/9cf920bb6b7a87bae3af721a0f98c989c45b9c4b) | Own TUI layout from the rendered frame area. | `git revert 9cf920bb6b7a87bae3af721a0f98c989c45b9c4b` | +| [#10962](https://github.com/manaflow-ai/cmux/pull/10962) | Lawrence Chen | [`ef5e7434927d89996e2cd29b429823b8a716a08e`](https://github.com/manaflow-ai/cmux/commit/ef5e7434927d89996e2cd29b429823b8a716a08e) | Apply immediate redraws after visible input changes. | `git revert ef5e7434927d89996e2cd29b429823b8a716a08e` | +| [#10951](https://github.com/manaflow-ai/cmux/pull/10951) | Lawrence Chen | [`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0) | Share startup option scanning across TUI entry points. | `git revert de3902db48d2924c227b5acb26cbe1d89fe03cc0` | + +The prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` snapshot was captured at +2026-08-27T09:54:48Z after [#10950](https://github.com/manaflow-ai/cmux/pull/10950). +Its exact tail, rollback rows, session evidence, and older `99bdc...` history are +retained below under historical headings. + +## Historical snapshot retained: main `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` + +The following section preserves the prior current layer. It is not current +evidence. + +Historical snapshot: 2026-08-27T09:54:48Z. The audited source was pinned to +`origin/main` at [`5c2ee1244e2d796c9e4be5307788b320ac2ee4ff`](https://github.com/manaflow-ai/cmux/commit/5c2ee1244e2d796c9e4be5307788b320ac2ee4ff), +committed 2026-08-27T02:31:38-07:00 with subject +`fix(tui): zeroize oversized remote frames (#10950)`. This documentation-only +refresh keeps the full prior `99bdc375e98eb9abddd3f54289bc16ef876e8095` +snapshot below. The session receipt and lower-bound ledger are retained from +that audit; no new session scan was performed. + +## Historical main tail (2026-08-27, main `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff`) + +Each row includes the merged PR, author, merge SHA, change, and exact rollback +command. The commits are single-parent squash merges, so no `-m` option is +needed. [#10950](https://github.com/manaflow-ai/cmux/pull/10950) zeroizes the +oversized remote session message before returning the size-limit error. + +| PR | Author | Merge SHA | Change | Rollback | +| --- | --- | --- | --- | --- | +| [#10941](https://github.com/manaflow-ai/cmux/pull/10941) | Lawrence Chen | [`6641abe023f3ab175fd910b547316fc00bf523ee`](https://github.com/manaflow-ai/cmux/commit/6641abe023f3ab175fd910b547316fc00bf523ee) | Accept unknown remote capability names with a forward-compatible enum fallback. | `git revert 6641abe023f3ab175fd910b547316fc00bf523ee` | +| [#10940](https://github.com/manaflow-ai/cmux/pull/10940) | Lawrence Chen | [`e6895d94d8fba491e823e3550dda6727cdd87d33`](https://github.com/manaflow-ai/cmux/commit/e6895d94d8fba491e823e3550dda6727cdd87d33) | Define remote ChatGPT auth-refresh ownership and lifecycle in docs. | `git revert e6895d94d8fba491e823e3550dda6727cdd87d33` | +| [#10938](https://github.com/manaflow-ai/cmux/pull/10938) | Lawrence Chen | [`d0f1d94c431cd41947133f7d9406968ee70a7fc7`](https://github.com/manaflow-ai/cmux/commit/d0f1d94c431cd41947133f7d9406968ee70a7fc7) | Use reverse indexes for cmux-tui surface teardown lookups. | `git revert d0f1d94c431cd41947133f7d9406968ee70a7fc7` | +| [#10935](https://github.com/manaflow-ai/cmux/pull/10935) | Lawrence Chen | [`502ed87921f4ea933e30cfe8e5bb5aed0b4dad50`](https://github.com/manaflow-ai/cmux/commit/502ed87921f4ea933e30cfe8e5bb5aed0b4dad50) | Secure detached daemon logs and startup locks with ownership and no-follow checks. | `git revert 502ed87921f4ea933e30cfe8e5bb5aed0b4dad50` | +| [#10932](https://github.com/manaflow-ai/cmux/pull/10932) | Lawrence Chen | [`6e67b662c649096b7133eaace8059cd4420a6ba6`](https://github.com/manaflow-ai/cmux/commit/6e67b662c649096b7133eaace8059cd4420a6ba6) | Validate pairing config through opened descriptors without symlink races. | `git revert 6e67b662c649096b7133eaace8059cd4420a6ba6` | +| [#10937](https://github.com/manaflow-ai/cmux/pull/10937) | Lawrence Chen | [`41f17d77e00ed6ae8b022833301b979d82ee95e3`](https://github.com/manaflow-ai/cmux/commit/41f17d77e00ed6ae8b022833301b979d82ee95e3) | Preserve the first remote-reader termination reason and distinguish EOF from read failure. | `git revert 41f17d77e00ed6ae8b022833301b979d82ee95e3` | +| [#10939](https://github.com/manaflow-ai/cmux/pull/10939) | Lawrence Chen | [`26fb89ceba985e908f50502e1666c77b8d7f8ead`](https://github.com/manaflow-ai/cmux/commit/26fb89ceba985e908f50502e1666c77b8d7f8ead) | Align relay upload ingress and egress frame budgets with Unix limits. | `git revert 26fb89ceba985e908f50502e1666c77b8d7f8ead` | +| [#10934](https://github.com/manaflow-ai/cmux/pull/10934) | Lawrence Chen | [`f73fd08c161445b309f6d8d37374d85de58725df`](https://github.com/manaflow-ai/cmux/commit/f73fd08c161445b309f6d8d37374d85de58725df) | Use canonical noun-first resource commands in public TUI docs. | `git revert f73fd08c161445b309f6d8d37374d85de58725df` | +| [#10949](https://github.com/manaflow-ai/cmux/pull/10949) | Lawrence Chen | [`b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87`](https://github.com/manaflow-ai/cmux/commit/b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87) | Localize browser-control failures at the UI boundary. | `git revert b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87` | +| [#10944](https://github.com/manaflow-ai/cmux/pull/10944) | Lawrence Chen | [`99bdc375e98eb9abddd3f54289bc16ef876e8095`](https://github.com/manaflow-ai/cmux/commit/99bdc375e98eb9abddd3f54289bc16ef876e8095) | Bound Git child cleanup with an explicit cancellation deadline and reap path. | `git revert 99bdc375e98eb9abddd3f54289bc16ef876e8095` | +| [#10950](https://github.com/manaflow-ai/cmux/pull/10950) | Lawrence Chen | [`5c2ee1244e2d796c9e4be5307788b320ac2ee4ff`](https://github.com/manaflow-ai/cmux/commit/5c2ee1244e2d796c9e4be5307788b320ac2ee4ff) | Zeroize oversized remote session frames before returning the size-limit error. | `git revert 5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | + +The prior snapshot at `99bdc375e98eb9abddd3f54289bc16ef876e8095` was captured +at 2026-08-27T09:25:01Z after [#10944](https://github.com/manaflow-ai/cmux/pull/10944). +Its exact tail, rollback rows, session evidence, and older history are retained +below under the historical heading. + +## Historical snapshot retained: main `99bdc375e98eb9abddd3f54289bc16ef876e8095` + +The following section preserves the prior board state. It is not current +evidence. + +Historical snapshot: 2026-08-27T09:25:01Z. The audited source was pinned to +`origin/main` at [`99bdc375e98eb9abddd3f54289bc16ef876e8095`](https://github.com/manaflow-ai/cmux/commit/99bdc375e98eb9abddd3f54289bc16ef876e8095), +committed 2026-08-27T02:13:58-07:00. This changelog puts the current main tail +first and retained prior snapshots below as historical records. Each current +row includes the merged PR, author, merge SHA, change, and an exact rollback +command. The nine requested PRs and the subsequent [#10944](https://github.com/manaflow-ai/cmux/pull/10944) +merge were authored by Lawrence Chen and are single-parent commits, so no `-m` +option is needed. + +## Historical main tail (2026-08-27, main `99bdc375e98eb9abddd3f54289bc16ef876e8095`) + +| PR | Author | Merge SHA | Change | Rollback | +| --- | --- | --- | --- | --- | +| [#10941](https://github.com/manaflow-ai/cmux/pull/10941) | Lawrence Chen | [`6641abe023f3ab175fd910b547316fc00bf523ee`](https://github.com/manaflow-ai/cmux/commit/6641abe023f3ab175fd910b547316fc00bf523ee) | Accept unknown remote capability names with a forward-compatible enum fallback. | `git revert 6641abe023f3ab175fd910b547316fc00bf523ee` | +| [#10940](https://github.com/manaflow-ai/cmux/pull/10940) | Lawrence Chen | [`e6895d94d8fba491e823e3550dda6727cdd87d33`](https://github.com/manaflow-ai/cmux/commit/e6895d94d8fba491e823e3550dda6727cdd87d33) | Define remote ChatGPT auth-refresh ownership and lifecycle in docs. | `git revert e6895d94d8fba491e823e3550dda6727cdd87d33` | +| [#10938](https://github.com/manaflow-ai/cmux/pull/10938) | Lawrence Chen | [`d0f1d94c431cd41947133f7d9406968ee70a7fc7`](https://github.com/manaflow-ai/cmux/commit/d0f1d94c431cd41947133f7d9406968ee70a7fc7) | Use reverse indexes for cmux-tui surface teardown lookups. | `git revert d0f1d94c431cd41947133f7d9406968ee70a7fc7` | +| [#10935](https://github.com/manaflow-ai/cmux/pull/10935) | Lawrence Chen | [`502ed87921f4ea933e30cfe8e5bb5aed0b4dad50`](https://github.com/manaflow-ai/cmux/commit/502ed87921f4ea933e30cfe8e5bb5aed0b4dad50) | Secure detached daemon logs and startup locks with ownership and no-follow checks. | `git revert 502ed87921f4ea933e30cfe8e5bb5aed0b4dad50` | +| [#10932](https://github.com/manaflow-ai/cmux/pull/10932) | Lawrence Chen | [`6e67b662c649096b7133eaace8059cd4420a6ba6`](https://github.com/manaflow-ai/cmux/commit/6e67b662c649096b7133eaace8059cd4420a6ba6) | Validate pairing config through opened descriptors without symlink races. | `git revert 6e67b662c649096b7133eaace8059cd4420a6ba6` | +| [#10937](https://github.com/manaflow-ai/cmux/pull/10937) | Lawrence Chen | [`41f17d77e00ed6ae8b022833301b979d82ee95e3`](https://github.com/manaflow-ai/cmux/commit/41f17d77e00ed6ae8b022833301b979d82ee95e3) | Preserve the first remote-reader termination reason and distinguish EOF from read failure. | `git revert 41f17d77e00ed6ae8b022833301b979d82ee95e3` | +| [#10939](https://github.com/manaflow-ai/cmux/pull/10939) | Lawrence Chen | [`26fb89ceba985e908f50502e1666c77b8d7f8ead`](https://github.com/manaflow-ai/cmux/commit/26fb89ceba985e908f50502e1666c77b8d7f8ead) | Align relay upload ingress and egress frame budgets with Unix limits. | `git revert 26fb89ceba985e908f50502e1666c77b8d7f8ead` | +| [#10934](https://github.com/manaflow-ai/cmux/pull/10934) | Lawrence Chen | [`f73fd08c161445b309f6d8d37374d85de58725df`](https://github.com/manaflow-ai/cmux/commit/f73fd08c161445b309f6d8d37374d85de58725df) | Use canonical noun-first resource commands in public TUI docs. | `git revert f73fd08c161445b309f6d8d37374d85de58725df` | +| [#10949](https://github.com/manaflow-ai/cmux/pull/10949) | Lawrence Chen | [`b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87`](https://github.com/manaflow-ai/cmux/commit/b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87) | Localize browser-control failures at the UI boundary. | `git revert b151e7eebcf4d33ae0b5f09e3f5b8c9dc3072c87` | +| [#10944](https://github.com/manaflow-ai/cmux/pull/10944) | Lawrence Chen | [`99bdc375e98eb9abddd3f54289bc16ef876e8095`](https://github.com/manaflow-ai/cmux/commit/99bdc375e98eb9abddd3f54289bc16ef876e8095) | Bound Git child cleanup with an explicit cancellation deadline and reap path. | `git revert 99bdc375e98eb9abddd3f54289bc16ef876e8095` | + +## Session scan receipt and lower-bound ledger + +The full local scan found 90,787 parsed JSON records and 81,149 unique Claude +session IDs in `~/.claude/history.jsonl`, plus 18,833 records and 2,332 unique +Codex session IDs in `~/.codex/history.jsonl`. The current tail receipt is 174 +Claude records and 42 IDs from line 90614 onward, with 26 records and 12 IDs +matching selected TUI terms. Codex line 18787 onward has 47 records and 17 IDs, +with two records and two IDs matching the narrow TUI terms. These counts are +scan coverage, not substantive-turn counts. + +The current board records at least 256 substantive turns. Local audit commit +`a6b54c6b0e469c72d527c5b9f7c165ed49bfa03d` (not on this main snapshot) records +one additional named documentation turn, and this changelog update adds one +more named audit turn. The verifiable lower-bound ledger is therefore at least +258 named substantive turns when those retained receipts are included. Empty, +duplicate, self-counting, secret-bearing, and unrelated records are excluded. +This is a lower bound, not a total session count, and makes no 10,000-session +claim. + +The 2026-08-27 intent delta is recorded in +[`USER-INTENT-BOARD.md`](USER-INTENT-BOARD.md) and the bounded current PR set is +recorded in [`PR-INTENT-BOARD.md`](PR-INTENT-BOARD.md). No current user-intent +row is marked complete solely because one of these PRs merged. + +## Historical exact-head tail (2026-08-25) These commits are the source changes after the previous documentation snapshot. Revert each commit separately unless a revert note says otherwise. diff --git a/cmux-tui/docs/USER-INTENT-BOARD.md b/cmux-tui/docs/USER-INTENT-BOARD.md index f3ff35d280c1..e57a11869ac1 100644 --- a/cmux-tui/docs/USER-INTENT-BOARD.md +++ b/cmux-tui/docs/USER-INTENT-BOARD.md @@ -1,23 +1,125 @@ # cmux-tui user-intent board -Current audit snapshot: 2026-08-25. - -Audit base: `codex/tui-techdebt-aggregate-wave39` at audited tip -`31fc5df2b4`. This document records explicit user requests found in local -session history. It does not claim that an implementation is complete. For the -aggregate change and risk ledger, see [`TECH-DEBT-BOARD.md`](TECH-DEBT-BOARD.md). - -The prior 2026-08-24 tip `387b4185f2` and its status labels are historical. -The current merge adds PTY delivery-gate and generation cleanup, bounded socket -metadata handling, Go write-progress checks, Java traversal coverage, and the -current package workflow, stale-close identity checks, and owned SSH staging -cleanup, plus the PyPI project-description metadata fix and scoped remote-daemon -cleanup. The latest tail also makes PID-marker recovery non-signaling, -distinguishes verified missing terminals from control failures, and aligns the -protocol summary with the wire. These changes move no request to complete -without end-to-end evidence. +Current audit snapshot: 2026-08-27T12:20:00Z. The source baseline is +`origin/main` at [`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0), +committed 2026-08-27T02:58:58-07:00 with subject +`Fix workspace RPC unknown response hangs (#10936)`. The prior +`5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` and earlier +`99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshots are retained below as +historical evidence. No new session scan was run, so the existing scan receipt +and honest lower-bound ledger remain unchanged. + +The current main tail includes [#10936](https://github.com/manaflow-ai/cmux/pull/10936), +[#10944](https://github.com/manaflow-ai/cmux/pull/10944), and +[#10950](https://github.com/manaflow-ai/cmux/pull/10950), [#10951](https://github.com/manaflow-ai/cmux/pull/10951), [#10954](https://github.com/manaflow-ai/cmux/pull/10954), [#10958](https://github.com/manaflow-ai/cmux/pull/10958), and [#10962](https://github.com/manaflow-ai/cmux/pull/10962). Their exact source +heads, authors, merge times, merge SHAs, and rollback commands are recorded in +[`TECH-DEBT-CHANGELOG.md`](TECH-DEBT-CHANGELOG.md). + +The retained session receipt supports at least 258 named substantive turns. +This is a verifiable lower bound, not a total session count, and no +10,000-session claim is made. + +| PR | Author | Source head | Merged at (UTC) | Merge SHA | Rollback | +| --- | --- | --- | --- | --- | --- | +| [#10944](https://github.com/manaflow-ai/cmux/pull/10944) | Lawrence Chen | `976b9d427b7e91b900fc8545aea6ea6e878b99c0` | 2026-08-27 09:13:59 | `99bdc375e98eb9abddd3f54289bc16ef876e8095` | `git revert 99bdc375e98eb9abddd3f54289bc16ef876e8095` | +| [#10950](https://github.com/manaflow-ai/cmux/pull/10950) | Lawrence Chen | `e6dd260ffb346b568aa3f6dabb8a68c7f72337f5` | 2026-08-27 09:31:39 | `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | `git revert 5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | +| [#10936](https://github.com/manaflow-ai/cmux/pull/10936) | Lawrence Chen | `0f6bc912500c630921a6a74d86c09d5817e56278` | 2026-08-27 09:58:58 | `d65d6e6ccacf1d7300316451ce2830f05f889e14` | `git revert d65d6e6ccacf1d7300316451ce2830f05f889e14` | + +## Historical snapshot retained: main `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` + +The following intent delta and status labels preserve the prior snapshot +captured at 2026-08-27T09:54:48Z. They are historical evidence, not a claim +that the same rows were rescanned. + +Historical audit snapshot: 2026-08-27T09:54:48Z. The source baseline was +`origin/main` at [`5c2ee1244e2d796c9e4be5307788b320ac2ee4ff`](https://github.com/manaflow-ai/cmux/commit/5c2ee1244e2d796c9e4be5307788b320ac2ee4ff), +committed 2026-08-27T02:31:38-07:00 with subject +`fix(tui): zeroize oversized remote frames (#10950)`. The previous +`99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshot, captured at +2026-08-27T09:25:01Z, is retained below as historical evidence. No new session +scan was run for this metadata refresh, so the existing scan receipt and honest +lower-bound ledger remain unchanged. + +The current main tail includes [#10944](https://github.com/manaflow-ai/cmux/pull/10944) +and [#10950](https://github.com/manaflow-ai/cmux/pull/10950). Their exact source +heads, authors, merge times, merge SHAs, and rollback commands are recorded in +[`TECH-DEBT-CHANGELOG.md`](TECH-DEBT-CHANGELOG.md). + +| PR | Author | Source head | Merged at (UTC) | Merge SHA | Rollback | +| --- | --- | --- | --- | --- | --- | +| [#10944](https://github.com/manaflow-ai/cmux/pull/10944) | Lawrence Chen | `976b9d427b7e91b900fc8545aea6ea6e878b99c0` | 2026-08-27 09:13:59 | `99bdc375e98eb9abddd3f54289bc16ef876e8095` | `git revert 99bdc375e98eb9abddd3f54289bc16ef876e8095` | +| [#10950](https://github.com/manaflow-ai/cmux/pull/10950) | Lawrence Chen | `e6dd260ffb346b568aa3f6dabb8a68c7f72337f5` | 2026-08-27 09:31:39 | `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | `git revert 5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | + +## Historical snapshot retained: main `99bdc375e98eb9abddd3f54289bc16ef876e8095` + +The following intent delta and status labels preserve the prior snapshot. They +are historical evidence, not a claim that the same rows were rescanned. + +Historical audit snapshot: 2026-08-27T09:25:01Z. The source baseline was +`origin/main` at [`99bdc375e98eb9abddd3f54289bc16ef876e8095`](https://github.com/manaflow-ai/cmux/commit/99bdc375e98eb9abddd3f54289bc16ef876e8095). +This document records explicit user requests found in local session history. A +merged code change does not close a row without behavior evidence. The prior +aggregate tip and all older status labels remain historical below. For code +changes, open PR dispositions, and rollback commands, see +[`TECH-DEBT-BOARD.md`](TECH-DEBT-BOARD.md) and +[`PR-INTENT-BOARD.md`](PR-INTENT-BOARD.md). + +The historical main tail included merged PRs [#10941](https://github.com/manaflow-ai/cmux/pull/10941), +[#10940](https://github.com/manaflow-ai/cmux/pull/10940), +[#10938](https://github.com/manaflow-ai/cmux/pull/10938), +[#10935](https://github.com/manaflow-ai/cmux/pull/10935), +[#10932](https://github.com/manaflow-ai/cmux/pull/10932), +[#10937](https://github.com/manaflow-ai/cmux/pull/10937), +[#10939](https://github.com/manaflow-ai/cmux/pull/10939), +[#10934](https://github.com/manaflow-ai/cmux/pull/10934), and +[#10949](https://github.com/manaflow-ai/cmux/pull/10949). The subsequent +[#10944](https://github.com/manaflow-ai/cmux/pull/10944) merge also reached the +baseline. Their merge SHAs and +individual revert commands are recorded in the changelog. None of these merges +proves full restore, cloud lifecycle, direct-I/O ownership, or end-to-end +transport acceptance. + +## Historical 2026-08-27 intent-audit delta at main `99bdc375e98eb9abddd3f54289bc16ef876e8095` + +The tail scan covered 174 parsed Claude records across 42 session IDs from +`~/.claude/history.jsonl:90614-end`; 26 records across 12 IDs matched the +TUI/relay/PTY/journal/surface terms. It covered 47 parsed Codex records across +17 session IDs from `~/.codex/history.jsonl:18787-end`; two records across two +IDs matched the narrow TUI terms. These are scan receipts, not a count of +substantive requests. Credentials, secret values, emails, pasted payloads, +encrypted inter-agent content, and unrelated records were excluded. + +New explicit intent clusters remain open: + +- Account-scoped Iroh discovery must authenticate and pair at the relay before + dialing. The requested policy rejects endpoint-ID probing and hidden fallback, + and keeps the chosen Tailscale TCP or Iroh transport explicit. Evidence: + `~/.claude/history.jsonl:90614-90626,90736-90745,90751,90756-90758,90772-90774,90779`. +- A compact machine rail should own a per-machine catalog of terminals, VNC + screens, and remote workspaces. Agents need authoritative open/closed state, + live mirror, and close semantics. Evidence: + `~/.claude/history.jsonl:90630-90631,90664-90673,90734-90735,90763,90777`. +- Ghostty parity work must keep direct manual I/O and tunnel ownership in + cmux-tui, with parser/rendering behavior compared against Ghostty and no + unrequested startup privacy prompts. Evidence: + `~/.claude/history.jsonl:90634,90639-90641,90657,90761`. +- Restore and performance work must classify failed restore, bound CPU and + latency, and prevent a frozen leader or client. Evidence: + `~/.claude/history.jsonl:90660-90670,90697-90699`. +- Every authorized thread should inspect or use every permitted sandbox under + respectful ownership; strict conversation binding is not the requested + policy. Evidence: `~/.claude/history.jsonl:90780-90781`. + +| ID | New explicit ask and evidence | Status at historical `origin/main` `99bdc375e9` | Acceptance test | +| --- | --- | --- | --- | +| UI-26 | Account-scoped discovery and relay-side pairing before Iroh dialing; no endpoint probing or implicit transport fallback. Evidence: `~/.claude/history.jsonl:90614-90626,90736-90745`. | Open. | Pair two authorized accounts, reject unauthenticated discovery and endpoint probing, and record the selected transport and bounded reconnect result. | +| UI-27 | Per-machine catalog with terminals, VNC screens, and remote workspaces as resources or pointers; agent-visible open/closed state. Evidence: `~/.claude/history.jsonl:90630-90631,90664-90673,90734-90735`. | Open. | Add two machines, open and close resources from separate clients, and prove one revisioned catalog, live mirror, and no stale resource after reconnect. | +| UI-28 | Cloud resource topology needs New terminal, workspace, and display controls plus explicit close semantics across many remote screens. Evidence: `~/.claude/history.jsonl:90763,90777` and `~/.codex/history.jsonl:18795-18812`. | Open. | Create multiple remote workspaces and screens, close one, reopen the app, and verify stable IDs, ownership, and bounded list/attach latency. | +| UI-29 | Keep direct Ghostty-compatible I/O, tunnel, parser, and rendering ownership in cmux-tui. Evidence: `~/.claude/history.jsonl:90634,90639-90641,90657,90761`. | Open. | Compare raw I/O, ANSI/OSC rendering, cursor behavior, and reconnect against Ghostty without a frontend parser or background shim. | +| UI-30 | Sandbox access should follow authenticated capability and respectful ownership, not strict conversation binding. Evidence: `~/.claude/history.jsonl:90780-90781`. | Open. | Enumerate an allowlisted sandbox capability, attach from two authorized threads, reject arbitrary targets, and prove independent PTY/session ownership. | +| UI-31 | Restore failure, CPU, and latency must be visible and bounded without freezing a leader or client. Evidence: `~/.claude/history.jsonl:90660-90670,90697-90699`. | Open. | Interrupt restore and sustained output, report one actionable outcome, and assert bounded CPU, latency, and cancellation with no frozen client. | -## 2026-08-25 intent-audit delta +## Historical 2026-08-25 intent-audit delta The session audit found no new independent product row, but it added concrete acceptance evidence for existing rows: @@ -53,7 +155,7 @@ of this branch, so its create-or-attach behavior is not documented as current. ## Deduplicated requests -| ID | Explicit ask and evidence | Status at audited tip `31fc5df2b4` | Acceptance test | +| ID | Explicit ask and evidence | Status at historical tip `31fc5df2b4` | Acceptance test | | --- | --- | --- | --- | | UI-01 | Make every cmux terminal use a separate cmux-tui owner, keep the CLI path coherent, preserve terminals across Swift restart, and define the Swift layout projection. Evidence: `~/.claude/history.jsonl:89411,89422-89442`, 2026-08-19T03:49:41Z to 04:29:21Z UTC; follow-up `~/.claude/history.jsonl:89568`, 2026-08-20T02:57:08Z UTC. | Partial. The aggregate has relay/TUI integration, but the technical-debt board says manual-IO replacement, full restore, and layout ownership remain open. | Start a terminal, quit and reopen the Swift shell, and prove the same PTY, scrollback, cwd, and session ID remain. Exercise the CLI and a right-sidebar projection without creating a second owner. | | UI-02 | Use journal-first recovery for both a normal cmux restart and a host reboot, with explicit recovery intent and outcome. Evidence: `~/.claude/history.jsonl:89427,89568`, 2026-08-19T04:04:18Z and 2026-08-20T02:57:08Z UTC; `~/.codex/history.jsonl:17612-17614`, 2026-08-07T07:58:12Z to 08:00:03Z UTC. | Open. The aggregate explicitly says reboot checkpoints, full agent restore, and policy-controlled resume are not implemented. | Run clean mux restart with a live host, then host-crash/reboot simulation. The first preserves the live PTY; the second classifies the session interrupted and records one journaled recovery intent and outcome. No secrets or live capabilities enter the journal. | diff --git a/cmux-tui/docs/USER-REQUEST-BOARD.md b/cmux-tui/docs/USER-REQUEST-BOARD.md index b3afd3e39875..dd1bb739dd33 100644 --- a/cmux-tui/docs/USER-REQUEST-BOARD.md +++ b/cmux-tui/docs/USER-REQUEST-BOARD.md @@ -1,8 +1,80 @@ # cmux-tui user request board -Snapshot: 2026-08-25. Evidence comes from local Codex and Claude session -records. A request stays open until its user-visible behavior has a focused -test or a recorded dogfood result. +Current snapshot: 2026-08-27T12:20:00Z, pinned to `origin/main` +[`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0), +committed 2026-08-27T02:58:58-07:00 with subject +`Fix workspace RPC unknown response hangs (#10936)`. The prior +`5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` and earlier +`99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshots are retained below. +Metadata-only scan: 587 Codex session files dated after the prior snapshot and +2,505 Codex/Claude files mentioning TUI. No transcript values or secrets were +copied. Open dependent intents remain [#10736](https://github.com/manaflow-ai/cmux/pull/10736), [#10742](https://github.com/manaflow-ai/cmux/pull/10742), and [#10812](https://github.com/manaflow-ai/cmux/pull/10812). + +The retained session receipt supports at least 258 named substantive turns. +This is a verifiable lower bound, not a total session count, and no +10,000-session claim is made. + +Merged context for the current main tail is recorded here so request status is +not confused with code integration. A merge does not close a request without +behavior evidence. + +| PR | Author | Source head | Merged at (UTC) | Merge SHA | Rollback | +| --- | --- | --- | --- | --- | --- | +| [#10944](https://github.com/manaflow-ai/cmux/pull/10944) | Lawrence Chen | `976b9d427b7e91b900fc8545aea6ea6e878b99c0` | 2026-08-27 09:13:59 | `99bdc375e98eb9abddd3f54289bc16ef876e8095` | `git revert 99bdc375e98eb9abddd3f54289bc16ef876e8095` | +| [#10950](https://github.com/manaflow-ai/cmux/pull/10950) | Lawrence Chen | `e6dd260ffb346b568aa3f6dabb8a68c7f72337f5` | 2026-08-27 09:31:39 | `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | `git revert 5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | +| [#10936](https://github.com/manaflow-ai/cmux/pull/10936) | Lawrence Chen | `0f6bc912500c630921a6a74d86c09d5817e56278` | 2026-08-27 09:58:58 | `d65d6e6ccacf1d7300316451ce2830f05f889e14` | `git revert d65d6e6ccacf1d7300316451ce2830f05f889e14` | + +## Historical snapshot retained: main `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` + +The following request rows and scan receipt preserve the prior snapshot +captured at 2026-08-27T09:54:48Z. They are historical evidence, not a fresh +current-session inventory. + +Historical snapshot: 2026-08-27T09:54:48Z, pinned to `origin/main` +[`5c2ee1244e2d796c9e4be5307788b320ac2ee4ff`](https://github.com/manaflow-ai/cmux/commit/5c2ee1244e2d796c9e4be5307788b320ac2ee4ff), +committed 2026-08-27T02:31:38-07:00 with subject +`fix(tui): zeroize oversized remote frames (#10950)`. The prior +`99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshot, captured at +2026-08-27T09:25:01Z, is retained below. No new session scan was run, so the +existing evidence and lower-bound ledger remain unchanged. + +Merged context for the current main tail is recorded here so request status is +not confused with code integration. A merge does not close a request without +behavior evidence. + +| PR | Author | Source head | Merged at (UTC) | Merge SHA | Rollback | +| --- | --- | --- | --- | --- | --- | +| [#10944](https://github.com/manaflow-ai/cmux/pull/10944) | Lawrence Chen | `976b9d427b7e91b900fc8545aea6ea6e878b99c0` | 2026-08-27 09:13:59 | `99bdc375e98eb9abddd3f54289bc16ef876e8095` | `git revert 99bdc375e98eb9abddd3f54289bc16ef876e8095` | +| [#10950](https://github.com/manaflow-ai/cmux/pull/10950) | Lawrence Chen | `e6dd260ffb346b568aa3f6dabb8a68c7f72337f5` | 2026-08-27 09:31:39 | `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | `git revert 5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | + +## Historical snapshot retained: main `99bdc375e98eb9abddd3f54289bc16ef876e8095` + +The following request rows and scan receipt preserve the prior snapshot. They +are historical evidence, not a fresh current-session inventory. + +Historical snapshot: 2026-08-27T09:25:01Z, pinned to `origin/main` +[`99bdc375e98eb9abddd3f54289bc16ef876e8095`](https://github.com/manaflow-ai/cmux/commit/99bdc375e98eb9abddd3f54289bc16ef876e8095). +Evidence comes from local Codex and Claude session records. A request stays +open until its user-visible behavior has a focused test or a recorded dogfood +result. The previous rows are preserved; this section adds only the current +audit delta. + +## Historical 2026-08-27 audit additions at main `99bdc375e98eb9abddd3f54289bc16ef876e8095` + +The scan receipt is 174 parsed Claude records and 42 session IDs from +`~/.claude/history.jsonl:90614-end`, plus 47 parsed Codex records and 17 IDs +from `~/.codex/history.jsonl:18787-end`. Only 26 Claude records and two Codex +records matched the selected TUI terms. Credentials, secret values, emails, +pasted payloads, encrypted inter-agent content, and unrelated records were not +copied into this board. + +| Request | Evidence | Acceptance | State | +| --- | --- | --- | --- | +| Authenticate account-scoped discovery before an Iroh dial and keep transport choice explicit. | `~/.claude/history.jsonl:90614-90626,90736-90745,90751,90756-90758,90772-90774,90779` | Pair authorized accounts, reject endpoint probing and unauthenticated discovery, and prove bounded reconnect on the selected transport. | Open, security design | +| Model terminals, VNC screens, and workspaces as per-machine resources with authoritative open/closed state. | `~/.claude/history.jsonl:90630-90631,90664-90673,90734-90735,90763,90777` | Open, close, and reconnect from two clients while preserving one revisioned catalog and stable resource IDs. | Open, product and protocol design | +| Keep direct Ghostty-compatible I/O, parser, tunnel, and rendering ownership in cmux-tui. | `~/.claude/history.jsonl:90634,90639-90641,90657,90761` | Compare raw I/O and ANSI/OSC/cursor rendering against Ghostty without a frontend parser or background shim. | Open, architecture and behavior proof | +| Make sandbox access capability-based and shared by authorized threads without strict conversation binding. | `~/.claude/history.jsonl:90780-90781` | Enumerate an allowlist, reject arbitrary targets, and prove separate PTY/session ownership for two authorized threads. | Open, security design | +| Make restore failure, CPU, and latency visible without freezing a leader or client. | `~/.claude/history.jsonl:90660-90670,90697-90699` | Interrupt restore and sustained output, report one actionable outcome, and assert bounded CPU, latency, and cancellation. | Open, behavior proof | | Request | Evidence | Acceptance | State | | --- | --- | --- | --- | From a7521b6e551a9dcea0bc415f34a62f8e46bb4dde Mon Sep 17 00:00:00 2001 From: Lawrence Chen <54008264+lawrencecchen@users.noreply.github.com> Date: Thu, 27 Aug 2026 05:18:17 -0700 Subject: [PATCH 2/7] docs(tui): correct board snapshot metadata --- cmux-tui/docs/PR-INTENT-BOARD.md | 1 - cmux-tui/docs/TECH-DEBT-BOARD.md | 4 ++-- cmux-tui/docs/TECH-DEBT-CHANGELOG.md | 4 ++-- cmux-tui/docs/USER-INTENT-BOARD.md | 4 ++-- cmux-tui/docs/USER-REQUEST-BOARD.md | 4 ++-- 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/cmux-tui/docs/PR-INTENT-BOARD.md b/cmux-tui/docs/PR-INTENT-BOARD.md index 20faa0f8927a..d4733e57511c 100644 --- a/cmux-tui/docs/PR-INTENT-BOARD.md +++ b/cmux-tui/docs/PR-INTENT-BOARD.md @@ -19,7 +19,6 @@ The current main tail includes [#10936](https://github.com/manaflow-ai/cmux/pull [#10951](https://github.com/manaflow-ai/cmux/pull/10951). The latest merge shares startup option scanning and completes the redraw, frame-area, and diagnostics tail. Source heads, authors, merge times, and merge commits are recorded below. -Source heads, authors, merge times, and merge commits are recorded below. Individual rollback commands are in [`TECH-DEBT-CHANGELOG.md`](TECH-DEBT-CHANGELOG.md). diff --git a/cmux-tui/docs/TECH-DEBT-BOARD.md b/cmux-tui/docs/TECH-DEBT-BOARD.md index 98acfe04958c..9978939bb827 100644 --- a/cmux-tui/docs/TECH-DEBT-BOARD.md +++ b/cmux-tui/docs/TECH-DEBT-BOARD.md @@ -2,8 +2,8 @@ Current snapshot: 2026-08-27T12:20:00Z. The exact source baseline is `origin/main` at [`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0), -committed 2026-08-27T02:58:58-07:00 with subject -`Fix workspace RPC unknown response hangs (#10936)`. This is a documentation- +committed 2026-08-27T05:04:41-07:00 with subject +`refactor(tui): share startup option scanning (#10951)`. This is a documentation- only update, with no local Rust, Zig, or runtime build/test. The prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` and `99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshots are retained below as historical layers. diff --git a/cmux-tui/docs/TECH-DEBT-CHANGELOG.md b/cmux-tui/docs/TECH-DEBT-CHANGELOG.md index 790a9a3cee24..4e062974bf2c 100644 --- a/cmux-tui/docs/TECH-DEBT-CHANGELOG.md +++ b/cmux-tui/docs/TECH-DEBT-CHANGELOG.md @@ -2,8 +2,8 @@ Current snapshot: 2026-08-27T12:20:00Z. The audited source is pinned to `origin/main` at [`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0), -committed 2026-08-27T02:58:58-07:00 with subject -`Fix workspace RPC unknown response hangs (#10936)`. This documentation-only +committed 2026-08-27T05:04:41-07:00 with subject +`refactor(tui): share startup option scanning (#10951)`. This documentation-only refresh keeps the prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` and `99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshots below as historical records. The session receipt and lower-bound ledger are retained from the prior diff --git a/cmux-tui/docs/USER-INTENT-BOARD.md b/cmux-tui/docs/USER-INTENT-BOARD.md index e57a11869ac1..bb0909f3cdb3 100644 --- a/cmux-tui/docs/USER-INTENT-BOARD.md +++ b/cmux-tui/docs/USER-INTENT-BOARD.md @@ -2,8 +2,8 @@ Current audit snapshot: 2026-08-27T12:20:00Z. The source baseline is `origin/main` at [`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0), -committed 2026-08-27T02:58:58-07:00 with subject -`Fix workspace RPC unknown response hangs (#10936)`. The prior +committed 2026-08-27T05:04:41-07:00 with subject +`refactor(tui): share startup option scanning (#10951)`. The prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` and earlier `99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshots are retained below as historical evidence. No new session scan was run, so the existing scan receipt diff --git a/cmux-tui/docs/USER-REQUEST-BOARD.md b/cmux-tui/docs/USER-REQUEST-BOARD.md index dd1bb739dd33..0632c4aa0203 100644 --- a/cmux-tui/docs/USER-REQUEST-BOARD.md +++ b/cmux-tui/docs/USER-REQUEST-BOARD.md @@ -2,8 +2,8 @@ Current snapshot: 2026-08-27T12:20:00Z, pinned to `origin/main` [`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0), -committed 2026-08-27T02:58:58-07:00 with subject -`Fix workspace RPC unknown response hangs (#10936)`. The prior +committed 2026-08-27T05:04:41-07:00 with subject +`refactor(tui): share startup option scanning (#10951)`. The prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` and earlier `99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshots are retained below. Metadata-only scan: 587 Codex session files dated after the prior snapshot and From c8bca4bbb607404ea2a38deeef21a4e5a715b8d1 Mon Sep 17 00:00:00 2001 From: Lawrence Chen <54008264+lawrencecchen@users.noreply.github.com> Date: Thu, 27 Aug 2026 05:31:51 -0700 Subject: [PATCH 3/7] docs(tui): advance boards through 10970 --- cmux-tui/docs/PR-INTENT-BOARD.md | 14 +++++++++----- cmux-tui/docs/TECH-DEBT-BOARD.md | 6 +++--- cmux-tui/docs/TECH-DEBT-CHANGELOG.md | 7 ++++--- cmux-tui/docs/USER-INTENT-BOARD.md | 6 +++--- cmux-tui/docs/USER-REQUEST-BOARD.md | 8 ++++---- 5 files changed, 23 insertions(+), 18 deletions(-) diff --git a/cmux-tui/docs/PR-INTENT-BOARD.md b/cmux-tui/docs/PR-INTENT-BOARD.md index d4733e57511c..435d5c4ab2aa 100644 --- a/cmux-tui/docs/PR-INTENT-BOARD.md +++ b/cmux-tui/docs/PR-INTENT-BOARD.md @@ -1,9 +1,9 @@ # cmux TUI PR intent and merge board Current snapshot: 2026-08-27T12:20:00Z. This board is pinned to -`origin/main` at [`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0), -committed 2026-08-27T02:58:58-07:00 with subject -`Fix workspace RPC unknown response hangs (#10936)`. The working branch +`origin/main` at [`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50), +committed 2026-08-27T05:25:26-07:00 with subject +`refactor(tui): share draw and paint render path (#10970)`. The working branch contains documentation only. The prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` snapshot, captured at 2026-08-27T09:54:48Z, and the earlier `99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshot are retained below as @@ -17,8 +17,9 @@ The current main tail includes [#10936](https://github.com/manaflow-ai/cmux/pull [#10958](https://github.com/manaflow-ai/cmux/pull/10958), [#10962](https://github.com/manaflow-ai/cmux/pull/10962), and [#10951](https://github.com/manaflow-ai/cmux/pull/10951). The latest merge shares -startup option scanning and completes the redraw, frame-area, and diagnostics -tail. Source heads, authors, merge times, and merge commits are recorded below. +startup option scanning and completes the redraw, frame-area, diagnostics, and +draw/paint render-path tail. Source heads, authors, merge times, and merge +commits are recorded below. Individual rollback commands are in [`TECH-DEBT-CHANGELOG.md`](TECH-DEBT-CHANGELOG.md). @@ -40,6 +41,7 @@ Individual rollback commands are in | [#10958](https://github.com/manaflow-ai/cmux/pull/10958) | Lawrence Chen | `c6de8f16b6390038225f87474f603b0ea157506e` | 2026-08-27 10:22:03 | `9cf920bb6b7a87bae3af721a0f98c989c45b9c4b` | | [#10962](https://github.com/manaflow-ai/cmux/pull/10962) | Lawrence Chen | `ff719b6dc4e9f05358d0c77b7f49a9db021f72e7` | 2026-08-27 10:41:51 | `ef5e7434927d89996e2cd29b429823b8a716a08e` | | [#10951](https://github.com/manaflow-ai/cmux/pull/10951) | Lawrence Chen | `978655f95b56351c9d554d2bdd1be9ad6ec2c551` | 2026-08-27 12:04:42 | `de3902db48d2924c227b5acb26cbe1d89fe03cc0` | +| [#10970](https://github.com/manaflow-ai/cmux/pull/10970) | Lawrence Chen | `561ddccdc9da7d6389d90940f73e9ea30205fa26` | 2026-08-27 12:25:26 | `aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | The bounded open-PR inventory retained below was captured before the d65 merge. It retains exact heads, check rollups, GitHub state, and classifications without @@ -52,6 +54,8 @@ This is a verifiable lower bound, not a total session count, and no Dependent open intents require separate review: [#10736](https://github.com/manaflow-ai/cmux/pull/10736) (`2fed9d4c6d0d548ee20751afedb2d53b4598b09c`, sidebar preview), [#10742](https://github.com/manaflow-ai/cmux/pull/10742) (`befdff972f563f851ef27e38bbbb115269b4769a`, manual I/O), and [#10812](https://github.com/manaflow-ai/cmux/pull/10812) (`a44314f6e9eaf42925dc1d6c9dfb0a20b021b4a1`, remote daemon). Their open state is not acceptance evidence. +Cloud resource projection [#10812](https://github.com/manaflow-ai/cmux/pull/10812) is superseded by merged [#10887](https://github.com/manaflow-ai/cmux/pull/10887). Packaging duplicate [#10886](https://github.com/manaflow-ai/cmux/pull/10886) remains open and is superseded pending [#10891](https://github.com/manaflow-ai/cmux/pull/10891); re-query both before closing either. + ## Historical snapshot retained: main `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` The following section preserves the prior current layer captured at diff --git a/cmux-tui/docs/TECH-DEBT-BOARD.md b/cmux-tui/docs/TECH-DEBT-BOARD.md index 9978939bb827..3847f65cfdcc 100644 --- a/cmux-tui/docs/TECH-DEBT-BOARD.md +++ b/cmux-tui/docs/TECH-DEBT-BOARD.md @@ -1,9 +1,9 @@ # cmux-tui technical-debt board Current snapshot: 2026-08-27T12:20:00Z. The exact source baseline is -`origin/main` at [`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0), -committed 2026-08-27T05:04:41-07:00 with subject -`refactor(tui): share startup option scanning (#10951)`. This is a documentation- +`origin/main` at [`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50), +committed 2026-08-27T05:25:26-07:00 with subject +`refactor(tui): share draw and paint render path (#10970)`. This is a documentation- only update, with no local Rust, Zig, or runtime build/test. The prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` and `99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshots are retained below as historical layers. diff --git a/cmux-tui/docs/TECH-DEBT-CHANGELOG.md b/cmux-tui/docs/TECH-DEBT-CHANGELOG.md index 4e062974bf2c..a45b54b8c4e6 100644 --- a/cmux-tui/docs/TECH-DEBT-CHANGELOG.md +++ b/cmux-tui/docs/TECH-DEBT-CHANGELOG.md @@ -1,9 +1,9 @@ # cmux-tui aggregate change log Current snapshot: 2026-08-27T12:20:00Z. The audited source is pinned to -`origin/main` at [`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0), -committed 2026-08-27T05:04:41-07:00 with subject -`refactor(tui): share startup option scanning (#10951)`. This documentation-only +`origin/main` at [`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50), +committed 2026-08-27T05:25:26-07:00 with subject +`refactor(tui): share draw and paint render path (#10970)`. This documentation-only refresh keeps the prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` and `99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshots below as historical records. The session receipt and lower-bound ledger are retained from the prior @@ -37,6 +37,7 @@ claim is made. | [#10958](https://github.com/manaflow-ai/cmux/pull/10958) | Lawrence Chen | [`9cf920bb6b7a87bae3af721a0f98c989c45b9c4b`](https://github.com/manaflow-ai/cmux/commit/9cf920bb6b7a87bae3af721a0f98c989c45b9c4b) | Own TUI layout from the rendered frame area. | `git revert 9cf920bb6b7a87bae3af721a0f98c989c45b9c4b` | | [#10962](https://github.com/manaflow-ai/cmux/pull/10962) | Lawrence Chen | [`ef5e7434927d89996e2cd29b429823b8a716a08e`](https://github.com/manaflow-ai/cmux/commit/ef5e7434927d89996e2cd29b429823b8a716a08e) | Apply immediate redraws after visible input changes. | `git revert ef5e7434927d89996e2cd29b429823b8a716a08e` | | [#10951](https://github.com/manaflow-ai/cmux/pull/10951) | Lawrence Chen | [`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0) | Share startup option scanning across TUI entry points. | `git revert de3902db48d2924c227b5acb26cbe1d89fe03cc0` | +| [#10970](https://github.com/manaflow-ai/cmux/pull/10970) | Lawrence Chen | [`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50) | Share the draw and paint render path. | `git revert aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | The prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` snapshot was captured at 2026-08-27T09:54:48Z after [#10950](https://github.com/manaflow-ai/cmux/pull/10950). diff --git a/cmux-tui/docs/USER-INTENT-BOARD.md b/cmux-tui/docs/USER-INTENT-BOARD.md index bb0909f3cdb3..7da712725c09 100644 --- a/cmux-tui/docs/USER-INTENT-BOARD.md +++ b/cmux-tui/docs/USER-INTENT-BOARD.md @@ -1,9 +1,9 @@ # cmux-tui user-intent board Current audit snapshot: 2026-08-27T12:20:00Z. The source baseline is -`origin/main` at [`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0), -committed 2026-08-27T05:04:41-07:00 with subject -`refactor(tui): share startup option scanning (#10951)`. The prior +`origin/main` at [`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50), +committed 2026-08-27T05:25:26-07:00 with subject +`refactor(tui): share draw and paint render path (#10970)`. The prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` and earlier `99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshots are retained below as historical evidence. No new session scan was run, so the existing scan receipt diff --git a/cmux-tui/docs/USER-REQUEST-BOARD.md b/cmux-tui/docs/USER-REQUEST-BOARD.md index 0632c4aa0203..2269a8f0af15 100644 --- a/cmux-tui/docs/USER-REQUEST-BOARD.md +++ b/cmux-tui/docs/USER-REQUEST-BOARD.md @@ -1,14 +1,14 @@ # cmux-tui user request board Current snapshot: 2026-08-27T12:20:00Z, pinned to `origin/main` -[`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0), -committed 2026-08-27T05:04:41-07:00 with subject -`refactor(tui): share startup option scanning (#10951)`. The prior +[`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50), +committed 2026-08-27T05:25:26-07:00 with subject +`refactor(tui): share draw and paint render path (#10970)`. The prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` and earlier `99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshots are retained below. Metadata-only scan: 587 Codex session files dated after the prior snapshot and 2,505 Codex/Claude files mentioning TUI. No transcript values or secrets were -copied. Open dependent intents remain [#10736](https://github.com/manaflow-ai/cmux/pull/10736), [#10742](https://github.com/manaflow-ai/cmux/pull/10742), and [#10812](https://github.com/manaflow-ai/cmux/pull/10812). +copied. Open dependent intents remain [#10736](https://github.com/manaflow-ai/cmux/pull/10736) and [#10742](https://github.com/manaflow-ai/cmux/pull/10742). Cloud resource projection [#10812](https://github.com/manaflow-ai/cmux/pull/10812) is superseded by merged [#10887](https://github.com/manaflow-ai/cmux/pull/10887). Packaging duplicate [#10886](https://github.com/manaflow-ai/cmux/pull/10886) remains open and is superseded pending [#10891](https://github.com/manaflow-ai/cmux/pull/10891). The retained session receipt supports at least 258 named substantive turns. This is a verifiable lower bound, not a total session count, and no From e60a9016473a5977664c2654d0c4e5ec2bf27226 Mon Sep 17 00:00:00 2001 From: Lawrence Chen <54008264+lawrencecchen@users.noreply.github.com> Date: Thu, 27 Aug 2026 05:39:11 -0700 Subject: [PATCH 4/7] docs(tui): align live board snapshot and merge ledger --- cmux-tui/docs/PR-INTENT-BOARD.md | 2 +- cmux-tui/docs/TECH-DEBT-BOARD.md | 2 +- cmux-tui/docs/TECH-DEBT-CHANGELOG.md | 4 ++-- cmux-tui/docs/USER-INTENT-BOARD.md | 2 +- cmux-tui/docs/USER-REQUEST-BOARD.md | 7 ++++++- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/cmux-tui/docs/PR-INTENT-BOARD.md b/cmux-tui/docs/PR-INTENT-BOARD.md index 435d5c4ab2aa..3e04a7ae95b6 100644 --- a/cmux-tui/docs/PR-INTENT-BOARD.md +++ b/cmux-tui/docs/PR-INTENT-BOARD.md @@ -1,6 +1,6 @@ # cmux TUI PR intent and merge board -Current snapshot: 2026-08-27T12:20:00Z. This board is pinned to +Current snapshot: 2026-08-27T12:35:00Z. This board is pinned to `origin/main` at [`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50), committed 2026-08-27T05:25:26-07:00 with subject `refactor(tui): share draw and paint render path (#10970)`. The working branch diff --git a/cmux-tui/docs/TECH-DEBT-BOARD.md b/cmux-tui/docs/TECH-DEBT-BOARD.md index 3847f65cfdcc..ccead80f1706 100644 --- a/cmux-tui/docs/TECH-DEBT-BOARD.md +++ b/cmux-tui/docs/TECH-DEBT-BOARD.md @@ -1,6 +1,6 @@ # cmux-tui technical-debt board -Current snapshot: 2026-08-27T12:20:00Z. The exact source baseline is +Current snapshot: 2026-08-27T12:35:00Z. The exact source baseline is `origin/main` at [`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50), committed 2026-08-27T05:25:26-07:00 with subject `refactor(tui): share draw and paint render path (#10970)`. This is a documentation- diff --git a/cmux-tui/docs/TECH-DEBT-CHANGELOG.md b/cmux-tui/docs/TECH-DEBT-CHANGELOG.md index a45b54b8c4e6..1a0319ac6a4c 100644 --- a/cmux-tui/docs/TECH-DEBT-CHANGELOG.md +++ b/cmux-tui/docs/TECH-DEBT-CHANGELOG.md @@ -1,6 +1,6 @@ # cmux-tui aggregate change log -Current snapshot: 2026-08-27T12:20:00Z. The audited source is pinned to +Current snapshot: 2026-08-27T12:35:00Z. The audited source is pinned to `origin/main` at [`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50), committed 2026-08-27T05:25:26-07:00 with subject `refactor(tui): share draw and paint render path (#10970)`. This documentation-only @@ -9,7 +9,7 @@ refresh keeps the prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` and records. The session receipt and lower-bound ledger are retained from the prior audit; no new session scan was performed. -## Current main tail (2026-08-27, main `de3902db48d2924c227b5acb26cbe1d89fe03cc0`) +## Current main tail (2026-08-27, main `aa8ca45e0b3a140678c4a6ae588e201cb421ac50`) Each row includes the merged PR, author, merge SHA, change, and exact rollback command. The commits are single-parent squash merges, so no `-m` option is diff --git a/cmux-tui/docs/USER-INTENT-BOARD.md b/cmux-tui/docs/USER-INTENT-BOARD.md index 7da712725c09..7e1806326fca 100644 --- a/cmux-tui/docs/USER-INTENT-BOARD.md +++ b/cmux-tui/docs/USER-INTENT-BOARD.md @@ -1,6 +1,6 @@ # cmux-tui user-intent board -Current audit snapshot: 2026-08-27T12:20:00Z. The source baseline is +Current audit snapshot: 2026-08-27T12:35:00Z. The source baseline is `origin/main` at [`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50), committed 2026-08-27T05:25:26-07:00 with subject `refactor(tui): share draw and paint render path (#10970)`. The prior diff --git a/cmux-tui/docs/USER-REQUEST-BOARD.md b/cmux-tui/docs/USER-REQUEST-BOARD.md index 2269a8f0af15..ea5560a5e456 100644 --- a/cmux-tui/docs/USER-REQUEST-BOARD.md +++ b/cmux-tui/docs/USER-REQUEST-BOARD.md @@ -1,6 +1,6 @@ # cmux-tui user request board -Current snapshot: 2026-08-27T12:20:00Z, pinned to `origin/main` +Current snapshot: 2026-08-27T12:35:00Z, pinned to `origin/main` [`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50), committed 2026-08-27T05:25:26-07:00 with subject `refactor(tui): share draw and paint render path (#10970)`. The prior @@ -23,6 +23,11 @@ behavior evidence. | [#10944](https://github.com/manaflow-ai/cmux/pull/10944) | Lawrence Chen | `976b9d427b7e91b900fc8545aea6ea6e878b99c0` | 2026-08-27 09:13:59 | `99bdc375e98eb9abddd3f54289bc16ef876e8095` | `git revert 99bdc375e98eb9abddd3f54289bc16ef876e8095` | | [#10950](https://github.com/manaflow-ai/cmux/pull/10950) | Lawrence Chen | `e6dd260ffb346b568aa3f6dabb8a68c7f72337f5` | 2026-08-27 09:31:39 | `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | `git revert 5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | | [#10936](https://github.com/manaflow-ai/cmux/pull/10936) | Lawrence Chen | `0f6bc912500c630921a6a74d86c09d5817e56278` | 2026-08-27 09:58:58 | `d65d6e6ccacf1d7300316451ce2830f05f889e14` | `git revert d65d6e6ccacf1d7300316451ce2830f05f889e14` | +| [#10951](https://github.com/manaflow-ai/cmux/pull/10951) | Lawrence Chen | `978655f95b56351c9d554d2bdd1be9ad6ec2c551` | 2026-08-27 12:04:42 | `de3902db48d2924c227b5acb26cbe1d89fe03cc0` | `git revert de3902db48d2924c227b5acb26cbe1d89fe03cc0` | +| [#10954](https://github.com/manaflow-ai/cmux/pull/10954) | Lawrence Chen | `cc1edc896dbf321da26e26e10fb71e5fbb22e57c` | 2026-08-27 11:23:26 | `a293eba98d6f4fafa4add823327c44deef8371ef` | `git revert a293eba98d6f4fafa4add823327c44deef8371ef` | +| [#10958](https://github.com/manaflow-ai/cmux/pull/10958) | Lawrence Chen | `c6de8f16b6390038225f87474f603b0ea157506e` | 2026-08-27 10:22:03 | `9cf920bb6b7a87bae3af721a0f98c989c45b9c4b` | `git revert 9cf920bb6b7a87bae3af721a0f98c989c45b9c4b` | +| [#10962](https://github.com/manaflow-ai/cmux/pull/10962) | Lawrence Chen | `ff719b6dc4e9f05358d0c77b7f49a9db021f72e7` | 2026-08-27 10:41:51 | `ef5e7434927d89996e2cd29b429823b8a716a08e` | `git revert ef5e7434927d89996e2cd29b429823b8a716a08e` | +| [#10970](https://github.com/manaflow-ai/cmux/pull/10970) | Lawrence Chen | `561ddccdc9da7d6389d90940f73e9ea30205fa26` | 2026-08-27 12:25:26 | `aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | `git revert aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | ## Historical snapshot retained: main `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` From 6aaa82516418661087d7908a8afd083d2038ae0d Mon Sep 17 00:00:00 2001 From: Lawrence Chen <54008264+lawrencecchen@users.noreply.github.com> Date: Thu, 27 Aug 2026 05:55:36 -0700 Subject: [PATCH 5/7] docs(tui): record escape passthrough merge --- cmux-tui/docs/PR-INTENT-BOARD.md | 14 ++++++++------ cmux-tui/docs/TECH-DEBT-BOARD.md | 19 ++++++++++++------- cmux-tui/docs/TECH-DEBT-CHANGELOG.md | 11 ++++++----- cmux-tui/docs/USER-INTENT-BOARD.md | 16 +++++++++++----- cmux-tui/docs/USER-REQUEST-BOARD.md | 9 +++++---- 5 files changed, 42 insertions(+), 27 deletions(-) diff --git a/cmux-tui/docs/PR-INTENT-BOARD.md b/cmux-tui/docs/PR-INTENT-BOARD.md index 3e04a7ae95b6..3e8993ae994f 100644 --- a/cmux-tui/docs/PR-INTENT-BOARD.md +++ b/cmux-tui/docs/PR-INTENT-BOARD.md @@ -1,9 +1,9 @@ # cmux TUI PR intent and merge board -Current snapshot: 2026-08-27T12:35:00Z. This board is pinned to -`origin/main` at [`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50), -committed 2026-08-27T05:25:26-07:00 with subject -`refactor(tui): share draw and paint render path (#10970)`. The working branch +Current snapshot: 2026-08-27T13:05:00Z. This board is pinned to +`origin/main` at [`87f31977237cbcbbf8b7f492718685d612fbb9b0`](https://github.com/manaflow-ai/cmux/commit/87f31977237cbcbbf8b7f492718685d612fbb9b0), +committed 2026-08-27T05:49:57-07:00 with subject +`Integrate Escape passthrough fix from PR #9810 (#10959)`. The working branch contains documentation only. The prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` snapshot, captured at 2026-08-27T09:54:48Z, and the earlier `99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshot are retained below as @@ -16,8 +16,9 @@ The current main tail includes [#10936](https://github.com/manaflow-ai/cmux/pull [#10954](https://github.com/manaflow-ai/cmux/pull/10954), [#10958](https://github.com/manaflow-ai/cmux/pull/10958), [#10962](https://github.com/manaflow-ai/cmux/pull/10962), and -[#10951](https://github.com/manaflow-ai/cmux/pull/10951). The latest merge shares -startup option scanning and completes the redraw, frame-area, diagnostics, and +[#10951](https://github.com/manaflow-ai/cmux/pull/10951), and +[#10959](https://github.com/manaflow-ai/cmux/pull/10959). The latest merge adds +Escape passthrough after the startup, redraw, frame-area, diagnostics, and draw/paint render-path tail. Source heads, authors, merge times, and merge commits are recorded below. Individual rollback commands are in @@ -42,6 +43,7 @@ Individual rollback commands are in | [#10962](https://github.com/manaflow-ai/cmux/pull/10962) | Lawrence Chen | `ff719b6dc4e9f05358d0c77b7f49a9db021f72e7` | 2026-08-27 10:41:51 | `ef5e7434927d89996e2cd29b429823b8a716a08e` | | [#10951](https://github.com/manaflow-ai/cmux/pull/10951) | Lawrence Chen | `978655f95b56351c9d554d2bdd1be9ad6ec2c551` | 2026-08-27 12:04:42 | `de3902db48d2924c227b5acb26cbe1d89fe03cc0` | | [#10970](https://github.com/manaflow-ai/cmux/pull/10970) | Lawrence Chen | `561ddccdc9da7d6389d90940f73e9ea30205fa26` | 2026-08-27 12:25:26 | `aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | +| [#10959](https://github.com/manaflow-ai/cmux/pull/10959) | Lawrence Chen | `8f74239c78a81352d69e8fe5512a688b0a9d7b7e` | 2026-08-27 12:49:58 | `87f31977237cbcbbf8b7f492718685d612fbb9b0` | The bounded open-PR inventory retained below was captured before the d65 merge. It retains exact heads, check rollups, GitHub state, and classifications without diff --git a/cmux-tui/docs/TECH-DEBT-BOARD.md b/cmux-tui/docs/TECH-DEBT-BOARD.md index ccead80f1706..6779963171b3 100644 --- a/cmux-tui/docs/TECH-DEBT-BOARD.md +++ b/cmux-tui/docs/TECH-DEBT-BOARD.md @@ -1,9 +1,9 @@ # cmux-tui technical-debt board -Current snapshot: 2026-08-27T12:35:00Z. The exact source baseline is -`origin/main` at [`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50), -committed 2026-08-27T05:25:26-07:00 with subject -`refactor(tui): share draw and paint render path (#10970)`. This is a documentation- +Current snapshot: 2026-08-27T13:05:00Z. The exact source baseline is +`origin/main` at [`87f31977237cbcbbf8b7f492718685d612fbb9b0`](https://github.com/manaflow-ai/cmux/commit/87f31977237cbcbbf8b7f492718685d612fbb9b0), +committed 2026-08-27T05:49:57-07:00 with subject +`Integrate Escape passthrough fix from PR #9810 (#10959)`. This is a documentation- only update, with no local Rust, Zig, or runtime build/test. The prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` and `99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshots are retained below as historical layers. @@ -15,8 +15,10 @@ The current tail includes [#10936](https://github.com/manaflow-ai/cmux/pull/1093 [#10950](https://github.com/manaflow-ai/cmux/pull/10950), [#10951](https://github.com/manaflow-ai/cmux/pull/10951), [#10954](https://github.com/manaflow-ai/cmux/pull/10954), -[#10958](https://github.com/manaflow-ai/cmux/pull/10958), and -[#10962](https://github.com/manaflow-ai/cmux/pull/10962), with the nine requested +[#10958](https://github.com/manaflow-ai/cmux/pull/10958), +[#10962](https://github.com/manaflow-ai/cmux/pull/10962), +[#10970](https://github.com/manaflow-ai/cmux/pull/10970), and +[#10959](https://github.com/manaflow-ai/cmux/pull/10959), with the nine requested PRs. All listed authors are Lawrence Chen. Each row gives the exact merge SHA and a rollback command. The [#10936](https://github.com/manaflow-ai/cmux/pull/10936) change fails unknown workspace RPC responses instead of allowing a request @@ -36,6 +38,8 @@ channel to hang. | [#10944](https://github.com/manaflow-ai/cmux/pull/10944) | Bound Git child cleanup with an explicit cancellation deadline and reap path. | `99bdc375e98eb9abddd3f54289bc16ef876e8095` | Descendant cleanup still needs hosted stress proof. `git revert 99bdc375e98eb9abddd3f54289bc16ef876e8095` | | [#10950](https://github.com/manaflow-ai/cmux/pull/10950) | Zeroize oversized remote session frames before returning the size-limit error. | `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | Cross-language and allocator-level zeroization proof remains required. `git revert 5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | | [#10936](https://github.com/manaflow-ai/cmux/pull/10936) | Fail unknown workspace RPC responses and retire canceled request IDs safely. | `d65d6e6ccacf1d7300316451ce2830f05f889e14` | Cross-client unknown-response, cancellation, and reconnect behavior still need hosted proof. `git revert d65d6e6ccacf1d7300316451ce2830f05f889e14` | +| [#10970](https://github.com/manaflow-ai/cmux/pull/10970) | Share the draw and paint render path. | `aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | Render-path behavior still needs hosted visual proof. `git revert aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | +| [#10959](https://github.com/manaflow-ai/cmux/pull/10959) | Integrate Escape passthrough from #9810. | `87f31977237cbcbbf8b7f492718685d612fbb9b0` | Cross-frontend Escape handling still needs behavior proof. `git revert 87f31977237cbcbbf8b7f492718685d612fbb9b0` | The session scan receipt and lower-bound ledger below remain retained audit evidence. No new session scan was performed for this metadata refresh. @@ -45,9 +49,10 @@ is made. ## Current delta since `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` -| Area | Current state at `d65d6e6ccacf1d7300316451ce2830f05f889e14` | Required proof or next action | +| Area | Current state at `87f31977237cbcbbf8b7f492718685d612fbb9b0` | Required proof or next action | | --- | --- | --- | | Workspace RPC response routing | Unknown responses fail the workspace RPC channel, and canceled request IDs are retired without exposing the local namespace. | Exercise unknown, late, canceled, and reconnect responses from multiple clients, then verify bounded failure and no request-ID leakage. | +| Escape input routing | Escape passthrough is integrated from #9810. | Exercise terminal, sidebar, and nested-frontend Escape behavior on the exact main snapshot. | ## Historical snapshot retained: main `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` diff --git a/cmux-tui/docs/TECH-DEBT-CHANGELOG.md b/cmux-tui/docs/TECH-DEBT-CHANGELOG.md index 1a0319ac6a4c..26eb9749234d 100644 --- a/cmux-tui/docs/TECH-DEBT-CHANGELOG.md +++ b/cmux-tui/docs/TECH-DEBT-CHANGELOG.md @@ -1,15 +1,15 @@ # cmux-tui aggregate change log -Current snapshot: 2026-08-27T12:35:00Z. The audited source is pinned to -`origin/main` at [`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50), -committed 2026-08-27T05:25:26-07:00 with subject -`refactor(tui): share draw and paint render path (#10970)`. This documentation-only +Current snapshot: 2026-08-27T13:05:00Z. The audited source is pinned to +`origin/main` at [`87f31977237cbcbbf8b7f492718685d612fbb9b0`](https://github.com/manaflow-ai/cmux/commit/87f31977237cbcbbf8b7f492718685d612fbb9b0), +committed 2026-08-27T05:49:57-07:00 with subject +`Integrate Escape passthrough fix from PR #9810 (#10959)`. This documentation-only refresh keeps the prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` and `99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshots below as historical records. The session receipt and lower-bound ledger are retained from the prior audit; no new session scan was performed. -## Current main tail (2026-08-27, main `aa8ca45e0b3a140678c4a6ae588e201cb421ac50`) +## Current main tail (2026-08-27, main `87f31977237cbcbbf8b7f492718685d612fbb9b0`) Each row includes the merged PR, author, merge SHA, change, and exact rollback command. The commits are single-parent squash merges, so no `-m` option is @@ -38,6 +38,7 @@ claim is made. | [#10962](https://github.com/manaflow-ai/cmux/pull/10962) | Lawrence Chen | [`ef5e7434927d89996e2cd29b429823b8a716a08e`](https://github.com/manaflow-ai/cmux/commit/ef5e7434927d89996e2cd29b429823b8a716a08e) | Apply immediate redraws after visible input changes. | `git revert ef5e7434927d89996e2cd29b429823b8a716a08e` | | [#10951](https://github.com/manaflow-ai/cmux/pull/10951) | Lawrence Chen | [`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0) | Share startup option scanning across TUI entry points. | `git revert de3902db48d2924c227b5acb26cbe1d89fe03cc0` | | [#10970](https://github.com/manaflow-ai/cmux/pull/10970) | Lawrence Chen | [`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50) | Share the draw and paint render path. | `git revert aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | +| [#10959](https://github.com/manaflow-ai/cmux/pull/10959) | Lawrence Chen | [`87f31977237cbcbbf8b7f492718685d612fbb9b0`](https://github.com/manaflow-ai/cmux/commit/87f31977237cbcbbf8b7f492718685d612fbb9b0) | Integrate Escape passthrough from #9810. | `git revert 87f31977237cbcbbf8b7f492718685d612fbb9b0` | The prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` snapshot was captured at 2026-08-27T09:54:48Z after [#10950](https://github.com/manaflow-ai/cmux/pull/10950). diff --git a/cmux-tui/docs/USER-INTENT-BOARD.md b/cmux-tui/docs/USER-INTENT-BOARD.md index 7e1806326fca..1b285fd7efc7 100644 --- a/cmux-tui/docs/USER-INTENT-BOARD.md +++ b/cmux-tui/docs/USER-INTENT-BOARD.md @@ -1,9 +1,9 @@ # cmux-tui user-intent board -Current audit snapshot: 2026-08-27T12:35:00Z. The source baseline is -`origin/main` at [`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50), -committed 2026-08-27T05:25:26-07:00 with subject -`refactor(tui): share draw and paint render path (#10970)`. The prior +Current audit snapshot: 2026-08-27T13:05:00Z. The source baseline is +`origin/main` at [`87f31977237cbcbbf8b7f492718685d612fbb9b0`](https://github.com/manaflow-ai/cmux/commit/87f31977237cbcbbf8b7f492718685d612fbb9b0), +committed 2026-08-27T05:49:57-07:00 with subject +`Integrate Escape passthrough fix from PR #9810 (#10959)`. The prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` and earlier `99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshots are retained below as historical evidence. No new session scan was run, so the existing scan receipt @@ -11,7 +11,7 @@ and honest lower-bound ledger remain unchanged. The current main tail includes [#10936](https://github.com/manaflow-ai/cmux/pull/10936), [#10944](https://github.com/manaflow-ai/cmux/pull/10944), and -[#10950](https://github.com/manaflow-ai/cmux/pull/10950), [#10951](https://github.com/manaflow-ai/cmux/pull/10951), [#10954](https://github.com/manaflow-ai/cmux/pull/10954), [#10958](https://github.com/manaflow-ai/cmux/pull/10958), and [#10962](https://github.com/manaflow-ai/cmux/pull/10962). Their exact source +[#10950](https://github.com/manaflow-ai/cmux/pull/10950), [#10951](https://github.com/manaflow-ai/cmux/pull/10951), [#10954](https://github.com/manaflow-ai/cmux/pull/10954), [#10958](https://github.com/manaflow-ai/cmux/pull/10958), [#10962](https://github.com/manaflow-ai/cmux/pull/10962), [#10970](https://github.com/manaflow-ai/cmux/pull/10970), and [#10959](https://github.com/manaflow-ai/cmux/pull/10959). Their exact source heads, authors, merge times, merge SHAs, and rollback commands are recorded in [`TECH-DEBT-CHANGELOG.md`](TECH-DEBT-CHANGELOG.md). @@ -24,6 +24,12 @@ This is a verifiable lower bound, not a total session count, and no | [#10944](https://github.com/manaflow-ai/cmux/pull/10944) | Lawrence Chen | `976b9d427b7e91b900fc8545aea6ea6e878b99c0` | 2026-08-27 09:13:59 | `99bdc375e98eb9abddd3f54289bc16ef876e8095` | `git revert 99bdc375e98eb9abddd3f54289bc16ef876e8095` | | [#10950](https://github.com/manaflow-ai/cmux/pull/10950) | Lawrence Chen | `e6dd260ffb346b568aa3f6dabb8a68c7f72337f5` | 2026-08-27 09:31:39 | `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | `git revert 5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | | [#10936](https://github.com/manaflow-ai/cmux/pull/10936) | Lawrence Chen | `0f6bc912500c630921a6a74d86c09d5817e56278` | 2026-08-27 09:58:58 | `d65d6e6ccacf1d7300316451ce2830f05f889e14` | `git revert d65d6e6ccacf1d7300316451ce2830f05f889e14` | +| [#10951](https://github.com/manaflow-ai/cmux/pull/10951) | Lawrence Chen | `978655f95b56351c9d554d2bdd1be9ad6ec2c551` | 2026-08-27 12:04:42 | `de3902db48d2924c227b5acb26cbe1d89fe03cc0` | `git revert de3902db48d2924c227b5acb26cbe1d89fe03cc0` | +| [#10954](https://github.com/manaflow-ai/cmux/pull/10954) | Lawrence Chen | `cc1edc896dbf321da26e26e10fb71e5fbb22e57c` | 2026-08-27 11:23:26 | `a293eba98d6f4fafa4add823327c44deef8371ef` | `git revert a293eba98d6f4fafa4add823327c44deef8371ef` | +| [#10958](https://github.com/manaflow-ai/cmux/pull/10958) | Lawrence Chen | `c6de8f16b6390038225f87474f603b0ea157506e` | 2026-08-27 10:22:03 | `9cf920bb6b7a87bae3af721a0f98c989c45b9c4b` | `git revert 9cf920bb6b7a87bae3af721a0f98c989c45b9c4b` | +| [#10962](https://github.com/manaflow-ai/cmux/pull/10962) | Lawrence Chen | `ff719b6dc4e9f05358d0c77b7f49a9db021f72e7` | 2026-08-27 10:41:51 | `ef5e7434927d89996e2cd29b429823b8a716a08e` | `git revert ef5e7434927d89996e2cd29b429823b8a716a08e` | +| [#10970](https://github.com/manaflow-ai/cmux/pull/10970) | Lawrence Chen | `561ddccdc9da7d6389d90940f73e9ea30205fa26` | 2026-08-27 12:25:26 | `aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | `git revert aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | +| [#10959](https://github.com/manaflow-ai/cmux/pull/10959) | Lawrence Chen | `8f74239c78a81352d69e8fe5512a688b0a9d7b7e` | 2026-08-27 12:49:58 | `87f31977237cbcbbf8b7f492718685d612fbb9b0` | `git revert 87f31977237cbcbbf8b7f492718685d612fbb9b0` | ## Historical snapshot retained: main `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` diff --git a/cmux-tui/docs/USER-REQUEST-BOARD.md b/cmux-tui/docs/USER-REQUEST-BOARD.md index ea5560a5e456..db6cd54a03f8 100644 --- a/cmux-tui/docs/USER-REQUEST-BOARD.md +++ b/cmux-tui/docs/USER-REQUEST-BOARD.md @@ -1,9 +1,9 @@ # cmux-tui user request board -Current snapshot: 2026-08-27T12:35:00Z, pinned to `origin/main` -[`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50), -committed 2026-08-27T05:25:26-07:00 with subject -`refactor(tui): share draw and paint render path (#10970)`. The prior +Current snapshot: 2026-08-27T13:05:00Z, pinned to `origin/main` +[`87f31977237cbcbbf8b7f492718685d612fbb9b0`](https://github.com/manaflow-ai/cmux/commit/87f31977237cbcbbf8b7f492718685d612fbb9b0), +committed 2026-08-27T05:49:57-07:00 with subject +`Integrate Escape passthrough fix from PR #9810 (#10959)`. The prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` and earlier `99bdc375e98eb9abddd3f54289bc16ef876e8095` snapshots are retained below. Metadata-only scan: 587 Codex session files dated after the prior snapshot and @@ -28,6 +28,7 @@ behavior evidence. | [#10958](https://github.com/manaflow-ai/cmux/pull/10958) | Lawrence Chen | `c6de8f16b6390038225f87474f603b0ea157506e` | 2026-08-27 10:22:03 | `9cf920bb6b7a87bae3af721a0f98c989c45b9c4b` | `git revert 9cf920bb6b7a87bae3af721a0f98c989c45b9c4b` | | [#10962](https://github.com/manaflow-ai/cmux/pull/10962) | Lawrence Chen | `ff719b6dc4e9f05358d0c77b7f49a9db021f72e7` | 2026-08-27 10:41:51 | `ef5e7434927d89996e2cd29b429823b8a716a08e` | `git revert ef5e7434927d89996e2cd29b429823b8a716a08e` | | [#10970](https://github.com/manaflow-ai/cmux/pull/10970) | Lawrence Chen | `561ddccdc9da7d6389d90940f73e9ea30205fa26` | 2026-08-27 12:25:26 | `aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | `git revert aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | +| [#10959](https://github.com/manaflow-ai/cmux/pull/10959) | Lawrence Chen | `8f74239c78a81352d69e8fe5512a688b0a9d7b7e` | 2026-08-27 12:49:58 | `87f31977237cbcbbf8b7f492718685d612fbb9b0` | `git revert 87f31977237cbcbbf8b7f492718685d612fbb9b0` | ## Historical snapshot retained: main `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` From 2948bf6ec116b773bab1f8b044a9afed4967f1c5 Mon Sep 17 00:00:00 2001 From: Lawrence Chen <54008264+lawrencecchen@users.noreply.github.com> Date: Thu, 27 Aug 2026 06:01:11 -0700 Subject: [PATCH 6/7] docs(tui): record merged Sentry flush change --- cmux-tui/docs/PR-INTENT-BOARD.md | 2 ++ cmux-tui/docs/TECH-DEBT-BOARD.md | 2 ++ cmux-tui/docs/TECH-DEBT-CHANGELOG.md | 1 + cmux-tui/docs/USER-INTENT-BOARD.md | 2 ++ cmux-tui/docs/USER-REQUEST-BOARD.md | 1 + 5 files changed, 8 insertions(+) diff --git a/cmux-tui/docs/PR-INTENT-BOARD.md b/cmux-tui/docs/PR-INTENT-BOARD.md index 3e8993ae994f..fab7df0e0e2b 100644 --- a/cmux-tui/docs/PR-INTENT-BOARD.md +++ b/cmux-tui/docs/PR-INTENT-BOARD.md @@ -17,6 +17,7 @@ The current main tail includes [#10936](https://github.com/manaflow-ai/cmux/pull [#10958](https://github.com/manaflow-ai/cmux/pull/10958), [#10962](https://github.com/manaflow-ai/cmux/pull/10962), and [#10951](https://github.com/manaflow-ai/cmux/pull/10951), and +[#10972](https://github.com/manaflow-ai/cmux/pull/10972), and [#10959](https://github.com/manaflow-ai/cmux/pull/10959). The latest merge adds Escape passthrough after the startup, redraw, frame-area, diagnostics, and draw/paint render-path tail. Source heads, authors, merge times, and merge @@ -43,6 +44,7 @@ Individual rollback commands are in | [#10962](https://github.com/manaflow-ai/cmux/pull/10962) | Lawrence Chen | `ff719b6dc4e9f05358d0c77b7f49a9db021f72e7` | 2026-08-27 10:41:51 | `ef5e7434927d89996e2cd29b429823b8a716a08e` | | [#10951](https://github.com/manaflow-ai/cmux/pull/10951) | Lawrence Chen | `978655f95b56351c9d554d2bdd1be9ad6ec2c551` | 2026-08-27 12:04:42 | `de3902db48d2924c227b5acb26cbe1d89fe03cc0` | | [#10970](https://github.com/manaflow-ai/cmux/pull/10970) | Lawrence Chen | `561ddccdc9da7d6389d90940f73e9ea30205fa26` | 2026-08-27 12:25:26 | `aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | +| [#10972](https://github.com/manaflow-ai/cmux/pull/10972) | Lawrence Chen | `d41cac100d2488c41cbabff7c236166186b9deb4` | 2026-08-27 12:22:32 | `2f95b8760005047ff470afe4a00fd33783e4cf93` | | [#10959](https://github.com/manaflow-ai/cmux/pull/10959) | Lawrence Chen | `8f74239c78a81352d69e8fe5512a688b0a9d7b7e` | 2026-08-27 12:49:58 | `87f31977237cbcbbf8b7f492718685d612fbb9b0` | The bounded open-PR inventory retained below was captured before the d65 merge. diff --git a/cmux-tui/docs/TECH-DEBT-BOARD.md b/cmux-tui/docs/TECH-DEBT-BOARD.md index 6779963171b3..c524b4cd832e 100644 --- a/cmux-tui/docs/TECH-DEBT-BOARD.md +++ b/cmux-tui/docs/TECH-DEBT-BOARD.md @@ -18,6 +18,7 @@ The current tail includes [#10936](https://github.com/manaflow-ai/cmux/pull/1093 [#10958](https://github.com/manaflow-ai/cmux/pull/10958), [#10962](https://github.com/manaflow-ai/cmux/pull/10962), [#10970](https://github.com/manaflow-ai/cmux/pull/10970), and +[#10972](https://github.com/manaflow-ai/cmux/pull/10972), and [#10959](https://github.com/manaflow-ai/cmux/pull/10959), with the nine requested PRs. All listed authors are Lawrence Chen. Each row gives the exact merge SHA and a rollback command. The [#10936](https://github.com/manaflow-ai/cmux/pull/10936) @@ -39,6 +40,7 @@ channel to hang. | [#10950](https://github.com/manaflow-ai/cmux/pull/10950) | Zeroize oversized remote session frames before returning the size-limit error. | `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | Cross-language and allocator-level zeroization proof remains required. `git revert 5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` | | [#10936](https://github.com/manaflow-ai/cmux/pull/10936) | Fail unknown workspace RPC responses and retire canceled request IDs safely. | `d65d6e6ccacf1d7300316451ce2830f05f889e14` | Cross-client unknown-response, cancellation, and reconnect behavior still need hosted proof. `git revert d65d6e6ccacf1d7300316451ce2830f05f889e14` | | [#10970](https://github.com/manaflow-ai/cmux/pull/10970) | Share the draw and paint render path. | `aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | Render-path behavior still needs hosted visual proof. `git revert aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | +| [#10972](https://github.com/manaflow-ai/cmux/pull/10972) | Defer and flush Sentry sends before serverless freeze. | `2f95b8760005047ff470afe4a00fd33783e4cf93` | Cloud delivery behavior still needs hosted evidence. `git revert 2f95b8760005047ff470afe4a00fd33783e4cf93` | | [#10959](https://github.com/manaflow-ai/cmux/pull/10959) | Integrate Escape passthrough from #9810. | `87f31977237cbcbbf8b7f492718685d612fbb9b0` | Cross-frontend Escape handling still needs behavior proof. `git revert 87f31977237cbcbbf8b7f492718685d612fbb9b0` | The session scan receipt and lower-bound ledger below remain retained audit diff --git a/cmux-tui/docs/TECH-DEBT-CHANGELOG.md b/cmux-tui/docs/TECH-DEBT-CHANGELOG.md index 26eb9749234d..cd67b3c4803b 100644 --- a/cmux-tui/docs/TECH-DEBT-CHANGELOG.md +++ b/cmux-tui/docs/TECH-DEBT-CHANGELOG.md @@ -38,6 +38,7 @@ claim is made. | [#10962](https://github.com/manaflow-ai/cmux/pull/10962) | Lawrence Chen | [`ef5e7434927d89996e2cd29b429823b8a716a08e`](https://github.com/manaflow-ai/cmux/commit/ef5e7434927d89996e2cd29b429823b8a716a08e) | Apply immediate redraws after visible input changes. | `git revert ef5e7434927d89996e2cd29b429823b8a716a08e` | | [#10951](https://github.com/manaflow-ai/cmux/pull/10951) | Lawrence Chen | [`de3902db48d2924c227b5acb26cbe1d89fe03cc0`](https://github.com/manaflow-ai/cmux/commit/de3902db48d2924c227b5acb26cbe1d89fe03cc0) | Share startup option scanning across TUI entry points. | `git revert de3902db48d2924c227b5acb26cbe1d89fe03cc0` | | [#10970](https://github.com/manaflow-ai/cmux/pull/10970) | Lawrence Chen | [`aa8ca45e0b3a140678c4a6ae588e201cb421ac50`](https://github.com/manaflow-ai/cmux/commit/aa8ca45e0b3a140678c4a6ae588e201cb421ac50) | Share the draw and paint render path. | `git revert aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | +| [#10972](https://github.com/manaflow-ai/cmux/pull/10972) | Lawrence Chen | [`2f95b8760005047ff470afe4a00fd33783e4cf93`](https://github.com/manaflow-ai/cmux/commit/2f95b8760005047ff470afe4a00fd33783e4cf93) | Defer and flush Sentry sends before serverless freeze. | `git revert 2f95b8760005047ff470afe4a00fd33783e4cf93` | | [#10959](https://github.com/manaflow-ai/cmux/pull/10959) | Lawrence Chen | [`87f31977237cbcbbf8b7f492718685d612fbb9b0`](https://github.com/manaflow-ai/cmux/commit/87f31977237cbcbbf8b7f492718685d612fbb9b0) | Integrate Escape passthrough from #9810. | `git revert 87f31977237cbcbbf8b7f492718685d612fbb9b0` | The prior `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` snapshot was captured at diff --git a/cmux-tui/docs/USER-INTENT-BOARD.md b/cmux-tui/docs/USER-INTENT-BOARD.md index 1b285fd7efc7..a21cbc090498 100644 --- a/cmux-tui/docs/USER-INTENT-BOARD.md +++ b/cmux-tui/docs/USER-INTENT-BOARD.md @@ -14,6 +14,7 @@ The current main tail includes [#10936](https://github.com/manaflow-ai/cmux/pull [#10950](https://github.com/manaflow-ai/cmux/pull/10950), [#10951](https://github.com/manaflow-ai/cmux/pull/10951), [#10954](https://github.com/manaflow-ai/cmux/pull/10954), [#10958](https://github.com/manaflow-ai/cmux/pull/10958), [#10962](https://github.com/manaflow-ai/cmux/pull/10962), [#10970](https://github.com/manaflow-ai/cmux/pull/10970), and [#10959](https://github.com/manaflow-ai/cmux/pull/10959). Their exact source heads, authors, merge times, merge SHAs, and rollback commands are recorded in [`TECH-DEBT-CHANGELOG.md`](TECH-DEBT-CHANGELOG.md). +The current ancestry also contains [#10972](https://github.com/manaflow-ai/cmux/pull/10972). The retained session receipt supports at least 258 named substantive turns. This is a verifiable lower bound, not a total session count, and no @@ -29,6 +30,7 @@ This is a verifiable lower bound, not a total session count, and no | [#10958](https://github.com/manaflow-ai/cmux/pull/10958) | Lawrence Chen | `c6de8f16b6390038225f87474f603b0ea157506e` | 2026-08-27 10:22:03 | `9cf920bb6b7a87bae3af721a0f98c989c45b9c4b` | `git revert 9cf920bb6b7a87bae3af721a0f98c989c45b9c4b` | | [#10962](https://github.com/manaflow-ai/cmux/pull/10962) | Lawrence Chen | `ff719b6dc4e9f05358d0c77b7f49a9db021f72e7` | 2026-08-27 10:41:51 | `ef5e7434927d89996e2cd29b429823b8a716a08e` | `git revert ef5e7434927d89996e2cd29b429823b8a716a08e` | | [#10970](https://github.com/manaflow-ai/cmux/pull/10970) | Lawrence Chen | `561ddccdc9da7d6389d90940f73e9ea30205fa26` | 2026-08-27 12:25:26 | `aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | `git revert aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | +| [#10972](https://github.com/manaflow-ai/cmux/pull/10972) | Lawrence Chen | `d41cac100d2488c41cbabff7c236166186b9deb4` | 2026-08-27 12:22:32 | `2f95b8760005047ff470afe4a00fd33783e4cf93` | `git revert 2f95b8760005047ff470afe4a00fd33783e4cf93` | | [#10959](https://github.com/manaflow-ai/cmux/pull/10959) | Lawrence Chen | `8f74239c78a81352d69e8fe5512a688b0a9d7b7e` | 2026-08-27 12:49:58 | `87f31977237cbcbbf8b7f492718685d612fbb9b0` | `git revert 87f31977237cbcbbf8b7f492718685d612fbb9b0` | ## Historical snapshot retained: main `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` diff --git a/cmux-tui/docs/USER-REQUEST-BOARD.md b/cmux-tui/docs/USER-REQUEST-BOARD.md index db6cd54a03f8..cfd6c7f798bf 100644 --- a/cmux-tui/docs/USER-REQUEST-BOARD.md +++ b/cmux-tui/docs/USER-REQUEST-BOARD.md @@ -28,6 +28,7 @@ behavior evidence. | [#10958](https://github.com/manaflow-ai/cmux/pull/10958) | Lawrence Chen | `c6de8f16b6390038225f87474f603b0ea157506e` | 2026-08-27 10:22:03 | `9cf920bb6b7a87bae3af721a0f98c989c45b9c4b` | `git revert 9cf920bb6b7a87bae3af721a0f98c989c45b9c4b` | | [#10962](https://github.com/manaflow-ai/cmux/pull/10962) | Lawrence Chen | `ff719b6dc4e9f05358d0c77b7f49a9db021f72e7` | 2026-08-27 10:41:51 | `ef5e7434927d89996e2cd29b429823b8a716a08e` | `git revert ef5e7434927d89996e2cd29b429823b8a716a08e` | | [#10970](https://github.com/manaflow-ai/cmux/pull/10970) | Lawrence Chen | `561ddccdc9da7d6389d90940f73e9ea30205fa26` | 2026-08-27 12:25:26 | `aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | `git revert aa8ca45e0b3a140678c4a6ae588e201cb421ac50` | +| [#10972](https://github.com/manaflow-ai/cmux/pull/10972) | Lawrence Chen | `d41cac100d2488c41cbabff7c236166186b9deb4` | 2026-08-27 12:22:32 | `2f95b8760005047ff470afe4a00fd33783e4cf93` | `git revert 2f95b8760005047ff470afe4a00fd33783e4cf93` | | [#10959](https://github.com/manaflow-ai/cmux/pull/10959) | Lawrence Chen | `8f74239c78a81352d69e8fe5512a688b0a9d7b7e` | 2026-08-27 12:49:58 | `87f31977237cbcbbf8b7f492718685d612fbb9b0` | `git revert 87f31977237cbcbbf8b7f492718685d612fbb9b0` | ## Historical snapshot retained: main `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` From d41034ec16c2c400bd5e5051ce4d778d71d7f255 Mon Sep 17 00:00:00 2001 From: Lawrence Chen <54008264+lawrencecchen@users.noreply.github.com> Date: Thu, 27 Aug 2026 06:01:27 -0700 Subject: [PATCH 7/7] docs(tui): record alternate-screen wheel audit --- cmux-tui/docs/TECH-DEBT-BOARD.md | 1 + cmux-tui/docs/USER-INTENT-BOARD.md | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/cmux-tui/docs/TECH-DEBT-BOARD.md b/cmux-tui/docs/TECH-DEBT-BOARD.md index c524b4cd832e..f17c68e5182b 100644 --- a/cmux-tui/docs/TECH-DEBT-BOARD.md +++ b/cmux-tui/docs/TECH-DEBT-BOARD.md @@ -55,6 +55,7 @@ is made. | --- | --- | --- | | Workspace RPC response routing | Unknown responses fail the workspace RPC channel, and canceled request IDs are retired without exposing the local namespace. | Exercise unknown, late, canceled, and reconnect responses from multiple clients, then verify bounded failure and no request-ID leakage. | | Escape input routing | Escape passthrough is integrated from #9810. | Exercise terminal, sidebar, and nested-frontend Escape behavior on the exact main snapshot. | +| Alternate-screen wheel policy | Wheel events use Ghostty wheel reporting with mouse tracking, and emit `ESC[A/B` three times when alternate-screen apps do not enable tracking. | Add a configurable alternate-scroll policy and modifier override, with behavior tests. Changing the default may break TUIs that rely on arrow sequences. | ## Historical snapshot retained: main `5c2ee1244e2d796c9e4be5307788b320ac2ee4ff` diff --git a/cmux-tui/docs/USER-INTENT-BOARD.md b/cmux-tui/docs/USER-INTENT-BOARD.md index a21cbc090498..55c277f9fd0b 100644 --- a/cmux-tui/docs/USER-INTENT-BOARD.md +++ b/cmux-tui/docs/USER-INTENT-BOARD.md @@ -20,6 +20,13 @@ The retained session receipt supports at least 258 named substantive turns. This is a verifiable lower bound, not a total session count, and no 10,000-session claim is made. +The scroll audit confirms alternate-screen wheel behavior is intentional: crossterm +classifies wheel events as scroll, cmux forwards Ghostty wheel events when mouse +tracking is enabled, and otherwise emits three arrow sequences. A configurable +policy and modifier override remain open; changing the default may break TUIs +that rely on arrows. Evidence: `cmux-tui/src/app.rs` `handle_scroll_with_admission` +and the crossterm `MouseEventKind` and Ghostty terminal configuration references. + | PR | Author | Source head | Merged at (UTC) | Merge SHA | Rollback | | --- | --- | --- | --- | --- | --- | | [#10944](https://github.com/manaflow-ai/cmux/pull/10944) | Lawrence Chen | `976b9d427b7e91b900fc8545aea6ea6e878b99c0` | 2026-08-27 09:13:59 | `99bdc375e98eb9abddd3f54289bc16ef876e8095` | `git revert 99bdc375e98eb9abddd3f54289bc16ef876e8095` |