feat: initial econ-skm-score v0.1.0 (econ.skm_score@0.1.0)

Standardkostenmodell (Methode des Nationalen Normenkontrollrats):

  eur_per_year = P × F × T × h

  P  population (Fallzahl)
  F  frequency per year (Frequenz)
  T  tariff in €/h (Tarif)
  h  time per case in hours (Zeitaufwand)

Each item preserves the formula string so an auditor can
reconstruct the calculation from the Hub audit log without
re-running the module.

Per-duty tier flags propagate via the Regel-der-niedrigsten-Stufe
(Studie §6.7): the aggregate tier_lowest is the worst tier among
the duties, so any T4 (qualitative signal) ingredient drags the
whole report down to T4. That is intentional — it prevents
methodologically weak inputs from masquerading as confidence.

Reuse-lens: SKM is EU- and OECD-anerkannt. The Niederländer (ATR),
UK (Regulatory Policy Committee) and EU REFIT all use this
methodology. This module is meaningful far beyond lawheatmap.

Pure in-WASM, zero filesystem, zero network.

Reserved for next versions:

  - 0.2: confidence intervals (P/F/T/h Streuung → output band)
  - 0.3: industry-tariff lookup (DESTATIS Bruttoverdienst-Reihen)

Signed-off-by: flemming-it <sf@flemming.it>
This commit is contained in:
flemming-it 2026-06-18 11:25:35 +02:00
commit 3c75ff005f
6 changed files with 685 additions and 0 deletions

39
module.yaml Normal file
View file

@ -0,0 +1,39 @@
schema_version: 3
provider: chain
name: econ-skm-score
version: 0.1.0
# Standardkostenmodell — P × F × T × h per duty, summed across
# a duty list. Methode des Nationalen Normenkontrollrats.
#
# Reuse-lens: SKM is the EU- and OECD-anerkannte Methodik for
# bureaucracy cost measurement, used by NL ATR, UK RPC, EU REFIT.
# This module is meaningful far beyond lawheatmap.
provides:
- capability: econ.skm_score
version: 0.1.0
inputs:
duties:
type: json
description:
en: |
{ duties: [{ population, frequency, tariff_eur_per_hour,
time_hours_per_case, source_norm }] }
de: |
{ duties: [{ population, frequency, tariff_eur_per_hour,
time_hours_per_case, source_norm }] }
outputs:
report:
type: json
description:
en: |
{ items: [{ source_norm, eur_per_year, formula }],
total_eur_per_year, tier_lowest }.
tier_lowest follows the Regel der niedrigsten Stufe.
de: |
{ items: [{ source_norm, eur_per_year, formula }],
total_eur_per_year, tier_lowest }.
permissions: []