fix(data-integrity): keep controlled value sync atomic - #201
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. 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.
Consolidated standalone-editor integrity lane
This Draft is the active single-writer lane for
src/components/CwlEditor.tsx: controlled-value transaction atomicity plus finite runtime contracts foreditable,hideToolbar,value,defaultValue, andformResetValue.Protected shipped truth and the frozen
v0.6.0source candidate are independently resolvedmain@3b38ead2d00f44eb578d0689087b9293b3dabe1e. Current exact Draft head is43d4f00c7cae657c54f8fd9c97d41a315bfbb350onfix/atomic-controlled-sync-200.Fresh exact comparison resolves protected main as the merge base, reports 15 ahead / 0 behind, and limits the current delta to six standalone-editor source/test files:
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.Test-first lineage
Controlled-value document atomicity
9bb0f03112e5d616a08cad81b80aaf953ac7ccc3: CI31482959890failed at the intended append-transaction transformation regression while Security31482959919and SAST31482959928passed.Runtime edit authority — #252
a28bde93b230af732cb5759c64ffbc97b67bc3e8: CI31555746505proved runtimeeditable="false"was accepted; Security31555746518and SAST31555746504passed.Runtime toolbar visibility — #263
9e0244268a5e8abfca2c0786d00279447215e598: CI31581761290failed at the public SSR product boundary while Security31581761226and SAST31581761227passed.Runtime source documents
58531c02178227fa4c2a20a21b9c1010d4f0ab35, CI31589049763, reached the intended public SSR boundary after normal install/typecheck. Exactly the new invalidvalue/defaultValueassertions failed while valid-string behavior remained green.undefinedor a string for each source-document prop and rejects every other runtime value before serialization, hooks, editor construction, or native-form propagation. Diagnostics are stable and payload-redacted.Runtime native-form reset document
2fe2ce9ba0071953b879f562c4cffed08e5ff1de, CI31590376623, passed typecheck/browser/Office and existing valid tests; the new non-stringformResetValueassertion failed.undefinedor a string and rejects every other runtime reset document before hooks, editor construction, hidden-field wiring, or reset-listener registration.Exact-current-head evidence
For unchanged exact head
43d4f00c7cae657c54f8fd9c97d41a315bfbb350at the latest refetch:32004738252: completed / success;32004738493: completed / success;32004738264: completed / success;COMMENTEDreview on9fd9a281073da390409ed368fcc9311c8d501411, explicitly non-approving;The previous PR body named predecessor head
9fd9a281...and stale protected-main state as current. That snapshot is superseded by the exact state above. Repository exact-head success is technical evidence only and does not establish any separately applicable central required workflow or qualifying independent latest-push approval. Predecessor, absent, queued, skipped, cancelled, status-only, or model-only evidence remains non-passing.Ownership boundary
These changes are Inkspan-local document/configuration validation only. They add no transport, authentication, authorization, tenancy, durable persistence, credentials, migration, retention, deployment, durable audit, model/provider, Yjs authority, network, or durable PDF/print authority.
Governance and integration boundary
Keep this PR Draft and unmerged while #118 owns exact protected
v0.6.0tag/publication/provenance/digest operational acceptance and while qualifying independent latest-push approval plus every then-applicable governance/workflow gate remain incomplete. Current supported connector evidence does not independently establish organization-level ruleset details, so historical prose about a named ruleset is not merge authority. Before any lifecycle transition, refetch the unchanged head, protected main, ancestry/mergeability, live rules/permissions when available, formal reviews/threads, and every applicable repository/central workflow. Do not transfer predecessor evidence, self-approve, weaken gates, move protected main, or fabricate tag/release identity.