- Rename dbt project from toronto_housing to portfolio
- Restructure dbt models into domain subdirectories:
- shared/ for cross-domain dimensions (dim_time)
- staging/toronto/, intermediate/toronto/, marts/toronto/
- Update SQLAlchemy models for raw_toronto schema
- Add explicit cross-schema FK relationships for FactRentals
- Namespace figure factories under figures/toronto/
- Namespace notebooks under notebooks/toronto/
- Update Makefile with domain-specific targets and env loading
- Update all documentation for multi-dashboard structure
This enables adding new dashboard projects (e.g., /football, /energy)
without structural conflicts or naming collisions.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fixes identified by doc-guardian audit:
Critical fixes:
- DATABASE_SCHEMA.md: Fix staging model name stg_police__crimes → stg_toronto__crime
- DATABASE_SCHEMA.md: Update mart model names to match actual dbt models
- CLAUDE.md: Fix errors/ description (no handlers module exists)
- scripts/etl/toronto.sh: Fix parser module references to actual modules
Stale fixes:
- CONTRIBUTING.md: Add make typecheck, test-cov; fix make ci description
- PROJECT_REFERENCE.md: Document services/, callback modules, all Makefile targets
- CLAUDE.md: Expand Makefile commands, add plugin documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Delete obsolete change proposals and bio content source
- Rewrite README.md with correct features, data sources, structure
- Update PROJECT_REFERENCE.md with accurate status and completed work
- Update CLAUDE.md references and sprint status
- Add docs/CONTRIBUTING.md developer guide with:
- How to add blog posts (frontmatter, markdown)
- How to add new pages (Dash routing)
- How to add dashboard tabs
- How to create figure factories
- Branch workflow and code standards
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>