Problem
PUT /api/lists/{id}/schema has two body shapes with very different consequences:
- a
schema DSL object → destructive: wipes and recreates all columns (and, per the docs, name becomes the list's new title);
- a
properties array → non-destructive: rename a label, add/remove one column, row data preserved.
Shipping a single "Save schema" button that always sends the DSL form would silently destroy users' data.
Acceptance criteria
Problem
PUT /api/lists/{id}/schemahas two body shapes with very different consequences:schemaDSL object → destructive: wipes and recreates all columns (and, per the docs,namebecomes the list's new title);propertiesarray → non-destructive: rename a label, add/remove one column, row data preserved.Shipping a single "Save schema" button that always sends the DSL form would silently destroy users' data.
Acceptance criteria
propertiesshape.CLAUDE.md).schema.nameoverwrites the list title.propertiespath preserves rows.