t2-p1-02authored4–7h

Core data models and a multi-tenancy strategy

requires: t2-p1-01

Implement Organization, User, Project, Task and Comment with explicit foreign keys and a multi-tenancy strategy - row-level org_id scoping. Document in docs/multitenancy.md why you chose it over separate schemas or separate databases.

Multi-tenancy is the decision that is cheapest now and most expensive to reverse later. Writing down why row-level scoping beat the alternatives forces you to actually consider them, and gives the next engineer the reasoning rather than just the result.

No result yet. Run `learn verify t2-p1-02` locally, or push to trigger CI.

artifactartifact: docs/multitenancy.md
unrun
judgejudge: docs/multitenancy.md
unrun
# t2-p1-02 — Core data models and a multi-tenancy strategy **Task:** Implement Organization, User, Project, Task and Comment with explicit foreign keys and a multi-tenancy strategy - row-level org_id scoping. Document in docs/multitenancy.md why you chose it over separate schemas or separate databases. **Strong:** Directly answers every one of the review questions below in the affirmative, with specific evidence from the actual work, not a restatement of the task. - Are separate-schema and separate-database alternatives genuinely engaged with? - Is the blast radius of a missing org_id filter acknowledged? **Passing but weak:** The deliverable exists and technically satisfies the spec, but is generic, restates the task instructions instead of engaging with them, or only partially addresses the review questions below. **Fails:** The deliverable is missing, or engages with none of the review questions below - e.g. it describes what was built without explaining the reasoning the task actually asks for.