Skip to content

Kovent Manifesto

Why this platform exists

Status: Locked. Version: 0.1 Date: 2026-08-11

The problem

A securities regulator supervises firms it cannot see in real time. The information it needs arrives as spreadsheets attached to email, on paper, or through a portal that only accepts a file and tells nobody whether the contents make sense.

The consequences compound:

Symptom What it costs
Returns arrive as free-form spreadsheets Every figure is re-keyed or re-read by a human before it means anything
Deadlines are tracked in a separate calendar Late filing is discovered after the fact, not prevented
Validation happens in the reviewer's head Two reviewers reach two conclusions on the same return
Prudential ratios are computed manually The arithmetic is a source of dispute rather than a finding
Resubmissions overwrite the original The audit trail is the thing you needed and the thing you lost
Risk ratings live in a spreadsheet A score with no drivers is an opinion, not a supervisory position
Every new return is a software project The regulator's ability to regulate is rate-limited by a vendor backlog

The last one is the real problem. A regulator that must raise a change request to add a return cannot respond to a market at the speed the market moves.

The claim

The return template is data, not code.

Everything else follows. If the supervisor can define a return — its sections, fields, formulas, validation rules, thresholds, attachments, due dates, and reviewer checklist — as configuration, then:

  • A new return is an afternoon of configuration, not a release
  • An amended directive is a new template version with an effective date, not a migration
  • The rule that failed a submission can be quoted back with the directive it came from
  • The platform is the same platform for R01 and for R30, and for the return invented next year

We are not building thirty return screens. We are building one engine that renders any return the supervisor defines, and a set of engines around it that make the result defensible.

What Kovent must feel like

The supervisor is at this screen for eight hours. That constrains the design more than any feature list.

  • Calm. State is carried by tinted surfaces and hairline borders, not by colour shouting. A page with forty findings must not look like an emergency.
  • Dense but readable. A supervisor scans hundreds of rows. Figures are tabular and aligned; labels are sans-serif and quiet.
  • Explainable. Every score decomposes into drivers. Every failure cites its authority. No number appears without a way to ask where it came from.
  • Decisive. The screen ends in an action — approve, reject, query, flag, escalate — and the action is gated by the checks that must clear first.

It must not feel like a terminal from 1986. Bloomberg's density is worth learning from; its aesthetic is not. See the design language.

Non-negotiables

  1. No return is hard-coded. If a return requires a code change to exist, we have failed the core premise.
  2. Nothing is overwritten. Submissions, decisions, and scores are append-only. Amendments create versions.
  3. Every rule cites its authority. A validation without a directive reference is a defect.
  4. Every state change is attributable. Actor, timestamp, reason, and prior state, sealed.
  5. Computed figures are never typed. If the platform can derive it, the firm cannot enter it.
  6. Maker-checker is structural. The same person cannot prepare and certify. Enforced by the engine, not by policy.
  7. Reading never blocks writing. Analytics run off projections, never against the write path.
  8. The regulator owns the rules. Templates, thresholds, calendars, and scoring weights are configuration the supervisor changes without us.

Relationship to Limen

Kovent is an independent Fordsworth platform. It shares Limen's engineering doctrine — configuration over code, append-only truth, explainable decisions, projections for reads — and none of its domain model. Insurance contracts and regulatory returns are different problems. Where a pattern proved itself in Limen we reuse the pattern, not the code.