Make each change through the cascade above. Author measures with full metadata (DisplayFolder, FormatString, Description) in one pass. Validate after every mutation (te validate) and gate on BPA (te bpa run --fail-on error). Renaming or moving any object can silently break downstream reports and models; run the lineage check first, then propagate with pbir-cli / fabric-cli (see references/refactoring-renaming.md). Deep guidance per area: references/relationships.md, references/time-intelligence.md, references/calculation-groups.md, references/parameters.md, references/security.md, references/dax-authoring.md.
Audit against the categories below and produce prioritized findings with file locations. Gather context first with scripts/get_model_info.py (storage mode, size, connected reports, endorsement, data sources, refresh schedule). Full checklist in references/review-checklist.md; performance method in references/performance.md.
references/dimensional-modeling.md: star schema, SCD2, junk / degenerate dimensions, header-detail, bridges
references/relationships.md: cardinality, limited relationships, ambiguity, active / inactive, USERELATIONSHIP
references/time-intelligence.md: classic vs calendar TI, mark-as-date traps, week-based / 4-4-5
references/calculation-groups.md: precedence, sideways recursion, selection expressions, the variant trap
references/parameters.md: field parameters, what-if parameters, dynamic titles
references/security.md: RLS validation + defensive filters, bidirectional + RLS, OLS restrictions
references/query-semantic-model.md: querying a model with DAX, INFO functions, output formats, probing
references/storage-modes.md: Import / DirectQuery / Dual / Hybrid decision matrix
references/composite-models.md: source groups, regular vs limited, Direct-Lake-plus-Import
references/aggregations.md: user-defined aggregations, grain, te-script AlternateOf
references/direct-lake.md: OneLake vs SQL, framing, DirectQuery fallback, guardrails
references/incremental-refresh.md: IR policy, detect data changes, hybrid / real-time, refresh strategy
references/vertipaq-optimization.md: VPA metrics, value vs hash encoding, splitting high-cardinality keys
references/dax-authoring.md: variable semantics, DIVIDE, measure vs calc column (gaps vs the dax skill)
references/ai-copilot-readiness.md: the Copilot grounding contract, synonyms / linguistic schema, descriptions, Q&A retirement
references/metadata-and-organization.md: descriptions, display folders, naming, measure tables, perspectives
references/hierarchies-cultures.md: user hierarchies, parent-child, KPIs, perspectives, cultures / translations
references/documentation-and-bpa.md: data dictionary, BPA documentation gate, metadata diffs, intra-model impact analysis (artifact lineage = the lineage-analysis skill)
references/refactoring-renaming.md: safe rename workflow (lineage check first, then propagate via pbir-cli / fabric-cli)
references/review-checklist.md: full audit checklist with remediation
references/performance.md: performance testing, unused-column detection, memory analysis
scripts/get_model_info.py: model metadata overview (mode, size, reports, endorsement, sources, refresh)
scripts/manage-ai-metadata.csx: read/write AI instructions and AI schema through TOM culture linguistic metadata
scripts/get_semantic_model_ai_metadata.py: Fabric CLI service-definition readback for AI instructions and AI schema