- Refactor CLI emitters interface and internal test cases - Update node.go to use new emitter patterns - Add sink tests for node persistence validation - Update edge.yaml for multi-point routing configuration
- Define lineEmitter interface with Name()/Emit() methods - Add driveJSONLines() shared scanner loop for all JSONL emitters - Implement 5 format-specific emitters (stream, claude, codex, opencode, cline) - Replace executeCommand switch with jsonEmitters registry lookup - Reduce oneshot.go from 481 to 160 lines (-67%) - Add 20+ unit tests for emitters and driveJSONLines