Skip to content

fix(workbook): honor stable column IDs in structural edit guards - #95

Merged
debpalash merged 2 commits into
debpalash:mainfrom
rudycelekli:fix/column-edit-stable-id-20261013
Oct 13, 2026
Merged

debpalash merged 2 commits into
debpalash:mainfrom
rudycelekli:fix/column-edit-stable-id-20261013

Conversation

@rudycelekli

Copy link
Copy Markdown
Contributor

Summary

Workbook formulas resolve exact column IDs before display names. The structural edit guards did not use that precedence: an unrelated column named source could block deletion or rename even when {source} referenced a different column whose ID was source.

This fix keeps exact stable ID references authoritative during deletion, rename and whole-config replacement. Real display-name dependencies and ambiguous aliases remain blocked, so an edit cannot silently redirect those references.

Verification

  • Locked native backend suite: 2,220 passed, 134 skipped, five deselected under the existing CI selection.
  • PostgreSQL 18 integrity/tenancy suite: 20 passed.
  • Frontend lint/build and 63 tests passed; extension 16 tests passed.
  • Mounted browser regressions: three passed.
  • Real API/ORM causal proof: the original implementation produces three HTTP 409 failures for deletion, rename and replacement, while the genuine display-name dependency control passes. The candidate passes all four, retaining the referenced source column, formula and zero queued jobs.

Native fork validation: https://github.com/rudycelekli/OpenGTM/actions/runs/38406866232, source head 6ffa03b45a24c28eaa9c4c36d8ed393c6a1cc102.

Prepared with AI assistance and independently reviewed before publication. No live provider calls or production data were used for the regression fixtures.

Signed-off-by: Rudy Celekli <rudy@gradiahq.com>
Signed-off-by: Rudy Celekli <rudy@gradiahq.com>
@debpalash
debpalash merged commit 0ecbfc4 into debpalash:main Oct 13, 2026
4 checks passed
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.

2 participants