Skip to content

fix: retain native planner data through graph traversal - #1280

Merged
kvlonge merged 1 commit into
mainfrom
refactor/native-planner-cleanup
Oct 30, 2026
Merged

kvlonge merged 1 commit into
mainfrom
refactor/native-planner-cleanup

Conversation

@kvlonge

@kvlonge kvlonge commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

Why

Native planner flows still rebuilt Python graph and model-map containers only to read them back. Keep that data native through planning and make this ownership fix available in a patch release.

Changes

  • Traverse retained native graphs for deferred clones and source freshness.
  • Use native model lookup for old-name planning and column-cursor redirects.
  • Share clone traversal with public callback APIs while preserving their Python semantics.
  • Document intentional Python boundaries and lower crossing budgets.

Verification

  • 1,158 targeted planner, freshness and CLI unit/integration tests passed.
  • 220 Rust core tests and 1,000 seeded graph-reference comparisons passed.
  • uv sync --all-extras and the exact make check-ci target passed; independent review found no blockers.
  • Ownership-only cleanup: existing DuckDB migration/planner cases cover the affected shapes; no new SQL, data or lifecycle edge case requires a DuckShop fixture.

Keep deferred-clone and freshness graph walks native, and avoid temporary Python model maps in migration planning. Preserve public callback and executor boundaries.

Amp-Thread-ID: https://ampcode.com/threads/T-01a18715-4e00-708e-a87d-6bd109748d66
@kvlonge
kvlonge enabled auto-merge (squash) October 30, 2026 18:33
@kvlonge
kvlonge merged commit 90b3a9b into main Oct 30, 2026
44 checks passed
@kvlonge
kvlonge deleted the refactor/native-planner-cleanup branch October 30, 2026 19:07
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