Machinist v0.1.0
What's Changed
- feat: bootstrap config validation (#1) by @owainlewis in #11
- feat: load and validate workflows (#2) by @owainlewis in #12
- feat: run workflows with Codex by @owainlewis in #13
- feat: persist task and run ledger (#3) by @owainlewis in #14
- feat: poll GitHub ready tickets (#4) by @owainlewis in #16
- feat: dispatch ready tickets to Codex (#6) by @owainlewis in #18
- feat(cli): inspect and cancel Factory runs (#7) by @owainlewis in #19
- feat(supervision): recover interrupted agent runs (#8) by @owainlewis in #20
- docs: strengthen ticket verification workflow by @owainlewis in #21
- feat: run scheduled workflows through durable queue by @owainlewis in #22
- docs: prove reliable local v1 by @owainlewis in #25
- feat(cli): add safe repository initialization by @owainlewis in #27
- fix(cli): report daemon startup progress by @owainlewis in #29
- fix(init): quote workflow staging command by @owainlewis in #30
- feat(daemon): report task lifecycle progress by @owainlewis in #32
- Separate workflow creation from repository initialization by @owainlewis in #33
- docs(workflow): structure ticket delivery steps by @owainlewis in #34
- docs(design): define single-repository Factory v1 by @owainlewis in #35
- feat(cli): make Factory repository-local by @owainlewis in #44
- feat(github): require exact ticket approval by @owainlewis in #45
- docs: add software factory article diagrams by @owainlewis in #36
- feat: make Factory own task worktrees by @owainlewis in #46
- feat: add effect-scoped agent commands by @owainlewis in #47
- refactor: delegate GitHub work to agents by @owainlewis in #49
- feat: run workflows from GitHub Project states by @owainlewis in #51
- feat: run project tasks in Docker sandboxes by @owainlewis in #52
- feat: support implementation review re-entry by @owainlewis in #53
- feat: prove sandboxed Factory v1 end to end by @owainlewis in #57
- docs: explain idle poll verification by @owainlewis in #55
- docs(readme): explain global installation by @owainlewis in #28
- chore: configure Factory for its own repository by @owainlewis in #58
- feat: support configurable execution modes by @owainlewis in #59
- feat(cli): run the continuous daemon by @owainlewis in #60
- feat: simplify Factory around explicit triggers by @owainlewis in #61
- docs: strengthen default factory workflows by @owainlewis in #62
- docs: align repository with Factory vision by @owainlewis in #63
- feat: add repeatable Factory demo by @owainlewis in #64
- chore: prepare repository for open source by @owainlewis in #66
- feat: add command-backed issue sources by @owainlewis in #72
- feat: add jiractrl source adapter by @owainlewis in #74
- feat: schedule Dependabot merges by @owainlewis in #77
- Store runtime state under ~/.factory by @owainlewis in #75
- feat: label merge-ready pull requests by @owainlewis in #79
- feat: add Docker Sandbox development template by @owainlewis in #83
- feat: run scheduled workflows directly by @owainlewis in #85
- feat: add safe state reset command by @owainlewis in #89
- chore(deps): bump serde_json from 1.0.150 to 1.0.151 by @dependabot[bot] in #68
- chore(deps): bump anyhow from 1.0.103 to 1.0.104 by @dependabot[bot] in #70
- chore(deps): bump tokio from 1.53.0 to 1.53.1 by @dependabot[bot] in #71
- chore(deps): bump cron from 0.15.0 to 0.17.0 by @dependabot[bot] in #69
- fix: support sha2 0.11 digest encoding by @owainlewis in #92
- chore(deps): bump sha2 from 0.10.9 to 0.11.0 by @dependabot[bot] in #67
- refactor(source): decouple GitHub polling from Projects, drop author/creator trust checks by @owainlewis in #94
- chore(config): remove unreachable legacy tests by @owainlewis in #76
- feat: show safe worker progress by @owainlewis in #90
- docs: keep the README focused on Factory's model by @owainlewis in #88
- feat: use Docker Sandboxes for secure workers by @owainlewis in #84
- docs: redraw development lifecycle as cycle by @owainlewis in #95
- docs: adopt AI-native lifecycle terms by @owainlewis in #97
- feat(cli): format human-readable tables by @owainlewis in #96
- docs: simplify lifecycle diagram by @owainlewis in #98
- feat: flatten default workflows by @owainlewis in #99
- test: isolate workflow fixture data home by @owainlewis in #103
- feat: add configurable ticket classification workflow by @owainlewis in #101
- fix: retry cleanup for orphaned worktrees by @owainlewis in #110
- Add pluggable AgentRuntime abstraction with Claude Code support by @owainlewis in #108
- fix: restore GitHub issue source polling by @owainlewis in #112
- docs: redraw README workflow diagrams by @owainlewis in #113
- Add fleet configuration and multi-repository --once evaluation by @owainlewis in #124
- Make fleet execution and recovery repository-safe by @owainlewis in #125
- feat: add continuous fleet supervision by @owainlewis in #126
- feat(fleet): add operator lifecycle controls by @owainlewis in #127
- docs: define the Factory V2 MVP architecture by @owainlewis in #128
- feat: serve V2 coordination through the Go control plane by @owainlewis in #134
- feat: add the V2 control-plane UI by @owainlewis in #137
- feat(worker): add V2 local Codex execution by @owainlewis in #138
- feat(worker): make V2 execution crash-safe by @owainlewis in #139
- feat: ship the local V2 control plane workflow by @owainlewis in #140
- build: separate V2 UI and operator builds by @owainlewis in #146
- refactor(worker): split manager lifecycle files by @owainlewis in #148
- refactor(ui): split V2 control-plane views by @owainlewis in #147
- feat(controlplane): paginate task and event history by @owainlewis in #149
- feat(controlplane): add safe history deletion by @owainlewis in #150
- feat(v2): add Claude Code workers by @owainlewis in #151
- chore(deps): bump clap from 4.6.2 to 4.6.4 by @dependabot[bot] in #115
- chore(deps): bump tokio-util from 0.7.18 to 0.7.19 by @dependabot[bot] in #116
- chore(deps): bump modernc.org/sqlite from 1.38.2 to 1.55.0 by @dependabot[bot] in #135
- chore(deps): bump toml_edit from 0.23.10+spec-1.0.0 to 0.25.13+spec-1.1.0 by @dependabot[bot] in #118
- docs(v2): design GitHub issue ingest by @owainlewis in #152
- chore(deps): bump toml from 0.9.12+spec-1.1.0 to 1.1.3+spec-1.1.0 by @dependabot[bot] in #119
- fix(v2): stabilize control plane UI by @owainlewis in #153
- docs(v2): define reusable workflow contract by @owainlewis in #154
- docs: design unified Factory CLI by @owainlewis in #155
- feat(ui): polish control plane design by @owainlewis in #156
- feat: add Factory metrics and retire Rust prototype by @owainlewis in #157
- docs: consolidate architecture documentation by @owainlewis in #161
- chore(deps): bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #160
- chore(deps): bump golang.org/x/sys from 0.46.0 to 0.47.0 by @dependabot[bot] in #159
- chore(deps): bump actions/setup-node from 6 to 7 by @dependabot[bot] in #158
- feat: add issue queue polling by @owainlewis in #163
- docs: propose global reusable phases by @owainlewis in #164
- docs: add Jira design review use case by @owainlewis in #165
- Add centrally routed GitHub issue triggers by @owainlewis in #167
- Rebuild the control plane UI as one minimal layer by @owainlewis in #170
- Centre the delegate dialog instead of sliding it in by @owainlewis in #171
- feat: add centrally managed repository fleet by @owainlewis in #172
- fix(ui): summarize agent progress events by @owainlewis in #178
- Fix malformed sentence in worker prompt by @owainlewis in #179
- feat(worker): default data directory from config by @owainlewis in #181
- Isolate worker attempts from remote base branches by @owainlewis in #168
- feat(control-plane): manage repositories in UI by @owainlewis in #188
- feat: add versioned reusable workflows by @owainlewis in #189
- docs: define reusable Workflows and typed Automations by @owainlewis in #176
- feat: add GitHub issue automations by @owainlewis in #190
- feat: add GitHub pull-request automations by @owainlewis in #191
- feat: add scheduled workflow automations by @owainlewis in #192
- fix: classify schedule catch-up by minute by @owainlewis in #193
- feat: consolidate Factory configuration by @owainlewis in #194
- fix: harden legacy migration recovery by @owainlewis in #195
- refactor: use titles for workflows and automations by @owainlewis in #196
- Show Codex weekly limit in Factory overview by @scemii in #198
- chore: add focused staticcheck gate by @owainlewis in #216
- ci: enforce patched Go toolchains by @owainlewis in #218
- ci: harden dependency update automation by @owainlewis in #220
- docs: define main branch protection policy by @owainlewis in #219
- fix: protect sqlite database files by @owainlewis in #217
- feat: add safe sqlite backup and restore by @owainlewis in #221
- feat(worker): support configurable agent pools by @owainlewis in #205
- fix(worker): coordinate repositories independently by @owainlewis in #204
- feat: add reproducible release pipeline by @owainlewis in #223
- feat: add macOS CI coverage by @owainlewis in #224
- feat: improve automation runbook experience by @owainlewis in #225
- docs: define software factory direction by @owainlewis in #226
- fix: stabilize macOS worker cleanup and update dependencies by @owainlewis in #247
- docs: simplify software factory v1 by @owainlewis in #248
- feat: add multi-runtime local runners by @owainlewis in #250
- feat: add shared agent definitions by @owainlewis in #252
- feat: run a definition once against one repository by @owainlewis in #253
- Define the v1 project workflow and labels by @owainlewis in #251
- feat: run one prompt across multiple repositories by @owainlewis in #254
- feat: track Run health and engineering metrics by @owainlewis in #255
- feat: run Definitions on a schedule by @owainlewis in #256
- feat: run jobs on remote VMs by @owainlewis in #257
- feat: run Definitions from GitHub webhooks by @owainlewis in #258
- feat: upgrade existing Factory data without losing history by @owainlewis in #266
- docs: define optional Temporal orchestration direction by @owainlewis in #267
- refactor: align worker and work terminology by @owainlewis in #268
- chore(deps): bump modernc.org/sqlite from 1.55.0 to 1.56.0 in the go-minor-and-patch group by @dependabot[bot] in #260
- chore(deps): bump lucide-react from 1.28.0 to 1.29.0 in /web in the npm-production group by @dependabot[bot] in #261
- chore(deps-dev): bump the npm-development group in /web with 2 updates by @dependabot[bot] in #262
- chore(deps-dev): bump globals from 16.5.0 to 17.9.0 in /web by @dependabot[bot] in #265
- docs: add GitHub project setup guides by @owainlewis in #270
- docs: design routines product model by @owainlewis in #271
- feat: replace product model with routines by @owainlewis in #273
- docs: design elastic Cloud Run agents by @owainlewis in #276
- docs: define Cloud Run authentication by @owainlewis in #277
- feat: add durable Cloud Run agent experiment by @owainlewis in #275
- docs: add developer preview disclaimer by @owainlewis in #289
- feat: restore dashboard run metrics by @owainlewis in #290
- docs: add visual Cloud Run agent design by @owainlewis in #288
- feat: add execution profile routing by @owainlewis in #291
- fix: run real worker tests under the race detector by @owainlewis in #320
- test: cover the worker supervisor and event upload paths by @owainlewis in #323
- feat: rename the operator model to Task, Run, and Session by @owainlewis in #321
- fix: default the primary worker runtime from runtimes by @owainlewis in #332
- fix: stop timeUntil over-rounding across unit boundaries by @owainlewis in #331
- feat: add Factory open-source front door by @owainlewis in #334
- feat: make Work the primary software view by @owainlewis in #335
- docs: design agent-directed software factory by @owainlewis in #337
- feat: persist Work lifecycle by @owainlewis in #347
- feat: add unified Factory CLI by @owainlewis in #346
- feat: add scoped agent updates by @owainlewis in #349
- feat: add multi-item build admission by @owainlewis in #350
- feat: run procedures across repository fleets by @owainlewis in #351
- feat: add sequential pipeline templates by @owainlewis in #348
- feat: resume Work from durable checkpoints by @owainlewis in #352
- feat: replace Factory with Machinist by @owainlewis in #368
- docs: present Machinist as a software factory by @owainlewis in #371
- docs: improve README diagram readability by @owainlewis in #372
- feat: add local startup recipes by @owainlewis in #374
- fix: make foreman resume existing work by @owainlewis in #383
- feat: add board view to runs by @owainlewis in #390
- feat: collect and report Codex token usage by @owainlewis in #389
- docs: explain the extensible software factory by @owainlewis in #373
- fix: report control-plane listening after bind by @owainlewis in #379
- chore(deps): bump the npm-production group in /internal/controlplane/web with 2 updates by @dependabot[bot] in #369
- chore(deps): bump lucide-react from 0.544.0 to 1.33.0 in /internal/controlplane/web by @dependabot[bot] in #370
- fix(controlplane): return 413 for oversized JSON requests by @owainlewis in #378
- fix: keep latest Analytics status authoritative by @owainlewis in #381
- feat: add portable Machinist agent skill by @owainlewis in #385
- fix(web): refine navigation logo sizing by @owainlewis in #387
- feat: add task-level analytics KPIs by @owainlewis in #393
- feat(site): rebuild product landing page by @owainlewis in #395
- feat: add scheduled Shepherd for opt-in merges by @owainlewis in #394
- fix: remove Foreman repair-attempt cap by @owainlewis in #398
- fix: remove Foreman repair-attempt cap by @owainlewis in #401
- feat: add managed job triggers by @owainlewis in #404
- feat(control-plane): limit concurrent managed jobs by @owainlewis in #403
- fix(runner): collect usage from legacy Codex configs by @owainlewis in #400
- feat(control-plane): compact run cards and show models by @owainlewis in #402
- feat(control-plane): show connected workers by @owainlewis in #399
- feat(control-plane): improve run lifecycle UI by @owainlewis in #405
- feat(control-plane): show GitHub issue titles on runs by @owainlewis in #415
- feat(cli): add release installer and updater by @owainlewis in #418
New Contributors
- @owainlewis made their first contribution in #11
- @dependabot[bot] made their first contribution in #68
- @scemii made their first contribution in #198
Full Changelog: https://github.com/owainlewis/machinist/commits/v0.1.0