Skip to content

fix(schema): allow spreadsheetEvents.operation row_delta to unblock prod deploys#505

Merged
HomenShum merged 1 commit into
mainfrom
fix/schema-row-delta-expand
Jun 4, 2026
Merged

fix(schema): allow spreadsheetEvents.operation row_delta to unblock prod deploys#505
HomenShum merged 1 commit into
mainfrom
fix/schema-row-delta-expand

Conversation

@HomenShum
Copy link
Copy Markdown
Owner

P0 — production deploy pipeline down ~6h (founder-approved Option A)

scripts/vercel-build.sh runs convex deploy --typecheck=enable (fail-closed, set -euo pipefail) before the build. It fails schema-vs-data validation because a shared-prod spreadsheetEvents doc carries operation: "row_delta" — a value not in the 8-literal union (convex/schema.ts:4963). So every Production deploy aborts; ~6h of merged work (incl. #500 host-write security, #499 type-scale) is NOT live (12 consecutive prod deploys ● Error).

row_delta appears nowhere in main source (git grep = 0) — it's stale data written out-of-band from the unmerged applyRowDelta feature (8e58a265), an inverted expand-contract (writer reached prod before reader reached main).

Fix

Additive v.literal("row_delta") expand. Backfill-safe (the stray doc becomes valid with no prod-data mutation), reversible. This is the re-cut of closed-unmerged #502 the NodeBench audit recommended, now founder-approved.

After merge

Prod convex deploy validates → the deploy pipeline flips ● Ready and the ~6h backlog ships. I'll live-verify prod recovers.

Follow-ups (not in this PR — tracked from the audit)

  • P1-2: constrain storeSpreadsheetEvent's v.any() seam so the class can't recur.
  • Add a CI convex deploy --dry-run schema-vs-data gate so this fails a PR, not prod.

🤖 Generated with Claude Code

…rod deploys

P0: production deploy pipeline down ~6h. scripts/vercel-build.sh runs convex deploy --typecheck=enable (fail-closed) before the build; it fails schema-vs-data validation because a shared-prod spreadsheetEvents doc carries operation 'row_delta', not in the 8-literal union. row_delta appears nowhere in main source (git grep = 0) — stale data written out-of-band from the unmerged applyRowDelta feature (8e58a26). Additive expand makes the stray doc valid without mutating prod data: backfill-safe, reversible. Founder-approved (Option A). Re-cut of closed-unmerged #502.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@HomenShum HomenShum enabled auto-merge (squash) June 4, 2026 04:27
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
nodebench-ai Ready Ready Preview, Comment Jun 4, 2026 4:28am

Request Review

@HomenShum HomenShum merged commit 07fbe02 into main Jun 4, 2026
16 checks passed
@HomenShum HomenShum deleted the fix/schema-row-delta-expand branch June 4, 2026 04:39
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 4, 2026

Demo: walkthrough of the surfaces this PR changed is available as a workflow artifact (pr-demo-505) at https://github.com/HomenShum/nodebench-ai/actions/runs/26931132569

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