chain's catalog charset (naming.rs check_segment, capability-namespaces.yaml) allows only [a-z0-9-] per dot-segment — underscores are rejected by `chain validate`. Repack all 8 modules with the dash capability form (econ.skm-score, law.benefit-score, …) and align the store index, flows, app strings and docs to match. Bundles now use the .chain extension (content-addressed; legacy .fai would still install). - store/store.yaml: name: dash, wasm_url .chain, refreshed sha256 - store/SHA256.txt: 8 new .chain hashes - flows + app/lib + RUN.md + MACHBARKEITSSTUDIE.md: capability refs _ -> - - left untouched: text_akoma_normalize.wasm artifact, DB field skm_score, backlog module law.skm_score Signed-off-by: flemming-it <sf@flemming.it>
92 lines
2.9 KiB
YAML
92 lines
2.9 KiB
YAML
# Vertikaler Durchstich, Vollversion (so weit heute lauffähig).
|
|
#
|
|
# Erweitert durchstich-from-file um die Analyse-Module, deren
|
|
# Eingaben sich aus vorhergehenden Step-Outputs speisen lassen
|
|
# (alle als $ref) — Pflichten, Zitationsgraph, Lesbarkeit/Frust.
|
|
# Das flow.completed-Event trägt damit norm + duties + citations
|
|
# + frust + cohort, also die Form, die HubRepository.list() in der
|
|
# Recl∆Im-App in Evaluation-Objekte übersetzt.
|
|
#
|
|
# NICHT enthalten: econ.skm-score und law.benefit-score. Beide
|
|
# Module lesen ihren Tupel-/Ratings-Input über `require_json`,
|
|
# d.h. sie erwarten ein Payload::Json. In einem Flow lässt sich
|
|
# ein Json-Wert aber nur aus einem vorhergehenden Step-Output
|
|
# beziehen — `chain run --input name=value` erzeugt Text,
|
|
# `--input name=@file` erzeugt Bytes, nie Json, und ein Inline-
|
|
# Map-Literal in `with:` lehnt der Flow-Parser ab ("expected a
|
|
# string"). Es gibt heute also keinen Weg, skm/benefit aus CLI-
|
|
# Inputs zu treiben. Siehe Handoff an chain (json-CLI-Input).
|
|
# Sobald der Plattform-Fix steht, die skm-/benefit-Steps unten
|
|
# einkommentieren (Form: `with: { duties: $inputs.duties }` mit
|
|
# `inputs: { duties: json }`).
|
|
#
|
|
# Aufruf:
|
|
# chain run flows/durchstich-full.yaml \
|
|
# --input content=@/tmp/gewo-14-mini.xml \
|
|
# --input cohort_id=berlin-kmu
|
|
# (pausiert am system.approval-Gate — danach via Hub/Studio
|
|
# freigeben, dann wird das flow.completed-Event geschrieben.)
|
|
|
|
name: durchstich-full
|
|
|
|
inputs:
|
|
content: bytes
|
|
cohort_id: text
|
|
|
|
steps:
|
|
- id: normalize
|
|
use: text.akoma-normalize@^0
|
|
with:
|
|
content: $inputs.content
|
|
mime: "application/xml"
|
|
|
|
- id: deontic
|
|
use: text.deontic-extract@^0
|
|
with:
|
|
norm: $normalize.norm
|
|
|
|
- id: citations
|
|
use: graph.citation-extract@^0
|
|
with:
|
|
norm: $normalize.norm
|
|
|
|
- id: cohort
|
|
use: stats.cohort-size@^0
|
|
with:
|
|
cohort_id: $inputs.cohort_id
|
|
|
|
- id: frust
|
|
use: text.readability-score@^0
|
|
with:
|
|
norm: $normalize.norm
|
|
graph: $citations.citations
|
|
|
|
# Pending platform json-CLI-input (Handoff → chain). Form, die
|
|
# nach dem Fix gilt — `inputs:` oben um `duties: json` /
|
|
# `ratings: json` ergänzen und mit --input duties=… speisen:
|
|
# - id: skm
|
|
# use: econ.skm-score@^0
|
|
# with:
|
|
# duties: $inputs.duties
|
|
# - id: benefit
|
|
# use: law.benefit-score@^0
|
|
# with:
|
|
# ratings: $inputs.ratings
|
|
|
|
- id: review
|
|
use: system.approval@^0
|
|
with:
|
|
title: "Recl∆Im — Review GewO §14 (Live)"
|
|
prompt: >-
|
|
Juristische Freigabe: Stimmen die extrahierten Pflichten, die
|
|
Zitationen und die Norm-Wiedergabe mit dem geltenden Gesetzestext
|
|
überein? Quellen siehe Payload. Bei Freigabe gilt die Auswertung
|
|
als juristisch bestätigt.
|
|
payload: $normalize.norm
|
|
|
|
outputs:
|
|
norm: $normalize.norm
|
|
frust: $frust.score
|
|
cohort: $cohort.cohort
|
|
duties: $deontic.duties
|
|
citations: $citations.citations
|