Eric
ddcf2f08df
[eric] ci: add verify-preflight-rigs Layer 3 that spins up hanging http, 500 server, close-mid-handshake, EACCES writeFileSync, and a German pwsh stub then drives the WHOLE preflight against each rig asserting the failing-check name + no neighbor corruption + total runtime under budget
2026-05-28 02:13:00 -07:00
Eric
83182b0dfd
[eric] ci: add selftest-preflight Layer 1+2 with thirty-eight assertions covering happy paths plus every production failure branch (mips arch, German PowerShell output, statfs throws, dns module missing) and never-resolving fakes for hang fuzz
2026-05-28 02:13:00 -07:00
Eric
f9e596160c
[eric] ci: chain the five new gates (python-health, mcp-bundles, update-feed, 9router-functional, clean-profile) into verify-all so every leg now exercises bundled-python, mcp init handshake, update feed sha512, router functional routing, and the truly-empty-profile invariant
2026-05-28 01:25:14 -07:00
Eric
485ddaf86d
[eric] ci: extend selftest-gate with mutation tests for the new update-feed parser (good yaml passes, missing files[] returns zero) and confirm all twenty-eight discriminators still discriminate
2026-05-28 01:25:08 -07:00
Eric
739d73ac4c
[eric] ci: add verify-9router-functional that polls GET :20128/api/providers and asserts 200+JSON so a router that listens on the tcp port but 500s every real request fails red instead of being silently masked by the tcp-only probe in verify-network
2026-05-28 01:25:03 -07:00
Eric
f28c9afac9
[eric] ci: add verify-clean-profile (ci-only, gated on CI=true or OPENSWARM_E2E_WIPE=1) that wipes the user data dir, launches, and asserts the app boots+serves+populates backend.log/auth.token from a truly empty profile so first-time-user code paths cant assume prior state
2026-05-28 01:24:56 -07:00
Eric
806b4fba44
[eric] ci: add verify-artifact-manifest that sha256s every file in the packaged dist and either writes a baseline (--write) or diffs against the committed one, catching non-deterministic build steps that survive even fully-pinned dependencies
2026-05-28 01:24:51 -07:00
Eric
0b10fd9ba8
[eric] ci: add verify-update-feed that parses latest.yml/latest-mac*.yml without applying an update, asserts every advertised file exists on disk and its sha512+size match, so a release with a busted feed cant ship an update that bricks on apply
2026-05-28 01:24:45 -07:00
Eric
44233419e4
[eric] ci: add verify-mcp-bundles that spawns each vendored bundle (notion, reddit-buddy, softeria-ms365) under the bundled node and asserts an mcp initialize round-trip so a corrupted esbuild output cant ship green
2026-05-28 01:24:40 -07:00
Eric
41117d6185
[eric] ci: add verify-python-health that execs the bundled interpreter, asserts python 3.13+, and imports the heaviest backend deps so a missing vcredist dll or half-extracted python-env fails the build red instead of giving users a renderer-up-but-backend-dead boot
2026-05-28 01:24:35 -07:00
Eric
32fb3091be
[eric] ci: chain deps-pinned and host-leakage first in verify-all so the cheap pure-logic gates fail fast before the build-launch gates spend minutes booting an already-doomed artifact
2026-05-28 00:56:04 -07:00
Eric
c5bfc00540
[eric] ci: extend selftest-gate with mutation tests for the new deps-pinned and host-leakage gates so a future weakening of either guard is caught before the build leg runs
2026-05-28 00:55:59 -07:00
Eric
d7b7128c6e
[eric] ci: add verify-deps-pinned that fails when backend/requirements.txt has any bare-name, floor (>=), or compat (~=) entry since pip would otherwise resolve those to latest-matching and two builds from the same git sha would ship different bytes
2026-05-28 00:55:50 -07:00
Eric
19ca4d81ae
[eric] ci: add verify-host-leakage that string-scans the packaged artifact (text files + app.asar) for the build hosts username and home dir, with PEP 610 dist-info metadata auto-allowed since it does not affect runtime
2026-05-28 00:55:45 -07:00
Eric
852b3bb232
[eric] refactor: trim the verifier and mcp comments to one line each per the updated convention
2026-05-27 19:11:12 -07:00
Eric
bb6006a896
[eric] test: add a boot-beacon and preflight check and fold it into the run-everything command
2026-05-27 19:11:12 -07:00
Eric
aa9d6acb4b
[eric] test: add an installer check that observes a real install safely, refuses to clobber it, and has a clean-machine destructive cycle
2026-05-27 19:11:12 -07:00
Eric
92f48db79b
[eric] docs: write up the gate red-team - what has teeth and the one auth gap we closed
2026-05-27 19:11:12 -07:00
Eric
8d06c7b7a3
[eric] test: harden the auth check to reject a wrong token, not just a missing one
2026-05-27 19:11:12 -07:00
Eric
aa0ace4363
[eric] test: make the boot checks mutation-testable and prove every guard fires on a break
2026-05-27 19:11:11 -07:00
Eric
5a1d0362ef
[eric] test: fold the agent-turn check into the run-everything command so it auto-skips unless opted in
2026-05-27 15:41:13 -07:00
Eric
5d8672b9a0
[eric] test: add a check that runs one real agent turn on your own login and proves a genuine reply
2026-05-27 15:41:13 -07:00
Eric
587a7d93d2
[eric] test: add one command that runs every packaged-app check and tallies the score
2026-05-27 15:35:08 -07:00
Eric
993d5391db
[eric] test: add a check that auth, 9router, and the update feed are actually wired up
2026-05-27 15:35:08 -07:00
Eric
df747893c3
[eric] test: add a check that the app shrugs off a busy port and a double-click
2026-05-27 15:35:08 -07:00
Eric
2ae8bce3d6
[eric] test: add a check that says whether the build is really signed or honestly admits it isnt
2026-05-27 15:35:08 -07:00
Eric
992d075cc0
[eric] test: pull the app-launch plumbing into a shared lib so each check stays tiny
2026-05-27 15:35:08 -07:00
Eric
0531f59fa6
[eric] test: add a script that launches the packaged app and confirms it boots, paints, and serves (no browser automation)
2026-05-27 15:01:22 -07:00
Eric
56282c5080
[eric] build: stop shipping the dead google client id/secret that nothing reads at runtime
2026-05-27 14:40:04 -07:00
Eric
b544a9264e
[eric] perf: strip type stubs + unix build leftovers from the bundled python so defender frisks fewer files
2026-05-27 13:00:15 -07:00
Eric
de599151f2
[eric] docs: move the release runbook, checklist + squirrel plan into docs/ so root stops feeling cluttered
2026-05-27 11:03:43 -07:00
Eric
0b72102adc
[eric] build: install python from the lock + slim the bundled stdlib
2026-05-27 10:19:54 -07:00
Eric
237738d928
[eric] build: pin uv + npm ci the builders + add an opt-in squirrel target
2026-05-27 10:19:54 -07:00
Eric
c957716e0c
[eric] ci: dont call anything latest until both update feeds agree + resolve
2026-05-27 10:19:53 -07:00
Eric
54a7cb96b4
[eric] ci: boot the packaged backend in ci + check its health and agent endpoints
2026-05-27 10:19:53 -07:00
Eric
0d561fa49d
[eric] perf: stopwatch the boot + headcount every file we ship
2026-05-27 10:19:53 -07:00
Eric
ca5d69301d
[eric] app builder: fix windows-built apps failing by always creating the workspace .env (the windows build dropped the .env.example it seeds from) and writing app files as utf-8 (windows cp1252 choked on arrows and chess pieces); stays on 1.1.69 to rebuild only the windows installer
2026-05-26 17:40:51 -07:00
ciregenz
a30229bbda
[eric] attach: native PDFs on Claude/Gemini/OR, cost calc, meter fix, 9router bypass for image blocks
2026-05-22 23:43:54 -07:00
ciregenz
9001cb8e38
[eric] DMG/EXE slim ~445 MB: drop legacy onboarding videos, per-arch node + lipo-thin uv, electronLanguages=[en], exclude backend/data + uv-bin
...
from bundle rsync (closes dev auth.token / install_id leak), strip pip + Tcl/Tk + pydoc_data + _pyrepl, both platforms
2026-05-20 01:52:47 -07:00
ciregenz
5d3cfcec2d
[eric] Mac publish fixes: NODE_OPTIONS heap + rsync excludes for user-state and template_cache
2026-05-14 01:42:31 -07:00
ciregenz
91508c87b1
[eric] onboarding bug fix and ux op
2026-05-12 22:36:22 -07:00
ciregenz
a84aec257b
[eric] App Builder uses real React/Vite scaffold + onboarding polish (auto sidebar expand, bigger pill, video crop), onboarding bugs / edgecases
2026-05-11 23:23:59 -07:00
ciregenz
2e2e8c7728
[eric] webapp-template standardization (React + Vite + FastAPI new-app starter) + swarm-debug built-in skill + stale-session recovery
2026-05-11 18:40:27 -07:00
ciregenz
11487456b5
eric] Google OAuth via cloud-proxy + gitleaks CI
2026-05-06 13:28:35 -07:00
ciregenz
8286cc1a5c
[eric] delete ~3.6k lines of dead code (old unused agent runtime, ghost fields, orphan scripts). all 660 tests still pass, no functional
...
change.
2026-05-03 22:39:17 -07:00
ciregenz and Claude Opus 4.7
f0ea0fd1bc
[eric] 1.0.27 production push: fixes the weird "exec" icon next to OpenSwarm on fresh Macs, faster startup (~10s less from shipping a real Node binary instead of running Electron as Node), and Google Workspace + other uvx-based MCPs work again on machines without uv installed.
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-27 22:37:17 -07:00
ciregenz
c501b6340c
[eric] OAuth + MCP polish: more reliable connect flow, Discord shim,
...
connected MCPs sort to top, Haiku-overflow warning, misc fixes, security risks fixes
2026-04-26 15:14:16 -07:00
Eric
bb97438b66
[eric] windows install reliability: NSIS recovery layers + PS5.1 build-script ASCII fix
...
Three changes that make Windows installs/upgrades stop stalling on the
'OpenSwarm cannot be closed' modal -- independent of the cloud OAuth
work happening on the Mac side.
2026-04-26 11:35:50 -07:00
ciregenz
ee91092284
[eric] fix packaged Mac boot: splash icon path, ship OAuth-only .env, exempt tools oauth callback from auth
2026-04-26 01:17:01 -07:00
ciregenz
d8f69bb23d
[eric] shrink prod payload another ~125MB: drop unused binary (-97MB), trim babel non-en locale data (-30MB), strip pip-only dist-info
...
noise (-2MB), move pytest to dev-requirements (-4MB)
2026-04-25 04:35:20 -07:00