26 lines
1.3 KiB
Markdown
26 lines
1.3 KiB
Markdown
# Ten31Portal — v1 Issue Specs
|
|
|
|
Internal system of record for Ten31 entities, holdings, positions, and quarterly valuation sign-off. Replaces Carta for internal use. Self-hosted on StartOS.
|
|
|
|
## Stack (baked in, override if you disagree)
|
|
|
|
- Backend: FastAPI, SQLModel, SQLite, Alembic migrations
|
|
- Frontend: React, Vite, Tailwind
|
|
- Auth: session cookies, server-side sessions, bcrypt or argon2 password hashing
|
|
- Money: stored as integer cents. Never float in the DB. Format to dollars only at the view layer.
|
|
- Dates: `investment_date` is a date. Valuation quarter is stored as a quarter-end date (e.g. 2026-06-30).
|
|
- Packaging: StartOS 0.4.0 service, single data volume, platform backups cover the DB.
|
|
|
|
## Conventions (every issue)
|
|
|
|
- One concern per commit. YAGNI. No speculative abstraction.
|
|
- Type hints everywhere. Pydantic/SQLModel for all shapes crossing a boundary.
|
|
- No PRs. Build directly.
|
|
- House style in any user-facing copy: short sentences, no hype, no em-dashes.
|
|
|
|
## Scope guard for all of v1
|
|
|
|
In: entities, holdings, positions, valuation rounds, sign-off workflow, audit log, four roles, CSV import, three read views, one workflow view, StartOS packaging.
|
|
|
|
Out (phase 2, do not build): LP access and per-LP isolation, the partner / capital-account side (capital calls, allocations, K-1s), IRR / TVPI / DPI / RVPI computation, BTC or sats denomination, charts.
|