Skip to content

v2.3.0: honest foundation - #3

Merged
Param-Harrison merged 2 commits into
mainfrom
release/v2.3.0
Sep 24, 2026
Merged

Param-Harrison merged 2 commits into
mainfrom
release/v2.3.0

Conversation

@Param-Harrison

Copy link
Copy Markdown
Contributor

What shipped

  • /factory cancel now closes the issue, the PR and the worktree from every waiting state, and is never treated as an answer.
  • Config is validated at boot. Unknown or mistyped keys refuse to start and are all listed at once.
  • New stage_runs table records every stage attempt (idempotent migration).
  • --json for run, tick, watch --once, doctor, with an exit-code table in the README (0 ok, 1 error, 2 run failed, 3 paused, 4 doctor failed).
  • README and the factory:failed label text now match the code. No monitor stage is claimed until v2.8.
  • Claude pin bumped to 2.1.281 (Dockerfile and CI template, asserted equal), runner ref v2.3.0, CHANGELOG.md added.

Left out

  • No live run with a splitbill reset (it force-pushes baseline). factory doctor --json was run against splitbill's real config and passed.
  • stage_runs.agent is fixed to claude and model is null until v2.5.
  • doctor --fix --json prints ok:false for the checks it then fixes, and exits 0.
  • Exit codes 2 and 3 are covered by code and tests, not exercised against live GitHub.

Verification

  • make check: 261 tests, zero errors, zero warnings.
  • Reverting each fix made its test fail: cancel close (6 failures), config validation, Dockerfile pin, watch --once paused exit.
  • The verifier agent ran the CLI against a bad config and confirmed the --json shapes and exit codes 1 and 4. It found watch --once did not exit 3 when paused; fixed here.

Serves Lesson 1 / Module 1 (Boundary). After merge, the tag v2.3.0 goes on the merge commit.

🤖 Generated with Claude Code

Param-Harrison and others added 2 commits September 24, 2026 09:04
- /factory cancel closes the issue, PR and worktree from every waiting state
- config validated at boot: unknown or mistyped keys refuse to start
- stage_runs table records every stage attempt (idempotent migration)
- --json output and a documented exit-code table for run, tick, watch --once, doctor
- README and label text match the code (no monitor stage claimed)
- Claude pin 2.1.281, runner ref v2.3.0, CHANGELOG.md

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…t one

Git.claim (commit-tree) and commitAll (commit) failed on a fresh CI runner
with "Author identity unknown". GitCommandRunner now adds a fallback identity
only when none is configured. make test runs with no identity so a
developer machine cannot hide the failure.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@Param-Harrison
Param-Harrison merged commit 7d867e8 into main Sep 24, 2026
2 checks passed
@Param-Harrison
Param-Harrison deleted the release/v2.3.0 branch September 24, 2026 06:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant