# Vertikaler Durchstich Phase 0 — eine Norm (GewO §14) durch # alle 8 law*-Schritte + Juristen-Approval + Audit. # # Voraussetzung: # chain install text.akoma_normalize text.deontic_extract \ # graph.citation_extract text.readability_score \ # stats.cohort_size graph.shapley_attribution \ # econ.skm_score law.benefit_score \ # http.request system.approval # # Aufruf: # chain run flows/durchstich-gewo-14.yaml \ # --input norm_url=https://www.gesetze-im-internet.de/gewo/__14.xml \ # --input cohort_id=berlin-kmu inputs: norm_url: type: string required: true description: ELI-resolvable URL der Quell-Norm cohort_id: type: string required: true description: Adressaten-Kohorte (siehe stats.cohort_size v0.1) tariff_eur_per_hour: type: number default: 35.0 description: SKM-Tarif T outputs: norm: ${{ normalize.norm }} duties: ${{ duties.duties }} citations: ${{ citations.citations }} cohort: ${{ cohort.cohort }} skm: ${{ skm.report }} frust: ${{ frust.score }} benefit: ${{ benefit.score }} attribution: ${{ attribution.attribution }} reviewed: ${{ review.decision == 'approve' }} steps: - id: pull use: http.request@^0 with: url: ${{ inputs.norm_url }} method: GET etag_cache: true - id: normalize use: text.akoma_normalize@^0 with: content: ${{ pull.body }} mime: application/xml - id: duties 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 }} # SKM-Aufbereitung: jede Duty bekommt P/F/T/h aus # Kohorten-Größe + per-Duty-Heuristik (Phase 1: NKR-Datenbank). # Hier inline aufgebaut; in Phase 1 wird das ein eigener # `econ.duties_enrich`-Schritt. - id: skm use: econ.skm_score@^0 with: duties: duties: - population: ${{ cohort.cohort.count }} frequency: 1.0 tariff_eur_per_hour: ${{ inputs.tariff_eur_per_hour }} time_hours_per_case: 0.5 source_norm: ${{ normalize.norm.eli }} tier: ${{ cohort.cohort.tier }} - id: frust use: text.readability_score@^0 with: norm: ${{ normalize.norm }} graph: ${{ citations.citations }} - id: benefit use: law.benefit_score@^0 with: ratings: schutz: 2.0 markt: 3.0 rechtssicherheit: 3.5 eu_binnenmarkt: 2.0 sicherheit: 1.5 umwelt: 0.0 einnahmen: 2.0 _sources: schutz: NKR Stellungnahme zur GewO 2018 rechtssicherheit: IHK Berlin Mittelstandsumfrage 2024 # Attribution-Schritt mit Demo-Graph aus citations. # Phase 1: graph.normalize baut den vollen Norm-Graph hier. - id: attribution use: graph.shapley_attribution@^0 with: graph: nodes: - ${{ normalize.norm.eli }} - eli/bund/gewo edges: - from: eli/bund/gewo to: ${{ normalize.norm.eli }} target: ${{ normalize.norm.eli }} # Juristen-Gate — Studie §3.3 macht das obligatorisch. - id: review use: system.approval@^0 with: title: "F∆I Law-Heatmap — Review ${{ normalize.norm.eli }}" payload: norm: ${{ normalize.norm }} skm: ${{ skm.report }} benefit: ${{ benefit.score }} frust: ${{ frust.score }} cohort: ${{ cohort.cohort }}