What's Changed
- Add project scaffold by @Tim-Pohlmann in #1
- Add job config models and CLI parsing by @Tim-Pohlmann in #2
- Add ProcessWrapper: subprocess management with env sanitization and timeout by @Tim-Pohlmann in #3
- Move IJobResult and implementers to Job/JobResult.cs by @Tim-Pohlmann in #7
- Add EnvScope test helper; apply to JobCommandTests by @Tim-Pohlmann in #8
- Add repository host with clone and branch-check support by @Tim-Pohlmann in #4
- Add LocalApiServer: deferred PR model (queues requests, no push) by @Tim-Pohlmann in #5
- Wire job output model: bundles + result.json, no write token, drop Windows by @Tim-Pohlmann in #6
- Use nameof() for type name prefixes; remove redundant verb param from RunGitAsync by @Tim-Pohlmann in #10
- Replace ProcessResult record with ProcessSuccess/ProcessFailure union by @Tim-Pohlmann in #17
- Add ClaudeInstaller: check/install claude via npm at job startup by @Tim-Pohlmann in #11
- Add onStdoutLine callback to RunProcessAsync; forward Claude stdout to stderr by @Tim-Pohlmann in #13
- Extract tokensUsed from Claude NDJSON result event by @Tim-Pohlmann in #14
- Inject system prompt with local API instructions by @Tim-Pohlmann in #15
- Adopt ProcessResult-style union for PR validation by @Tim-Pohlmann in #18
- Adopt ProcessResult-style union for Claude install result by @Tim-Pohlmann in #19
- Centralize job exit codes into named constants by @Tim-Pohlmann in #20
- Add Dolphin static analysis to CI by @Tim-Pohlmann in #21
- Remove design.md by @Tim-Pohlmann in #28
- Extract pure TokenUsage.Accumulate from JobRunner by @Tim-Pohlmann in #22
- Core returns JobOutcome; shell owns Console + result-file I/O by @Tim-Pohlmann in #23
- Group job dependencies into JobContext by @Tim-Pohlmann in #29
- Abstract coding agent behind ICodingAgent by @Tim-Pohlmann in #30
- Collapse string value-object JSON converters into a generic base by @Tim-Pohlmann in #31
- Decompose JobRunner.RunAsync into named steps by @Tim-Pohlmann in #32
- Move RunProcessAsync to Process layer; unify git runner by @Tim-Pohlmann in #33
- Split Types.cs into cohesive per-concept files by @Tim-Pohlmann in #34
- Validate and parse inputs into a strongly-typed JobConfig at the boundary by @Tim-Pohlmann in #35
- Represent the PR-bundle outcome as a discriminated union by @Tim-Pohlmann in #42
- Move git bundling behind IRepositoryHost by @Tim-Pohlmann in #37
- Ignore local .claude state, keep shared config by @Tim-Pohlmann in #47
- Add OpenCode as a selectable coding agent by @Tim-Pohlmann in #41
- Authenticate git over HTTPS via env config, not token-in-URL by @Tim-Pohlmann in #50
- Add
rix submitsubcommand to open PRs from a job result by @Tim-Pohlmann in #44 - Unify value-object validation on the ParseResult union by @Tim-Pohlmann in #45
- Make SetupFailure a sibling of JobFailure, not a subtype by @Tim-Pohlmann in #46
- Forward local API server logs to the job log sink; dedup queued branches by @Tim-Pohlmann in #48
- Extract shared temp-dir and CLI option helpers by @Tim-Pohlmann in #52
- Add reusable GitHub Actions workflow to run rix job and open PRs by @Tim-Pohlmann in #43
- Publish and verify release checksums by @Tim-Pohlmann in #51
- Styling Update by @Tim-Pohlmann in #53
- Wire real cancellation into Startup.RunAsync by @Tim-Pohlmann in #55
- Add Dolphin style rules, fail CI on any finding, fix all violations by @Tim-Pohlmann in #54
- Fix Dolphin arrow-on-own-line rule: exempt block-body arrows by @Tim-Pohlmann in #56
- Extend Dolphin paren rule to require closing paren isolation too by @Tim-Pohlmann in #57
Full Changelog: https://github.com/Tim-Pohlmann/rix/commits/v0.1.0