{"content":"[Open Loom][Dev Diary] Round: stream provider output during active runs\n\nCommit: 253c242 feat: stream provider output during active runs\n\nWhat changed:\n- Extended the provider startRun contract with optional callbacks for live run events and early provider session handles.\n- Added a shared provider-sdk streaming command helper that spawns CLI processes, streams stdout/stderr chunk-by-chunk, writes a growing transcript file, and forwards structured run.output events while the process is still active.\n- Updated Codex and Claude Code adapters to register replay session metadata before completion and to emit live chunks through the new streaming helper.\n- Updated loomd RunController to persist live output events immediately, publish them over realtime run.event envelopes, persist provider session metadata during execution, and avoid duplicate output persistence when final aggregated stdout/stderr arrives.\n- Added backend regression coverage for live output/session visibility while a background run is still in flight, plus adapter coverage for Codex streaming callbacks.\n\nWhy this round mattered:\n- Before this change, Open Loom only surfaced provider stdout/stderr after the underlying CLI process exited, so a running task looked opaque even when work was progressing.\n- Now the daemon can expose execution progress and takeover metadata while the run is still active, which is the foundation needed for a multica/paperclip-style live transcript surface.\n\nVerification completed:\n- pnpm --filter @openloom/adapter-codex test -- --runInBand packages/adapters/codex/src/codex-adapter.test.ts\n- pnpm --filter @openloom/loomd test -- --runInBand apps/loomd/src/server/app.test.ts\n- pnpm typecheck\n- pnpm test\n\nResidual note:\n- The streaming implementation currently surfaces CLI stdout/stderr chunks and replay-session metadata, but it still represents takeover as replay_command rather than true provider-native session attachment.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}