test(input): add multilingual browser input baseline - #380
Draft
seonghobae wants to merge 30 commits into
Draft
Conversation
Refs #376. Add cross-engine committed-input fidelity coverage plus a bounded synthetic composition lifecycle probe without claiming real OS IME or mobile-device support.
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Refs #376. Extend the browser-only assurance lane with committed multilingual edits in headings, list items and table cells plus undo/redo evidence for committed Korean input. This remains synthetic committed-input evidence, not real OS IME or mobile-device support.
seonghobae
changed the base branch from
main
to
fix/atomic-controlled-sync-200
August 21, 2026 14:16
This was referenced Aug 22, 2026
This was referenced Aug 26, 2026
This was referenced Aug 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #376.
Purpose
Draft real-browser input-assurance child for #201. This lane owns browser harness/spec/config evidence only and does not write or re-own
src/**production semantics.Exact live stack
Decision-time state after non-destructive parent synchronization:
main@128a239f8b71ca16add4b9e15e21752d1ad63ff0;fix/atomic-controlled-sync-200@3fd5157b9e9919800983d3bedce769d7a905c4ff;c994a250bf7b5e628540ddd971f5eae6cd102582;b89b38e22c10d01d2462b22361e4bc20b08f9ba0and second parent exact fix(data-integrity): keep controlled value sync atomic #201 head3fd5157b9e9919800983d3bedce769d7a905c4ff; no force push or destructive rebase was used;tests/browser/input-harness.html;tests/browser/input-harness.ts;tests/browser/playwright.config.ts;tests/browser/specs/composition-clipboard.browser.spec.ts;tests/browser/specs/composition-native-form.browser.spec.ts;tests/browser/specs/read-only-clipboard.browser.spec.ts;tests/browser/specs/touch-clipboard.browser.spec.ts.This snapshot is not durable status truth. Refetch all refs, ancestry, writers, reviews and checks before any later lifecycle action.
Parent-overlap resolution
The only path changed both by the parent movement and this child was
tests/browser/playwright.config.ts. The parent had expanded its narrow desktop selector from clipboard/print to clipboard/focus/print. This child deliberately keeps the stronger executable discovery contract/\.browser\.spec\.ts$/u, which subsumes the parent's focus inclusion and prevents committed browser specs from becoming structurally undiscoverable. The other six child paths do not overlap the parent movement.Assurance scope
This child exercises committed multilingual/CJK and grapheme input, synthetic composition lifecycle, composition/clipboard interactions, native-form serialization, active-composition teardown/remount, read-only clipboard behavior, touch/pointer/focus geometry and reflow behavior, and loopback-only browser harness requests. It is browser-emulation/component evidence only; it does not establish physical-device OS-IME, real iOS Safari/Android Chrome, durable save, authorization, transport, tenancy, durable persistence, or host network-policy guarantees.
The causal production repairs for composition/read-only and controlled-value behavior are owned by parent #201. Copying those repairs into this browser-only child would create a competing source writer.
False-green repair
A predecessor contained
composition-native-form.browser.spec.tswhile its inherited Playwright selector selected only a narrow clipboard/print subset. That spec was structurally undiscoverable, so file presence could not be treated as execution evidence.This child changes the desktop-engine selector in
tests/browser/playwright.config.tsto/\.browser\.spec\.ts$/u. Every committed*.browser.spec.tson this branch is therefore selected by Chromium, Firefox and WebKit, whileclipboard.consensus.spec.tsremains isolated in the dependent consensus project. The child also makes the native-form/composition journeys fail closed on non-loopback browser requests: only127.0.0.1:4173is permitted, rejected origins are recorded, and the record must remain empty after each journey.Exact-current-head verification
For unchanged exact child head
c994a250bf7b5e628540ddd971f5eae6cd102582against exact parent3fd5157b9e9919800983d3bedce769d7a905c4ff:32946978193: completed / success;98109708820checked out exact contributor headc994a250bf7b5e628540ddd971f5eae6cd102582, immediately passedVerify exact checkout, installed Playwright 1.62.0 pinned Chromium/Firefox/WebKit revisions, and ran 130 / 130 passing tests;runId=32946978193:1:c994a250bf7b5e628540ddd971f5eae6cd102582and the same exactheadSha;Predecessor child run
32894832083remains historical only and is not transferred. Security/SAST/organization evidence not generated for this stacked Draft is absent and therefore non-passing for any lifecycle claim that would require it. Pending, queued, skipped-required, cancelled, absent, neutral, failed, stale, predecessor, status-only, model-only, wrong-checkout, synthetic-source or otherwise vacuous evidence does not pass.Remaining #376 acceptance
This Draft does not close #376. Remaining acceptance includes authorized real OS-IME/candidate journeys; controlled-value plus autosave/revision interactions during composition; collaboration-near-composition behavior; broader toolbar/dialog/hydration cases; stronger mobile target-size/no-hover/focus/zoom/reflow assurance on accepted devices; and periodic authorized real-device evidence before claiming iOS Safari or Android Chrome support.
Ownership / governance boundary
No transport, authentication, authorization, tenancy, durable persistence, credentials, model/provider, network, Yjs-provider, durable audit, deployment, migration, retention, or durable PDF authority moves into Inkspan through this lane. Keep this PR Draft behind #201 and the protected release-acceptance boundary. Before any lifecycle transition, refetch exact parent/head/live protected base, ancestry/mergeability, changed refs/active writers, live governance, exact-current workflow/job evidence including checkout SHAs, formal reviews and unresolved threads. Do not self-approve, weaken gates, transfer predecessor evidence, fabricate mobile/IME support, or represent this Draft as protected-main shipped truth.