Commit Graph

  • 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 Eric 2026-05-28 01:25:14 -07:00
  • 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 Eric 2026-05-28 01:25:08 -07:00
  • 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 Eric 2026-05-28 01:25:03 -07:00
  • 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 Eric 2026-05-28 01:24:56 -07:00
  • 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 Eric 2026-05-28 01:24:51 -07:00
  • 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 Eric 2026-05-28 01:24:45 -07:00
  • 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 Eric 2026-05-28 01:24:40 -07:00
  • 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 Eric 2026-05-28 01:24:35 -07:00
  • 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 Eric 2026-05-28 00:56:04 -07:00
  • 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 Eric 2026-05-28 00:55:59 -07:00
  • e8f32da42d [eric] backend: pin the six previously-unpinned requirements (jsonschema, fastapi, pillow, httpx, trafilatura, tzlocal) to the exact versions baked into the last working packaged build so deps-pinned passes and reproducibility actually matches the header comment Eric 2026-05-28 00:55:55 -07:00
  • 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 Eric 2026-05-28 00:55:50 -07:00
  • 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 Eric 2026-05-28 00:55:45 -07:00
  • fc51057158 [eric] e2e: wire a11y+heap snapshots, opt-in visual-diff baselines, and an aftereach failure dump into the combinatorial spec so every test now leaves a forensic trail Eric 2026-05-28 00:41:30 -07:00
  • 4b6040ade0 [eric] e2e: extend visibility to capture redux diffs, ipc invokes with timings, electron main stdout/stderr, chromium perfetto trace, js+css coverage, on-demand heap and a11y snapshots, plus per-test failure dumps with redux state and event tail Eric 2026-05-28 00:41:26 -07:00
  • c44bd07fe7 [eric] frontend: extend the store-on-window gate so an init-script flag also exposes it on production builds, letting e2e subscribe to redux diffs against the packaged app Eric 2026-05-28 00:41:21 -07:00
  • 969cc07a5e [eric] ci: gitignore the per-run e2e trace dir and upload it as an artifact on every leg so a failed run is downloadable, not a black box Eric 2026-05-28 00:35:20 -07:00
  • 4e7b8a93e9 [eric] e2e: wire the visibility recorder into the combinatorial and round-trip specs so every action gets a per-test timeline file alongside the playwright trace Eric 2026-05-28 00:35:16 -07:00
  • ff93a24d74 [eric] e2e: add a visibility recorder that streams playwright trace, console+network+pageerror, websocket frames, mouse/wheel/keys with high-res timestamps, longtask events, and live backend log into a per-test directory so a failure shows the full causal chain Eric 2026-05-28 00:35:11 -07:00
  • 61b1a5ad37 [eric] ops: gitignore dev-team local state files ciregenz 2026-05-28 00:21:43 -07:00
  • 4f45857cae [eric] e2e: add a real-agent-roundtrip spec that types a tiny prompt, sends it, and asserts an assistant bubble arrives with non-empty text, auto-skipping when no provider env key is wired Eric 2026-05-27 23:25:51 -07:00
  • 6ec943666a [eric] e2e: extend the launch seed to pull provider api keys from env so nothing lives on disk outside the per-user app-support settings file Eric 2026-05-27 23:25:46 -07:00
  • 1efaf7135c [eric] e2e: add a combinatorial-flows spec with strict post-conditions, page+console error capture, and a self-check that proves must() actually fails Eric 2026-05-27 23:22:03 -07:00
  • ac2662353e [eric] e2e: make deep-coverages safeclick throw on missing required targets instead of annotating a skip and passing Eric 2026-05-27 23:21:59 -07:00
  • 688b2f1912 [eric] e2e: seed a fake user_id on ci so the signin gate modal doesnt eat every click and silently green the suite Eric 2026-05-27 23:21:55 -07:00
  • 6334d2a3de [eric] test: add a deep-coverage e2e spec that drives every reachable user surface on the packaged app and asserts no renderer crashes per step Eric 2026-05-27 23:03:28 -07:00
  • 2ec69427d0 [eric] revert: drop the five windows ablations now that electron 42 (chromium 146) erases the chromium-144 crashes they were working around Eric 2026-05-27 20:51:14 -07:00
  • 7ce71cb29c [eric] build: bump electron from castlabs v40.7.0 to v42.0.0 wvcus so chromium goes from 144 to 146 and the windows tsf/webview segfaults the team has been ablating become unneeded Eric 2026-05-27 20:31:33 -07:00
  • bea60d7e3f [eric] fix: ablate richprompteditor to textarea on windows-electron too since the modes editor uses the same contenteditable that segfaults Eric 2026-05-27 20:19:23 -07:00
  • aeaa79d291 [eric] fix: ablate codemirror to a textarea on windows-electron since editorview mounts the same contenteditable that segfaults the renderer Eric 2026-05-27 20:13:29 -07:00
  • c3d514bf1c [eric] fix: complete the windows ablation by rendering textarea in editorsurface and skipping the onboarding video element entirely Eric 2026-05-27 20:06:08 -07:00
  • 5b7c852bb7 [eric] fix: stop the onboarding renderer segfault on windows by not preloading the video metadata that triggers it Eric 2026-05-27 19:53:46 -07:00
  • dd9d5a367c [eric] fix: stop the windows renderer segfault on view previews by falling back to iframe like browser cards already do Eric 2026-05-27 19:34:30 -07:00
  • 70244b47cb [eric] chore: gitignore local-only docs/ops background-team state Eric 2026-05-27 19:15:23 -07:00
  • 2a4cb96ac0 [eric] docs: record the one-line-comment rule in the precedence list Eric 2026-05-27 17:10:44 -07:00
  • 852b3bb232 [eric] refactor: trim the verifier and mcp comments to one line each per the updated convention Eric 2026-05-27 17:10:44 -07:00
  • bb6006a896 [eric] test: add a boot-beacon and preflight check and fold it into the run-everything command Eric 2026-05-27 17:10:44 -07:00
  • d4aa87a320 [eric] fix: fire the boot beacon only after backend-ready, not just first-paint, so it doesnt post into a dead socket Eric 2026-05-27 17:10:44 -07:00
  • 9990ab8e09 [eric] feat: add boot preflight diagnostics and a silent opt-out-honored fleet boot beacon Eric 2026-05-27 16:43:50 -07:00
  • 0b98228dcd [eric] docs: document the auto-update cycle check and staged rollout gated on boot beacons Eric 2026-05-27 16:38:30 -07:00
  • 1cf401b393 [eric] ci: fail the release if the signed installer or app isnt actually signed and notarized Eric 2026-05-27 16:32:45 -07:00
  • 7192b27e44 [eric] ci: run the full gate (selftest, verify-all, gui hand, installer) on every leg and span mac intel plus arm Eric 2026-05-27 16:21:53 -07:00
  • aa9d6acb4b [eric] test: add an installer check that observes a real install safely, refuses to clobber it, and has a clean-machine destructive cycle Eric 2026-05-27 16:19:07 -07:00
  • 92f48db79b [eric] docs: write up the gate red-team - what has teeth and the one auth gap we closed Eric 2026-05-27 16:11:05 -07:00
  • de454180d9 [eric] test: make the gui selftest prove the window actually painted, not just that a png came back Eric 2026-05-27 16:11:05 -07:00
  • 8d06c7b7a3 [eric] test: harden the auth check to reject a wrong token, not just a missing one Eric 2026-05-27 16:11:05 -07:00
  • aa0ace4363 [eric] test: make the boot checks mutation-testable and prove every guard fires on a break Eric 2026-05-27 16:11:05 -07:00
  • ecb63478f3 [eric] build: add the mcp sdk dep plus lockfile the gui hand needs Eric 2026-05-27 16:00:19 -07:00
  • 8bfeb803f0 [eric] test: add a selftest that proves the gui hand can launch, drive, and read the real app Eric 2026-05-27 16:00:19 -07:00
  • e050cd6608 [eric] test: add a playwright hand to drive the packaged app (launch, click, type, screenshot, read-dom, read-log) Eric 2026-05-27 16:00:19 -07:00
  • 5a1d0362ef [eric] test: fold the agent-turn check into the run-everything command so it auto-skips unless opted in Eric 2026-05-27 15:41:13 -07:00
  • 5d8672b9a0 [eric] test: add a check that runs one real agent turn on your own login and proves a genuine reply Eric 2026-05-27 15:41:13 -07:00
  • 587a7d93d2 [eric] test: add one command that runs every packaged-app check and tallies the score Eric 2026-05-27 15:35:08 -07:00
  • 993d5391db [eric] test: add a check that auth, 9router, and the update feed are actually wired up Eric 2026-05-27 15:35:08 -07:00
  • df747893c3 [eric] test: add a check that the app shrugs off a busy port and a double-click Eric 2026-05-27 15:35:08 -07:00
  • 2ae8bce3d6 [eric] test: add a check that says whether the build is really signed or honestly admits it isnt Eric 2026-05-27 15:35:08 -07:00
  • 992d075cc0 [eric] test: pull the app-launch plumbing into a shared lib so each check stays tiny Eric 2026-05-27 15:35:08 -07:00
  • 0531f59fa6 [eric] test: add a script that launches the packaged app and confirms it boots, paints, and serves (no browser automation) Eric 2026-05-27 15:01:22 -07:00
  • 56282c5080 [eric] build: stop shipping the dead google client id/secret that nothing reads at runtime Eric 2026-05-27 14:33:42 -07:00
  • f133b44a12 [eric] ci: skip the heavy e2e build on docs-only pushes Eric 2026-05-27 13:05:03 -07:00
  • 74ffff4148 [eric] docs: add the secret rotation + history-purge runbook so the leaked creds can actually be killed Eric 2026-05-27 13:05:03 -07:00
  • af16274934 [eric] ci: auto-verify both update feeds agree + resolve whenever a release is published Eric 2026-05-27 13:02:36 -07:00
  • 35280166f1 [eric] ci: drop the retired windows-2019 image, add an opt-in self-hosted win10 lane instead Eric 2026-05-27 13:01:45 -07:00
  • b544a9264e [eric] perf: strip type stubs + unix build leftovers from the bundled python so defender frisks fewer files Eric 2026-05-27 13:00:15 -07:00
  • 0d4dbd35df [eric] ci: add a windows-2019 (win10-era kernel) runner to the e2e matrix so older windows is covered too Eric 2026-05-27 12:51:46 -07:00
  • c8e781cc83 [eric] build: make the python lock universal so the mac build stops trying to install windows-only pywin32 Eric 2026-05-27 12:28:40 -07:00
  • e2f1e89cb8 [eric] build: import the notarize esm module lazily so electron-builder stops choking on every non-mac build Eric 2026-05-27 12:28:40 -07:00
  • 7dcb99cdec [eric] ci: run the e2e matrix on eric/lock pushes so the real app boot is verified on win + mac Eric 2026-05-27 12:02:51 -07:00
  • 652ef2b055 [eric] workflows: re-apply uncommitted scheduling wip (schedule pill, calendar view, slice) ciregenz 2026-05-27 11:56:18 -07:00
  • f0c2715713 [eric] workflows: restore scheduled-tasks on the workflow line (revert removal, keep windows fixes + 1.1.69) ciregenz 2026-05-27 11:53:30 -07:00
  • 4695f3f5d1 [eric] ci: gitleaks-ignore the known historical secrets so our branch stops failing on leaks it didnt add Eric 2026-05-27 11:03:43 -07:00
  • 82aa0622f1 [eric] ci: gitleaks-ignore the known historical secrets so our branch stops failing on leaks it didnt add Eric 2026-05-27 11:03:43 -07:00
  • 33d2797d8f [eric] ci: drop the half-baked windows-artifact-smoke stub since e2e already smokes the real packaged app Eric 2026-05-27 11:25:10 -07:00
  • 6d2bf4d4db [eric] ci: gitleaks-ignore the known historical secrets so our branch stops failing on leaks it didnt add Eric 2026-05-27 11:03:43 -07:00
  • de599151f2 [eric] docs: move the release runbook, checklist + squirrel plan into docs/ so root stops feeling cluttered Eric 2026-05-27 11:03:43 -07:00
  • bd09778e1a [eric] build: commit the lockfiles npm ci needs + ignore the build-info stamp Eric 2026-05-27 10:19:54 -07:00
  • 0b72102adc [eric] build: install python from the lock + slim the bundled stdlib Eric 2026-05-27 10:19:54 -07:00
  • 237738d928 [eric] build: pin uv + npm ci the builders + add an opt-in squirrel target Eric 2026-05-27 10:19:54 -07:00
  • 46c7059802 [eric] ui: show the build commit in settings about so a screenshot says what shipped Eric 2026-05-27 10:19:54 -07:00
  • ac6ae7c7ce [eric] diagnostics: time the boot + stamp the shipped commit into the log Eric 2026-05-27 10:19:53 -07:00
  • 1fc4ab9163 [eric] test: drive the real packaged app on mac + windows to catch breakage early Eric 2026-05-27 10:19:53 -07:00
  • b7cb505561 [eric] docs: add the squirrel-vs-nsis race plan so we only swap if its faster Eric 2026-05-27 10:19:53 -07:00
  • c957716e0c [eric] ci: dont call anything latest until both update feeds agree + resolve Eric 2026-05-27 10:19:53 -07:00
  • 202c656b15 [eric] ci: build the mac app in the cloud so both platforms come from one commit Eric 2026-05-27 10:19:53 -07:00
  • 54a7cb96b4 [eric] ci: boot the packaged backend in ci + check its health and agent endpoints Eric 2026-05-27 10:19:53 -07:00
  • 6230d5685b [eric] docs: add the release runbook so cutting a build isnt tribal knowledge Eric 2026-05-27 10:19:53 -07:00
  • 0d561fa49d [eric] perf: stopwatch the boot + headcount every file we ship Eric 2026-05-27 10:19:53 -07:00
  • 6a0e437c8c [eric] build: freeze python deps in a hashed lock so pip cant sneak one in Eric 2026-05-27 10:19:52 -07:00
  • 4f61b6cd49 [eric] ci: pin build node to 20.18.1 to match the runtime we ship Eric 2026-05-27 10:19:52 -07:00
  • 30914ae40c [eric] build: pin electron-builder + deps to exact versions so the packager cant drift Eric 2026-05-27 10:19:52 -07:00
  • 9c1940077f [eric] diagnostics: add backend.log, handle backend spawn failures, force utf-8 in executor sandbox Eric 2026-05-26 20:25:31 -07:00
  • 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 v1.1.69 Eric 2026-05-26 17:40:51 -07:00
  • 8c5b3bdf64 [eric] ui: fix the windows guide cursor jumping instead of gliding (it was being rebuilt from scratch every frame) and remove the new chat / history pills above the composer; bump 1.1.69 Eric 2026-05-26 15:41:13 -07:00
  • 440a3e22f6 [eric] windows: fix "backend crashed" by making the app pick a port that is genuinely free so it stops colliding with another program already on port 8324; bump 1.1.68 v1.1.68 Eric 2026-05-26 14:17:12 -07:00
  • 45a97aa05f [eric] windows: stop nsis upgrades hitting "cannot be closed" by reaping app builder children on quit and fixing the dead orphan-killer; bump 1.1.67 EricandClaude Opus 4.7 2026-05-26 13:30:05 -07:00
  • c0d0e012cc [eric] outputs/quit: reap app builder child processes before killing the backend on windows so nsis upgrades stop hitting "cannot be closed"; bump 1.1.67 v1.1.67 EricandClaude Opus 4.7 2026-05-26 13:19:11 -07:00
  • cf74ada3c2 [eric] auth: generate installation_id at backend startup so first-launch sign-in always has a non-empty install_id; bump 1.1.66 v1.1.66 EricandClaude Opus 4.7 2026-05-26 12:25:31 -07:00
  • 40b7c19b75 [eric] onboarding cursor: restore writePos-after-spring order so mac stays byte-identical (windows still eases via no-op controls + css transition); bump 1.1.65 v1.1.65 Eric 2026-05-26 11:17:01 -07:00
  • 3509c08057 [eric] workflows: remove scheduled-tasks end-to-end (frontend pages+slice, backend app+routes, electron poller), keep dock chat; bump 1.1.64 v1.1.64 Eric 2026-05-26 11:12:29 -07:00
  • bf6d7a9235 [eric] app-builder: cross-platform workspace runtime so apps build and run on windows (resolve bash/python/npm, venv Scripts layout, bundled-node PATH, online npm retry) Eric 2026-05-26 04:18:38 -07:00