Repository navigation
v0.4.4
-
Worker and reviewer capabilities are explicit instead of tied to an
ompexecutable name (#334):[workers.<label>].transcript = "omp-session"captures compatible JSONL for token usage, scoring and learning, while[review].json_mode = trueenables OMP-compatible JSON review parsing. Commands namedompretain both defaults, undeclared workers still report usage asn/a (not reported), andfactory stats --by-workernow includes reported worker token totals. -
factory watchno longer reports repeatedreview_reviseescalations as engine defects (#324): everyreview_reviseis a ticket outcome, whether bounded review rounds are exhausted, review after a managerFIXstill requests changes, or fresh review after a merge-stage refresh/rebase requests changes. -
A refresh conflict onto moved
mainno longer escalates (#295): the merge stage withdrawsfactory-approved, journals aconflict-requeuerow (PR, head, conflicting files, round) and releases the ticket, removingready-for-humanand addingready-for-agent(including after a managerFIX), so the next claim runs a worker in the same worktree on the sameagent/<n>branch with a brief to rebase onto currentorigin/main, resolve the conflicts, keep the approved intent and not widen scope; the normal gate, lease push, independent review and round limits follow, and only a fresh approval restores the label. It still escalates asrefresh_conflict, with the conflicting files in the packet, for a protected path withoutfactory-protected-override, afterreview_roundsconflict requeues, or when the ticket is not open. A managerFIXwhose kept worktree is ahead of the PR head with a head a journaled worker attempt produced (#264) pushes it with a lease on the recorded PR head and goes on; any other head escalates asrefresh_head, a refused lease aslease_refused. -
Automatic releases publish the GitHub Release (#320): after pushing the
v*tag andstable,factory releaserunsgh release create <tag> --verify-tag --latesttitled with the tag, with that version'sCHANGELOG.mdsection as notes. A Release that already exists is left alone; aghfailure is journaled as areleaserow with outcomepublish_failedand retried at the start of the next pass without rolling back the tag. v0.4.2 had stayed behind v0.4.1 as GitHub's latest until it was published by hand.