Skip to content

fix(interop): pass lookahead a Duration and remeasure wire-compat pins - #8512

Merged
kixelated merged 1 commit into
mainfrom
fix/interop-lookahead-remeasure
Nov 11, 2026
Merged

kixelated merged 1 commit into
mainfrom
fix/interop-lookahead-remeasure

Conversation

@kixelated

@kixelated kixelated commented Nov 11, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

Scheduled Interop run 43052960736 failed two deterministic steps:

  • Harness regressions: publish-ui.browser.ts's invalid-attribute check restores lookahead with the number 0. Since moq-dev/moq#8295 the property takes a Duration, so the setter refuses it (invalid lookahead="0", expected a Duration). The caller is stale; the element is right.
  • Wire-compat: moq-cli 0.14.16 and moq-relay 0.17.16 made the moq-lite-07-wip planned break stale.

The port-reservation and FAIL pinned/timeout/empty round lines in the same job are passing negative self-tests, not failures.

Approach

  • The check restores lookahead with the page's own Duration (a fresh moq-watch's default), since the test's Duration class differs from the page bundle's.
  • Remeasured with just test wire-compat --remeasure: the same 16 cross-version lite-07-wip cells fail, so only the release pins move and the reason stands.

Impact

  • Public API: none. Wire: none.

Alternatives

Follow-ups

  • None. The release cut already owns remeasuring after each release (CONTRIBUTING.md, Releases).

Checks

  • just test harness: passes (49 browser tests).
  • just test wire-compat --remeasure: passes.
  • just check and just ci: pass.

Models

  • Size: XS
  • Implementer: Claude Code, claude-opus-5-5, unknown effort (start, XS)

🤖 Generated with Claude Code

(Written by Opus 5.5)

Review

Rewritten by quest review after each round.

  • Reviewer: Codex, gpt-6.1-sol, low effort
  • Session: 01a1cbfc-4d98-7661-b996-d72edac9b3ad, round 1
  • Head: 76f390b
  • Base: origin/main at 688312b
  • Score: 9/10, The changes are small and coherent with no actionable defects found by source inspection, though tests were not run as instructed.
  • Findings: none

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 11, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-11T17:32:48.737646Z 76f390b Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Nice work!

Reviewed commit: 76f390ba9e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@coderabbitai

coderabbitai Bot commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The browser test now uses a Duration value read from a temporary <moq-watch> instance as the valid recovery value for an invalid lookahead case. The moq-lite-07-wip compatibility entry now lists moq-cli 0.14.16 and moq-relay 0.17.16. The @moq/net version is unchanged.

Merge Risk: Minimal · up to 76f39

This change updates test and compatibility-pin data only, with no public API or wire impact. It is low risk to merge.

Pre-merge checks: Passed 5

Check name Status Explanation
Title check Passed The title clearly summarizes both main changes: passing a Duration to lookahead and updating wire-compatibility pins.
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Description check Passed The pull request description directly explains both changes: restoring lookahead with a Duration and updating stale wire-compatibility release pins.
Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 1 files. (1 skipped: 1 unsupported.)

Finishing Touches

Simplify code

  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Warning

Some tools did not complete. Review the errors below.

Biome (2.5.15)

test/interop/clients/js/publish-ui.browser.ts

Biome could not lint this file: configuration resulted in errors. Check the repository's Biome configuration and plugins.

test/interop/compat/planned-breaks.json

Biome could not lint this file: configuration resulted in errors. Check the repository's Biome configuration and plugins.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

Recent review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 4ae00abc-5072-46bf-87a3-a92f85b402f6
Commits

Reviewing files that changed from the base of the PR and between a4bc922 and 76f390b.

Files selected for processing: 2

  • test/interop/clients/js/publish-ui.browser.ts
  • test/interop/compat/planned-breaks.json

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 1 remain after this review.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

✅ No new issues found.

Reviewed changes

  • Harness caller updated for the Duration API — publish-ui.browser.ts restored lookahead with the number 0, which the property has refused since #8295. It now captures the page bundle's own Duration from a throwaway moq-watch (the test file's Duration class would fail the setter's instanceof), closes that probe's signals, and uses the captured default as the case's valid value. The invalid value stays "30", so both the unit-less-attribute refusal and the non-Duration property throw are still asserted.
  • Wire-compat pins refreshed — planned-breaks.json moves the moq-lite-07-wip break from moq-cli 0.14.15 / moq-relay 0.17.15 to 0.14.16 / 0.17.16, leaving @moq/net at 0.4.7 and the reason text unchanged.

Verified while reviewing: 0.14.16 and 0.17.16 are the newest stable non-yanked crates and @moq/net latest is 0.4.7, so a plain just test wire-compat now passes the stale check; the "16 cells" in the reason match compat.sh's shape of 2 relay × 2 publisher sources × 4 lanes, with fetch-capability separate as described; resolve.test.ts passes (11/11); the JSON is biome-clean; and bunx tsc --noEmit -p test/interop/clients/js/tsconfig.json passes. The scheduled-run log confirms the only harness failure was the invalid lookahead="0" assertion and the wire-compat failure was exactly the stale moq-cli pin. The browser test itself and the full remeasure were not run here (no Playwright chromium, and the remeasure needs released binaries), so the "same 16 cells fail" claim rests on the PR body.

Pullfrog  | View workflow run | Using deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

@kixelated
kixelated added this pull request to the merge queue Nov 11, 2026
Merged via the queue into main with commit 3705f81 Nov 11, 2026
9 checks passed
@kixelated
kixelated deleted the fix/interop-lookahead-remeasure branch November 11, 2026 19:51
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