You've already forked dokumenta-semantiska-analize
Import UAPF package
The 1.x package was a single ai.extract call wrapped in three BPMN
service tasks. No decision logic, no dmn cornerstone, no weights — the
risk/routing/validation algorithm lived invisibly in host code. There
was nothing for a runtime to actually execute.
2.0.0 makes it a real process:
- dmn cornerstone added with three decision tables:
* assess-personal-data-risk — PII regex signals -> risk level
* gdpr-processing-route — risk x centralisation -> CENTRAL/LOCAL,
anonymisation, redaction level
* human-validation-gate — confidence thresholds + PII re-scan
-> REJECTED/PENDING_REVIEW/APPROVED_AUTO
- BPMN expanded 3 -> 6 nodes (3 serviceTask + 3 businessRuleTask),
with horizontal DI.
- Task ids, mappings, docs, manifest (dmn:true), uapf.yaml, lifecycle
and eval-set updated; added a PII-bearing fixture.
Only the semantic extraction remains a model step. Risk classification,
GDPR routing and validation gating are now explicit ranked DMN rules —
inspectable, versioned, portable. Breaking change: structure + outputs.
42 lines
991 B
JSON
42 lines
991 B
JSON
{
|
|
"algorithm": "Process_SemanticDocumentAnalysis",
|
|
"package_version": "2.0.0",
|
|
"cases": [
|
|
{
|
|
"id": "pii-bearing-high-risk",
|
|
"input_fixture": "fixtures/pii-bearing-input.json",
|
|
"input_vars": {
|
|
"allowCentralization": false
|
|
},
|
|
"expect_decisions": {
|
|
"assess-personal-data-risk": {
|
|
"personalDataRisk": "HIGH"
|
|
},
|
|
"gdpr-processing-route": {
|
|
"processingRoute": "LOCAL",
|
|
"redactionLevel": "FULL"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "no-pii-discrimination",
|
|
"input_fixture": "fixtures/discrimination-input.json",
|
|
"input_vars": {
|
|
"allowCentralization": true
|
|
},
|
|
"expect_decisions": {
|
|
"assess-personal-data-risk": {
|
|
"personalDataRisk": "NONE"
|
|
},
|
|
"gdpr-processing-route": {
|
|
"processingRoute": "CENTRAL"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"success_criteria": {
|
|
"min_pass_rate": 0.95,
|
|
"max_p95_latency_ms": 20000
|
|
}
|
|
}
|