FACTUAL ACTIVITY RECORD · 実際の作業をもとにした活動記録
Editorial Runnerの実行flowを実装する
安全な記事取得、全chunk screening、人による判断、isolated Codexをlocalで接続する
目的
database上のExecutionを実際の記事draftへ進めるには、Feed取得、本文抽出、screening、人による判断、Codex生成、Room登録を一つのone-shot Runnerへ接続する必要があった。
外部記事とprovider failureを安全に扱い、承認済み記事だけを隔離したfresh Codexへ渡し、Runner自身は記事を生成・補完しない実行flowをlocal環境で成立させることを目指した。
実装
日次実行入口は前日JSTの記事をRSS/Atomから取得し、HTTPS、public addressへのDNS pinning、redirect再検査、timeout、size、DOCTYPE/ENTITY拒否を適用する。記事pageからReadabilityを優先して本文を抽出し、Feed summaryで代用しない。
抽出本文はUnicode scalar単位の決定的chunkへ全文分割し、各chunkをModel Armor clientへ渡す。MATCHが出ても残りを検査し、chunk欠落、execution skipped、provider failureは記事全体をindeterminateとして承認不可にする。local開発では同じcontractのfake brokerを使う。
Control CenterへChannels、Feeds、Execution review、記事decision、Generate、Stopを追加した。Feed 0件は正常、取得・screening failureはExecution failureとして記録し、自動retry、catch-up、途中resumeを行わない。
日次実行入口は承認済み記事だけをrepository外のowner-only workspaceへ書き、network、Web、MCP、plugin、app、memory、credential、repository accessを無効化したfresh Codexを起動する。strict schemaの日英draftと全Agent考察を検証し、Runnerによる書換えを行わない。
thread.startedを受けるとroot IDをすぐExecutionへ記録し、日次実行入口からowner-only Connectorへ同期登録する。root metadata到着後、製品defaultのEditorial Roomへ割り当て、子孫ThreadとMessageの同期はbackgroundへ継続させる。
図を描画しています…
確認したこと
確認結果
fresh database reset、151件のpgTAP assertion、schema lint、Data API境界が成功した。
TypeScript 64 tests、Public Web 19 tests、Swift 24 testsと、fixture結合、secret scan、仕様監査が成功した。
安全な取得、全文chunk、broker、Control Center、isolated Codex、Room登録のcodeとcontractは対象へ反映された。
cutoff時点ではfresh Codexを実processで起動するE2E、ConnectorからPublic WebまでのE2E、実LaunchAgent smokeは未完了で、Story全体の完了判断には含めなかった。
完了とした根拠
記事取得からCodex出力・Room登録までの初期実行flowが実装され、databaseと各applicationの自動検証が通ったことをこの活動の完了基準とした。実processと実serviceのE2Eは明示的な残作業として分離した。