Skip to content

chore(web): stop tracking static export - #463

Merged
genedna merged 2 commits into
mainfrom
chore/ignore-web-static-export
Sep 2, 2026
Merged

chore(web): stop tracking static export#463
genedna merged 2 commits into
mainfrom
chore/ignore-web-static-export

Conversation

@genedna

@genedna genedna commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Summary

  • stop tracking generated web/out assets, ignore the directory, and enforce its generate/ignored/untracked lifecycle in CI
  • retain the source-to-export-to-WebAssets validation in compat-web-check
  • repair post-rebase compatibility documentation, surface-registry anchors, and generated T4 ledger entries
  • make the upgrade floor micro-lock tolerate macOS concurrent first-create ENOENT
  • fix the installer's BSD sed parsing so a signed paused:true manifest fails closed

Verification

  • pnpm --dir web lint
  • pnpm --dir web test (20 files, 126 tests)
  • pnpm --dir web build
  • LIBRA_SKIP_WEB_BUILD=1 cargo clippy --all-targets --all-features -- -D warnings
  • cargo +nightly fmt --all --check
  • LIBRA_SKIP_WEB_BUILD=1 cargo test --test compat_install_alias
  • bash tests/data/install-smoke/run.sh (24/24 scenarios)
  • LIBRA_SKIP_WEB_BUILD=1 cargo test --all
  • generated ledger, ignored-export, and diff checks

All previously observed baseline failures are fixed in this branch; the new GitHub Actions run is the remaining remote gate.


Note

Medium Risk
CI and contributor workflow for the embedded Code UI changes materially; install.sh manifest parsing and upgrade locking touch release/install security paths.

Overview
Stops committing the Next.js static export under web/out/ and treats it as generated, gitignored output embedded at compile time via build.rs / WebAssets.

CI (compat-web-check) still lint/tests/builds the web app, but replaces the old “git status must be clean under web/out” drift gate with checks that the export was produced, is not tracked, and is ignored, then runs cargo check --lib with LIBRA_SKIP_WEB_BUILD=1 to ensure the fresh export can embed. Docs and a compat-matrix test are updated to match.

Also includes a few release/upgrade hardening fixes unrelated to the web export policy: install.sh parses the signed manifest paused field without BSD-unsafe sed alternation and rejects non-boolean values; internal::upgrade::lock retries transient ENOENT when creating the floors lock on Darwin. Dev docs add an upgrade command design note; compat ledger files only bump COMPATIBILITY.md citation line numbers.

Reviewed by Cursor Bugbot for commit ea585f4. Bugbot is set up for automated code reviews on this repo. Configure here.

Comment thread .github/workflows/base.yml
@genedna
genedna force-pushed the chore/ignore-web-static-export branch from d67346d to 1bc5c3e Compare September 2, 2026 03:18
Generate web/out during the build and verify its lifecycle in CI, preventing generated frontend assets from creating PR conflicts.

Signed-off-by: Quanyi Ma <eli@patch.sh>
Signed-off-by: Quanyi Ma <eli@patch.sh>
@genedna
genedna force-pushed the chore/ignore-web-static-export branch from 1bc5c3e to ea585f4 Compare September 2, 2026 08:12

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit ea585f4. Configure here.

name: FLOORS_LOCK_FILE_NAME.to_string(),
detail: "floors lock creation retry loop ended unexpectedly".into(),
})
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Floors lock retry is too weak

Medium Severity

open_floors_lock_file retries Darwin's first-create ENOENT only four times and only calls yield_now, so it never waits for the winning creator to land. Concurrent first-time floor recording can still fail to open .libra-upgrade-floors.lock, which matches the remaining concurrent_floor_recorders_serialize_and_never_regress failure.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit ea585f4. Configure here.

@genedna
genedna merged commit ff9033b into main Sep 2, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant