Skip to content

feat(sql-plan): digit-leading canonical_name is a physical output column - #24

Merged
dmautz1 merged 1 commit into
DocumentDrivenDX:mainfrom
dmautz1:feat/digit-leading-physical-canonical
Sep 1, 2026
Merged

dmautz1 merged 1 commit into
DocumentDrivenDX:mainfrom
dmautz1:feat/digit-leading-physical-canonical

Conversation

@dmautz1

@dmautz1 dmautz1 commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Extends the leading-underscore physical-name convention: a canonical_name beginning with a digit is also an identifier the UMF name pattern (^[A-Za-z][A-Za-z0-9_]*$) cannot carry — e.g. a production table whose physical column is 30DayCollectedAmount, authored under the UMF-safe name Day30CollectedAmount. Such canonicals are now emitted as the physical column at every SQL surface (base view, joins, expression rewriting, final assembly), exactly like _invoice/u_invoice. Display canonicals ('EHR #') still never reach SQL.

All three emission sites now share one _physical_column_name helper. Regression tests cover the digit-leading emission and the display-canonical non-emission.

Full local gate passes: format-check, lint, type-check, 3879 tests incl. DuckDB/Spark conformance.

🤖 Generated with Claude Code

Extends the leading-underscore physical-name convention: a canonical_name
beginning with a digit is also an identifier the UMF name pattern cannot
carry (30DayCollectedAmount stored under Day30CollectedAmount) and is
emitted as the physical column everywhere. Display canonicals ('EHR #')
still never reach SQL. All three emission sites now share one helper.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@dmautz1
dmautz1 merged commit 618a408 into DocumentDrivenDX:main Sep 1, 2026
2 checks passed
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