You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit bbcfd7a
Browse filesBrowse the repository at this point in the historyBrowse files
refactor: read native record fields directly across the bindings (#1123)
* refactor(rules): read SQL rule model inputs from native facts
SQL rules read each compiled model's relative path, sql_analysis opt-out,
authored and expanded SQL and dynamic pivot proof from the native facts
and analysis instead of Python attributes. The proof's cache-key text is
encoded natively as the same sorted compact JSON json.dumps produced, so
SQL rule cache keys are unchanged; hand-built models keep reading their
record fields.
* refactor(rules): read SQL test and fixture schema inputs in place
Native records now keep their class layout, so records::fields::field
reads a declared field straight from the record's values without the
Python attribute protocol, falling back to getattr for other objects.
SQL test and scenario facts and the fixture-format schemas read their
inputs this way, and discovered model files' paths, header values and
column locations through the native model file record.
* refactor(rules): run rule planning and dispatch on native record reads
Rule planning, dispatch, catalogue selection, finalization, results and
format --fix now read native record fields in place, rebuild records with
records::fields::replaced instead of dataclasses.replace, and call the
rule helpers (plan, SQL rules, finish, finalize, selection, catalogue,
compiled project builds) directly instead of through module attributes.
Rules configurations and custom payloads encode natively as the JSON the
selection and request paths parsed, falling back to Python's encoder for
values only it spells (non-finite or wide numbers, non-text keys).
Duplicate-literal hints read finding files natively, and project views
answer settings, scenarios and scope index reads from stored fields.
* refactor(rules): read lint, guidance and SQL rule inputs from native records
SQL rule runs, lint settings and compiled expansions, rule guidance,
early SQL lint planning and fix-verification facts read native record
fields in place, and project views answer diagnostics reads from their
stored fields.
* refactor: read native record fields directly instead of through the Python attribute protocol
0 commit comments