Skip to content

feat(studio): s7.5 — make sdk cutover always-on, delete shadow scaffolding#1462

Open
vanceingalls wants to merge 1 commit into
graphite-base/1462from
06-15-feat_studio_s7.5_remove_sdk_shadow_cutover_feature_flags_make_cutover_always-on
Open

feat(studio): s7.5 — make sdk cutover always-on, delete shadow scaffolding#1462
vanceingalls wants to merge 1 commit into
graphite-base/1462from
06-15-feat_studio_s7.5_remove_sdk_shadow_cutover_feature_flags_make_cutover_always-on

Conversation

@vanceingalls

@vanceingalls vanceingalls commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

What

Deletes the shadow scaffolding introduced for dual-write telemetry and makes SDK cutover unconditionally active for all supported op types.

Why

Shadow mode (sdkShadow.ts) was a stepping stone: it dispatched SDK ops in parallel with the legacy server-patch path to measure parity. That telemetry work is done. The two feature flags (STUDIO_SDK_SHADOW_ENABLED, STUDIO_SDK_CUTOVER_ENABLED) were held as kill-switches during roll-out. With cutover proven stable in production (supported ops: setStyle, setAttribute, setHtmlAttribute, setText), the flags are unnecessary overhead.

How

  • Deleted sdkShadow.ts and sdkShadow.test.ts
  • Moved patchOpsToSdkEditOps from sdkShadow.ts into sdkCutover.ts as an unexported internal (only used by sdkCutoverPersist)
  • Removed both flag exports from manualEditingAvailability.ts
  • shouldUseSdkCutover signature simplified: (hasSession, hfId, ops) — removed flagEnabled boolean
  • Removed sdkSession from useDomEditSession params (was only passed through to the now-deleted shadow dispatch callback)
  • Updated all callers: sdkCutoverPersist, App.tsx, sdkCutover.test.ts

Test plan

  • sdkCutover.test.ts: 20 tests — all shouldUseSdkCutover paths, patchOpsToSdkEditOps translation, full persist flow
  • "returns false when flag disabled" test removed (flag gone — the behavior it tested no longer exists)
  • Shadow dispatch tests (sdkShadow.test.ts) deleted with the module

…lding

SDK cutover is now unconditionally enabled. Removes STUDIO_SDK_SHADOW_ENABLED
and STUDIO_SDK_CUTOVER_ENABLED feature flags, deletes sdkShadow.ts and its
tests, moves patchOpsToSdkEditOps into sdkCutover.ts, and removes the
onDomEditPersisted shadow callback from useDomEditSession.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Co-authored-by: Miguel Ángel <miguel07alm@protonmail.com>
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