Demonstration — synthetic corpus
We could not show you a customer's assessment, and we would not want to. So we built an organisation instead — invented its documents, hid known problems inside them, and wrote down in advance what a competent analyst should expect Systemantic to notice.
Kelmarsh Mutual is synthetic. It is not a customer.
We invented the organisation, wrote its 8 documents, and seeded known problems into them — then declared in writing what a competent analyst should expect Systemantic to notice, before running it. No real organisational material appears anywhere on this site or in the repository.
A governance pack of the kind a mid-sized regulated organisation actually holds: registers, logs, a policy, a work instruction and one interview note. All of it invented.
| Document | What it is | Basis |
|---|---|---|
| control-register.csv | Control register | documentary |
| procedure-register.csv | Procedure register | documentary |
| information-register.csv | Information asset register | documentary |
| control-testing-log.csv | Control testing log | measured |
| settlement-run-log.csv | Run log | measured |
| payments-policy.md | Policy | documentary |
| remittance-procedure.md | Work instruction | documentary |
| interview-payments-analyst.md | Interview note | testimonial |
What one run produced
73
claims admitted
29
entities in the model
37
relationships
9
findings
Of those 73 claims, 65 were read from registers automatically by 4 written mappings, and 8 were anchored to prose by hand. Nine findings were predicted before the run; nine appeared, and nothing appeared that nobody had predicted.
The run also recorded 13 expression gaps, and they are two different things. 2 are vocabulary gaps: material that was read and understood, and that the current vocabulary has no way to say. The other 11 are representation gaps: regions of a supplied file that did not become a claim — a cell the register left empty, a rule whose precondition the row did not meet. In this corpus every one of those eleven was read rather than unreadable, so each records that the source did not say something, not that we could not tell.
Both are recorded rather than forced into a shape that would fit, and none of them disappeared silently. Until recently the 11 representation gaps were printed to a console and discarded, which meant a region we could not read looked exactly like a source that had nothing to say. They are permanent records now, which is why the number went up.
This is the whole product in one screen. A finding, the claim it rests on, the rule that read it, and the exact cell in the exact file where the evidence lives.
Finding
control:kmc_05 is in the model and no actor is recorded as accountable for it. The corpus does not say who owns it.
The detector asks: “Is there a control in the model that no actor is recorded as accountable for?”
Rests on the claim
controls(control:kmc_05, process:remittance_file_release, review)
Admitted by deterministic_derivation by map-control-register@1 — not typed in by hand.
Which the mapping read as
The control register records KMC-05 as covering the process remittance_file_release, as a review control.
Mapping rule, stated before the run: “The covers_process column names the process the control governs.”
basis: documentaryFrom this exact location
| control_ref | control_kind | owner_role | covers_process |
|---|---|---|---|
| KMC-03 | reconciliation | Finance Control Lead | empty |
| KMC-04 | review | Payments Operations Manager | exception_handling |
| KMC-05 | review | empty | remittance_file_release |
| KMC-06 | reconciliation | Finance Control Lead | empty |
Every other control in the register names an owner. KMC-05 does not. That empty cell is the whole finding — and in the workbench the anchor is re-checked against the file each time the page is rendered, rather than trusted.
Reproduced from the Kelmarsh Mutual proving corpus — synthetic material, described in full on this page. Finding id d9bdbb535e18… is stable: the same corpus produces the same id every run.
It demonstrates that a realistic governance pack goes in through the supported path and comes out as findings that each traverse to the exact cell or sentence that caused them — reproducibly, with the same identifiers every run.
It does not demonstrate that your document pack has this shape. Kelmarsh Mutual was written by the same people who wrote the rules. Declaring the expected findings in advance rules out fitting the results afterwards; it does not rule out having unconsciously written documents that suit what the system can already see.
Real registers have inconsistent column names, free text where a closed vocabulary is expected, and columns that mean different things in different rows. A mapping meets those by refusing to read them — which is correct, and is not the same as being useful.
That is exactly what the private beta is for.
Entering private beta
Systemantic is entering private beta and is not open for signup. We will begin with a small number of organisations.