omnigraph/crates/omnigraph/tests
andrew 3f21f59210 schema-lint v1 commit 3: emit + apply DropProperty { Soft }
Wire the dormant DropProperty variant end-to-end for the Soft case.
Per docs/schema-lint-v1-plan.md, commit #3 of the schema-lint chassis
v1 series (MR-694).

Planner (schema_plan.rs):
- plan_properties: emit DropProperty { type_kind, type_name,
  property_name, mode: Soft } instead of UnsupportedChange when a
  property exists in accepted but not in desired. Plan is now
  supported = true for drop-only changes.

Apply (schema_apply.rs):
- Route DropProperty { Soft } through rewritten_tables. The existing
  batch_for_schema_apply_rewrite path already iterates the *target*
  schema fields, so a property absent from desired_catalog is
  naturally projected away. The prior Lance version retains the
  dropped column for time-travel reversibility (until cleanup runs).
- DropType still errors (lands in commit #4 with different mechanics:
  __manifest entry removal instead of column projection).
- DropProperty { Hard } still errors (lands in commit #5 with
  --allow-data-loss CLI flag + immediate compact_files +
  cleanup_old_versions).

Tests:
- Planner unit test plan_emits_soft_drop_for_removed_nullable_property
  asserts the variant emission + supported = true + no UnsupportedChange.
- Integration test apply_schema_drops_a_nullable_property_softly_
  preserves_prior_version (replaces the former
  apply_schema_rejects_dropping_a_property_with_data) asserts:
  (a) plan contains DropProperty { Soft }
  (b) apply succeeds + manifest advances + row count unchanged
  (c) current dataset schema lacks the dropped column
  (d) snapshot_at_version(pre_drop) still has the dropped column
  (e) reopen consistency — drop preserved across engine restart

Recovery: rides on SidecarKind::SchemaApply per MR-847. No new
sidecar kind needed; the entire apply path is already sidecar-wrapped.

Substrate alignment: this commit uses the stage_overwrite full-rewrite
path (full_rewrite cost class) rather than Lance native drop_columns
(catalog_only cost class). MR-948 is the follow-up substrate-alignment
refactor that introduces a LanceColumnOp surface and switches the
metadata-only case onto drop_columns. Functional outcome is identical;
cost-class improvement deferred.

Test results:
- cargo test -p omnigraph-compiler --lib: 238 passed
- cargo test -p omnigraph-engine --test schema_apply: 11 passed

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 15:48:19 +03:00
..
fixtures Merge pull request #6 from ModernRelay/claude/omnigraph-aggregates-a53rG 2026-04-13 10:26:07 +02:00
helpers recovery: align merge sidecar branch with active_branch + record rollback drift 2026-05-05 19:33:32 +02:00
aggregation.rs Implement aggregate execution with wide-batch model 2026-04-12 20:59:13 +00:00
branching.rs MR-786: merge-pair truth table with exhaustive op-variant matrix (#81) 2026-05-12 22:36:01 +03:00
changes.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
composite_flow.rs tests: pin refresh() deadlock after schema_apply (red) 2026-05-08 17:46:07 +02:00
consistency.rs chore: scrub Linear ticket numbers and review-bot mentions from code comments 2026-05-01 22:45:38 +02:00
end_to_end.rs Support multi-statement mutations (insert + edge in one query) 2026-04-11 20:27:51 +00:00
export.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
failpoints.rs engine: inline-delete sidecar covers version-mismatch check 2026-05-10 10:37:46 +00:00
forbidden_apis.rs recovery: rename composite test, strip ticket references, address review 2026-05-03 13:56:36 +02:00
lance_version_columns.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
lifecycle.rs Extract public-API tests from omnigraph.rs to integration tests 2026-04-20 14:09:34 +03:00
maintenance.rs Strengthen cleanup-then-optimize sequencing test with postconditions 2026-05-12 23:36:01 +03:00
merge_truth_table.rs MR-786: merge-pair truth table with exhaustive op-variant matrix (#81) 2026-05-12 22:36:01 +03:00
point_in_time.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
recovery.rs recovery: record RolledForward audit on stale-after-success sidecar 2026-05-05 20:12:43 +02:00
runs.rs chore: scrub Linear ticket numbers and review-bot mentions from code comments 2026-05-01 22:45:38 +02:00
s3_storage.rs chore: scrub Linear ticket numbers and review-bot mentions from code comments 2026-05-01 22:45:38 +02:00
schema_apply.rs schema-lint v1 commit 3: emit + apply DropProperty { Soft } 2026-05-16 15:48:19 +03:00
search.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
staged_writes.rs tests: pin stable-row-id preservation across stage_overwrite 2026-05-12 16:56:58 -07:00
traversal.rs Add comprehensive tests from morphological matrix analysis 2026-04-13 15:31:08 +02:00
validators.rs Enforce schema validators on every write path (#59) 2026-04-28 04:51:10 +03:00