フィールドガイド / 11 分
JSONL を stream し、最終結果を制約する
Execution events と automation が使う schema-checked answer を分離します。
codex exec --json は newline-delimited JSON events を stdout へ出します。--output-schema は最終 response を JSON Schema で制約し、--output-last-message は最後の message を別 file に保存します。Event stream は progress/diagnostics、final artifact は安定した consumer contract のための別 surface です。どちらも code change の正しさまでは証明しません。
検証済みターミナル手順
- $
codex exec --json "Audit the current diff" | jq -c . - $
codex exec --json --output-schema schema.json --output-last-message final.txt "Return the audit result"
作業原則
JSONL は stream
一行ずつ完全な JSON として読み、stdout 全体を一 document として扱いません。
Schema は shape
Valid object でも結論は誤り得ます。Domain rules、tests、files を別に検証します。
Channel を清潔に
Machine output と operator diagnostics を分け、color/debug prose を JSONL に混ぜません。
フィールド手順
- 01
Consumer object を設計
次の system に必要な最小 field と success/blocked/evidence states を定義。
- 02
Output を分離
--json を consumer へ、必要時のみ final message file を使用。
- 03
Incremental parse
Malformed line を拒否し、retention を制限して type/stable ID を保持。
- 04
二段階 validation
Schema 後に repo state、paths、counts、test evidence を現実と照合。
- 05
Side effect 前に fail
Partial event では publish/merge/notify しません。
PASS / FAIL
受入チェック
- stdout を一行ずつ parse。
- Schema は version 管理。
- Refusal/timeout/malformed states。
- Semantic evidence を別確認。
- Secret を retention 前に除去。
WATCH / REJECT
失敗パターン
- JSONL 全体へ JSON.parse。
- Schema validity を成功と同一視。
- Intermediate event から write。