Skip to content

test(web): catch preview bridge fixture drift during typecheck - #599

Merged
lastobelus merged 2 commits into
lastcode/mainfrom
lastcode/checkpoint-4218-validation-costs
Nov 5, 2026
Merged

lastobelus merged 2 commits into
lastcode/mainfrom
lastcode/checkpoint-4218-validation-costs

Conversation

@lastobelus

@lastobelus lastobelus commented Nov 5, 2026 •

Copy link
Copy Markdown
Owner

🐛 Problem

Checkpoint 4218 burned a full validation pass before two browser suites exposed missing setShown stubs. Their partial preview-bridge mocks were cast to the complete type, so typechecking kept passing after the bridge contract changed.

🔧 Changes

  • One typed fixture — apps/web/test/previewBridge.ts (createPreviewBridgeFixture) lists every bridge member. ElectronBrowserHost.browser.test.tsx and HostedBrowserWebview.browser.test.tsx use it instead of casting partial objects.
  • Behavior — tests still pass their own explicit stubs. Any other call throws, except an inert renderer-request subscription. All existing browser scenarios and assertions remain.
  • Payoff — adding a bridge member now fails typechecking until the fixture is updated.
  • Separate Knip cleanup (own commit) — the current base already fails both Knip passes. The commit removes apps/web/src/composer-markdown-source.ts (unreferenced Markdown source extension) and two unused list helpers in apps/web/src/composer-rich-text-doc.ts: splitOrLiftListItem and convertBulletItemToTask. The same findings reproduced without the fixture changes.

✅ Validation

  • Drift replay — old partial mocks passed typechecking. Omitting setShown from the complete fixture fails with TS2322; restoring it passes. All three typechecks ran without cache reuse.
  • Browser suites — both pass, 38 tests.
  • check:changed origin/lastcode/main — passes format, lint, both Knip passes, two affected package typechecks, 341 tests, and the targeted React compiler check.
  • Quick CI — exact-head run passed on Node 24.13.1.

⚠️ Limits

This improves failure detection in the existing typecheck/preflight commands. It does not claim a measured whole-checkpoint speedup, and it does not avoid a validation run already in progress. Checkpoint validation, collection, worker limits, and publication guarantees are unchanged.

Model: GPT-6.1 Sol. Harness: Codex.

Remove the unreferenced Markdown source extension and two unused list helpers that fail the published checkpoint tree’s Knip gate. No runtime callers remain.

Carry-Group: incubator

Carry-Observation: Editor feature code remains with its feature integration.
Share an exhaustive preview bridge fixture in the two browser suites that missed setShown during checkpoint integration. Keep explicit behavior stubs and fail unexpected calls instead of casting partial bridges to complete ones.

Carry-Group: incubator

Carry-Observation: Keep preview fixtures and their feature-specific browser tests together.
@chatgpt-codex-connector

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

Copy link
Copy Markdown

Codex Review Summary

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

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-05T20:18:48.223250Z 3e5e5e2 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.

@lastobelus

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

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

Reviewed commit: 3e5e5e2faf

ℹ️ 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".

@lastobelus
lastobelus merged commit c858d95 into lastcode/main Nov 5, 2026
19 checks passed
@lastobelus
lastobelus deleted the lastcode/checkpoint-4218-validation-costs branch November 5, 2026 20:28
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