Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion docs/0-requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -437,6 +437,22 @@ liplus-desktop の `stream_parser.rs` および `spawn_stream_pty` / `spawn_stre

未計測: 保持窓(512 件)から溢れた場合の挙動。この日の取りこぼしは 2 件であり、溢れる経路は通っていない。

#### 2026-08-28(AI が操作して確認)

`main`(`97920a0`)を焼いて操作している(#118、#122、上記「サイドバーの開閉」)。

- **`panels` 欄を持たない既存設定がそのまま読めた(#118)。** 当時の `config.json` はアカウント 3 件のみを持ち、`panels` を持っていなかった。起動すると両方の面が開いた状態で出て、アカウント 3 件も残っている。**この欄を持たない設定は両方とも開いた状態として読む**(上記「サイドバーの開閉」)が、`#[serde(default)]` の移行経路として実機の値になった。
- **アイコンが鏡像で出た(#118)。** 縦線の入った角丸の四角であり、左のボタンは縦線が左、右のボタンは縦線が右である。高さは文字サイズの `<select>` と `端末` ボタンに揃っている。同じ図形を CSS の一行で裏返す形(決定4)が、Windows でその向きに出ている。
- **畳んだ面に帯が残らなかった(#118)。** 左右いずれも幅 0 であり、部屋が窓の端まで広がる(決定2)。
- **畳んだ状態でもボタンがヘッダに残った(#118)。** 左右とも残っている。畳んだ面には押すものが無いため、これが無ければ開く手が消える。
- **`Ctrl+B` が左の面だけを開閉した(#118)。** 右の面は動かない(決定3、AI 判断6)。
- **発言欄に焦点がある状態でも `Ctrl+B` が効いた(#118)。** 面が開閉し、入力中の文字は壊れていない。
- **端末に焦点がある間、面が動かなかった(#118、AI 判断5)。** キーの購読は `window` に付いており、素の `Ctrl+B` が途中で降りる道は端末ガードの一本しかないため、面が動かないことがガードの発火を意味する。一つ上の項目との対照で、違いはフォーカスの位置だけである。
- **再起動後に開閉が保持された(#118)。** `history: true` / `participants: false` の非対称な状態を作って再起動し、そのまま復元されている。押すたびに `config.json` へ書く形(決定1)が実機の値になった。
- **面の開閉を保存した後もアカウント 3 件が残った(#122)。** `saveAccounts` を `saveConfig` へ広げた変更が狙っていた箇所であり、片方しか知らない保存が互いを落とす事故は起きていない。

未計測: シェル側が `^B` をどう受けたか。CLI が起動直後の確認プロンプトで止まっており、そこでは `Ctrl+B` が何も描かない。この半分は xterm の `attachCustomKeyEventHandler` の性質であって、#118 が書いた側ではない。

### 未実装

- 順番の付与(弾くだけでなく「あなたは N 人め」を返す形)。戻り値の形は段差を残していないが、二重計算が痛むと測れてから判断する。
Expand All @@ -449,7 +465,7 @@ liplus-desktop の `stream_parser.rs` および `spawn_stream_pty` / `spawn_stre
- 画面の再読み込みに耐えるところの実機確認。繋ぎ直した端末へ出力と入力が戻ること、繋ぎ直した端末の開始時刻・起動コマンド・作業ディレクトリが起動時の値であることは実装済みで、CI の型検査と Rust のコンパイルは通っているが、実機での操作は未確認である。席を持つ行が `❌` を出すことは 2026-08-24 に確認済みであり、端末の 1 行目の告知は同日に確認して**読めないことが分かった**(上記「画面の再読み込みに耐える」)。
- 走っているアカウントの様子のうち、パネル 16.5rem の中で本人の行の名前が押し出されないことの実機確認(#82、上記「走っているアカウントが何をしているか」)。実装済みで CI の型検査は通っているが、寸法の側は未確認である。「考え中…」「出力中」と沈黙 1 秒での消失は 2026-08-24 に確認済みである。Claude Code が確認プロンプトで待っている間に出力を止めるかどうかは依然として未計測である——止めないのであれば、待っている行に「出力中」が立ち続ける。「出力中」がその場合でも literal に正しい語であることがこの語を選んだ理由だが、それは待機と稼働を見分けられるという意味ではない。
- 起動から部屋に入るまでの行の語(#89)の窓の計測。**不具合そのものは修正済みである**(上記「参加者パネル」)。実機で見つかった窓であり(2026-08-24、AI が操作)、`▶️` を押した後、CLI が `--dangerously-load-development-channels` の確認プロンプトで止まっている間、行の note は「未起動」のままで、同じ行のライフサイクルの列は `❌` を出していた——終了できるものが未起動だと言っている状態である。行の「走っている」の定義が**部屋の名簿に居ること**であってプロセスが在ることではないために起きる窓であり、`row.participant` が null の間は上記「走っているアカウントが何をしているか」の二語も出ない。窓の長さは CLI の起動時間そのもので、確認プロンプトで止まれば数分続く。#82 より前から在る経路であり、#82 は空だった枝を埋めただけである。行の語そのものは 2026-08-25 に入口から出口まで確認済みである(上記「実機で確認済み」)——押す前の「未起動」、押した後の「起動中」と `❌` の並存、名簿に現れた後の消失という三段階を、起動していない行が据え置かれたまま辿っている。残る未計測は二つ。一つは窓の時間で、語が出るまでの時間も窓の長さも取っていない——窓の長さが CLI の起動時間であることは上の導出であって、実機で計った値ではない。もう一つは、一度部屋に入った CLI が接続を失った場合に note が「起動中」へ戻るかである。この経路は通っておらず、実機では見ていない。
- サイドバーの開閉の実機確認。ヘッダ左右のボタン、鏡像のアイコンが Windows でその向きに出ること、畳んだときに帯が残らないこと、再起動後の保持、`Ctrl+B`、端末に焦点があるときにキーが端末へ渡ることはいずれも実装済みで CI の型検査と Rust のコンパイルは通っているが、実機での操作は未確認である。`Ctrl+B` を端末へ譲る側は特に未計測である——譲っていることは「アプリの面が動かない」という不在でしか見えず、シェル側がその一打をどう受けたかまで見て初めて確かめられる
- サイドバーの開閉のうち、シェル側が `^B` をどう受けたかの計測。ヘッダ左右のボタン、鏡像のアイコンが Windows でその向きに出ること、畳んだときに帯が残らないこと、再起動後の保持、`Ctrl+B` が左の面だけを開閉すること、端末に焦点があるときに面が動かないことは 2026-08-28 に確認済みである(上記「実機で確認済み」)。残るのはキーを端末へ譲った先であり、譲っていることは「アプリの面が動かない」という不在でしか見えず、シェル側がその一打をどう受けたかまで見て初めて確かめられる。当日の CLI は起動直後の確認プロンプトで止まっており、そこでは `Ctrl+B` が何も描かない——この半分は xterm の `attachCustomKeyEventHandler` の性質であって、#118 が書いた側ではない
- クラッシュした場合の後始末(#85 の範囲外)。job object へ入れれば OS が落とすが、確認を挟む形とは別の軸であり、実装していない。正常終了の経路を閉じた後も、この経路からは孤児が生まれうる。
- 孤児の引き取り(#85 の範囲外、#84 関連)。起動時に前回の孤児を見つけて繋ぎ直す形。pty id が Rust のメモリにしか無いため持続化の話になる。
- CLI の出力から状態を読む形(「ツール使用中」の粒度)。#82 は段階 1 として出力を読まない二つの合図だけを採り、この形は実測してから別 issue で判断すると決めた。
Expand Down