Naming rules for contributors#
The user-facing catalog — the grammar, module map, semantic markers, and deliberate exceptions —
is ../naming_conventions.md. Read it before naming anything new.
This note carries the policy side: the rules that govern changing names, which are contributor
constraints rather than user information.
Governing principle (Nick): naming exists to help the user — orient, find, understand inputs/outputs. When convention and clarity conflict, clarity wins.
The semantic markers (
corewise,numerically_) are rename-invariant: no rename may add or drop them. They separate same-looking, different-math near-twins (sum_stackvssum_stack_corewise;has_minimal_ranksvshas_numerically_minimal_ranks) — dropping one silently changes what a name claims.Do not “unify” the converter names (
from_t3vsfrom_ut3vsfrom_t3frame, …): the names carry the operand types; a unified name would erase exactly the information they exist to carry.utt_is reserved and deliberately empty — the raggedtt_name is the polymorphic name. Do not addutt_members; a new chain op that serves both layers goes intt_operationsunadorned.The cataloged exceptions and intended asymmetries are load-bearing — they were weighed and chosen (decisions log:
dev/archive/naming_review.md; execution:dev/archive/naming_pass_plan.md). Do not “normalize” them to the grammar; the catalog in the user doc is the registry of record.Parameter names encode representation (
xragged vsdatauniform;xxvsuxx) — keep them; they are documentation, not style drift.Renames have a wide blast radius — follow
refactoring_methodology.mdfor the mechanics (inventory both import forms,getattrstring refs, substring module names, frontend-method collisions, gate discipline).