Brief
What had to change
"Most wealth dashboards are cloud SaaS you must trust with your most sensitive data. Konglo OS is the opposite: a self-hostable, single-tenant OS where the data lives on *your* infrastructure, access is enforced on the server (not hidden in the UI), and the succession plan is principal-only by construction."
Approach
How the work was shaped
Server-enforced access was a correction he made to his own build rather than the starting design: UI-only gating left a confidentiality read gap, so `requireUser` / `requireAdmin` / `requirePrincipal` / `requireFeature` were pushed down into the Convex handlers across eighteen feature directories, and the master schema became a composition of per-feature fragments instead of one accumulating file. For the generic CRUD surface he refused to keep maintaining a lookalike — the real `notion-database` slice was vendored in verbatim (72 files, pruned to the table-view subset) behind an adapter, with a narrow eslint override scoped to the vendored directory so the files stay byte-for-byte re-mergeable upstream. Complexity is tracked as a ledger rather than a feeling: `docs/ponytail-audit.md` ranks ten dedup cuts found by a 5-agent parallel audit, batches 1–4 were applied as disjoint-file parallel conversions validated by the twelve `*-writes` tests, and two findings were explicitly assessed as below the bar and left inline because “grinding them is the over-engineering this audit exists to prevent”.
Outcome
What the result changed
536 tests now gating every push — the gate had been silently skipping all 326 Convex ones
Constraints that shaped the system.
- 01
The shipped seed data is a FICTIONAL conglomerate — "a capability showcase, not a real family's books". Stated twice, in the intro and again in the licence footer.
Constraint - 02
Single-tenant and self-hostable by design; access is enforced server-side in every Convex function, and "the UI merely reflects what the server already permits".
Constraint - 03
SEC-001, a deliberate authz carve-out: the `cfo` role is the business-table DB admin via Studio Data, but `heirs` carries a `sensitivity: "principal"` flag so the generic CRUD layer also calls `requirePrincipal` — "The admin surface is not a back door into the estate plan." Covered by tests/convex/authz.test.ts.
Constraint - 04
The AI aide (Asisten) is STATELESS today — persistent threads, tool-calling/RAG on live tables, streaming, and proactive insights are all unchecked roadmap items.
Constraint - 05
The AI is guarded on ANTHROPIC_API_KEY and "degrades gracefully with a notice when the key is unset"; an internal `chatGuard` mutation rate-limits to roughly 30 replies per 10 minutes per user so the API budget can't be drained.
Constraint - 06
"Today's Signals" is deliberately a NON-LLM rule-based layer "that can't hallucinate because it never calls a model".
Constraint - 07
DEMO_MODE=1 publishes the demo password, so it must stay off for any real tenant.
Constraint - 08
NEXT_PUBLIC_CONVEX_URL / NEXT_PUBLIC_CONVEX_SITE_URL must be passed as build args because they are baked into the client bundle.
Constraint
