Release History

Recent changes and updates to xSwarm

Release History

Auto-generated from git commits. Last updated: 2026-09-14

Recent Changes

2026-09-14

  • πŸ“ fb8cc17 feat(watchdog): interrogate the stop β€” sessions invent reasons to quit
  • πŸ“ fa91d89 feat(watchdog): enforce the workflow on Stop, so the coordinator does not have to
  • πŸ“ 5ed6163 feat(coordinator): the prompt half of the consumer nobody wrote
  • πŸ“ d66b980 Merge remote-tracking branch β€˜origin/main’
  • πŸ“ c0b4b26 Merge pull request #4 from chadananda/work/telemetry
  • πŸ“š 56464ca docs: 0017 β€” planning meeting and iterative session are inverted in ordering
  • πŸ“š 1433b23 docs: 0017 β€” iterate mode is one ticket per session, kept as the design record
  • πŸ“š 4b1bd6c docs: 0017 β€” coordinator answers on one thread, plans on another
  • πŸ“š 8101838 docs: the cloud layer routes, the machine plans
  • πŸ“š 121385f docs: correct 0017 β€” user talks to the coordinator, never to a project session
  • πŸ“š b5c66bc docs: backlog 0017 β€” replace herdr with the chat channel that already exists
  • πŸ“ 29ceea3 feat(daemon): resource reaper β€” a cron watchdog that reports what the fleet leaked
  • πŸ“ 8df7050 feat(telemetry): per-stage entered/started/ended, so queue time is measurable
  • πŸ“ a831df0 Merge pull request #3 from chadananda/work/pipeline-push
  • πŸ“ 760fc51 feat(pipeline): actually call the reporter from the box’s heartbeat
  • πŸ“ 5efd1a0 feat(pipeline): the box reports .xswarm/project.yml, so CI can say source:repo
  • πŸ“ 138eb65 fix(pipeline): drop the unreachable protected-branch guard from pushBranch
  • πŸ“ ce5292d Merge pull request #2 from chadananda/fix/unblock-root-test
  • πŸ“ d7ce64c feat(pipeline): a finished ticket now reaches somebody β€” push the branch, record it
  • πŸ“š 4510763 docs: backlog 0016 β€” agent-oriented repository map, with the measurement design
  • πŸ“ e4ae4d4 fix(web): unblock the root test command β€” 5 type errors were hiding a whole workspace
  • πŸ“š 9b43a44 docs: park the Team access + P2P meetings idea with its constraints
  • πŸ“ 1f50f1d feat(project): six tabs β€” Overview, Activity, Tickets, Plan, CI, Reports
  • πŸ“ ac14ded feat(hooks): flag integrator commands that fall through to the classifier
  • πŸ“ 8f36d41 feat(hooks): the integrator authorises its own pipeline verbs, narrowly
  • πŸ“ 8131209 feat(hooks): gates and routing from Claude Code events, replacing the git hook

2026-09-13

  • πŸ“ beff7bb merge: reconcile the box checkout into main
  • πŸ“ 0ab7279 merge: reconcile the box checkout with main
  • πŸ“ 922c668 fix(daemon): stop the worktree cleanup destroying the agent’s work
  • πŸ”§ 14be4d0 chore: staging candidate 3.0.168
  • πŸ“ 18c88c8 feat(daemon): one git worktree per task, so tickets can run in parallel
  • πŸ”§ 13582be chore: staging candidate 3.0.167
  • πŸ“ 5bd08e1 fix(board): tickets reach To Do β€” placement was never derived from dependencies
  • πŸ”§ 6de14c4 chore: staging candidate 3.0.166
  • πŸ“ dcc10f4 feat(activity): one live board that fills the screen, instead of three lists
  • πŸ”§ 405a89a chore: staging candidate 3.0.165
  • πŸ“ 13d3760 feat(requests): the planning meeting turns a request into tickets (#168 log jam)
  • πŸ”§ e66c3ee chore: staging candidate 3.0.164
  • πŸ“ 3ba7c74 fix(deploy): load the Cloudflare token, and stop blaming the schema for a missing one
  • πŸ”§ 7bf0d6d chore: staging candidate 3.0.163
  • πŸ”§ aa45bbd chore: purge Turso β€” D1 is the only database (#168)
  • πŸ”§ 4464e92 chore: staging candidate 3.0.162
  • πŸ“ d43b0ee Mask the version badge in two visual snapshots β€” I made them fail every release
  • πŸ”§ 0c79ab3 chore: staging candidate 3.0.161
  • πŸ“ 06fc6cb Three D1 databases, production data copied, migrations wired into the deploy
  • πŸ“ 933434a A global *.sql ignore has been keeping the schema out of the repo
  • πŸ“ 5abf6ac Move the database to Cloudflare D1
  • πŸ”§ 4e5f079 chore: staging candidate 3.0.160
  • πŸ“ f1d5337 Sidebar projects show their real favicon, because their names are domains
  • πŸ”§ 82c1b2b chore: staging candidate 3.0.159
  • πŸ“ 55b4348 Restore the ability to start a dev server β€” I removed the only control
  • πŸ”§ a66712b chore: staging candidate 3.0.158
  • πŸ“ 276ac25 Architecture becomes the planning centre; diagrams stop hiding the documents
  • πŸ”§ a16a7d1 chore: staging candidate 3.0.157
  • πŸ“ 1e01f4f The dev link was pointing at a tailnet address, and the planning meeting was fake
  • πŸ“ 2fe9019 Record the BDD baseline at 50
  • πŸ”§ dac25e7 chore: staging candidate 3.0.156
  • πŸ“ 07f0718 Hold the email scenarios out of the run, and make the exclusion cost what it hides
  • πŸ”§ 9dbfc51 chore: staging candidate 3.0.155
  • πŸ“ e7ad10d Swap email to ZeptoMail, and fix the secrets list that could never configure one
  • πŸ”§ 9967b6d chore: staging candidate 3.0.154
  • πŸ“ b439639 Pass the credentials we actually have; I never checked before claiming we didn’t
  • πŸ”§ 5b60bf8 chore: staging candidate 3.0.153
  • πŸ“ 1a2e079 Pushing main is not shipping, and now it says so
  • πŸ”§ a214745 chore: staging candidate 3.0.152
  • πŸ“ f74a2e9 The version badge showed a number nobody bumps
  • πŸ”§ 0db724a chore: staging candidate 3.0.151
  • πŸ”§ eacef4a chore: ignore BDD run output
  • πŸ“ bc34a72 POST /api/tasks crashed on bad input instead of rejecting it
  • πŸ“ 1485fed Write the missing arrangement steps: 62 scenarios passing -> 99
  • πŸ“ 064b2e4 Record the BDD baseline at 77
  • πŸ“ b9393ca Wire the BDD suite into the gate, and make it runnable with one command
  • πŸ“ 1404036 A second step was still forging auth tokens, so eight scenarios 401’d
  • πŸ“ bdf089a tasks.blocked_by existed in the ORM and in no migration, so task creation 500’d
  • πŸ“ 47a1d34 A fresh database could not be built, and said it was current anyway
  • πŸ“ 89fa338 Make the BDD suite actually run: it had never executed a single step
  • πŸ“ 678dde4 test(bdd): the dev preview finally has a behavioural requirement
  • πŸ“ ed12ca8 fix(dev-preview): carry path + runtime port detection onto this branch
  • πŸ“ 8029a5e fix(dev-preview): learn the port from the dev server instead of only guessing it
  • πŸ“ e8fe33a fix(dev-preview): follow delegation by PATH as well as by workspace name
  • πŸ”§ df1815b chore: staging candidate 3.0.150
  • πŸ“ c1acdf8 fix(preview): point the UI at the relay, which is why nothing looked like it worked
  • πŸ”§ cdf0948 chore: staging candidate 3.0.149
  • πŸ“ 5e51cff fix(relay): re-open the preview socket from the sweep, so a daemon restart heals
  • πŸ“ faa9f10 feat(relay): carry the persistent preview socket onto this branch
  • πŸ”§ 71a4db3 chore: staging candidate 3.0.148
  • πŸ“ 7e36448 feat(relay): the box holds its own preview socket, so a preview works between tasks

2026-09-12

  • πŸ”§ eb0288c chore: staging candidate 3.0.147
  • πŸ“ b8a857e fix(api): dev-token endpoints called logAudit with the wrong arguments, and 500’d every time
  • πŸ“ cc24127 feat(relay): carry the http_req answer onto this branch
  • πŸ”§ eb8a610 chore: staging candidate 3.0.146
  • πŸ“ 0d82ce7 feat(relay): answer http_req on the pipe that already exists, and give it an origin
  • πŸ”§ c38cd56 chore: staging candidate 3.0.145
  • πŸ“ cbf28c6 fix(e2e): scope the releases assertion past the nav’s version badge
  • πŸ”§ 9d17f9a chore: staging candidate 3.0.144
  • πŸ“ 181bc12 fix(e2e): /releases could never have a stable pixel baseline
  • πŸ”§ d239f6c chore: staging candidate 3.0.143
  • πŸ“ d651666 fix(e2e): theme tests pointed at an element the page does not have; commit baselines
  • πŸ”§ 17df61e chore: staging candidate 3.0.142
  • πŸ“ f13ee40 fix(e2e): the deploy gate was red on 13 rotted tests, not on broken product

Weekly Summary

  • 2026-W38: 87 commits (56 other, 8 docs, 23 chore)
  • 2026-W37: 13 commits (6 chore, 7 other)

Monthly Summary

  • 2026-09: 100 commits