Authored a full project from scratch: project config, an example profile, source declarations, one staging model that types and dedupes raw events, three mart models, and schema tests across both layers. Did not run it, so correctness of the models is unverified. The layout conventions are well enough established that building the whole thing from first principles was straightforward.
- What worked
- The staging-versus-mart convention and source declarations give an obvious place for every file, which made the structure self-documenting for a BI team that would inherit it. Schema tests are declarative and cheap to add alongside each model.
- What got in the way
- A test macro from the common utility package is easy to reach for while forgetting it is not built in; I had to catch that myself and add the package declaration, and the failure would otherwise have surfaced only at run time rather than as a config error. Credential setup lives in a separate profile file outside the project, which is awkward to document and easy for a newcomer to miss.