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
|
4843d993d3
|
[eric] electron: add preflight module with nine env-injected checks (os, resources, appdata-writable, security-block, system-libs, network, gpu, dual-stack, clock) each wrapped by withTimeout that turns hangs into warn-not-fail, plus version-keyed cache read/write/prune so subsequent launches skip the work and a version bump deletes the stale token
|
2026-05-28 02:12:52 -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
|
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
|
2026-05-28 00:55:55 -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
|
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
|
2026-05-28 00:41:30 -07:00 |
|
Eric
|
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
|
2026-05-28 00:41:26 -07:00 |
|
Eric
|
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
|
2026-05-28 00:41:21 -07:00 |
|
Eric
|
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
|
2026-05-28 00:35:20 -07:00 |
|
Eric
|
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
|
2026-05-28 00:35:16 -07:00 |
|
Eric
|
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
|
2026-05-28 00:35:11 -07:00 |
|
Eric
|
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
|
2026-05-27 23:25:51 -07:00 |
|
Eric
|
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
|
2026-05-27 23:25:46 -07:00 |
|
Eric
|
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
|
2026-05-27 23:22:03 -07:00 |
|
Eric
|
ac2662353e
|
[eric] e2e: make deep-coverages safeclick throw on missing required targets instead of annotating a skip and passing
|
2026-05-27 23:21:59 -07:00 |
|
Eric
|
688b2f1912
|
[eric] e2e: seed a fake user_id on ci so the signin gate modal doesnt eat every click and silently green the suite
|
2026-05-27 23:21:55 -07:00 |
|
Eric
|
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
|
2026-05-27 23:03:28 -07:00 |
|
Eric
|
2ec69427d0
|
[eric] revert: drop the five windows ablations now that electron 42 (chromium 146) erases the chromium-144 crashes they were working around
|
2026-05-27 20:51:14 -07:00 |
|
Eric
|
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
|
2026-05-27 20:31:33 -07:00 |
|
Eric
|
bea60d7e3f
|
[eric] fix: ablate richprompteditor to textarea on windows-electron too since the modes editor uses the same contenteditable that segfaults
|
2026-05-27 20:19:23 -07:00 |
|
Eric
|
aeaa79d291
|
[eric] fix: ablate codemirror to a textarea on windows-electron since editorview mounts the same contenteditable that segfaults the renderer
|
2026-05-27 20:13:29 -07:00 |
|
Eric
|
c3d514bf1c
|
[eric] fix: complete the windows ablation by rendering textarea in editorsurface and skipping the onboarding video element entirely
|
2026-05-27 20:06:08 -07:00 |
|
Eric
|
5b7c852bb7
|
[eric] fix: stop the onboarding renderer segfault on windows by not preloading the video metadata that triggers it
|
2026-05-27 19:53:46 -07:00 |
|
Eric
|
dd9d5a367c
|
[eric] fix: stop the windows renderer segfault on view previews by falling back to iframe like browser cards already do
|
2026-05-27 19:34:30 -07:00 |
|
Eric
|
70244b47cb
|
[eric] chore: gitignore local-only docs/ops background-team state
|
2026-05-27 19:15:23 -07:00 |
|
Eric
|
2a4cb96ac0
|
[eric] docs: record the one-line-comment rule in the precedence list
|
2026-05-27 19:11:12 -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
|
d4aa87a320
|
[eric] fix: fire the boot beacon only after backend-ready, not just first-paint, so it doesnt post into a dead socket
|
2026-05-27 19:11:12 -07:00 |
|
Eric
|
9990ab8e09
|
[eric] feat: add boot preflight diagnostics and a silent opt-out-honored fleet boot beacon
|
2026-05-27 19:11:12 -07:00 |
|
Eric
|
0b98228dcd
|
[eric] docs: document the auto-update cycle check and staged rollout gated on boot beacons
|
2026-05-27 19:11:12 -07:00 |
|
Eric
|
1cf401b393
|
[eric] ci: fail the release if the signed installer or app isnt actually signed and notarized
|
2026-05-27 19:11:12 -07:00 |
|
Eric
|
7192b27e44
|
[eric] ci: run the full gate (selftest, verify-all, gui hand, installer) on every leg and span mac intel plus arm
|
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
|
de454180d9
|
[eric] test: make the gui selftest prove the window actually painted, not just that a png came back
|
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
|
ecb63478f3
|
[eric] build: add the mcp sdk dep plus lockfile the gui hand needs
|
2026-05-27 19:11:11 -07:00 |
|