lifecycle record は log line ではない

llama.cpp b11401 は 2026年10月5日に公開されたプリリリースです。関連する pull request #29895 は10月3日に作成され、10月4日 UTC 23:59 にマージされました。router mode における parent server と child model server の通信を変えます。child は stdout を state command 用に確保し、通常の stdout 出力を log とともに stderr へ向けます。router は二つの stream を別々に読み、command stream からだけ state framing を受け取り、stderr を log として転送し、想定外の stdout line を警告します。

この PR の作者によれば、以前は state command と log が一つの pipe を共有していました。改行のない log write や color-reset sequence が command の前に来ると、router は lifecycle update を state ではなく text として扱う可能性があります。作者は download 中に model が停止したように見える状態につながり得たと報告しています。マージされた commit a7fb71f は child lifecycle でこの分離を明示し、combined output の subprocess option を別々の output pipe に置き換えています。これは作者による実装・再現根拠であり、独立した可用性、安全性、クロスプラットフォームの検証結果ではありません。

  1. 1Child の state record
  2. 2確保した stdout
  3. 3router の command reader
  4. 4lifecycle handler
  1. 1Child の log/progress text
  2. 2stderr
  3. 3router の log forwarder
  4. 4運用者の表示
  1. 1command stream の想定外 text
  2. 2警告し state transition しない
  1. 1stdout と stderr を再び混ぜる process wrapper
  2. 2framing 境界を失う
  3. 3採用しない設計
順序と役割を、ひとつずつ分けて考える

この patch は trailing newline の前へ terminal color reset を移し、行ごとに ANSI state が閉じるようにもします。Windows では colors が有効で console が描画できる場合にだけ virtual-terminal processing を有効にします。これらは実装に固有の表示詳細です。すべての terminal、pipe、process wrapper、OS で同じ挙動を保証するものではありません。

POSIX.1-2024 の write() specification は、この区別の古い仕組みを示します。pipe は byte stream であり、他の writer と混ざらないことが要求されるのは {PIPE_BUF} 以下の write です。任意の read が一つの log line や一つの record と等しいことは保証しません。buffered な stderr writer でも一行を複数の write に分けることがあります。b11401 は router command と log の stream 間の混線をなくしますが、child と parent には各 stream 内で bounded な incremental framing がなお必要です。この標準ページは 2024 edition ですが、正確な発行日はここでは確認できませんでした。

child 作成時から control channel を守る

process 境界には狭い契約が必要です。この変更では child が通常の server 出力より先に stdout を確保し、そこへ framing された state notification を出し、log は stderr へ送ります。parent は pipe ごとの partial-line buffer を保持し、両方を待ち、stdout の期待した command prefix だけを state record と扱います。これにより progress message が control record の parse を妨げません。

その child の周囲に stdout と stderr を一つに統合する wrapper を置いてはいけません。それはこの patch が取り除く曖昧さを戻します。また、機械可読な制御データと機微を含み得る運用 log を混ぜることにもなります。source は download text を敵対的入力と主張せず、この分離が完全な secret-handling 機構とも述べていません。任意の text を state command として扱う危険は本稿の推論です。実際の deployment には別途 access control、log の秘匿化、model/artifact の provenance、network isolation が必要です。

以下はローカル process supervisor 一つだけの、未実行 N=1 fixture です。

  1. 隔離したローカル環境で一つの固定した b11401 candidate を使います。解決した commit、parent/child command line、OS、wrapper の有無、期待する state record prefix を記録します。credential、public listener、tool、信頼できない model download は与えません。
  2. stderr に改行のない synthetic progress line を送り、確保した stdout に構文上正しい state record を一つ、その後に改行を送ります。各 pipe を別々に、bounded buffer と短い timeout で捕捉します。期待する結果は一つの parsed state event と保存された log fragment であり、model download の試験ではありません。
  3. state record が stderr から来る、想定外 stdout line が lifecycle state を変える、buffer が定めた上限を超える、pipe が予期せず閉じる、manifest が変わる場合は不合格です。失敗した byte を非機微の diagnostic evidence として残します。stream を統合したり別 supervisor で retry したり、log prefix から state を推測したりしません。

リポジトリの MIT license はコードに適用され、model file、log、production supervisor には適用されません。security policy は router を含む一部 server 機能を untrusted environment に推奨していません。この policy は b11401 の安全性を認定するものではありません。本稿の作成時に process の起動、fixture の実行、Windows/macOS/Linux の独立検証は行っていません。

router mode の範囲に主張を閉じる

本稿は router child の lifecycle framing を扱います。K-tail の記事 の x86 matrix-shape 条件を変えるものではなく、model inference の性能も示しません。state が lifecycle action を動かすなら、専用で bounded な機械可読 channel を与え、すべての wrapper を通して分離を保つ。ここでの判断はそれだけです。

MENTAL MODEL / 考える順序

発表から、自分の判断へ。

一次資料

発表の主張と、論文・公式ドキュメントの条件を並べて読む。

出典

公開日は資料の日付、確認日は内容を参照した日です。コミュニティの観測は公式の確定事項と区別します。

01
公式ドキュメントllama.cpp b11401 release公開: 2026-10-05 · 確認: 2026-10-05
02
公式ドキュメントllama.cpp pull request #29895公開: 2026-10-03 · 確認: 2026-10-05
03
公式ドキュメントllama.cpp commit a7fb71f公開: 2026-10-04 · 確認: 2026-10-05
04
公式ドキュメントllama.cpp MIT license公開: 不明 · 確認: 2026-10-05
05
公式ドキュメントllama.cpp security policy公開: 不明 · 確認: 2026-10-05
06
公式ドキュメントPOSIX.1-2024 write ↗pubs.opengroup.org公開: 不明 · 確認: 2026-10-05
このブラウザ内に保存します。