Decisions as records
Title, context, options considered, stakes and deadline - closed out with an outcome and the rationale behind it, not just a status flip.
A decision intelligence platform - the system of record for how an organisation decides, not only what it decided. Decisions carry their context, the options weighed, and the rationale that would otherwise leave with the meeting.

Most companies can tell you what was decided and almost none can tell you how. DecisionOS makes the decision itself the record: who is accountable, who was consulted, what was rejected and why. RACI is not a diagram here - it drives routing, notification and escalation, and doubles as the permissions model. The analytics layer reads that trail to surface decision debt and bottlenecks, and Compass answers questions about the org strictly from what the trail can support.
Title, context, options considered, stakes and deadline - closed out with an outcome and the rationale behind it, not just a status flip.
One accountable decider, an advisor set that must be consulted, and an informed list. The same structure decides who is notified and who can see the record.
Decisions past their deadline escalate rather than rot quietly, and delegation moves accountability explicitly instead of by inbox.
Decision debt, bottleneck deciders, velocity trend and department comparison - computed from the trail, written back nowhere.
A per-decision score over how well a call was framed, consulted and evidenced, so quality is inspectable rather than felt.
A strategic-consultant surface answering in the second person about this organisation. Grounded in retrieved org state, and explicit when the state is too thin to answer.
// Zero or many accountable owners is a data-integrity bug,// not a UI edge case - a decision nobody owns never closes.function assertAccountable(decision) { if (!decision.decider_id) { throw new IntegrityError('decision has no accountable owner') }}// Compass never invents org facts. Thin state gets said out// loud rather than filled in with plausible management-speak.function answer(question, orgState) { if (!orgState.sufficientFor(question)) { return cannotSee(question, orgState.gaps()) } return compose(question, orgState).withCitations()}The trail is the asset, so decision records are append-only in spirit and deletes are soft - status changes and rationale edits are history rather than overwrites. The analytics layer is strictly read-side: when a metric needs data that isn't there, the fix is upstream capture, never a computed column written back over the record.