Release History

Current version: 3.0.176

FeatureFixPerformanceDocsRefactorTestsChoreOther

v3.26.4September 20, 2026

refactor
(stages) cost and distribution to their own modules
aaaa4db6
fix
(stages) archiving a ticket's attempts erased their cost from the waste figure
83fc6452

v3.26.3September 20, 2026+1 internal

fix
(audit) a no-op's cost was reported as the ticket's lifetime spend
c77cb609
refactor
(dispatch) priorFailureOf is module-private, as its only caller is here
ddabd3c9

v3.26.2September 20, 2026

fix
(telemetry) testSeconds charged log-reading to running tests, and the prompt quoted it
8756b1f4

v3.26.1September 20, 2026

fix
(telemetry) I optimised for "orientation" twice without checking that is what these were
3d2a8dab

v3.26.0September 20, 2026+1 internal

feat
(agents) hand the map's answer over, instead of telling them where to ask
cc942501
refactor
(connect) the dispatch reads as a chain, and one rule is tested once
933f27d2

v3.25.1September 20, 2026

fix
(map) one entry point, so there is nothing to study
44b7f466

v3.25.0September 20, 2026

feat
(api) /api/tickets — the derived facts, in the one place that derives them
c8ab9d32

v3.24.0September 20, 2026

feat
(telemetry) which stage spent the tokens, not just how long it took
14ee2125
fix
(agents) the map is a queryable index and the prompt told them to read it whole
c8672e5d

v3.23.0September 20, 2026+1 internal

feat
(stats) /api/stats answers "is this pipeline wasting effort", in one call
b459d65f
fix
(telemetry) the map-usage counter watched a file the prompt never sends agents to
6263bd39

v3.22.3September 20, 2026

fix
(queue) a finished ticket held the only slot and the pipeline stopped silently
3077fc43
fix
(visual) regenerate the baselines the navbar fixes made stale
9c60ec62

v3.22.2September 20, 2026

fix
(runner) a ticket verified live in production could never be marked completed
7e445c4a

v3.22.1September 20, 2026

fix
(deployed) the sweep looked for one key and the ticket could only have the other
e6c34013
fix
(runner) a landed ticket was handed to an agent and had its whole history erased
3f26e2dd
fix
(dispatch) a ticket recorded THAT it committed, never WHICH commit
f354dce2

v3.22.0September 20, 2026+11 internal

fix
(deploy) detecting the drift changed nothing until the guard agreed with it
86fbbb23
fix
(deploy) trunk ran 60 commits ahead of production and nothing noticed
ddf69e95
perf
(runner) a ticket that had already coded re-coded from scratch to reach merge
ef18e14c
fix
(brief) a daemon nobody started is not a fault
58fc2658
fix
(audit) "stopped with no reason recorded" on a ticket that recorded one
8d965078
fix
(audit) a reason written by hand is invisible to the guard that checks reasons
811e0372
fix
(runner) "project a53dd66f is run state running" was not a reason anybody could act on
140fb409
fix
(brief) "1 ready · 0 in flight" said nothing about why nothing started
738946c0
fix
(runner) the dashboard's pause button did nothing to the process doing the work
4dfa644c
refactor
(task) extract closeSuperseded, which pushed runner.mjs past 500 lines
d145542e
fix
(pipeline) seven tickets whose work had already shipped could never be closed
68473452
fix
(stages) "50 unproven" with no way to ask what they failed to prove
93eec3b6
fix
(gate) a count that saw MORE routes was being reported as decay
2bedbdea
fix
(gate) an unreachable signed-in surface was scored as a verdict on the code
05512f64
feat
(elegance) raw SQL bypassed the column check, including the secrets tables
47840bb1
feat
(elegance) catch code that writes a column no schema declares — it found five
5ff8d195
fix
(audit) the no-op fix I shipped three hours ago never fired
aafe6381
fix
(stages) a ticket that completed without changing code was counted as having died
b564412d
fix
(stages) the report printed two different "agent call" counts
abf8d6d4
fix
(stages) "queued before anything touched it" was false for requeued tickets
56bacdaa
feat
(stages) a ticket is worked for 19 minutes and queued for 23 hours, and the report never said so
b14b68b3
fix
(verify-release) --api with no value silently verified PRODUCTION
c55e01d8
fix
(critical-path) --cwd with no value measured the main checkout instead of the worktree
b74f9ddc
fix
(mint-token) a flag given with no value silently widened the token's scope
dd517c3a
fix
(refactor) a ticket's cleanup pass was marking landed commits red
808bffd6
fix
(merge) an unmeasurable candidate cost a whole ticket, not a suite run
2b477b23
fix
(refactor) two refactors in three were discarded on a run that measured nothing
ceb06ba0
fix
(refactor) an unmeasurable suite was recorded as the refactor breaking the suite
8afc4bad
refactor
(reasons) one suiteVerdict, used by both stages that compose one
2fc21566
fix
(refactor) the revert reason buried its verdict under 1,500 characters of warnings
139807cd
fix
(migrations) every input that was not exactly --staging meant PRODUCTION
5bc7519f
fix
(hooks) installing over a broken settings.json replaced it and reported success
6374facc
fix
(sync) "not found" was retried every tick, which is the same waste one level down
a0fef32e
fix
(run) quieting the sync took the board's freshness heartbeat with it
e94641f1
perf
(sync) the board sync re-sent all 100 tickets every minute, for ever
8306f852
fix
(elegance) a table written through a helper read as "never written at all"
6e6b4370
fix
(elegance) one block copied into nine files counted as thirty-six findings
cc8839e2
fix
(security) four permanent criticals were placeholders with high character diversity
bea31da1
fix
(merge) a landed branch was kept for ever, and 222 of them had accumulated
204addfb
fix
(daemon) the devserver relay dialled a path the API has never served
a2dd2694
fix
(status) a displaced request is open work, and the diagnostic counted it as done
70fddcfa
fix
(e2e-repair) a run that deduped against nothing reported success like any other
5becb40a
fix
(e2e-repair) the same cause filed twice in one run, because the guard never saw its own work
76e26f46
fix
(runner) a ticket killed three times the same way was parked as three failures
280b6109
feat
(stages) the shell-orientation share now carries its cost
32366511
fix
(audit) an agent that found nothing to change was filed as a ticket nobody attempted
61dcc02c
fix
(brief) a single dropped request was reported as a production outage
a45981e0
feat
(stages) a quarter of agent calls were killed at the budget and the report hid it
047561e9
fix
(select) a ticket consolidated into finished work still blocked everything behind it
7ded8e14
fix
(select) a ticket blocked behind a stalled ticket read as the one ready ticket
299f9862
fix
(brief) "5 ready" when four of the five could never be dispatched
3519e2c7
fix
(bdd) a slash in a step's text is alternation, so three steps could not match
3d22f689

v3.21.1September 19, 2026+3 internal

fix
(bdd) the worker liveness steps asserted a rule the API does not have
b461bf1d
fix
(e2e) an empty browser cache stops the suite at the top, not 447 tests in
036cdd4b
refactor
(bdd) delete 145 lines of step definitions that could never run
fae7e4d2
fix
(bdd) 33 step definitions are regexes of a cucumber expression, and match nothing
d561c3bf
refactor
(hub) one breakpoint block for the rail, not three rules undoing each other
2ec9860d
fix
(sync) two tickets the board never had were reported as failures, every tick
7a3d908f
fix
(runner) a landing stopped the queue for the length of a deploy
14c82b99
fix
(bdd) the only red left is a real defect
3aeab200

v3.21.0September 19, 2026+1 internal

fix
(security) the auditor's own test file was reporting itself, ten times
a938f189
fix
(bdd) four steps treated assigning a fixture as logging in
aac3408c
fix
(bdd) the public kanban board was asked for at two URLs it has never had
413d6496
fix
(bdd) the device-flow poll asked for a path that has never existed
d201792e
fix
(bdd) the project-limit guard could not be tested, so it never was
51ad03d6
fix
(bdd) a When that recognised four labels and silently did nothing for the rest
b653571c
fix
(bdd) three tasks were added and one was counted, because the list was clobbered
a3774ab0
fix
(bdd) a scenario whose Givens arranged nothing, and a Then that always passed
ae4c44d0
fix
(tasks) PATCH assigned a foreign key without checking it, and answered 500
ccbfdd56
fix
(security) four critical findings that nobody could act on now say where
562d9300
fix
(ui-audit) fifteen components were reported as raw markup, and none of them were
328150e6
fix
(prompt) tell the retry which tool ate the budget, not just how many calls it made
ad0e6e12
feat
(merge) the one stage with no row in "where the time goes"
96434898
fix
(test) two tests encoded opposite expectations, and one passed by luck
ad98efca
feat
(store) record what a run touched, so the next one is not guessing
3dba5618
fix
(prompt) name the ticket's test on a retry, from what the last run observed
3613aa2b
fix
(prompt) "run only the test file this ticket is about" never said which one
7756d6ef
feat
(map) a digest the agent can actually read, because the map was unreadable
5abffe31
fix
(status) a healthy hostname was reported as "cannot determine" on every run
06eb81a1
fix
(status) the npm check asked about a package that cannot exist
690d8ef9

v3.20.1September 19, 2026

fix
(runner) a publish at startup stopped every dispatch for the length of a deploy
975177e7
fix
(brief) "BOARD STALE — last reported 197m ago" was off by two and a half hours
6a36bdc2
fix
(critical-path) count the executable, never the mention
95f12a4c

v3.20.0September 19, 2026

feat
(critical-path) say what else the box was doing, on every failure
dd5a9853
fix
(e2e) widening half a race is not fixing it
c782f25e
fix
(runner) tell the board a ticket started when it starts, not when the tick ends
1a2363ce
fix
(test) a unit test about call ORDER was scanning /proc and spawning git
8547776a
fix
(runner) name the tickets the board refused, and why
4973fbcb
fix
(runner) a noop that does not say why is the ambiguity that cost twenty tickets
23532c1b

v3.19.0September 19, 2026+3 internal

fix
(stages) a ticket the runner is about to pick up has not died either
5c540dcd
refactor
(connect) the redeem endpoint restated what the mint already knows
59e14927
fix
(gate) a commit made in the same invocation is a commit the gate never saw
5a1490b9
fix
(revive) never resurrect a ticket the pipeline already escalated
74b05e36
feat
(stats) serve the whole stage analysis at /api/stages
afccbcc0
fix
(telemetry) an agent killed at its budget threw away the account of how it spent it
20789234
fix
(e2e) two more push-gate tests raced the same client round trip
0c692686
fix
(stages) a held ticket did not die, and it is not reasonless
7850e6a8
fix
(revive) a merge conflict is trunk moving, not the work being wrong
65daec6e
fix
(bdd) two scenarios asserted a board vocabulary that was deleted on purpose
bcb22e1d
fix
(telemetry) the tool timings were measured and then dropped at the merge
6dfbe3ca
fix
(e2e) the push gate had a flaky test in it
37c9190e
fix
(gate) say once that the authenticated surface is not being measured
584c0c4d
feat
(audit) name the tickets that shipped with nothing showing they work
a1dd891f
fix
(stages) report the reason that belongs to the stage a ticket stopped at
e27d7ba3
fix
(prove-it-live) a question that never arrived is not a mechanism observed absent
8d8f9074
fix
(bdd) the suite crashed on a missing lsof, and the gate called it an improvement
1163993f

v3.18.0September 19, 2026+1 internal

feat
(api) a pairing code you can hand over once, and a table that cannot hand it back
0bba292a

v3.17.0September 19, 2026+1 internal

refactor
(runner) lift the revival into task/revive.mjs
2df92a33
fix
(runner) a revival must not override a deliberate hold
c01c6357
fix
(gate) the lighthouse reader and the lighthouse audit disagreed for eight days
795525fb
fix
(runner) one test held a box-wide socket, and the gate failed on it half the time
4c16685b
fix
(pipeline) three dead ends that killed tickets which had done all their work
da6d5ac0
fix
(web) a page has one API, and the rule that says which was written in two places
5b03ac5b
feat
(runner) nothing was counting what a whole ticket costs
b86a7d47
fix
(stages) the report was about to repeat my own arithmetic mistake
9b02d897
fix
(telemetry,security) a ticket is three agent calls, and an outage is not a finding
0a0ce892
fix
(retry) telling an agent it ran out of time does not help it go faster
b87d1fc5
fix
(queue) the board said "8 ready" while nothing could run at all
3042c4e6
fix
(telemetry) the endpoint was written into a process that is not running
8517a2b8
feat
(telemetry) the pipeline is now readable over HTTP
7b003a89
feat
(telemetry) step durations as rows, so efficiency is one query
7ad0343c
feat
(telemetry) how the coder spends its calls, and how much it tests
a6cc9f08
feat
(telemetry) every pipeline event into the database, queryable
70a0b457
perf
(agents) the map was never given to them, and nothing said how to run tests
cc7e4225

v3.16.0September 19, 2026+1 internal

feat
(runner) a failed ticket goes round again instead of dying
f52f608e
feat
(fleet) one sweep says which projects serve their deployed commit
09bd5265
fix
(stages) the report contradicted the gate it was describing
270e3b2e
fix
(stages) the report called 44 shipped tickets dead
6b1dc14c

v3.15.0September 19, 2026+1 internal

feat
(responsive) the hub is checked at the four widths, by one overflow walk
4e1978fb
feat
(stages) a re-run used to erase the attempt before it
b51f3cfe
fix
(redgreen) the stage that kills two thirds of tickets recorded no inputs
8d775725
feat
(stages) where tickets die and where the time goes — and a re-run can push again
76e3e781

v3.14.2September 19, 2026

fix
(ui) the nav badge sat on the last link, and the board laid out a track nothing filled
80759b49

v3.14.1September 19, 2026+2 internal

fix
(stop-hook) the refusal was telling task agents to do the one forbidden thing
98dfe92c
refactor
(cli-mount-work-test) a comment that was not true, and one show() instead of five
0519564b
refactor
(github-pr-tests) one GitHub fetch helper, not two copies of it
c320fd1f

v3.14.0September 19, 2026+1 internal

fix
(deploy) a restart sat on work that was already on trunk
0f5e697f
fix
(deploy) the pipeline could not publish its own landings
a4a14716
fix
(visual) the sweep could take fifteen minutes and still report a pass
84bcf427
fix
(critical-path) the lock I shipped an hour ago locked nothing
df1df5ea
feat
(critical-path) one run at a time, and it fails open by design
f8622455
fix
(critical-path) two runs fight over the port and the loser is told nothing
c49e4a89
fix
(deploy) the pipeline published to production and recorded it as a failure
1c8d194a

v3.13.0September 19, 2026+1 internal

feat
(brief) nobody was watching the CLI, and it is six months stale
eff68c5b
fix
(deploy) the pipeline could not publish while I had uncommitted work
7c1c0f70
fix
(deploy) a failed publish stranded the work on trunk for ever
b6d1db3d
fix
(deploy) the board said a ticket was not live for 12 minutes after it went live
ea937f7f
fix
(release) the surface the navbar reads is verified like the other two
045a5888
fix
(ship) a failed deploy recorded npm's banner as the reason it failed
84c3e391

v3.12.0September 19, 2026+3 internal

feat
(quality) a box that comes back up no longer keeps the last session's browsers
5cb64a5a
fix
(agents) every pipeline agent was holding the box owner's Gmail
0e34a1dc
feat
(dispatch) a ticket that asks a question now keeps the answer
38d63134
fix
(dispatch) the one step that ran an agent and was never timed
e0b37005
fix
(select) a review hold was advisory, so the queue kept re-running decided work
203ac627
fix
(executor) the first diagnostic timeout named the least useful event in the stream
262e0f5b
fix
(harness) an agent found a JSON race in our setup, so I fixed it
6ead0a17
fix
(deploy-sweep) "why isn't my ticket live?" was the one question the board could not answer
e817ac03
fix
(runner) the other failed branch — a ticket that could not LAND left no reason either
2822bb7e
fix
(runner) a ticket that changed nothing said nothing about why
3d7ae351
fix
(deploy) "filed 0 repair ticket(s)" next to "with the repairs queued"
fedb3c77
fix
(agents) the 15 minute budget was killing tickets for doing their job
19f72666
fix
(dispatch) step timings were thrown away by every ticket that went wrong
cccf96cb

v3.11.0September 18, 2026+1 internal

fix
(deploy) a commit landing on main during a deploy broke that deploy
b4a80e4f
fix
(runner) a failed ticket's reason lived only in a log line that scrolls away
6289b5a2
feat
(chat) a highlighted element now rides along on the message — and a ReferenceError I shipped
ab3f757f
fix
(executor) a timeout that could not tell a long test suite from a hung command
c1de90fb
fix
(board) the check I shipped an hour ago cried wolf on six of its first eight findings
b45a95db
fix
(noise,lifecycle) two small things that each made the pipeline harder to read
8b5a7301
fix
(redgreen) a ticket was blocked for vitest not being able to run Playwright
6fe8aed1
feat
(board) the board can now say when it is lying about itself
be2f47b0
fix
(agents) an agent outlived its runner and edited a worktree that no longer existed
6677357a
feat
(preview) point at the bug instead of describing it
a9196d1f
fix
(critical-path) the other way a dev server goes stale, which cost two red runs today
820b55a0
feat
(preview) the previewed page now answers the dashboard's "what is at this point?"
da55487f
fix
(evidence) a reason from three attempts ago read exactly like this attempt's
f97f24e0
fix
(gate) the machine's identity changed depending on which directory you were in
76460a5d
fix
(executor) one agent writing binary to stdout produced an 814KB ticket log
278f7bab
fix
(daemon) "restart" cannot create, so every deploy died on a stack trace
0ccafeea
fix
(gate) the shell was read as the push's arguments, and a red sha reached main
44d27065

v3.10.1September 18, 2026

fix
(navbar) a ReferenceError was being swallowed into showing Sign In to signed-in users
8bb90c19
docs
(herdr) remove it where it reads as current, keep it where it is the record
81ef8a30

v3.10.0September 18, 2026

feat
(scope) a ticket may not re-take the evidence it is judged against
790ca066
fix
(navbar) links back on the right, and a real session is discoverable again
dcac1333
feat
(pipeline) run the quality gate before landing, not just the tests
2d7f8ebe
feat
(pipeline) deploy is part of the workflow, so completed means published
f5e5c834
fix
(board) the dashboard drew a vocabulary nothing writes, so it showed an empty board
725abc9d

v3.9.0September 18, 2026+79 internal

feat
(hooks) xswarm's hooks belong to the project, not to the machine
47a07b89
fix
(agent) nothing bounded an agent run, and one `tail -f` stopped the pipeline for 41 minutes
3682a7ab
feat
(dispatch) measure where a ticket's 20 minutes actually goes
37e0594f
fix
(pipeline) one killed runner wedged the queue for ever
83cd9a56
fix
(observe) a config is not a test, and calling it one blocked four good tickets
9b421b77
feat
(brief) the orientation command knew nothing about the thing doing the work
23e9b5d5
fix
(pipeline) the board was never told, so a night of work was invisible
2965492b
feat
(api) agents can read held territory before they open a worktree
ceeeafe1
refactor
(api) the claim counts in-flight tickets from one subquery, not two
9ee1a4c6
refactor
(e2e) the console recorder keeps less state and reads each file once
a1da6e3d
feat
(daemon) the worker asks the scheduler what is next, not pending[0]
367f1ca4
fix
(dashboard) the console errors on /dashboard/live, and the empty grid nobody logged
bd36021b
feat
(tasks) a claim says which files it takes, and the second one reaching in is refused
0ee44411
fix
(tasks) a claimed ticket could stop existing, and nothing anywhere said so
8e8f01bd
fix
(agent) an API key was leaking into every agent, and killing it in two seconds
fc98d6c9
fix
(dispatch) a ticket nobody looked at was being filed as done
dbcc8a33
fix
(stages) the merge gate would have blocked every non-code ticket for ever
621a9aac
feat
(stages) the stages gate the merge now, and every refusal says why
9ca6bf69
fix
(test) give the browser launch one retry, because launching is setup not the claim
0a077062
fix
(test) browser-lifecycle raced its own readiness signal, and blocked the gate twice
56ca6fa7
fix
(stages) the red/green reason said THAT, never WHY — and 45 tickets prove it
c0bd59c9
feat
(gate) the critical path names which specs failed, not just how many
7e6510b3
feat
(scripts) inventory the fleet projects that can hit the SSR optimizeDeps stall
374fb51b
fix
(daemon) every task line names the ticket and the step that died
05f5d379
fix
(releases) fetch the tags the build needs, so the changelog stops going stale
ad0c4f99
fix
(web) the blog card renders as a surface, on the day it was published
03163537
docs
(decisions) the blog card stops being a 1px outline with dead space in it
dd29c5e8
fix
(navbar) three anchored zones, so a label edit stops moving the whole bar
1a3868d3
docs
(decisions) the navbar's geometry stops being derived from its label text
ca93af87
feat
(visual) reproduce the snapshot failures on purpose and keep the pictures
0d597663
refactor
(usage) hoist the created_at stamp, drop the duplicated incident prose
1366ff6f
refactor
(daemon) one fresh set of readings per sample, not eight mutations
92b3b8c2
feat
(release) the repo can prove a push to `production` still ships
e8bcb223
refactor
(release) a push to a branch is the only way the workers ship
a141b515
feat
(install) git is configured before the install touches a repository
c3275490
refactor
(quality) the ledger answers "is this pid gone" once
830c95f4
fix
(quality) a browser an audit launched cannot outlive the audit
f87fbbff
feat
(pipeline) UI tickets get their appearance decided before anyone writes code
5a4f6153
feat
(reap) the janitor was wired to nothing, and looking at a ninth of the machine
0c26f3ae
fix
(gate) the integrator role existed but could not be assumed
0ed0cece
fix
(executor) the agent never ran because nobody owned stdin
56ddaab6
refactor
(reap) two modules for one job, reduced to one
ab832a5b
fix
(triage) the deduper keyed on prose, so a model rewording a title refiled the work
8e005f48
fix
(gate) a generated index older than what it indexes, caught rather than endured
f16e37fd
refactor
(releases) one invariant deserves one guard and one describe block
12cc2976
fix
(gate) the push gate was reporting green with a quarter of its suite unmeasured
b906cbeb
feat
(design) a style guide, the tokens it needs, and an audit that enforces it
aa56bfb6
fix
(elegance) three exports of mine that nothing imported
f534e8bb
feat
(chrome) a debuggable browser an agent can look through, and its leftover tabs
4078ab7c
fix
(e2e) a baseline is a photograph of one build, not a measurement of any
01b40652
feat
(reap) abandoned tooling browsers, identified by profile rather than by guess
50e3a1e3
feat
(cli) xswarm reap, and a correction to what I blamed for the red candidates
46684e40
fix
(pipeline) stop accumulating processes, and stop over-subscribing memory
7d4e351c
fix
(queue) a candidate that could not be measured is not a red candidate
11661066
fix
(gate) correct my own explanation of the cold-tree note
496f4633
fix
(e2e) treat the headless shell as part of the engine, guard every entry point
96fcbd1c
fix
(deploy) one D1 migration path, named by binding and environment
ca963f9c
feat
(connect) a pairing code is spent by the machine it pairs
f0e66ba1
feat
(connect) username-prefixed rotating pairing codes
0bf163ed
feat
(deploy) roll back to the last verified-good deployment on failed verification
8ca9240f
refactor
(app) one place writes the git credential helper's result
ee7f7881
fix
(gate) a cold-cache failure was blaming the change under test
fc720769
feat
(api) workers get a git credential that dies within the hour
4307b20a
feat
(dispatch) record what the refactor pass touched, so the next case is data
69832fd3
feat
(visual) the sweep now says how long it took, and which route took it
fc42c95e
feat
(deploy) the visual snapshot ticket says what broke, not how many routes broke
51a60a6c
fix
(hooks) the worktree rules were reading the wrong directory, so they never fired
075b96df
feat
(daemon) the scheduling tick consults persisted run state before claiming
6ca25f26
fix
(gate) warming the first hop warmed the half that was never the problem
40d6ffe2
fix
(gate) blocking the agent's push was not enough
b710f48f
fix
(e2e) the browsers the suite needs are now installed by something
d9f5b739
fix
(gate) the prompt said do not push; nothing made that true
dee201c2
fix
(deploy) every wrangler environment declares its own routes; none inherits
ea628d5f
fix
(worktree) the same server leak, one layer down, on the path every ticket takes
4f43a8a0
fix
(queue) a discarded candidate left its dev server holding the port
2931412c
fix
(gate) the critical path had never once run against a cold server
dca3cef5
fix
(gate) a kill is not a close, and the first candidate proved it
22d3388a
fix
(gate) e2ePassed has been certifying a tree nobody tested
6f6bce40
fix
(observe) red/green was reverting to the wrong baseline
8fd9ba1a
fix
(runner) going round had no bound, and I put it there this evening
80f3ad6a
feat
(deploy) the stamps agreed while every page served [object Object]
e40fb0f0
perf
(refactor) the cleanup agent had to find the work before it could do it
a4b3b83a
feat
(sync) the board and the pipeline had never been introduced
352abbf9
feat
(cli) `task show` says what a ticket still owes, not only where it is
d72b1fa5
fix
(pipeline) the first real ticket could not have landed, and neither could any other
30f1bccf
feat
(cli) mount `xswarm work` so a session can declare its ticket
0d496c0c
feat
(cli) the pipeline was mounted on nothing
c4838a0e
feat
(stages) build Deployed — the last stage, and it asks an existing question
efacddd3
refactor
(task) hold this session's own new code to the standard
4ca71424
feat
(stages) build the merge queue — the last stage with no machinery
8ea5c895
fix
(gate) the pipeline was the one component pushing untested code
b200c0bf
feat
(stages) build the Refactoring stage, which had no machinery at all
f7a663fe
fix
(status) two live conditions still spoke the deleted board vocabulary
cf493c84
feat
(stages) red and green are observed now, not taken on the agent's word
d9d4c6a9
fix
(stages) nothing wrote the evidence, so no ticket could ever leave Coding
ec1fc75e
fix
(e2e) a dev server older than node_modules produced 9 red tests that were not real
7bf5fc00
fix
(e2e) a missing system library is UNMEASURED, not 447 failing tests
55ba72f7
fix
(visual) mask the version badge — it invalidated every baseline on every deploy
8d54b2a3
fix
(identity) one value, one name — /auth/me stops renaming github_username
99a83583
feat
(workers) the card now says what the machine is, and stops drawing live meters over silence
2ceb01f5
fix
(sidebar) collapsing the menu hid every project, which was the complaint
d79eebaf
fix
(gate) the push gate carried its own port, and disagreed with the dev server
bb58858f
feat
(watchdog) detect sessions that went silent without stopping
bf7d96c9
fix
(task) an agent that commits its own work was read as having done nothing
119271a5
feat
(cli) xswarm run — and the pipeline carried its first task
7de26cb0
feat
(log) a task's start and failure lines now name the ticket
dde5d1a6

v3.8.0September 15, 2026+1 internal

fix
(stopping-rule) a refusal must be observed, and survive a search for a way round
9952206d
fix
(releases) the Release History page had no history
d45eb971
docs
(harness) two traps that cost an hour tonight
fa1a6a5d
fix
(deploy) the staging check had its own copy of the sha comparison
14607ddc
fix
(web) the merged API must proxy until this worker has the secrets
e0fc8ad5
fix
(deploy) a successful deploy was reporting UNMEASURED
7d3a0f1e
fix
(web) the merged /api/* handler threw on every request
3dc3fe2b
fix
(web) I broke `astro dev` for the whole repo, and shipped 550KB of dead weight
85572883
fix
(watchdog) one block was disarming the guard for the rest of the session
69de2aef
fix
(web) TerminalView rejected when its container had gone
2a2c853a
fix
(web) /dashboard/live asked for previews nobody had opened
8fb662ad
feat
(cli) xswarm task — add, list, show over the local store
142aea15
feat
(task) the loop runs end to end — a task becomes a branch on a remote
fb4c3376
feat
(task) tell the agent the stopping rule before it starts, not after it stops
219cccd4
fix
(watchdog) a clean tree is not evidence the job is done
7027e8de
feat
(cli) xswarm work — the write side the watchdog never had
0c3a099c
feat
(task) dispatch a task to a real worktree, and three bugs it found
79b43a4c
feat
(task) the runner tick, and a canary pen that proves it
1eea3966
feat
(cli) shared json envelope for CLI commands
aaae1f70
feat
(task) the framework core — task object, lifecycle, selection, watchdog
4452da84
feat
(task) express the development lifecycle as data
55344977
feat
(map) index .ts, .astro and .svelte — 211 files to 340
abc82b0b
feat
(map) repository map — 0016, built because "not worth digging" was the symptom
bae56d9f
fix
(web) declare ExecutionContext properly instead of casting past it
86447ea0
refactor
(web) serve /api/* in the web worker, not a second one
924b9cb3
refactor
(stages) E2E is part of coding, not a stage after merging
312fa31e
fix
(daemon) the memory ceiling was on one start path, not both (P0.3)
ff56237a
fix
(daemon) enforce the agent cap where processes are spawned (P0.1, P0.2)
50ede299
fix
(quality) three gate regressions, one of them a check that was wrong
12ac5583
docs
the pipeline repair plan — work on the box, fix the first failing step, never work around it
5f9dee87
fix
(scheduler) the cap is on concurrency, not on batch size
98f8e276

v3.7.2September 14, 2026

fix
(trace) the instrument was writing fixtures into the real log
3b4d2605

v3.7.1September 14, 2026

fix
(executor) the model CLI was invoked malformed, so no agent ever ran
d113cca9
fix
(executor) the CLI refused every invocation for want of --verbose
c8116314

v3.7.0September 14, 2026

feat
(planner) a filed request becomes tickets, with no human in the path
35765799

v3.6.3September 14, 2026

fix
(deploy) let the two workers converge before judging a half-deploy
c2d09378

v3.6.2September 14, 2026

fix
(deploy) wait for the daemon to come back before proving it
c85adc29

v3.6.1September 14, 2026

fix
(scheduler) maxParallel is enforced by a caller, not merely defined
b5fe26c8

v3.6.0September 14, 2026

feat
(prove-it-live) every mechanism must be observed ACTING, or the deploy fails
d55ca534

v3.5.2September 14, 2026

fix
(daemon) guard the path that actually executes tasks
ef8112e1

v3.5.1September 14, 2026

fix
(daemon) a stale daemon refuses work instead of warning about it
bdca8bdc

v3.5.0September 14, 2026

feat
(watchdog) wire the Stop hook, so ending a turn with work outstanding is noticed
85a927e3

v3.4.0September 14, 2026

feat
(brief) orient in 0.3s and 282 bytes instead of 6s and 3.9KB
938422f1
docs
(harness) one document a session reads instead of re-deriving the pipeline
d898bd5b

v3.3.1September 14, 2026

fix
(reports) expanded detail reads documents.body, not .content
42d493ed

v3.3.0September 14, 2026

feat
(reports) each report summarises its findings on the line, expands in place, prints to PDF
f648d36c
fix
(daemon) stop pushing empty branches, and make the running sha observable
e30c9a37

v3.2.4September 14, 2026+1 internal

fix
(release) a deploy that mints nothing still reports the release it carries
e6bbab59

v3.2.3September 14, 2026

fix
(deploy) verify BOTH workers, and never substitute a stale number for a missing release
28657b58

v3.2.2September 14, 2026

fix
(web) the release reaches the surfaces Chad actually looks at
94d00ba0

v3.2.1September 14, 2026

fix
(health) report the release, not the build stamp that cannot know it
41969c37

v3.2.0September 14, 2026+1 internal

feat
(release) resolve the displayed version from the deployed sha, at read time
100e2568

v3.1.0September 14, 2026+76 internal

fix
(deploy) the --project filter was being swallowed by a nested npm run
15363b87
fix
(deploy) run the engines this box has, and record the rest as not_run
a9a28b18
fix
(e2e) a repair ticket belongs to a project, or it can never be planned
1812c5a3
docs
correct the DNS item — that was our own sandbox, not an external refusal
75e1f1a4
feat
(critical-path) the push gate's suite, with a budget that fails rather than warns
cf8ef2fa
feat
(gate) nothing leaves a worktree without a green critical-path run for that exact sha
99f35b8b
feat
(preview) a dev server per worktree, on localhost, for the push gate to test against
19a6235f
feat
(run-control) pause and resume a project's work engine, persisted
6c42bfeb
docs
handover — state, what shipped, and the traps that cost time
3d10435d
docs
the workflow implementation plan agreed 2026-09-14
41acafd0
fix
(e2e) a suite that could not run must block, not pass
784481f5
feat
(scheduler) selectNextBatch — a pure answer to "what should be picked up now"
3c519e2f
feat
(board) one stage vocabulary, and a board that shows work instead of an inbox
83a8e04f
fix
(e2e) name a repair ticket by its cause, not by raw terminal output
40283149
feat
(release) a version names code that reached production, minted after it gets there
9160ee1e
fix
(version) one source, derived at read time — delete the copies
5f8f42dd
fix
(pipeline) define the E2E report path the triage reads
6daca005
fix
(pipeline) a failing E2E files repair tickets and continues, instead of halting
cbd22c22
fix
(web) do not downgrade an already-converted wss: to ws:
012911fb
fix
(web) relay sockets follow the environment instead of hardcoding production
6d128aab
fix
(daemon) the coordinator polled a path that does not exist
e0b606ef
fix
(coordinator) give the chat queue a consumer — this was the logjam
a5c714cb
feat
(events) publish workflow events, and ask them where work dies
176b9148
feat
(watchdog) interrogate the stop — sessions invent reasons to quit
fb8cc17f
feat
(watchdog) enforce the workflow on Stop, so the coordinator does not have to
fa91d89c
feat
(coordinator) the runtime half — poll, answer, plan, and only then mark delivered
ab707dac
feat
(coordinator) the prompt half of the consumer nobody wrote
5ed6163f
docs
0017 — planning meeting and iterative session are inverted in ordering
56464ca1
docs
0017 — iterate mode is one ticket per session, kept as the design record
1433b236
docs
0017 — coordinator answers on one thread, plans on another
4b1bd6c7
docs
the cloud layer routes, the machine plans
8101838c
docs
correct 0017 — user talks to the coordinator, never to a project session
121385f0
docs
backlog 0017 — replace herdr with the chat channel that already exists
b5c66bcf
feat
(daemon) resource reaper — a cron watchdog that reports what the fleet leaked
29ceea30
feat
(telemetry) per-stage entered/started/ended, so queue time is measurable
8df70502
feat
(pipeline) actually call the reporter from the box's heartbeat
760fc514
feat
(pipeline) the box reports .xswarm/project.yml, so CI can say source:repo
5efd1a0d
fix
(pipeline) drop the unreachable protected-branch guard from pushBranch
138eb656
feat
(pipeline) a finished ticket now reaches somebody — push the branch, record it
d7ce64c2
docs
backlog 0016 — agent-oriented repository map, with the measurement design
45107636
fix
(web) unblock the root test command — 5 type errors were hiding a whole workspace
e4ae4d47
docs
park the Team access + P2P meetings idea with its constraints
9b43a446
feat
(project) six tabs — Overview, Activity, Tickets, Plan, CI, Reports
1f50f1da
feat
(hooks) flag integrator commands that fall through to the classifier
ac14ded7
feat
(hooks) the integrator authorises its own pipeline verbs, narrowly
8f36d415
feat
(hooks) gates and routing from Claude Code events, replacing the git hook
81312093
fix
(daemon) stop the worktree cleanup destroying the agent's work
922c6682
feat
(daemon) one git worktree per task, so tickets can run in parallel
18c88c87
fix
(board) tickets reach To Do — placement was never derived from dependencies
5bd08e14
feat
(activity) one live board that fills the screen, instead of three lists
dcc10f43
feat
(requests) the planning meeting turns a request into tickets (#168 log jam)
13d37600
fix
(deploy) load the Cloudflare token, and stop blaming the schema for a missing one
3ba7c748
fix
(dev-preview) carry path + runtime port detection onto this branch
ed12ca8f
fix
(dev-preview) learn the port from the dev server instead of only guessing it
8029a5eb
fix
(dev-preview) follow delegation by PATH as well as by workspace name
e8fe33a7
fix
(preview) point the UI at the relay, which is why nothing looked like it worked
c1acdf8d
fix
(relay) re-open the preview socket from the sweep, so a daemon restart heals
5e51cff0
feat
(relay) carry the persistent preview socket onto this branch
faa9f10f
feat
(relay) the box holds its own preview socket, so a preview works between tasks
7e364487
fix
(api) dev-token endpoints called logAudit with the wrong arguments, and 500'd every time
b8a857e5
feat
(relay) carry the http_req answer onto this branch
cc241272
feat
(relay) answer http_req on the pipe that already exists, and give it an origin
0d82ce70
fix
(e2e) scope the releases assertion past the nav's version badge
cbf28c66
fix
(e2e) /releases could never have a stable pixel baseline
181bc124
fix
(e2e) theme tests pointed at an element the page does not have; commit baselines
d6516665
fix
(e2e) the deploy gate was red on 13 rotted tests, not on broken product
f13ee40c
docs
(adr) 0008 — the preview transport must assume nothing of the customer
e8b7a104
fix
(dev-preview) carry the never-called-sweep fix onto this branch
31691a30
fix
the idle sweep was never called, and three symptoms fall out of it
7ce95d6d
fix
(e2e) scope two locators that assumed a single element
71343493
fix
(a11y) the logo typewriter ignored prefers-reduced-motion
8a13dc41
fix
(e2e) the sign-in test failed on correct behaviour, and blocked every deploy
32e4cd2a
fix
(deploy) promotion was structurally impossible, and froze production
915689ad
feat
(chat) stream replies, and make the deployed build legible
847fb000
feat
(studio) one tab, dev site above, orchestrator below
2384a03f
fix
(dev-preview) carry adoption/allowedHosts/slot-reaping fixes onto this branch
02992dbb
fix
(dev-preview) three defects behind a preview that reported success falsely
db8f2eea
fix
(dev-preview) carry the workspace-port fix onto this branch
f919207c
fix
(dev-preview) follow workspace delegation when detecting the dev port
4ebba5f9
fix
(ui) three defects found by opening the page, which I had never done
c132eb43
fix
(ui) stop putting new things on top of the thing the page is for
bcf58b3e
feat
(workers) report what machine a worker actually IS, not just how busy it is
658c87e2

v3.0.136September 12, 2026+1 internal

v3.0.135September 12, 2026+1 internal

feat
(planning) the room sits beside the conversation, and the Generate button is gone
5153571c
feat
(room) the cast, the per-phase roster, and the panel that shows who has NOT spoken
535469ac
fix
(adr-0006) the dev proxy needs an origin, not a path prefix
f5bb30ca
docs
the room — Barry chairs, names encode roles, identity colour stays out of state's way
8108b268
docs
phases set the roster, and the orchestrator casts the room turn by turn
9fa54847
docs
the framework is the product — what human teams have that agents lack
b2a9f03b
docs
the simulated team is a thinking tool, not a cast of characters
ee30746d
feat
(design) command deck, and the view no other tool draws
7873b8dd
docs
the big idea — the bottleneck moved, so the grammar must change
a1bf8f95

v3.0.134September 12, 2026+1 internal

v3.0.133September 12, 2026+2 internal

docs
designs for the machine card and the architecture planning centre
a3abafee
feat
(dev-proxy) worker half of ADR 0006 -- capability token + relay-backed HTTP proxy
a9c9246c
feat
(reports) the audits were always running; nothing ever read them back
4d535eb9
feat
(activity) build the screen on work items, because the plan was never the problem
3f02fbc3

v3.0.132September 12, 2026+1 internal

fix
(sidebar) recent projects is topped up to ten, not collapsed to visit history
3e05318b

v3.0.131September 12, 2026+1 internal

feat
(nav) drop Documents from the sidebar; ADR for making the dev link real
20c326f0

v3.0.130September 12, 2026+1 internal

fix
(project) three cards said "Not deployed" while all three environments were live
30d5a8d2

v3.0.129September 12, 2026+4 internal

fix
(e2e) `npm run dev` attaches to a running dev server instead of exiting
65289623
fix
(project-logo) keep the file header on line 1; add the missing header to config.astro
319e9414

v3.0.128September 12, 2026+4 internal

fix
(e2e) the suite waited on a port the dev server never listens on
d7a7f591

v3.0.127September 12, 2026+5 internal

fix
(deploy) stamp BUILD_VERSION on web deploys, and shorten the staging note
33095475
fix
(deploy) --staging deploys xswarm-web-staging, not production (#164 item 4)
1e7ee014
fix
(project-logo) derive the icon from the production environment, not the worker name
47409ee7

v3.0.126September 12, 2026+1 internal

v3.0.125September 12, 2026+1 internal

v3.0.124September 12, 2026+1 internal

v3.0.123September 12, 2026+61 internal

feat
(chat) the popup knows which architecture document you are reading
25c3ca95
fix
(deploy) correct the staging story — deploy:web:staging ships PRODUCTION
9a5b01b2
feat
(project) the dev window and the chat, side by side — the supervisory workflow
32849f77
feat
(architecture) real diagrams for xswarm, authored in the repo
04fc7c1e
fix
(planning) bring back the planning meeting, without bringing back the tab
e13dfb16
feat
(deploy-state) give deploy state an environment, and the header all three links
53737167
fix
(architecture) read the knowledge base through DocumentReader, not a second renderer
b936ab71
feat
(project) four tabs, one tight shared header, cached so it never flashes
dcd2ae44
feat
(architecture) project knowledge base lives in the repo, reads in the tab
d33b3e66
docs
three environments and the one path between them
c0bc9d27
docs
the framework says tests run in a real browser with a real session
f3a9db57

v3.0.115September 11, 2026+2 internal

fix
(dashboard) the context gives way when the viewport cannot afford both it and the chat (#144)
21beae63

v3.0.114September 11, 2026+3 internal

feat
(daemon) the box attributes sessions to the project ids it already knows (#151)
0a504681

v3.0.113September 11, 2026+1 internal

fix
(dashboard) the avatar's alt text read the same field that does not exist
092a4a5c

v3.0.112September 11, 2026+3 internal

fix
(chat) pin the composer to the viewport, not to a box that is itself off-screen (#144)
dfa00d05

v3.0.111September 11, 2026+1 internal

fix
(rollup) match a checkout directory name against the lowercase cloud slug
64e25341

v3.0.110September 11, 2026+1 internal

fix
(rollup) sessions were written by slug and read by id, so Health said Unknown 42 times (#147)
e047f499

v3.0.109September 11, 2026+2 internal

v3.0.108September 11, 2026+2 internal

fix
(dashboard) the sidebar handle branch never matched, so it always showed the email
f324d3fb

v3.0.107September 11, 2026+1 internal

v3.0.106September 11, 2026+4 internal

perf
(cost) stop asking who you are three times per navigation (#141)
bf6db7b4

v3.0.105September 11, 2026+2 internal

v3.0.104September 11, 2026+4 internal

v3.0.103September 11, 2026+2 internal

perf
(projects) render the table from cache, and show the signal that was already there (#140)
22a3c2fa

v3.0.102September 11, 2026+1 internal

perf
(nav) stop making a first-time visitor wait for identity before asking for the lists
ad2d31d4

v3.0.101September 11, 2026+1 internal

fix
(dashboard) the hard-coded viewport offset caused the overflow it was meant to prevent (#139)
23dc1ea5

v3.0.100September 11, 2026+1 internal

v3.0.99September 11, 2026+1 internal

v3.0.98September 11, 2026+2 internal

fix
(dashboard) an explicit height beats align-items:stretch (#139)
cabf841f
fix
(project-logo) the monogram fallback was breaking out of its own attribute
6bd748db

v3.0.97September 11, 2026+1 internal

fix
(dashboard) the chat filled the pane on paper only -- astro-island has no box (#139)
6e9e6f0b

v3.0.96September 11, 2026+1 internal

feat
(dashboard) the chat fills the screen -- it is the page, not a panel on it (#139)
63bd2c17

v3.0.95September 11, 2026+1 internal

v3.0.94September 11, 2026+1 internal

v3.0.93September 11, 2026+2 internal

fix
(admin) seed page joins the dashboard shell, and a guard so this stops recurring
933eb6a8
perf
(nav) one cached nav object, painted before any request is made (#138)
4dcdc960

v3.0.92September 11, 2026+1 internal

fix
(pwa) stop serving cached HTML that points at deleted stylesheets
b6f899c3

v3.0.91September 11, 2026+1 internal

fix
per-project documents move to the project page, out of the global Documents area (#137)
ceedb253
docs
the Development Framework — how an idea becomes assured code
5a8754a2
feat
the gate reports its own quality state on every run (#136)
e74e52ff
fix
content-hash discriminator + repair tool for the stale-shared-checkout class of bugs (#135)
e5a6f59b
fix
extract shared recent-projects/documents nav list, repay the elegance accept (#129)
780e912c

v3.0.90September 11, 2026+1 internal

fix
(deploy) a failed upload has nothing to roll back, and saying otherwise was a lie
7cdb497e

v3.0.89September 11, 2026+1 internal

v3.0.88September 10, 2026+1 internal

v3.0.87September 10, 2026+1 internal

fix
(deploy) let production, not wrangler's exit code, decide whether a deploy worked (#134)
164cce45
fix
(visual-audit) an element scrolled out of view is not covering anything
79174ace
fix
guard the bare `pm2 restart xswarm-daemon` (#133)
bb283b02

v3.0.86September 10, 2026+1 internal

fix
(responsive) Sign In was off-screen from 768-1078px; docs unreadable on a phone
670d21b4
fix
strip blockquote markers instead of skipping them in description extraction
bfe722b6

v3.0.85September 10, 2026+1 internal

v3.0.84September 10, 2026+1 internal

feat
real per-project descriptions, hot-linked icons, and quality/status/KPI summary (#127)
c381f4bb

v3.0.83September 10, 2026+1 internal

perf
(blog) serve images at the size they are displayed
23b7d1f7

v3.0.82September 10, 2026+1 internal

perf
(blog) 17.7 MB of images on one article, and a 40-second LCP
7b98dacc
fix
refuse to restart the daemon when the checkout has drifted from HEAD (#132)
f819fe43
fix
raise undici's connect timeout to stop false connection failures on Boss (#128)
a192fd62

v3.0.81September 10, 2026+1 internal

fix
(web) guard the last unguarded auth fetch, and make the rule checkable
8b5c9eb6

v3.0.80September 10, 2026+1 internal

fix
(theme) remove duplicate *:focus-visible rule shadowing the light-dark aware one
bf39987c

v3.0.79September 10, 2026+2 internal

fix
(security) clear all 5 high advisories -- wrangler was pinned four times at three versions
07d1ed15

v3.0.78September 10, 2026+1 internal

fix
(dashboard) active-state on platform sub-nav and account/settings footer
7f9933c9
fix
(daemon) stop retrying a WebSocket handshake that answered 404
398a6c08
fix
delete the daemon's dead WebSocket channel (#125)
50912aeb

v3.0.77September 10, 2026+1 internal

v3.0.76September 10, 2026+1 internal

v3.0.75September 10, 2026+4 internal

fix
(dashboard) re-apply worker/task compact band + nested-nav active-state
b743e228
fix
(seo) /blog had no top-level heading, and no page on the site had structured data
13fb1e17
fix
(quality) the gate was building a shell command from a file-controlled value
cd0a76a3

v3.0.74September 10, 2026+1 internal

fix
(quality) the gate was building a shell command from a file-controlled value
b3fcac2e

v3.0.73September 10, 2026+1 internal

v3.0.72September 10, 2026+1 internal

feat
(dashboard) render deploy state on the per-project hub
d6a48002
fix
(web) docs sidebar and related-post links pointed at /undefined
aa0d68ee

v3.0.71September 10, 2026+5 internal

feat
deploy pipeline reports its own state (#122)
02049dd9

v3.0.70September 10, 2026+1 internal

v3.0.69September 10, 2026+1 internal

feat
(dashboard) render recent commits on the per-project hub
f2501343
feat
(project-logo) wire monogram into every place a project is shown (#120)
fcb86f3e

v3.0.68September 10, 2026+2 internal

feat
recent-commits box-relay (cloud + box halves of #59)
c5f4ba9c
feat
(project-logo) deterministic monogram fallback (part 1 of #120)
9dc19fd1

v3.0.67September 10, 2026+3 internal

feat
(nav) nest recent documents under Documents, sidebar + user menu
5206cd60
fix
(seed-documents) key idempotency on project_id too, and survive a busy box
c8938735
fix
(seed-documents) match project by registry path, not a name substring
43378642
feat
(documents) ongoing write path + nested nav sub-links
f8bf2620

v3.0.66September 10, 2026+1 internal

fix
(nav) Layout.astro renders Navbar once, drop the unused Orbitron preload
e6fcffc8
docs
ingest ADRs into the Documents dashboard, idempotently
4f01a809

v3.0.65September 10, 2026+1 internal

feat
box-side isAncestor fulfillment (ancestry-check.js)
d9cbdf88

v3.0.64September 10, 2026+1 internal

v3.0.63September 10, 2026+4 internal

feat
ancestry checks -- box-relayed isAncestor for derived status
bdd1b99a

v3.0.62September 10, 2026+1 internal

v3.0.61September 10, 2026+4 internal

fix
(nav) project names in menu/sidebar must never wrap, reduce indent
c4420c42

v3.0.60September 10, 2026+1 internal

v3.0.59September 10, 2026+2 internal

v3.0.58September 10, 2026+3 internal

feat
project enable/disable toggle (on-hold state)
bf393e88
fix
(db) failed migration must not be marked as successfully initialized
70782f9e
fix
(blog) correct the heading outline on every post, with no visual change
d7719efe
fix
(blog) dedupe hardcoded purple literal, drop 2 unused palette tokens
2dd355ba

v3.0.57September 10, 2026+1 internal

v3.0.56September 10, 2026+2 internal

v3.0.55September 10, 2026+2 internal

feat
(workers) move connect-worker below the grid, de-emphasize; decide against a live token
326e6cb6

v3.0.54September 10, 2026+3 internal

v3.0.53September 10, 2026+2 internal

fix
(blog) emit real width/height on every hero, measured from the file
04bf20b7

v3.0.52September 10, 2026+1 internal

v3.0.51September 10, 2026+1 internal

perf
(middleware) the admin lookup could not help the pages it was widened for
83bb7006
feat
rebuild /dashboard/projects as a sortable/filterable table
6fb68f1e

v3.0.50September 10, 2026+1 internal

v3.0.49September 10, 2026+2 internal

fix
remove dangling build:cli-chat script, packages/app has no build step
c3a14949
feat
worker cards -- btop-style system monitor redesign
ef6af9c1

v3.0.48September 10, 2026+1 internal

v3.0.47September 10, 2026+1 internal

v3.0.46September 10, 2026+1 internal

v3.0.45September 10, 2026+2 internal

feat
project health fields + fix recent-projects fallback ranking
74e11508
fix
(dev-preview) guard against concurrent fulfillment of the same project_id
41e3786d

v3.0.44September 10, 2026+1 internal

fix
drop 2 unused exports flagged by elegance audit
cc12266f
feat
derived request status + rank ordering + scope-aware claim locks
3c2a8207

v3.0.43September 10, 2026+1 internal

v3.0.42September 10, 2026+1 internal

v3.0.41September 10, 2026+4 internal

feat
rebuild /dashboard to Chad's literal spec
5166eab0
fix
anonymous visitors were fetching /api/projects on every page and logging a 401
9687831a

v3.0.40September 10, 2026+1 internal

v3.0.39September 10, 2026+2 internal

fix
(daemon) scope worker-init exit to worker, not whole process
9695c547

v3.0.38September 10, 2026+13 internal

fix
(blog) gray-500 text fails WCAG AA on the blog's own background; author avatar squashed
f2400c73

v3.0.37September 10, 2026+1 internal

v3.0.36September 10, 2026+1 internal

v3.0.35September 10, 2026+5 internal

fix
Lighthouse — contrast, dead sitemap path, unused analytics bundle, and a gate that could not tighten
ab95a1b8

v3.0.34September 10, 2026+4 internal

v3.0.33September 10, 2026+1 internal

v3.0.32September 10, 2026+5 internal

v3.0.31September 10, 2026+5 internal

v3.0.30September 10, 2026+10 internal

docs
ADR-003 addendum -- cards vs. tables, close the settings/workers/documents backlog
749b1a1d

v3.0.29September 10, 2026+2 internal

v3.0.28September 10, 2026+5 internal

docs
rewrite Development Guardrails as the full meta-harness spec
dc259c5c

v3.0.27September 10, 2026+6 internal

v3.0.26September 10, 2026+214 internal

fix
DashboardLayout.astro Element.focus typing (was blocking every push)
e54ccac8
fix
raise text-tertiary and Shiki comment contrast to WCAG AA
3d34081e
docs
remove duplicate H1 heading from all doc pages
b14555c3
docs
replace the guardrails doc's abstract test-quality point with a reproduced example
b00814dd
docs
five product docs Chad asked for -- coordination, guardrails, setup, daily workflow, integrations
379e2a4f
fix
(auth) magic-link login mints an unsigned token that never authenticates
3a0f5439
docs
API action inventory -- every user action mapped to its route, gaps flagged
469520ba
fix
getSocketTicket was called but never defined; upgrade vite to current
e61f1746
fix
(web) patch astro isNode misdetection that broke all SSR on Workers
531270b5
fix
the web app could not build at all
77b8a6ae
fix
remove dead cli-chat.js (544 lines, unreferenced)
2f0a8d48
refactor
merge 3 single-function files into parent modules
4f5ff599
feat
add visual regression + content page E2E tests for all routes
deb1ab7b
feat
add unit tests for 6 untested API routes and encryption lib
d371b064
feat
implement BDD step definitions for all 11 feature files
cf836052
fix
resolve all 82 TypeScript errors in web package
feee2c88
fix
remove dead cli-chat variants and test artifacts, add QA skill
7da97ec1
fix
auto-migration in production, Svelte 5 build fixes, DO sqlite migration
2d18c588
feat
usage billing, extensions, critical path tests, foreman relay fixes
0779120f
feat
add 3-tier funny pricing and AI provider logos to homepage
a264beec
feat
rewrite homepage with architecture-over-aspiration philosophy
6a93ee9e
feat
implement xSwarm beta MVP — encryption, admin, multi-machine sync, quality pipeline
82d92058
feat
add branded ASCII logo to CLI matching website identity
3d9eb62d
fix
remove GitHub Actions workflows, add manual publish:cli script
327b162e
feat
redesign homepage with conversion-focused layout
9e11faf0
docs
add architecture decisions document (ADR-001, ADR-002)
f988903e
fix
add optionalAuth middleware to /api/auth/me endpoint
be1d18c9
fix
exclude _worker.js from PWA precache
90a2920f
fix
clean up login page and fix PWA manifest path
a56d8977
fix
use correct TURSO_DATABASE_URL env var and static imports
5859f829
feat
unified versioning and releases page
b4c12999
refactor
remove shared package, duplicate crypto code to app and web
91a1deab
feat
enhance forget command with GitHub identifiers and selection
e15141af
feat
add forget command to remove project config
ec442fe5
feat
add CLI and API deploy scripts
d4f35e35
feat
implement zero-knowledge encryption with device approval
95c3ef23
feat
add safe merge script with test-before-merge
cd619109
feat
add CI/CD test workflow and post-merge hook
ead65091
feat
add auto-deploy hooks and release history
3c4d925e
feat
switch PWA to auto-update mode
47a9572e
feat
add Workbox PWA with auto-update prompt
b3efdb3a
feat
add docs sidebar TOC and tutorials TLDR box
b0a0f701
docs
rewrite tutorials around one-command simplicity
a9f5ac5f
fix
skip auth API call when no session cookie exists
5c2a748b
refactor
use package.json as single source of truth for version
a0c6d9c7
fix
add version.json for navbar version display
23f58672
feat
add VHS terminal GIFs and screenshot capture scripts
ad1d1162
feat
add comprehensive tutorials section with 9 how-to articles
0a8264ea
feat
implement GitHub OAuth authentication with profile button
9ebc5a2e
fix
simplify terminal demo banner for reliable rendering
6573034f
fix
improve terminal demo appearance
b92f628d
feat
add auto-update system and improved terminal demo
8cf7cd00
feat
prepare for private repo - remove GitHub links, add investor page
0428fc22
docs
add Technical Strategy document
9bcb7876
docs
add Architecture Decision Records (ADRs)
439da34a
feat
complete staging deployment pipeline
9246866c
fix
add mermaid dependency and fix build errors
0dc4dcf7
refactor
reorganize project structure and add release workflows
f820b9d2
feat
add content collections for docs and blog
c894e968
refactor
simplify to 3-package architecture (api, app, web)
ce6c5bdd
feat
add worker daemon with GitHub device flow auth
649f8a75
feat
add SSR mode with dashboard, API routes, and auth
6004302f
feat
add database package with Turso schema and per-user DB helpers
02b5004b
feat
extract shared package with agents, types, and theme
16412a86
refactor
restructure to packages/* monorepo layout
68dc0562
feat
Add abbreviation field to visual_identity section of agent YAML files
9c70a452
fix
Resolve terminal UI issues
1df0c5a7
fix
Disable mouse capture to enable native text selection
e73ff7fd
fix
Proper terminal cleanup on exit to prevent corruption
03f38a45
fix
Add comprehensive error handling and logging
608ffe57
fix
Improve UI text rendering and add clipboard support
1fccfb38
fix
Multiple UI improvements and bug fixes
987c00d2
fix
Simplify UI for npx - always use TerminalUI
ec3aba89
fix
Ensure npx compatibility with optional canvas dependency
2c411742
feat
Implement advanced terminal graphics for text input
3cb2ab5b
fix
Complete test suite fixes and UI improvements
a5adcc85
fix
Replace require() with ES6 imports in ui.js
6b788393
feat
Add full terminal UI with ASCII art and advanced text editor
d946ebe4
feat
Add conversational API key setup and cost tracking
ccba1595
fix
Make CLI even more conversational with auto-detection
2abd28d3
fix
Refactor CLI to conversational interface per PRD requirements
6f2ba2a6
feat
Complete xSwarm CLI implementation with all core features
239c2a19
fix
Complete CSS refactoring with restored blog styles and terminal theme
68ede13a
fix
Restore blog styles after CSS file deletion
036ebf16
fix
Restore exact original hero title styles
c8dd51f5
fix
Restore all missing styles after CSS refactor disaster
5f87e0ec
fix
Restore navbar styles that were accidentally removed
977705c1
fix
Use non-breaking spaces in navbar to prevent text wrapping
1a97a1e7
refactor
Eliminate CSS slop by creating reusable blog components
4cd41a7d
fix
Add error handling to navbar typewriter animation
8fde8cac

v0.29.3July 7, 2025+2 internal

fix
Add DOMContentLoaded wrapper to ensure typewriter animation runs
2cd9e5b4
fix
Implement typewriter animation correctly in Navbar
89149a1a
refactor
Move typewriter animation to separate component
8aebd51b
fix
Use IIFE to ensure typewriter animation starts
ef885be2
fix
Clean up navbar script and fix syntax errors
99537e86
fix
Add is:inline back to fix Astro script processing error
298de769
fix
Remove is:inline directive and add newline to fix script execution
6c194cee
fix
Simplify navbar typewriter animation with is:inline directive
bd116d55
fix
Use client-side script for navbar typewriter animation
a15797dd
feat
Add typewriter animation to navbar logo
16c40e11
feat
Randomize initial scenario selection
170004b3
feat
Add humorous banking CoffeeScript scenario and enhance React→Svelte migration
379af4bf
fix
Improve agent join notification spacing and style
8959920b
fix
Improve scrolling during typing animation for wrapped text
eb16eb58
fix
Improve agent join notification spacing
95c4ebd6
fix
Use planning stages pattern for agent join delays
dfb47a02
fix
Properly implement sequential agent join delays
aaae7b2b
fix
Add delay before each agent join notification
05426808
feat
Improve agent join notification readability
4259c661
feat
Add SEO perspective on quotes as resource pages
e3ee2cbc
feat
Add automated content discovery and promotion engine
5caa3851
feat
Add win-win partnership model to quote memorization scenario
057c4b8a
fix
Clean up terminal display by removing success messages
b19d15fc
fix
Resolve null reference error in terminal animation
8eab14f3
feat
Add automated content promotion strategy to memorization PWA
3c92872c
fix
Properly clear terminal content between scenario transitions
131b0e81
fix
Reorder scenarios with quote-memorization-pwa first and improve animation loop clearing
40450449
feat
Fix animation loop and add quote memorization PWA scenario
22397abb
feat
Add Deep Researcher agent and standardize planning stages
85b06994
fix
Add HTML attribute escaping to prevent text truncation
5a4fa267
fix
Replace double quotes with single quotes in data attributes to prevent HTML parsing errors
a3dce25b
feat
Generate favicons from SVG logo
302b09a4
fix
Fix chat animation timing and structure issues
652ef880
fix
Fix chat animation freeze by ensuring message display starts
4046b5c9
fix
Restore VT323 font to navbar while keeping Share Tech Mono in terminal
5beca491
fix
Reduce terminal font size from 24px to 18px
27cc8294
feat
Switch to Share Tech Mono font for better clarity
94d168ac
fix
Sharpen terminal text rendering
292b842f
fix
Revert flexbox changes to fix scrolling issue
c9ef3555
fix
Force flexbox display with important flags to override inline styles
0f70cc7d
fix
Switch to flexbox layout for proper text wrapping alignment
311be9b0
fix
Adjust hanging indent spacing for better readability
18ecfaab
fix
Improve chat message text wrapping with hanging indent
875ac0d9
fix
Use inline display for proper text wrapping
cda3ee19
fix
Align agent names with first line of wrapped text
37cf4163
fix
Change chat elements to inline-block for proper line height
e9c307c0
fix
Force tighter line spacing for wrapped text in chat
2aba8ce1
fix
Improve line height for wrapped text in chat messages
7b54b414
fix
Fix frozen chat animation in terminal hero
49e4d4c4
fix
Fix MK agent color conflict with BA
33ddaac3
fix
Ensure unique colors for each agent in terminal chat
f05bca2a
fix
Refine navbar font override selectors
6eabad25
fix
Add missing --font-sans CSS variable definition
f4d1d958
fix
Properly isolate navbar component fonts with global overrides
447e796c
fix
Ensure consistent navbar font across all pages
ed54101f
fix
Improve Mermaid diagram layout and fix rendering issues
ea06034e
fix
Add comprehensive styling for multiple blog post visuals
4281acae
fix
Add comprehensive styling for sandboxed integration blog visuals
819ec490
fix
Replace ASCII art with Mermaid diagram in sandboxed integration post
980f8716
feat
Refactor TerminalHero component with JSON scenarios and enhanced styling
10682579

v0.29.2July 6, 2025

feat
Enhance navbar with terminal-style logo and improved navigation
25d0223c

v0.29.1July 6, 2025+2 internal

fix
Remove automatic version bumping from CI workflow
a11f0654

v0.29.0July 6, 2025+1 internal

v0.28.1July 6, 2025+2 internal

fix
Remove automatic version bumping from CI workflow
a11f0654
feat
Add realistic delays to terminal animation and bump CLI version
000d08ff
feat
Create animated terminal hero section for homepage
4b0273ea

v0.28.0July 6, 2025+2 internal

fix
Update footer with correct GitHub links and contact info
15de2fd2

v0.27.0July 6, 2025+3 internal

feat
Add AI development lessons blog post and planning documents
0943519b
feat
Add blog hero images and visual assets
3a0d1c8b
feat
Add reusable blog components
bdb09fc1
feat
Update styles and components for better blog integration
9ac85537
fix
Replace component-based visuals with self-contained Tailwind styles
1b987c53

v0.26.0July 2, 2025+1 internal

docs
Add 5 more AI anti-patterns from 2024 research
eeb5c4e5

v0.25.0July 2, 2025+1 internal

docs
Add terse AI behavior rules to CLAUDE.md
c0ba3471

v0.24.0July 2, 2025+2 internal

docs
Add outdated package version anti-pattern to AI best practices
20c46e1e

v0.23.0July 2, 2025+2 internal

docs
Create comprehensive AI development best practices guide
9d992646

v0.22.0July 2, 2025+2 internal

refactor
Major technical debt cleanup
e7502088

v0.21.0July 2, 2025+2 internal

feat
Add Mermaid diagram support for blog articles
bac24e4d

v0.20.0July 2, 2025+2 internal

docs
Create comprehensive Design System document
d4890767
fix
correct repository URLs in package.json [skip ci]
2d118365

v0.19.0July 2, 2025+2 internal

feat
Major UI improvements - cyberpunk styling and content updates
06b37fb2
fix
Improve blog index layout and reduce empty space
100300f6
feat
Redesign blog index with varied card sizes
69195102

v0.18.0July 2, 2025+1 internal

fix
Resolve card z-index issues for images and hover states
a9e3afd9
fix
Restore card components to working state from June 29
e4593e4a
fix
Restore working card styles and fix epoch visualization
dcfad0aa
fix
Resolve text overlap in epoch visualization circles
e23a4332
feat
Create cyberpunk blog index page and fix epoch visualization
6ef72fc4

v0.17.0July 1, 2025+1 internal

feat
Improve blog layout and navbar styling
840ac40d
fix
Remove sales-pitch language and fix navbar sticky behavior
f0268f72
feat
Cyberpunk share section and fix content accuracy
d879ab60
fix
Clean up blog layout and remove fake cost data
c33070e4

v0.16.0July 1, 2025+1 internal

feat
Add award-winning cyberpunk blog design with modern typography
98c0885b

v0.15.0July 1, 2025+1 internal

fix
Update prototype URLs and add missing prototype images
3d28359d

v0.14.0July 1, 2025+2 internal

fix
Add missing blog images and CSS imports
d762813f

v0.13.0July 1, 2025+2 internal

fix
Fix YAML frontmatter quoting issues in blog articles
ab137e1f

v0.12.0July 1, 2025+2 internal

feat
Update blog article titles for maximum developer engagement
f039c2fd
feat
Add compelling visual elements to token economics article
fd456632
feat
Add visual elements to forty hidden agents blog post
f3589447
feat
Add visual elements to swarm commander blog post
556cc990
feat
Add visual elements to AI Epoch Manifesto blog post
d3293447
feat
Add visual elements to Three Minute Standups blog post
52d6a6e3
feat
Add visual elements to interactive prototypes blog post
efd79eea
feat
Add visual elements to AI Function Graveyard blog post
b7bb85a5

v0.11.0July 1, 2025+3 internal

feat
Major xSwarm documentation and blog overhaul
e8261e38

v0.10.0June 29, 2025+1 internal

feat
Major UI improvements for agent cards and site styling
d57f0628
feat
enhance trading cards with polish and interactivity
14c86f65
fix
center agent card rows on homepage
0d8c6e8d
fix
show card images and match rounded corners
0e97ff73
fix
resolve card image visibility and rounded corners
5a594272
fix
improve card image placement and layering
23ef8e2b
feat
enhance agent cards with improved styling and compact mode
e31565ed
feat
Complete agent content architecture with stable naming
b58bf3b0
fix
Use role-based image naming for stability
ef8810a3
feat
Enhance card skeuomorphism with physical textures and cyberpunk titles
5d7a967d
feat
Create skeuomorphic trading card design with reusable styles
b43c24fb
feat
Convert agents to Astro content collections and enhance card display
93fd4720
feat
Transform agent cards into fantasy game card design with cyberpunk avatars
5ec357f8
feat
Add comprehensive 50-agent roster with cyberpunk descriptions
eda0f182
feat
Transform agent cards into cyberpunk character cards with real dialogue
bba527ec
fix
Improve cyberpunk visual design with better spacing
323bef6b
feat
Complete cyberpunk theme with agentic revolution messaging
bcf7aaea
feat
Implement cyberpunk terminal theme across website
66689fb2
feat
Update all image references to use new teamofone.png
b9661790
feat
Add cyberpunk terminal theme and image generation
365ad862

v0.9.0June 29, 2025+1 internal

docs
Clarify npm scripts usage policy in CLAUDE.md
321a1793

v0.8.0June 29, 2025+2 internal

v0.7.0June 29, 2025+2 internal

v0.6.0June 29, 2025+2 internal

v0.5.0June 29, 2025+3 internal

v0.4.0June 29, 2025+3 internal

v0.3.0June 29, 2025+3 internal

v0.2.0June 29, 2025+10 internal

fix
add .nojekyll file creation to deployment script
779596f6
fix
add write permissions to website deployment workflow
0f79bac9
fix
update logo URL to use hosted version
0981cf53
docs
enhance README with comprehensive documentation and logo
4a1144f4
feat
initial xswarm.ai infrastructure setup
786df448