Repository navigation
base red: web lint hook fixture pins stand-in lint tools; bounded stream in the Chromium page fake - #34430
Conversation
…xt gate #34237 made the installed gate refuse an install with no lint-tools.lock. The web lint fixture copied no lock, so all 32 fixture pushes failed with "the installed hook is older than the checks this push needs". The fixture now commits a lock pinning no-op stand-ins and puts them in CMUX_LINT_TOOLS_DIR, so the gate runs and nothing is downloaded. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64
#34250 added an AsyncStream.makeStream() with the default unbounded buffer, which the Main-thread concurrency check refuses. Nothing yields to it, so .bufferingNewest(1) changes no behaviour. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64
|
Review (subagent opus medium): SHIP at 6c2bae1 Checked: the fixture lock matches read_lock's 6-field format; the stand-in paths match ensure_tool's target under CMUX_LINT_TOOLS_DIR for all four platform keys; no web lint test depends on the gate refusing or on the lock being absent; bufferingNewest(1) is a valid API and is already used on base. |
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Not verified: macOS jobs did not run: compile and app tests were skipped on CI passes on Written by Shipped in:
|
Fixes three base reds on feat-cmux-next. All the changes are test fixtures or test support.
1.
cmux-next web lint / web lint (fast)andcmux-next guards / tooling-tests(the "web lint pre-push hook" step). #34237 (9b2b57f) made the installed cmux-next gate refuse a hook install with nolint-tools.lock, which is correct. The web lint test fixture never committed a lock, so 32 fixture pushes failed with "the installed hook is older than the checks this push needs ... (it has no lint-tools.lock)". The fixture now commits a lock that pins no-op stand-ins for ast-grep, SwiftFormat and SwiftLint, and pointsCMUX_LINT_TOOLS_DIRat them. The gate still runs, and nothing is downloaded. Before #34237, this fixture ran the gate's scanners and skipped the pinned tools. The stand-ins find nothing, so the result is the same.TuiBindingsTestsreuses thatsetUp, so it gets the stand-ins too.2.
Main-thread concurrency. #34250 added anAsyncStream.makeStream()with the default unbounded buffer inCmuxNextPagesTestSupport/FakeChromiumHosting.swift:44. It now usesbufferingPolicy: .bufferingNewest(1). Nothing yields to that stream, so its behaviour is unchanged.Verified:
python3 tests/test_web_lint_prepush.pyran on the fleet with bun set up: 103 tests OK, down from 32 failures on base.scripts/cmux-next/check-concurrency.sh Packages/macOS/CmuxNextpasses.Agent session: agent session
🤖 Generated with Claude Code
Open in [code]smith · Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Fixes three base reds on
feat-cmux-nextwith test-only changes.lint-tools.lockpinning no-op stand-ins for ast-grep, SwiftFormat, and SwiftLint so the installed gate accepts pushes without downloading anything.FakeChromiumHostingnow usesbufferingPolicy: .bufferingNewest(1)to pass the main-thread concurrency check; nothing yields to it, so behavior is unchanged.Written for commit 6c2bae1. Summary will update on new commits.