coven 0.1.1

A minimal streaming display and workflow runner for Claude Code's -p mode
Documentation
1
2
3
4
5
6
7
8
9
- [P2] Fork: VCR support — `run_fork` spawns sessions directly (bypassing `vcr.call`), and fork detection is gated behind `vcr.is_live()`. Fork behavior is completely untested via VCR. Need to either record fork child sessions through VCR or find another way to test fork end-to-end. (plan: plans/fork-vcr-support.md)
- [P2] Fork: `flush_event_buffer` doesn't detect fork tags — if a Result event with a `<fork>` tag arrives while the user is typing (events are buffered), the fork will be silently skipped. Edge case but should be handled. (plan: plans/flush-buffer-fork-detection.md)
- [P2] Durable conflict logging: conflict files and resolution outcomes are only rendered to the terminal. Consider logging them to a file for post-mortem analysis. (plan: plans/durable-conflict-logging.md)
- [P2] Create a features / intended behavior reference document so it's clear what each command mode supports (interaction modes, session lifecycle, rendering expectations). Makes it easier to verify whether code reflects intended behavior. (plan: plans/features-reference-doc.md)
- [P2] CLI args duplication: `show_thinking`, `fork`, and `claude_args` are defined identically in three places (root `Cli`, `Ralph`, `Worker` in `cli.rs`). Extract a shared struct and use `#[command(flatten)]`. (plan: plans/cli-args-duplication.md)
- [P2] Status formatting duplication: `commands/status.rs` duplicates the worker-formatting logic from `worker_state::format_status`. The two differ in minor formatting details (prefix, separator) but share the same structure. Consolidate into a single parameterized formatter. (plan: plans/status-formatting-duplication.md)
- [P2] README overhaul: add usage guidelines, document worker/fork/agents/init/status/gc commands, update features list, add a commands section. Currently only covers basic features.
- [P2] Windows support: uses Unix-specific APIs (libc::tcflush, /dev/null, kill command, rsync). Need platform abstractions or #[cfg] guards to support x86_64-pc-windows-msvc target.