econ-skm-score/Cargo.toml
flemming-it 3c75ff005f 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>
2026-06-18 11:25:35 +02:00

36 lines
828 B
TOML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[package]
name = "econ_skm_score"
version = "0.1.0"
edition = "2024"
authors = ["Dr. Stefan Flemming <chain@flemming.ai>"]
license = "Apache-2.0"
publish = false
description = "F∆I module — Standardkostenmodell P×F×T×h per duty, total per norm"
repository = "https://git.flemming.ws/chain-modules-econ/econ-skm-score"
rust-version = "1.85"
[lib]
crate-type = ["cdylib", "rlib"]
[dependencies]
chain-module-sdk = { git = "https://git.flemming.ai/fai/chain-module-sdk-rust.git", branch = "main" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
[profile.release]
opt-level = "s"
lto = true
codegen-units = 1
strip = "symbols"
[lints.rust]
unsafe_op_in_unsafe_fn = "warn"
[lints.clippy]
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"
print_stdout = "deny"
print_stderr = "deny"
[workspace]