Governance & Evidence
Governance is the product, not a setting.
Five mechanics, enforced by the compiler and the runtime, outside the model prompt — where a prompt injection cannot reach them. Everything on this page is a product behaviour you can test on the trial, not a policy commitment in a PDF.
Sample Evidence Pack is a real export from a demonstration run, with client content replaced.
- Mechanic 01
- Evidence & abstention
- Mechanic 02
- Progressive autonomy
- Mechanic 03
- Declared effects
- Mechanic 04
- Correction flywheel
- Mechanic 05
- Audit & outcome economics
Mechanic 01
Evidence and abstention.
Every evidence set carries a sufficiency score against the specific claim it is asked to support. Each Crew Template declares an evidence floor. Below it, the crew returns a structured insufficiency result naming what could not be established and which sources would resolve it. It does not guess and then hedge.
Abstentions are not failures
An abstention means a missing source, not a broken crew. Abstentions route to a human knowledge-gap queue and are reported on their own line, separately from errors, so the two never get averaged together in a dashboard.
Conflicts are carried, not resolved
Where sources of comparable authority disagree, both positions are carried forward to the reviewer with their authority and dates. The system does not silently pick one and present it as settled.
Staleness propagates
When a source expires or materially changes, every artefact that relied on it is identified and its owners are notified. Freshness windows are declared per Knowledge Pack, and a run against stale knowledge is flagged on the artefact.
Authority is graded
Statute, regulation, published guidance, internal precedent and secondary commentary are not weighted the same. The grading is part of the Knowledge Pack, set by the publisher, and visible to the reviewer.
A real evidence record, annotated
Sufficiency 0.86 · floor 0.72claim "Notice period for termination without cause is 30 days
unless the parties have agreed otherwise in writing."
node drafting.clause_generator · run 8f21-4c · release 4.2.0
sources
[1] Statute · authority primary · in force 2019-04-01 · weight 0.41
s.12(3), cited verbatim, retrieved from sg-statutes-2026.01
[2] Court judgment · authority primary · 2023-11-14 · weight 0.28
applied to a materially similar clause; distinguishing facts noted
[3] Firm precedent · authority internal · 2025-06-02 · weight 0.11
matter 2025-0412, approved by a named partner
[4] Commentary · authority secondary · 2024-08-19 · weight 0.06
supports, does not establish
conflict none detected at comparable authority
staleness none — nearest freshness boundary 2026-04-01 (source [1])
decision 0.86 ≥ 0.72 → proceed, sources attached to the artefact
Had the score come in at 0.64, the run would have produced an insufficiency result reading: cannot establish notice period for a fixed-term contract under s.12(3); resolve with the 2024 amendment commencement notice or a firm precedent post-2024.
Mechanic 02
Progressive autonomy.
Binary approval caps throughput at human speed forever. Unlimited autonomy is not acceptable in regulated work. KrewOS makes autonomy something a crew earns against measured evidence, and loses automatically when the evidence stops supporting it.
| Stage | Entry condition | Review rate | Reverts when |
|---|---|---|---|
| Full review | Default for every new crew and every new release of a crew. No exceptions, no override. | 100% of outputs | — this is the floor |
| Supervised sampling | ≥ 200 reviewed outcomes and measured accuracy at or above the declared bound, at 95% confidence, over a rolling window. | 25–40%, risk-weighted | Accuracy drops below the bound, a severity-1 correction is recorded, or the release changes. |
| Extended sampling | Sustained performance at supervised sampling over two further windows with no severity-1 corrections. | 5–15%, risk-weighted | Any breach reverts one stage immediately and notifies the crew owner and the compliance role. |
| Regulated floor | Applied to any output class the tenant marks as regulated, or that the Pack marks as requiring a qualified professional. | 100%, permanently | Never graduates. Sampling cannot be enabled on this class. |
Sampling is risk-weighted
Never uniform. Sampling probability rises with matter value, novelty against the evaluation corpus, evidence sufficiency close to the floor, and any deterministic check that came back marginal.
Reviewers are measured too
A sampling regime is only as sound as the reviews that calibrate it. Review latency, edit rate, agreement with peer reviewers and blind re-review performance are all tracked and reported.
Reversion is automatic
Reversion is a runtime action, not a recommendation. It fires without a human in the loop, and the reversion event is itself an audit record with the triggering measurement attached.
Mechanic 03
Declared effects, verified at compile time.
Every component declares what it reads, writes, spends and causes externally. The compiler statically proves those properties before a release exists — including that no path runs from untrusted input to an external side effect without an intervening approval gate.
| Declaration | Proved at compile time | Enforced at run time |
|---|---|---|
| Reads | Every read target is in the declared set and the component has the permission. | Reads outside the set are refused and recorded. |
| Writes | No write to a target the component did not declare. | Undeclared writes fail the run rather than the check. |
| Spend | Worst-case cost is computable and within the project ceiling. | Soft limits degrade; hard limits fail closed before spending. |
| External effects | No taint path from untrusted input to an external effect without an approval gate on it. | Idempotency key required; compensation behaviour declared; approval enforced by the runtime. |
This is a proof, not a policy document. If the property does not hold, there is no release to deploy. There is no flag to disable the check and no role that can waive it.
The proof covers declared effects. It does not make a model’s judgement correct — that is what evidence floors, evaluation gates and human approval are for.
$ krewos compile crew/lawcrew-document-review
resolving dependencies ok 41 components, 41 pinned
typing ports ok 118 edges checked
effect declarations ok 3 external effects declared
taint analysis ok untrusted -> external: 3 paths, 3 gated
budget bound ok worst case 812 credits ≤ ceiling 1,500
evaluation gate ok lawcrew-217
release 4.2.0 sealed sha256:c41b9e7a… immutable
Mechanic 04
Human accountability and the correction flywheel.
Every approval, rejection and edit is an immutable Correction Record tied to a named reviewer, a run, a release and a component version. Human decisions are append-only; corrections supersede, they never rewrite.
What a Correction Record holds
- Reviewer identity and role
Named, authenticated - Decision
Approve / reject / edit - Reason
Mandatory on reject and edit - Run, release, component version
All three, pinned - Evidence set at decision time
Snapshotted - Before and after text
Full diff retained - Timestamp and duration
Immutable - Supersedes
Prior record id, if any
The flywheel
Compounds- An expert disagrees with an output
They edit it in the approval workbench, with a reason. That is work they were going to do anyway.
- The correction is confirmed
A second qualified reviewer confirms the correction is generalisable, not case-specific.
- It is promoted into the evaluation suite
As a case with an expected outcome, attributed to the reviewer who found it.
- The gate gets harder
The next release must pass the case to be promoted. Your suite grows out of real disputed cases from your own work.
This is why the evaluation suite is the durable asset and why a competitor cannot copy it. The model is a commodity; two hundred disputed cases from your own practice, with expert-confirmed expected outcomes, are not.
Mechanic 05
Audit and outcome economics, from the same records.
End-to-end traces from run to node to model call to retrieval to tool to approval, exportable in machine-readable form. The figures that enforce your budgets are the same figures that report your cost per outcome, so they cannot disagree.
- Cost per outcome
- S$4.10 / matter
- Platform and model credits, fully attributed
- Human minutes displaced
- 38 / matter
- Against your configured baseline of 52
- Unattributed spend
- 0 credits
- Every credit maps to a run, node and outcome
What an audit export contains
JSON · CSV · signed PDFRun identity and timeline Release and component versions Model profiles and routing decisions Every retrieval with source and score Evidence sets per claim Policy evaluations and outcomes Tool and Action calls with idempotency keys Human decisions with identity and timestamp Abstentions and their resolutions Cost records per node Autonomy stage and sampling decision
Exports are scoped by matter, by date range or by crew, produced by an authorised role, and the act of exporting is itself an audit record. Retention is configured by your organisation, and records are immutable for the configured period.
Every crew declares its outcome unit
A matter reviewed, a reconciliation closed, an article published, a pond advisory issued. Cost and time are reported against that unit, not against tokens, which no partner has ever wanted to discuss.
Baselines are yours, not ours
You configure the manual baseline the displacement figure is measured against. We will not publish a number derived from a baseline we invented.
For the risk gatekeeper
Control mapping, retention, deletion, subprocessors, incident process and the pre-answered questionnaire pack.
For compliance & risk →For the technical evaluator
Manifest schema, the compiler’s guarantees, the audit event model and the export API.
Governance documentation →