Commit Graph
67 Commits
Author SHA1 Message Date
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
ciregenzandClaude 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