Data Model
The primary v2 datastore is Supabase/PostgreSQL.
Supabase configuration
- Config:
supabase/config.toml - Migrations:
supabase/migrations - Rollbacks:
supabase/migrations/rollbacks - Canonical schema dump:
backend/core-api/db_schema.sql - Executable v2 baseline:
supabase/migrations/20260304010000_v2_executable_schema.sql
Local Supabase ports from config:
- API:
54321 - DB:
54322 - Studio:
54323 - Inbucket:
54324 - DB major version:
17
Major table families
| Domain | Tables |
|---|---|
| Identity/RBAC | profiles, roles, role_permissions, user_platform_roles, api_keys, api_key_logs |
| Teams/groups/projects | teams, team_members, team_roles, groups, group_members, circles, projects |
| Work | tasks, task_assignees, task_reviewers, task_applications, milestones, documents, resources |
| Finance | tokens, payment_token_groups, payments, transactions, transaction_legs, project_funding, treasury tables |
| Escrow/web3 | chains, escrows, funding events, proposed operations, operation signatures, async jobs |
| Notifications/integrations | notifications, notification_events, preferences/templates, registered webhooks, delivery logs |
| Community/analytics | feed, reputation, Matrix space/room tables |
Query guidelines
From AGENTS.md:
- Prefer database filtering/aggregation over Python post-processing.
- Select only needed columns.
- Avoid
select("*")unless necessary. - Use exact counts where needed.
- Use RPC for complex or repeated aggregation logic.