Skip to content

refactor: retain native model config trees - #1276

Merged
kvlonge merged 1 commit into
mainfrom
refactor/retain-native-config-trees
Oct 30, 2026
Merged

kvlonge merged 1 commit into
mainfrom
refactor/retain-native-config-trees

Conversation

@kvlonge

@kvlonge kvlonge commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Why

Keep the config builder's native result instead of throwing it away and converting Python dictionaries back into nodes during planning.

Changes

  • Retain the built tree across fresh, inherited and reused configs and final model-record replacement.
  • Strip header metadata and replace expanded hooks in the retained tree at the existing handoff.
  • Preserve public Python records, custom-key handling and lazy opaque containers. No new boundary exceptions or budget increases.
  • Extend the real DuckDB CLI planning regression: ordinary and unused-extra config cases now require zero reconversions (baseline: 132).

Verification

  • 26 focused integration tests and exact make check-ci passed after installing all extras.
  • env --default-signal=INT UV_NO_SYNC=1 make test: 12,197 passed. The tool environment otherwise inherits ignored SIGINT; all seven cancellation cases pass with normal signal handling.
  • One bounded independent review found no blockers; duplicate analysis and private hygiene scans passed.
  • Dense/fresh 3,000-model comparisons on the same eight-core orb: three alternating pairs for uncached, cache-writing, warm and edited compiles; all 24 report/artifact identities and diagnostic counts match. Phase timings retained. Cold wall/CPU ratios remain below 1.05; all RSS ratios below 1.04. Warm differences are at most 0.04s CPU.
  • Both 10,000-model guards passed locally under CI's exact 4 GiB cap. The baseline also completed without OOM but failed its edit-time guard. After preserving the initial hosted OOM, one diagnostic rerun passed both guards in 310.15s; no budgets changed. All required CI checks passed.
  • No external real project was available; no end-to-end speedup claim. Rebased onto the merged predecessor with identical source trees.
  • No DuckShop addition: internal ownership refactor, not a new project shape or behavioral change.

Keep built config nodes across reuse and final record replacement instead of reconstructing them from Python dictionaries. Preserve lazy opaque containers, expanded hooks and Python-authored config reads.

Amp-Thread-ID: https://ampcode.com/threads/T-01a18715-4e00-708e-a87d-6bd109748d66
@kvlonge
kvlonge enabled auto-merge (squash) October 30, 2026 02:40
@kvlonge
kvlonge merged commit 8dcdc08 into main Oct 30, 2026
85 of 87 checks passed
@kvlonge
kvlonge deleted the refactor/retain-native-config-trees branch October 30, 2026 03:25
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