Skip to content

chore: upgrade fensu to 0.27 and enforce dead code - #1167

Closed
kvlonge wants to merge 6 commits into
mainfrom
chore/fensu-upgrade
Closed

kvlonge wants to merge 6 commits into
mainfrom
chore/fensu-upgrade

Conversation

@kvlonge

@kvlonge kvlonge commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

Why

fensu 0.27 enforces small tuples (FPRSS012), crate layout (FPRSR311) and Python dead-code detection. Upgrading keeps the structure checks current and removes code nothing reaches.

Changes

  • Bump fensu to 0.27.

  • Replace every tuple over three elements with a named struct. Rows that cross into Python use a shared positional_record!/positional_fields! helper, so Python sends and receives the same tuples as before.

  • Move the Snowflake function list under sqlbuild-analysis/src; allow pyproject.toml in crate roots.

  • Enable [targets.python.dead_code] and remove dead code (~350 lines):

    • adapter constants now owned by Rust (contract, BigQuery, Snowflake, ClickHouse, SQLite)
    • two executor models and two Dagster helpers, plus their constants
    • tooling: the random DAG project, CaptureFile (its text helper is kept), policy constants
    • six empty packages
  • Roots for code reached by mechanisms fensu cannot see:

    • _native_host targets and built-in adapter classes
    • python -m script entry points and fensu rule modules
    • tooling run only by tests
    • Dagster/rivers exhaustiveness sets
    • protocols used in _native.pyi

    A test keeps the host roots in sync with the host table.

  • Raise the XSB073 budgets: a named struct's Python fields are now counted, where tuple positions were not.

Verification

  • fensu check: 0 faults (164 before, on 0.27).
  • make compiler-differential passes; goldens unchanged.
  • Focused pytest and cargo test on the touched crates pass.
  • make test: 11750 passed. One wall-time budget test failed under load and passes on its own.
  • make check-ci passes via verify; hygiene scan is clean.

@kvlonge
kvlonge enabled auto-merge (squash) October 19, 2026 21:59
@kvlonge

kvlonge commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

Closing in favour of one combined PR (H2 + fensu 0.27 + SharedMergeTree on top of the merged deadlock fix) so these share a single CI run; the branch is being fixed for an interaction between H2's broken-pipe parity tests and the merged changes.

@kvlonge kvlonge closed this Oct 19, 2026
auto-merge was automatically disabled October 19, 2026 23:21

Pull request was closed

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