26.6.12
Highlights
- Completed tenant-scope alignment for school-domain create operations.
- Added school employment and school employment assignment first-class objects.
- Expanded platform docs with per-table schema documentation.
- Updated Tenants UI to a card-based view.
Multi-Tenant Scope and Access
- Added tenant default-group references and root-tenant enforcement migrations.
- Ensured school-domain write endpoints honor selected tenant scope (
X-Tenant-Filter) instead of defaulting to session tenant. - Added write-scope protections that require a single tenant selection for create operations.
- Enforced tenant-admin access on selected write tenant, with root-tenant-admin override.
- Corrected tenant assignment for existing Adrian school records.
Census EDU Expansion
- Added
school_employmentsandschool_employment_assignmentstables. - Added API endpoints for listing and creating both objects.
- Added frontend pages and add flows for both objects.
Frontend UX
- Removed collapsed-sidebar tooltip overlays.
- Improved collapsed popout label visibility and submenu alignment.
- Moved tenant/user controls into footer popout menus.
- Converted Tenants listing from table layout to card layout.
Documentation
- Added
docs/dev/schema.mdwith per-table schema details:- columns and defaults
- PK/unique/FK indicators
- FK target links and delete policy
- per-table check rules
- Updated backlog with completed tenant-scope/doc work.
Database
- Added migrations:
20260625_0020_add_tenant_default_group_references.py20260625_0021_ensure_root_tenant.py20260625_0022_create_school_employments_tables.py