The oshal report.
A weekly, numbers-first status on the Open Swarm build — every figure below is pulled from the platform's own ledgers, not estimated: the ticket store, the per-call cost table the bots write as they work, and the app-store git history. This was the week the platform got a clean public trunk, a hardened ownership model for remote machines, and its biggest app-shipping run yet.
That last number is the one worth sitting with. A swarm of 30+ specialized bots ran a full week — trading decisions, incident root-cause runs, app builds, a dungeon master, a game-show host — for less than the cost of lunch. That's not a discount trick; it's the routing doing its job: every call is metered into a per-task cost table, cheap models carry cheap work, and the expensive calls have to earn their place.
The trunk went public-first
Development moved onto a clean public repository as the working trunk — not a mirror, the actual place work lands. Every change now goes branch → pull request → merge, with a fail-closed publish gate between every commit and the world: if the gate can't prove a push is clean of secrets and private material, the push doesn't happen. The core is open source under AGPL-3.0, with applications shipping separately from the public app store. The platform source is on GitHub.
Remote machines now fail closed
The best security story of the week started as an audit finding. Open Swarm lets a desktop join the swarm as a worker node — the swarm can drive a browser on it, run a CLI agent, capture a screen. Node selection used to filter on liveness: any online node was eligible for dispatch. An adversarial review reframed that as what it was — a path where one signed-in user could reach another user's desktop.
The fix inverted the default. Every device now has an owner, dispatch requires the caller to be that owner (or a platform-originated task to say so explicitly), and a device with no owner is reachable by nobody but the operator. Binding a machine is self-service: the platform mints a short-lived enrollment token, the node exchanges it once at startup for a server-verified identity, and registers owned — ownership is proven by possession of a token minted for that user, never asserted by the node itself. By the end of the week the last legacy unowned node had re-enrolled and the permissive fallback was switched off for good.
The kernel got smaller, the store got bigger
The multi-month effort to separate platform from applications finished: 21 application surfaces now live as store packages, and the kernel ships exactly ten resident manifests. New capabilities this week landed as packages, the way they're supposed to — a communications command center that merges email, calendar, and social into one surface with workspaces; a multi-show game-show engine where new shows register as modules instead of forking the runtime; and a story-first AI dungeon master that went through three point releases in two days.
A hardening sweep, and a rule that stuck
Mid-week was given to industrial hardening: a critical dependency vulnerability closed, a red nightly build brought back to green, and eight named regression guards added around the paths that had bitten before — route authentication inventory, tenant-key derivation, the controller/LLM boundary, log redaction. The durable outcome is doctrine, not the fixes: every bug fixed now ships a guard in the same change that would go red if the bug returned, and a spec that silently skips in CI is treated as a guard that doesn't exist.
An honest negative result
The trading side spent the week testing an exhaustion-exit overlay (ADX + RSI) against history. It failed — the premise didn't hold in-sample, and the signal flipped sign across periods out-of-sample. It was killed and written down so it stays dead. Publishing the negatives is the point: a research process that only reports winners isn't a research process.
The week in tickets
- 145 trading decisions completed by the autonomous desk (paper posture).
- 34 incident root-cause runs completed.
- 110 build tickets moved through the pipeline — the swarm building its own features.
- 15 self-development tickets completed by the platform's own developer bot.