fix(data-integrity): keep controlled value sync atomic - #201
Conversation
|
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 |
|
@coderabbitai review Please review exact current head |
Rate Limit Exceeded
|
There was a problem hiding this comment.
Review (head 9fd9a28)
No blocking product defect in the standalone-editor integrity slice. This lane already implements the residual gap called out on #228:
editable/hideToolbaraccept only omitted defaults or exact booleans;"false"throws the payload-redactedRangeErrors before TipTap/accessibility/frame setup.value/defaultValue/formResetValueaccept onlyundefinedor string.- Controlled replacement is parsed once, previewed through current transaction policy, and rolled back on live divergence.
Integration
Base is still historical 50ac98c. Live protected main is e8109ec / the #118 v0.6.0 candidate. Predecessor CI on this head is not current-head evidence. After #118, reconverge non-destructively with the then-live tip and regenerate exact-head gates before any readiness decision.
Keep Draft. This comment is not a qualifying independent approval. Do not open a competing CwlEditor.tsx writer; continue #252/#263 here.
Sent by Cursor Automation: Fix Issues


Closes #200.
Closes #252.
Closes #263.
Closes #267.
Closes #271.
Scope
Draft standalone
CwlEditorintegrity lane. This remains the active Inkspan source writer forsrc/components/CwlEditor.tsx; stacked browser assurance remains in Draft #380.Exact live refs
Fresh decision-time state:
main@128a239f8b71ca16add4b9e15e21752d1ad63ff0;fix/atomic-controlled-sync-200@3fd5157b9e9919800983d3bedce769d7a905c4ff;580ac1ad7453d5f6c443b1cea52493bef822844eand second parent is protected128a239f8b71ca16add4b9e15e21752d1ad63ff0;src/components/CwlEditor.controlledValueComposition.test.tsx;src/components/CwlEditor.editabilityComposition.test.tsx;src/components/CwlEditor.runtimeEditable.test.tsx;src/components/CwlEditor.runtimeToolbarVisibility.test.tsx;src/components/CwlEditor.tsx;src/components/CwlEditorControlledValuePolicy.test.tsx;src/components/editorControlledValueSync.ts;src/components/editorDocumentValue.runtime.test.tsx.The PR is still Draft, open and mechanically mergeable. Release issue #118 remains authoritative; this branch is not merge-, tag-, or publication-authorized.
Behavior contracts
editableand toolbar visibility inputs fail closed on invalid runtime types;valuereceived during composition is deferred and the latest host value is applied after composition ends.These are standalone editor/document semantics only. This PR adds no transport, authentication, tenancy, durable persistence, credentials, migrations, retention, deployment, durable audit, model/provider, network, durable PDF, or host-owned Yjs authority.
Exact-current-head evidence
For unchanged exact head
3fd5157b9e9919800983d3bedce769d7a905c4ff:32921917993: completed / success;32921917990: aggregate success but NON-PASSING for merge/release acceptance. Dependency-review job98037022886completed success while the immutableDependency reviewaction step itself was skipped. The established central fail-closed workflow owner isContextualWisdomLab/.github#810/ PR #897; predecessor/aggregate-green status does not substitute for execution of the required action.32921918014: aggregate success but NON-PASSING for exact-source acceptance. Job98037022934checked out GitHub synthetic mergee6e8ff738a4e4928cadfe1468bd40d14b03b2227(refs/pull/201/merge) rather than contributor head3fd5157b9e9919800983d3bedce769d7a905c4ff. The established central exact-source owner isContextualWisdomLab/.github#1222/ PR #941.COMMENTEDreview on predecessor head9fd9a281073da390409ed368fcc9311c8d501411; qualifying approvals on this exact head: 0;Pending, queued, skipped-required, cancelled, absent, neutral, failed, stale, predecessor, status-only, synthetic-source, wrong-checkout, model-only, or otherwise vacuous evidence is non-passing.
Current stack
Draft #380 is the browser-only input-assurance child and is synchronized non-destructively onto this exact parent.
test/cjk-input-assurance-376@c994a250bf7b5e628540ddd971f5eae6cd102582;3fd5157b9e9919800983d3bedce769d7a905c4ff;32946978193: completed / success. Browser job98109708820checked out exact child head, passed immediate checkout attestation, and completed 130 / 130 Playwright tests across Chromium, Firefox and WebKit plus consensus evidence. Build-and-test and the full Office matrix also passed on the exact child head;The child owns browser harness/spec/config evidence only. It does not re-own this PR's production source. Its broad
/\.browser\.spec\.ts$/udiscovery contract deliberately subsumes the parent-side focus-spec inclusion while preventing committed browser specs from becoming structurally undiscoverable.Governance boundary
Do not mark Ready, merge, tag, or publish from this PR until the unchanged exact head has every then-applicable live repository and central gate, exact-source security evidence, and qualifying independent formal approval under current governance. Refetch protected main, exact head/base, ancestry/mergeability, changed refs/active writers, rules/permissions, reviews/threads, and all applicable workflow runs/jobs with checkout SHAs before any lifecycle transition. Do not transfer predecessor evidence, self-approve, weaken gates, create a competing central workflow writer, or fabricate release identity.