Skip to content

chore(quality): drop stale muse-spark-web allowlist entry + sync sidebar order snapshots - #8383

Merged
diegosouzapw merged 1 commit into
release/v3.8.49from
chore/basered-allowlist-sidebar
Jul 24, 2026
Merged

diegosouzapw merged 1 commit into
release/v3.8.49from
chore/basered-allowlist-sidebar

Conversation

@diegosouzapw

Copy link
Copy Markdown
Owner

Root cause (2 independent items — both "code is right, bookkeeping lagged")

1. Stale allowlist entry after #8233

#8233 made open-sse/executors/muse-spark-web.ts import
sanitizeErrorMessage from utils/error.ts — a real Rule #12 fix — but
did not remove the file's KNOWN_MISSING_ERROR_HELPER allowlist entry in
scripts/check/check-error-helper.mjs. The gate's own stale-allowlist
enforcement (assertNoStale, scripts/check/lib/allowlist.mjs) correctly
flags entries that no longer correspond to a live violation.

2. Sidebar order snapshots not updated after #8064

#8064 ("per-model/endpoint compression exclusion filter") added the
compression-exclusions sidebar item immediately after
compression-studio in COMPRESSION_CONTEXT_GROUP
(src/shared/constants/sidebarVisibility/sections.ts) — a deliberate,
complete feature. Two pre-existing order-snapshot tests, written before
that item existed, were not updated to match:

  • tests/unit/sidebar-visibility.test.ts (flattened omni-proxy section
    id list)
  • tests/unit/ui/sidebar-engine-items.test.ts ("Studio must be last")

Fix

  1. Removed the stale "open-sse/executors/muse-spark-web.ts" entry (and
    its now-obsolete justification comment) from
    KNOWN_MISSING_ERROR_HELPER, leaving the Set empty. Left the
    assertNoStale machinery and the general scope-header comments
    untouched.
  2. Updated both sidebar tests to the real, intentional order: Settings →
    Combos → engines → Studio → Exclusions (Studio now second-to-last,
    Exclusions last). This is alignment to a deliberate, shipped feature,
    not a weakening — the "group order" test in sidebar-engine-items.test.ts
    was renamed to Settings → Combos → engines → Studio → Exclusions and
    now asserts both "Exclusions is last" and "Studio immediately precedes
    Exclusions", preserving the original ordering intent.

Validation (red → green)

check:error-helper gate:

# before
[check-error-helper] 1 entrada(s) obsoleta(s) na allowlist — a violação foi corrigida; REMOVA a entrada para travar a correção:
  ✗ open-sse/executors/muse-spark-web.ts
(exit 1)

# after
[check-error-helper] OK (898 files scanned, 0 known-missing frozen)
(exit 0)

tests/unit/check-error-helper.test.ts: 31/32 → 32/32 (the "shipped
allowlist freezes exactly the known current violators" test now sees an
empty Set as expected)

tests/unit/sidebar-visibility.test.ts: 6/7 → 7/7 ("primary sidebar
items place limits after cache" now includes compression-exclusions)

tests/unit/ui/sidebar-engine-items.test.ts: 13/14 → 14/14 ("group
order is Settings → Combos → engines → Studio → Exclusions" now passes)

npx eslint on all three touched files reports no new issues (one
pre-existing no-explicit-any warning in sidebar-visibility.test.ts
line 117 is unrelated to this diff and already frozen in
config/quality/eslint-suppressions.json).

Refs #8233
Refs #8064

…bar order snapshots

Two independent "code is right, bookkeeping lagged" base-reds:

1. #8233 made open-sse/executors/muse-spark-web.ts import
   sanitizeErrorMessage from utils/error.ts (a real Rule #12 fix), but
   left its KNOWN_MISSING_ERROR_HELPER allowlist entry in
   scripts/check/check-error-helper.mjs in place. The gate's own
   stale-allowlist enforcement (assertNoStale) correctly flagged the now
   -obsolete entry: `npm run check:error-helper` failed with "1 entrada(s)
   obsoleta(s)", and tests/unit/check-error-helper.test.ts's "the shipped
   allowlist freezes exactly the known current violators" test expected
   an empty Set. Removed the entry (kept the assertNoStale machinery and
   the general scope-header comments untouched).

2. #8064 added the "compression-exclusions" sidebar item right after
   "compression-studio" in COMPRESSION_CONTEXT_GROUP (deliberate,
   complete feature) but didn't update two order-snapshot tests written
   before that item existed:
   - tests/unit/sidebar-visibility.test.ts expected the "omni-proxy"
     section's flattened id list to end the compression block at
     "compression-studio".
   - tests/unit/ui/sidebar-engine-items.test.ts asserted "Studio must be
     last" in COMPRESSION_CONTEXT_GROUP.
   Updated both to the real, intentional order: Settings -> Combos ->
   engines -> Studio -> Exclusions (Studio now second-to-last,
   Exclusions last).

Validation (red -> green):
- check:error-helper gate: red ("1 entrada(s) obsoleta(s)") -> green
  ("OK (898 files scanned, 0 known-missing frozen)")
- tests/unit/check-error-helper.test.ts: 31/32 -> 32/32
- tests/unit/sidebar-visibility.test.ts: 6/7 -> 7/7
- tests/unit/ui/sidebar-engine-items.test.ts: 13/14 -> 14/14

Refs #8233
Refs #8064
@diegosouzapw
diegosouzapw force-pushed the chore/basered-allowlist-sidebar branch from 1762f60 to 70901c0 Compare July 24, 2026 12:58
@diegosouzapw
diegosouzapw merged commit 875de01 into release/v3.8.49 Jul 24, 2026
6 of 9 checks passed
@diegosouzapw
diegosouzapw deleted the chore/basered-allowlist-sidebar branch July 24, 2026 13:03
diegosouzapw pushed a commit that referenced this pull request Jul 27, 2026
…8611)

The `compat-build-26` job in nightly-compat.yml is the only place in the CI
matrix that runs `npm run build` on Node 26 (ci.yml pins CI_NODE_VERSION=24).
It failed every nightly with the runner-reclaimed signature ("The runner has
received a shutdown signal" / "The operation was canceled", no exit code),
always at the same Turbopack compile phase — the classic OOM-kill pattern on
the memory-constrained ubuntu-latest runner.

Root cause: Turbopack's native (Rust, off-V8-heap) allocation is not bounded by
--max-old-space-size and peaks far higher than webpack on OmniRoute's large
module graph (#6409), heavier still under Node 26. Raising the heap does not
help — the codebase's own documented escape hatch for RAM-constrained
environments is the webpack fallback (OMNIROUTE_USE_TURBOPACK=0; see
docs/reference/ENVIRONMENT.md and scripts/build/build-next-isolated.mjs).

Wire that fallback into the Node 26 compat build: it still validates the app
builds on Node 26 (the point of the job) at a much lower memory peak.
Turbopack-on-Node-24 stays covered by ci.yml's build job.

Adds a regression guard (tests/unit/nightly-compat-node26-webpack-8090.test.ts)
asserting the job keeps the webpack fallback so it cannot silently regress.

Class 1 of the triage (shard test failures) was already resolved by #8390,
#8386, #8381, #8383.

Closes #8090
Refs #6949 #6409
HouMinXi pushed a commit to HouMinXi/OmniRoute that referenced this pull request Aug 2, 2026
…bar order snapshots (diegosouzapw#8383)

Two independent "code is right, bookkeeping lagged" base-reds:

1. diegosouzapw#8233 made open-sse/executors/muse-spark-web.ts import
   sanitizeErrorMessage from utils/error.ts (a real Rule diegosouzapw#12 fix), but
   left its KNOWN_MISSING_ERROR_HELPER allowlist entry in
   scripts/check/check-error-helper.mjs in place. The gate's own
   stale-allowlist enforcement (assertNoStale) correctly flagged the now
   -obsolete entry: `npm run check:error-helper` failed with "1 entrada(s)
   obsoleta(s)", and tests/unit/check-error-helper.test.ts's "the shipped
   allowlist freezes exactly the known current violators" test expected
   an empty Set. Removed the entry (kept the assertNoStale machinery and
   the general scope-header comments untouched).

2. diegosouzapw#8064 added the "compression-exclusions" sidebar item right after
   "compression-studio" in COMPRESSION_CONTEXT_GROUP (deliberate,
   complete feature) but didn't update two order-snapshot tests written
   before that item existed:
   - tests/unit/sidebar-visibility.test.ts expected the "omni-proxy"
     section's flattened id list to end the compression block at
     "compression-studio".
   - tests/unit/ui/sidebar-engine-items.test.ts asserted "Studio must be
     last" in COMPRESSION_CONTEXT_GROUP.
   Updated both to the real, intentional order: Settings -> Combos ->
   engines -> Studio -> Exclusions (Studio now second-to-last,
   Exclusions last).

Validation (red -> green):
- check:error-helper gate: red ("1 entrada(s) obsoleta(s)") -> green
  ("OK (898 files scanned, 0 known-missing frozen)")
- tests/unit/check-error-helper.test.ts: 31/32 -> 32/32
- tests/unit/sidebar-visibility.test.ts: 6/7 -> 7/7
- tests/unit/ui/sidebar-engine-items.test.ts: 13/14 -> 14/14

Refs diegosouzapw#8233
Refs diegosouzapw#8064
HouMinXi pushed a commit to HouMinXi/OmniRoute that referenced this pull request Aug 2, 2026
…iegosouzapw#8611)

The `compat-build-26` job in nightly-compat.yml is the only place in the CI
matrix that runs `npm run build` on Node 26 (ci.yml pins CI_NODE_VERSION=24).
It failed every nightly with the runner-reclaimed signature ("The runner has
received a shutdown signal" / "The operation was canceled", no exit code),
always at the same Turbopack compile phase — the classic OOM-kill pattern on
the memory-constrained ubuntu-latest runner.

Root cause: Turbopack's native (Rust, off-V8-heap) allocation is not bounded by
--max-old-space-size and peaks far higher than webpack on OmniRoute's large
module graph (diegosouzapw#6409), heavier still under Node 26. Raising the heap does not
help — the codebase's own documented escape hatch for RAM-constrained
environments is the webpack fallback (OMNIROUTE_USE_TURBOPACK=0; see
docs/reference/ENVIRONMENT.md and scripts/build/build-next-isolated.mjs).

Wire that fallback into the Node 26 compat build: it still validates the app
builds on Node 26 (the point of the job) at a much lower memory peak.
Turbopack-on-Node-24 stays covered by ci.yml's build job.

Adds a regression guard (tests/unit/nightly-compat-node26-webpack-8090.test.ts)
asserting the job keeps the webpack fallback so it cannot silently regress.

Class 1 of the triage (shard test failures) was already resolved by diegosouzapw#8390,
diegosouzapw#8386, diegosouzapw#8381, diegosouzapw#8383.

Closes diegosouzapw#8090
Refs diegosouzapw#6949 diegosouzapw#6409
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…bar order snapshots (diegosouzapw#8383)

Two independent "code is right, bookkeeping lagged" base-reds:

1. diegosouzapw#8233 made open-sse/executors/muse-spark-web.ts import
   sanitizeErrorMessage from utils/error.ts (a real Rule diegosouzapw#12 fix), but
   left its KNOWN_MISSING_ERROR_HELPER allowlist entry in
   scripts/check/check-error-helper.mjs in place. The gate's own
   stale-allowlist enforcement (assertNoStale) correctly flagged the now
   -obsolete entry: `npm run check:error-helper` failed with "1 entrada(s)
   obsoleta(s)", and tests/unit/check-error-helper.test.ts's "the shipped
   allowlist freezes exactly the known current violators" test expected
   an empty Set. Removed the entry (kept the assertNoStale machinery and
   the general scope-header comments untouched).

2. diegosouzapw#8064 added the "compression-exclusions" sidebar item right after
   "compression-studio" in COMPRESSION_CONTEXT_GROUP (deliberate,
   complete feature) but didn't update two order-snapshot tests written
   before that item existed:
   - tests/unit/sidebar-visibility.test.ts expected the "omni-proxy"
     section's flattened id list to end the compression block at
     "compression-studio".
   - tests/unit/ui/sidebar-engine-items.test.ts asserted "Studio must be
     last" in COMPRESSION_CONTEXT_GROUP.
   Updated both to the real, intentional order: Settings -> Combos ->
   engines -> Studio -> Exclusions (Studio now second-to-last,
   Exclusions last).

Validation (red -> green):
- check:error-helper gate: red ("1 entrada(s) obsoleta(s)") -> green
  ("OK (898 files scanned, 0 known-missing frozen)")
- tests/unit/check-error-helper.test.ts: 31/32 -> 32/32
- tests/unit/sidebar-visibility.test.ts: 6/7 -> 7/7
- tests/unit/ui/sidebar-engine-items.test.ts: 13/14 -> 14/14

Refs diegosouzapw#8233
Refs diegosouzapw#8064
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…iegosouzapw#8611)

The `compat-build-26` job in nightly-compat.yml is the only place in the CI
matrix that runs `npm run build` on Node 26 (ci.yml pins CI_NODE_VERSION=24).
It failed every nightly with the runner-reclaimed signature ("The runner has
received a shutdown signal" / "The operation was canceled", no exit code),
always at the same Turbopack compile phase — the classic OOM-kill pattern on
the memory-constrained ubuntu-latest runner.

Root cause: Turbopack's native (Rust, off-V8-heap) allocation is not bounded by
--max-old-space-size and peaks far higher than webpack on OmniRoute's large
module graph (diegosouzapw#6409), heavier still under Node 26. Raising the heap does not
help — the codebase's own documented escape hatch for RAM-constrained
environments is the webpack fallback (OMNIROUTE_USE_TURBOPACK=0; see
docs/reference/ENVIRONMENT.md and scripts/build/build-next-isolated.mjs).

Wire that fallback into the Node 26 compat build: it still validates the app
builds on Node 26 (the point of the job) at a much lower memory peak.
Turbopack-on-Node-24 stays covered by ci.yml's build job.

Adds a regression guard (tests/unit/nightly-compat-node26-webpack-8090.test.ts)
asserting the job keeps the webpack fallback so it cannot silently regress.

Class 1 of the triage (shard test failures) was already resolved by diegosouzapw#8390,
diegosouzapw#8386, diegosouzapw#8381, diegosouzapw#8383.

Closes diegosouzapw#8090
Refs diegosouzapw#6949 diegosouzapw#6409
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