Docs›Releases›v1.0.0-beta.1
Beta 1 verification report — v1.0.0-beta.1
Reproducible record of how the first public beta was validated. It describes the release
candidate named below, not the current state of main.
| Item |
Value |
| Release candidate |
the tree tagged v1.0.0-beta.1. Code and tests were validated at PR #388 head 33f2281a4d5f297984f15dc5d695f91cbdd179ff; the later commits on that PR changed only Markdown and the site (READMEs, the Mac guides, the changelog, the engine README, this report, site/index.html), so the tagged code tree is the validated one. The merged commit SHA is recorded in the GitHub release and in #381 |
| Base of the work |
09c205b9cc2f4f4122e957cf7ec02a0a72277899 (2026-09-22 audit candidate) |
| Host |
macOS 27.0 (26A428), Apple Silicon (arm64) |
| Node / npm (local) |
24.16.0 / 11.13.0 — CI: Node 22 and 24 on ubuntu-latest, macOS/Windows/Linux runners for packaging |
| Browser |
Google Chrome 154.0.8037.57 (Safari not tested for Beta 1 by owner decision, #379) |
| Packaged runtime |
Electron 44.2.0 (arm64) |
| Validation date |
2026-09-22 (America/Mexico_City) |
Pull requests merged into the candidate
| PR |
Issue |
Scope |
QA |
| #384 |
#356 |
conditional cross-replication statistics, n, warning, contracts |
QA: OK |
| #385 |
#356 |
results/compare views: legacy and mixed-definition notices |
QA: OK |
| #386 |
#378 |
.lila opened through launch/open-file/recents/dialog saves |
QA: OK |
| #383 |
#381, #380 |
landing, colleague guide, Mac beta guides |
QA: OK |
| #382 |
#381 |
release/desktop/pages workflow gates, ad-hoc seal, artifact name |
QA: OK |
| #387 |
#381 |
About dialog, native menu entry, Easter egg, Settings layout |
QA: OK |
| #388 |
#381 |
version 1.0.0-beta.1, changelog, this report |
reviewed before merge (QA: OK recorded on the PR) |
Every PR was squash-merged after CI on Node 22 and 24 and an adversarial review by an
independent reviewer (claude-opus-5-5); workers were claude-opus-5-5 (#384) and
claude-sonnet-5 (#383, #385, #386, #387, acceptance); the lead was claude-fable-5-1.
Source gates on the candidate (fresh clone, clean npm ci)
| Check |
Command |
Result |
| Install |
npm ci |
exit 0 (423 packages) |
| Build |
npm run build |
exit 0 |
| Full suite |
npm test -- --maxWorkers=2 |
exit 0 — 137 files, 2196 tests passed, 1 skipped |
| Root typecheck |
npm run typecheck > /dev/null 2>&1; echo EXIT=$? |
EXIT=0 |
| Desktop typecheck |
npm run typecheck -w @lila/desktop |
exit 0 |
| Links |
npm run check:links |
exit 0 — 219 relative links resolve |
| Package |
npm run test:package |
exit 0 — consumer install, Node16/Bundler types, EN/ES CLI, identical simulation bytes |
| Pages build |
npm run build:pages |
exit 0 — startup shows v1.0.0-beta.1; five theme JSONs byte-identical to source |
| Root-base web build |
npm run build -w @lila/web |
exit 0 (_site unchanged) |
| Project E2E |
LILA_E2E_PORT=18571 LILA_E2E_CDP_PORT=19571 node tools/e2e-lila.mjs |
exit 0, no failures |
| Replay E2E |
LILA_E2E_PORT=18572 LILA_E2E_CDP_PORT=19572 node tools/e2e-replay.mjs |
exit 0, no failures |
| Desktop open-path E2E |
node tools/e2e-desktop-open-path.mjs (real Electron) |
exit 0 — 15/15 steps |
| Version consistency |
manifests, lockfile, version.ts, MCP VERSION, startup string |
all 1.0.0-beta.1; no alpha literal left in packages/*/src, apps/*/src |
| Dependency audit (record) |
npm audit --omit=dev / npm audit |
production: 0; with dev tools: 2 moderate (vitest tooling, GHSA-82fw-gwwq-j7x9), unchanged |
| CI |
Node 22 / Node 24, Desktop matrix, Pages build |
green on the PR head; the runs for the merged commit and for the tag are linked from the GitHub release and #381 |
Web acceptance (/lila-modeler/app/ served from the Pages artifact)
Same check set, driven in-page by one harness: landing without startup overlay; app startup with
the manifest version; default theme Eva-01 and English; edit a task; AS-IS and TO-BE with seed 42
and 30 replications; comparison; replay play/pause with counters; four CSV exports and XLSX;
explicit .lila download with both runs and the edit; reload restore; discard of an unsaved edit;
reopen after clearing storage; invalid .lila kept out with an alert; cancelled open; storage
quota failure still downloads the complete project; cancelled long run; failed editor bundle with
working recovery; five themes × English/Spanish applied and persisted; no page errors or failed
asset loads.
| Browser |
Version |
Result |
| Chrome |
154.0.8037.57 on macOS 27.0 |
PASS — 20/20 steps |
| Safari |
27.0 |
not tested (owner decision for Beta 1; #379 stays open) |
macOS arm64 acceptance
| Check |
Result |
Local DMG from the candidate (npm run dist:mac) |
Lila-Modeler-1.0.0-beta.1-mac-arm64.dmg, SHA-256 3858fe724046740489ed275334cb63b9bb49a1138666668cc0f370dbccb76b03, ORIGEN.txt sha 33f2281… |
| CI DMG attached to the release |
recorded in the GitHub release (SHA256SUMS) |
| Architecture / bundle version / seal |
lipo -archs = arm64; CFBundleShortVersionString = 1.0.0-beta.1; Signature=adhoc, codesign --verify --deep --strict OK; spctl --assess rejected (not notarized, expected) |
| Packed web bundle |
five theme JSONs identical to source; startup shows v1.0.0-beta.1 |
| Menu open → edit → Save → close Save / Discard / Cancel → reopen |
PASS (fresh profiles; reopen recovers 2 scenarios and the saved run) |
Launch argument, open-file (cold and running, lazy queue), recents, dialog; ASCII, spaces, accents NFC/NFD; Save, Save As, reopen; read-only failure; loose .bpmn |
PASS — 15/15 (tools/e2e-desktop-open-path.mjs) |
LaunchServices open-file on the packaged app (open -a, the event Finder sends) |
PASS — running instance with an accented .lila: project loads, native Save writes the edit, scenarios preserved, no alert; cold launch with cold launch.lila: project loads, native Save completes without alert (no edit made, file unchanged) |
| Physical Finder double-click |
not exercised on the test Mac (an older installed build owns the .lila association there) |
Quarantined download: xattr quarantine, hdiutil mount, copy, spctl, first launch |
PASS up to the Open Anyway step — blocked on first launch; System Settings ▸ Privacy & Security offers Open Anyway (not "damaged"); the final authenticated click is the owner's |
Verdicts
- Web: lista for Chrome on macOS; Safari and other browsers untested.
- macOS arm64: lista con limitaciones — unsigned and not notarized (Open Anyway on first
launch), tested only on macOS 27.0 Apple Silicon; physical Finder double-click not exercised.
Untested and therefore unsupported: Intel Macs, Windows, Linux, macOS versions other than 27.0,
browsers other than Chrome 154, mobile editing.