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:
commit
3c75ff005f
6 changed files with 685 additions and 0 deletions
36
Cargo.toml
Normal file
36
Cargo.toml
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
[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]
|
||||
Loading…
Add table
Add a link
Reference in a new issue