You've already forked dokumenta-semantiska-analize
Import UAPF package
UAPF v2.4.0 reverses the v2.3.0 decision to place algorithm card references on resource targets. The card belongs on the BPMN task itself, where it is visible as a first-class process element and its inputs/outputs render as visible data objects on the diagram. Changes from v3.0.0: - bpmn/semantic-document-analysis.bpmn: each of 3 service tasks now carries xmlns:uapf24=https://uapf.dev/bpmn/v2.4 + the uapf24:algorithmCardRef attribute pointing at the governing card, plus a <bpmn:ioSpecification> synthesised from the card's io block so inputs/outputs render as visible data objects - resources/mappings.yaml: algorithm_card dropped from each of the 3 targets (they go back to being just dispatch endpoints) - uapf.yaml + manifest.json: version 3.0.0 -> 3.1.0 - README rewritten with v3.1.0 delta + audit-question table Cards themselves are unchanged. DMN files are unchanged.
88 lines
3.7 KiB
YAML
88 lines
3.7 KiB
YAML
kind: uapf.resources.mapping
|
|
|
|
# Host-readable contract for the capability-backed service tasks.
|
|
#
|
|
# v3.1.0 change: the algorithm_card reference (added in v3.0.0 on each
|
|
# target) has been removed per UAPF v2.4.0 — the Algorithm Card reference
|
|
# now lives on the BPMN serviceTask itself via the
|
|
# uapf24:algorithmCardRef attribute (see bpmn/semantic-document-analysis.bpmn).
|
|
# Targets here keep their role as dispatch endpoints only.
|
|
#
|
|
# The three DMN decisions (assess-personal-data-risk,
|
|
# gdpr-processing-route, human-validation-gate) remain self-describing
|
|
# and continue to need no host resource — they are evaluated by the
|
|
# UAPF runtime against the dmn/ cornerstone.
|
|
|
|
targets:
|
|
- id: agent.pii_redactor
|
|
type: ai_agent
|
|
name: PII detection and redaction agent
|
|
description: |
|
|
Host capability ai.redact@1, governed by the
|
|
pii_redactor Algorithm Card.
|
|
capabilities:
|
|
- capability.ai.redact
|
|
|
|
- id: agent.vdvc_semantic_extractor
|
|
type: ai_agent
|
|
name: VDVC semantic metadata extractor agent
|
|
description: |
|
|
Host capability ai.extract@1, governed by the
|
|
vdvc_semantic_extractor Algorithm Card. EU AI Act
|
|
Annex III high-risk; human oversight is mandatory and is
|
|
enforced downstream by the human-validation-gate DMN.
|
|
capabilities:
|
|
- capability.ai.extract
|
|
|
|
- id: agent.completion_event_emitter
|
|
type: ai_agent
|
|
name: Completion event emitter agent
|
|
description: |
|
|
Host capability event.emit@1, governed by the
|
|
completion_event_emitter Algorithm Card.
|
|
capabilities:
|
|
- capability.event.emit
|
|
|
|
bindings:
|
|
- source: { type: bpmn.serviceTask, ref: Task_DetectRedactPii }
|
|
targetId: agent.pii_redactor
|
|
mode: autonomous
|
|
contract:
|
|
input:
|
|
- { name: content, type: string, required: true }
|
|
output:
|
|
- { name: redactedContent, type: string, description: "Source text with PII masked." }
|
|
- { name: detectedEntityTypes, type: array, description: "PII TYPE names only, never values." }
|
|
- { name: personasKodaPresent, type: boolean, description: "Latvian national ID regex hit." }
|
|
- { name: financialDataPresent,type: boolean, description: "IBAN regex hit." }
|
|
- { name: contactDataPresent, type: boolean, description: "E-mail or phone regex hit." }
|
|
- { name: piiCategoryCount, type: number, description: "Count of distinct PII categories detected." }
|
|
timeout: "10s"
|
|
requiredCapabilities: [capability.ai.redact]
|
|
|
|
- source: { type: bpmn.serviceTask, ref: Task_ExtractSemantics }
|
|
targetId: agent.vdvc_semantic_extractor
|
|
mode: autonomous
|
|
contract:
|
|
input:
|
|
- { name: redactedContent, type: string, required: true }
|
|
- { name: schemaRef, type: string, required: true, description: "resources/schemas/vdvc-semantic-summary.schema.json" }
|
|
output:
|
|
- { name: semanticSummary, type: object, description: "Validates against the VDVC v1.1 schema." }
|
|
- { name: sensitivityControl, type: object }
|
|
- { name: aiConfidenceScore, type: number, description: "Flat 0.0-1.0; consumed by human-validation-gate." }
|
|
- { name: outputPiiErrorCount, type: number, description: "PII re-scan hits on extracted text; consumed by human-validation-gate." }
|
|
timeout: "30s"
|
|
retries: { maxAttempts: 2, backoffMs: 2000 }
|
|
requiredCapabilities: [capability.ai.extract]
|
|
|
|
- source: { type: bpmn.serviceTask, ref: Task_EmitResult }
|
|
targetId: agent.completion_event_emitter
|
|
mode: autonomous
|
|
contract:
|
|
input:
|
|
- { name: eventType, type: string, required: true }
|
|
- { name: payload, type: object, required: true }
|
|
timeout: "5s"
|
|
requiredCapabilities: [capability.event.emit]
|