Skip to content

workhorse-workflows: v2.0.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 20:48
· 0 commits to 589dfc38841eac36a651e01b330da180c9b7df42 since this release

2.0.0 (2026-09-11)

⚠ BREAKING CHANGES

  • workflows: the qa_stack_manifest param is gone; a run in flight holding it fails to reload.

Features

  • ostler: derive owning keys from the registry (1f402e1)
  • ostler: doctor checks for the judgment gap (b965a1b)
  • ostler: let a config: bullet own a declared configuration file (d87ad6f)
  • ostler: map diffs across source repositories (dea798f)
  • ostler: resolve stories by external key (51da445)
  • ostler: template-outside-repeat doctor check (f6bff33)
  • ostler: trim rows, import-graph walk, repo declaration (7a99e80)
  • ostler: unspecified bullet class with grounded citation (7b1a64f)
  • workflows: adjudicate a blocked finding before the operator gate (9d198e6)
  • workflows: answer audit packets from the verdict memo first (06f21c2)
  • workflows: author approved roadmaps (3f22692)
  • workflows: bound the audit reviewer's provider retries (df74b25)
  • workflows: budget the behavior audit in turns and passes (84ca19f)
  • workflows: build OKF docs from story source diffs (f236b42)
  • workflows: carry book limitations into the audit packets (229cb94)
  • workflows: carry the minted story id in commit trailers (4e18027)
  • workflows: coder docs lane scopes worklist builder to story paths (8365629)
  • workflows: commit completed OKF books (074e531)
  • workflows: derive the implementer's standards from the layer (f5284ea)
  • workflows: flatten author into resumable stages (dfc77c9)
  • workflows: gate the okf-builder commit on a semantic audit (ca89211)
  • workflows: give the research loop program-level judgement (0d17f92)
  • workflows: hold the docs prompts to the written OKF model (9c19533)
  • workflows: make the builder's verdict see drift, not just coverage (b04ba58)
  • workflows: map coder stories across source repositories (e18ce1d)
  • workflows: move the research measurement out of the agent turn (1c17318)
  • workflows: okf-builder authors the judgment layer (30446b0)
  • workflows: okf-builder drops the entry fork; rescan is the seeder (1357482)
  • workflows: park a stalled book on the operator gate, not a waiver (4ed8c25)
  • workflows: queue undocumented source files as behavior repairs (0e5b729)
  • workflows: read the QA stack from the book, not a manifest path (992079f)
  • workflows: record what a converged book was written against (24dc214)
  • workflows: refuel okf-builder's budget as each item closes (9e86087)
  • workflows: route difficult okf repairs to high power (127182d)
  • workflows: scaffold the machine envelope into program.yml (eac1227)
  • workflows: scope okf-builder backfills to the squashed diff (ab66208)
  • workflows: seed the code fixes the book cannot make (5dace48)
  • workflows: separate story scope from qa invariants (9063307)
  • workflows: settle stale repair rows during the drain (89ac0bc)
  • workflows: state audit links once on the claim (c094de8)
  • workflows: suffix coder commits with story ids (1ca3823)
  • workflows: teach audit reviewer to use mixed candidate status (f0bcd8a)
  • workflows: teach okf-builder the one-per repeat grammar (19a63c4)
  • workflows: worklist builder composes four joins into one answer (96896a9)
  • workhorse: arm the wake file before a watcher parks on it (ae808c2)
  • workhorse: let an Await say a machine owes it the answer (b3e33ec)

Bug Fixes

  • ostler: teach the relation-subject slug shape at every surface (a2d3511)
  • workflows: accept farrier's repo-prefixed ostler-okf install (f9977b9)
  • workflows: address a group finding as the group it is about (64887dc)
  • workflows: approve author splits before stories (00f1eba)
  • workflows: audit emits per-packet labels (fc174fd)
  • workflows: audit recovers from a null-ctx resume (6b0933f)
  • workflows: audit survives a sustained models.dev outage (60a664e)
  • workflows: author current fix-story sections (aaae440)
  • workflows: clear the two type findings in the dossier node (31c01b1)
  • workflows: close repair rows whose finding stopped firing (065dc33)
  • workflows: collect a result where the command could write it (8756cd8)
  • workflows: derive adjudication prompt contract (46eb700)
  • workflows: drain drifted okf books via registry-rendered prompts (5bdcba9)
  • workflows: emit review findings in the shape the router reads (1845e58)
  • workflows: escalate blocked review turns instead of logging them (b9e4017)
  • workflows: escalate the qa lane's blocked report turns (246d3c5)
  • workflows: fail the dev path gate on a missing plan file (a3b1147)
  • workflows: follow the no-root-screen code and reach's default start (50550f4)
  • workflows: gate the dev story path before the first turn (b6ed09f)
  • workflows: gate the fix lane's story before its first turn (30eeb0c)
  • workflows: gate the reviewer's empty result instead of dying on it (1f91ff4)
  • workflows: group OKF scopes by source repository (b94bb1a)
  • workflows: hold a reduced audit reply to its parent packet (b0689fe)
  • workflows: keep author audits within story scope (077bda5)
  • workflows: keep mockup inspection ephemeral (72c871f)
  • workflows: keep workflow-written files out of the repo root (ae7659f)
  • workflows: leave pytest trees out of the source inventory (5de5a24)
  • workflows: let an artifact-only book run qa without a stack (dd0b0db)
  • workflows: make the okf-builder fixup loop terminate (284caba)
  • workflows: name the regrouped ostler-okf skill in the okf prompts (2e98339)
  • workflows: open the implement prompt with the repo's plan (a0c62de)
  • workflows: park on an unusable adjudication instead of dying (5c04c15)
  • workflows: park unreadable CI instead of spending repair laps (688b7ec)
  • workflows: pass operator gate answers into resumed fix reasons (5d88713)
  • workflows: repair a short audit reply, don't re-ask the packet (eda33ff)
  • workflows: requeue stale OKF source context (8128a74)
  • workflows: rescan round surfaces as label (86b5ed5)
  • workflows: reserve audit delivery for author (a54db38)
  • workflows: reset the docs chains and never fake a documented turn (867ec1d)
  • workflows: retire a re-grounded citation on the verdict turns emit (bbbd583)
  • workflows: scaffold every story on entry, don't branch on its age (aaf66c3)
  • workflows: scope audit packets to the service being audited (6f52d3f)
  • workflows: scope author epic worklists (925cbbf)
  • workflows: scope author validation to roadmap (b38f6cb)
  • workflows: scope the audit's book read to the service (a261d5d)
  • workflows: scope the implement prompt to one plan and block cleanly (35a8d3d)
  • workflows: send a blocked re-grounding row to the gate, not the cap (b6ce44a)
  • workflows: skip promised server commands in check_promises (f33f4a8)
  • workflows: stop double-prefixing the ci fix branch name (85667c8)
  • workflows: stop the re-scan gate naming a cause it cannot see (3402d53)
  • workflows: take every document location from ostler, not a param (9d25cf8)
  • workflows: take the settle watermark after the rows are closed (4c348d0)
  • workflows: warn repair prompts about unread nested verify bullets (a657b14)
  • workflows: worklist builder reads inventory at worklist path (9b99387)
  • workhorse: keep a handoff's START in its flow, colour END apart (eb00514)
  • workhorse: treat a session id as an opaque string (7a0c66b)

Performance Improvements

  • parallelize Python test suites (ee2f9f2)
  • workflows: audit preparation runs once per drive (5aec0cf)
  • workflows: avoid repeated author graph scans (0f04146)
  • workflows: batch implement writes and gate runs per layer (e7b6cc1)
  • workflows: demote mechanical QA turns to low power (1acb33a)
  • workflows: inline the plan into the implement turn (7dea11e)
  • workflows: open implement on a fresh chain with standards inlined (aab0450)
  • workflows: review the diff directly instead of the PR recipe (971123d)
  • workflows: route okf turns by difficulty (86c23fd)
  • workflows: skip preserved surface mockups (4866e14)
  • workflows: write author seeds in one edit (3c593f8)

Code Refactoring

  • base-library: split the root policy into reusable ones (1f7b976)
  • ostler: own the durable QA stack, hard-cut workhorse.stack (6191e5d)
  • rename the top power tiers to max and ultra (66a017d)
  • workflows: answer the findings basedpyright reports (9c1b56f)
  • workflows: collapse the fix lane into a one-turn session (62a16d6)
  • workflows: collapse the plan into four sections (5071200)
  • workflows: consolidate the shared coder flow helpers (22e235d)
  • workflows: cut every coder prompt to its consuming mechanics (ec2c4bd)
  • workflows: cut the qa prompts to their mechanics (68832fc)
  • workflows: delete the dream flow (c60f7b1)
  • workflows: delete the plan-review ghost from three sites (b13dfa4)
  • workflows: drop the coder lanes' session_id parameter (8db22d9)
  • workflows: drop the commit blocks from the coder prompts (b0b6eca)
  • workflows: drop the runbook hunt from apply-review (71c75ea)
  • workflows: end the author run on a commit, not a PR (21afb6d)
  • workflows: enforce read-only planning with a clean-tree gate (c4bb223)
  • workflows: extract dev flow helpers into nodes (d5631c4)
  • workflows: flatten the two-key qa context repair turn (2c0b914)
  • workflows: fold the reuse hunt into the code review pass (163e830)
  • workflows: fold the three identical Docs handoffs into one (61045f5)
  • workflows: give each author flow its own prompts (b54535e)
  • workflows: give each coder flow its own prompts (44578fc)
  • workflows: give each okf_builder flow its own prompts (232d552)
  • workflows: give the builder one prepare and one drain (576a679)
  • workflows: load standards from the installed skills (e7c5633)
  • workflows: make refine-plan two repairs, not one re-plan (ab461c3)
  • workflows: move the coder main graph into main/ (473e6c6)
  • workflows: parse technical code pointers, don't regex them (f49baed)
  • workflows: put the story id in the footer only (2dbd920)
  • workflows: read the queue epic back instead of threading it (46a10ef)
  • workflows: read the standing QA plan off disk, not the loop (bcbc9e2)
  • workflows: render coder output contracts from the schemas (381ec51)
  • workflows: render the review scope the flow already resolved (ae3d913)
  • workflows: replace main's nested drain with a fix handoff (88bcb99)
  • workflows: restate the schema rule for literal statuses (4520c9e)
  • workflows: reuse Ostler story provenance (813cd62)
  • workflows: say why each okf-builder transition is taken (35182f8)
  • workflows: share one operator resolver prompt across the lanes (e586d4b)
  • workflows: shrink the qa loop via output readback (c57b988)
  • workflows: split review findings on confidence in python (595e0de)
  • workflows: split the fix-drain repair lap into its own prompt (e08bc39)
  • workflows: stop re-reading standards the session already holds (a67e60d)
  • workflows: trim the dev prompts to their own lane (68b1c4e)
  • workflows: type audit unresolved items as UnresolvedItem rows (2fd86dd)
  • workflows: type dev agent statuses as required literals (1ac23d8)
  • workflows: type docs statuses and bundle the docs loop (971abf0)
  • workflows: type fix_ci statuses and drop its dead summary (0d7159a)
  • workflows: type genesis classifications, reuse the kit (e1f61d7)
  • workflows: type main statuses and drop its dead promise fields (30b3a9a)
  • workflows: type qa statuses as literals (fa5748a)
  • workflows: type review statuses and bundle its loop state (8997019)