Skip to main content
Jira progress: loading…

WST-SHR

Waste Share / Composition Calculator

1. Identity

Loading identity…

Depends on module:

Canonical computation and modeling domain for ESG calculations, simulations, extrapolation, aggregation, normalization, and decision-grade metric synthesis. Provides governed, auditable compute services to other modules (e.g., Reporting, Risk, Net Zero, ZARA).
Domain:
computation-hub
Category:
analytics-modeling
Classification:
module
Lifecycle status:
active
Semver:
1.0.0
Introduced in:
v0.3
Governance
AI risk level:
high
Trust threshold:
0.9
Human review required:
true
Verifier involved:
false
Audit required:
true
Ownership
Primary owner:
Platform
Architecture board:
true
White-label allowed:
true
Entrypoints
Docs:
/computation-hub
UI:
/app/computation-hub
API:
/api/computation-hub
Dependencies
Modules
  • sis
  • input-hub
Unresolved tokens
  • BUME
  • SEM
  • VTE
Engines (declared)
  • DICE
  • DaVE
  • VTE
  • SEM
  • BUME
Micro-engines (from registry)
Micro-engines (declared)
None
Signals
USO
  • DATA.COMPUTATION
  • DATA.VALIDATION
  • DATA.EXTRAPOLATION
  • MODEL.SIMULATION
  • MODEL.UNCERTAINTY
CSI
  • CSI_COMPUTATION_HUB
SSSR tags
  • computation
  • modeling
  • simulation
  • monte-carlo
  • bayesian
  • extrapolation
  • aggregation
  • normalization
  • validation
  • mice
Workflows & Outputs
Workflows
  • MicroEngineRouting
  • RuleBasedComputeDispatch
  • ScenarioModeling
  • UncertaintyQuantification
  • AggregationAndRollups
  • NormalizationAndBenchmarking
  • ExtrapolationAndGapFilling
  • ComputeAuditAndReplay
Outputs
  • computed_metrics
  • scenario_ranges
  • confidence_intervals
  • normalized_values
  • validation_findings
  • trust_scored_compute_outputs
Audit
Ledger:
ALTD
Replay supported:
true
PII policy:
no_pii_in_omr
Tags

Purpose
Computes waste composition shares (ratios or percentages) with waste-governed semantics, enforcing canonical hazard classes and (optionally) category identifiers, valid denominator choices, and disclosure-ready metadata aligned with ESRS E5.

This engine is a domain adapter over the generic MEID_CALC_SHARE primitive.

Typical usage

  • Hazardous share of total waste (%)
  • Non-hazardous share of total waste (%)
  • Category share of total waste (optional, if categories are tracked)

2. Contract References (ZAR)

2.1 Input Schema

ZAR Address: schema.compute.waste.share.inputs.v1_0_0

Required conceptual fields:

  • numerator_ref: identifies numerator basis (hazard class or category)
  • denominator_ref: identifies denominator basis
  • share_mode: RATIO | PERCENT (default PERCENT)
  • alignment: BY_YEAR | BY_INDEX (default BY_YEAR)

Two supported input styles:

Style A (direct values):

  • numerator: scalar or time-series
  • denominator: scalar or time-series

Style B (reference values):

  • numerator_signal_ref and denominator_signal_ref (CSI/USO references)
  • values resolved upstream by orchestration and provided at runtime

2.2 Options Schema

ZAR Address: schema.compute.waste.share.options.v1_0_0

Common options:

  • denominator_floor: default 1e-9
  • cap_range: ENFORCE | ALLOW (default ENFORCE)
  • missing_policy: ERROR | SKIP
  • hazard_normalization: STRICT | LENIENT (default STRICT)
  • category_normalization: STRICT | LENIENT (default LENIENT)
  • rounding: optional digits

2.3 Output Schema

ZAR Address: schema.compute.waste.share.output.v1_0_0

Outputs include:

  • share_series
  • share_unit (ratio or percent)
  • metadata (normalized refs, floors, caps, alignment)

3. Accepted Input Shapes

A. Hazardous share of total waste

{
"numerator_ref": "hazard:hazardous",
"denominator_ref": "waste_total",
"numerator": [[2025, 85], [2026, 82]],
"denominator": [[2025, 1285], [2026, 1250]],
"share_mode": "PERCENT",
"alignment": "BY_YEAR"
}

B. Non-hazardous share (ratio)

{
"numerator_ref": "hazard:non_hazardous",
"denominator_ref": "waste_total",
"numerator": [[2025, 1200]],
"denominator": [[2025, 1285]],
"share_mode": "RATIO"
}

C. Category share (optional)

{
"numerator_ref": "category:17-01-07",
"denominator_ref": "waste_total",
"numerator": [[2025, 500]],
"denominator": [[2025, 1285]],
"share_mode": "PERCENT"
}

All supported shapes MUST be normalized internally to:

Map<period, numerator_value> + Map<period, denominator_value>

4. Waste-Specific Normalization Rules (Normative)

4.1. Canonical numerator_ref values (v1)

Hazard shares

  • hazard:hazardous
  • hazard:non_hazardous

Category shares

  • category:
<ewc_code> or <ewc_id> where <ewc_...> is an EWC-like code or internal canonical category id

4.2. Canonical denominator_ref values (v1)

  • waste_total
  • waste_hazardous (allowed only if we explicitly want “share of hazardous by category” later)
  • waste_non_hazardous (same)

4.3. Pairing rules (governed)

The engine MUST enforce valid combinations:

  • hazard:* MAY only be divided by waste_total
  • category:* MAY be divided by:
  • waste_total, or
  • waste_hazardous / waste_non_hazardous only if enabled by schema (v1 default: disabled)

Invalid pairings MUST error (v1 strict).


5. Compute Semantics (Normative)

For each aligned period tt:

Let N(t)N(t) be numerator and D(t)D(t) be denominator.

shareraw(t)=N(t)max(D(t),ϵ)share_{\mathrm{raw}}(t) = \frac{N(t)}{\max(|D(t)|, \epsilon)}

Where ϵ\epsilon is denominator_floor.

If share_mode = RATIO: share(t)=shareraw(t)share(t) = share_{\mathrm{raw}}(t)

If share_mode = PERCENT: share(t)=100shareraw(t)share(t) = 100 \cdot share_{\mathrm{raw}}(t)

If cap_range = ENFORCE:

  • ratio: clamp to [0,1][0,1]
  • percent: clamp to [0,100][0,100]

Clamp events MUST be recorded in:

  • metadata.capped_values_count

6. Alignment Rules

BY_YEAR

  • Numerator and denominator MUST share the same period keys unless missing_policy = SKIP.

BY_INDEX

  • Ordered alignment; length mismatch handled per missing_policy.

Metadata MUST include:

  • aligned_periods
  • missing_in_numerator
  • missing_in_denominator
  • denominator_floor_applied_count

7. Validation & Error Model

Invariants

  • Values must be finite
  • denominator_floor > 0
  • Refs must be valid canonical forms
  • Governed pairing rules must pass

Error codes (suggested)

  • WASTE_SHARE_INVALID_REF
  • WASTE_SHARE_INVALID_PAIRING
  • WASTE_SHARE_ALIGNMENT_MISMATCH
  • WASTE_SHARE_DENOMINATOR_ZERO_GUARDED
  • WASTE_SHARE_NON_FINITE_VALUE

Errors MUST include:

  • engine cmi_short_code
  • offending ref and period

8. Dependencies

MEID_CALC_WASTE_SHARE depends on:

  • MEID_CALC_SHARE (primitive)
  • schema resolver (ZAR)
  • canonical hazard classes
  • optional waste category taxonomy (if category:* is used)

Declared via ZAR dependencies.


9. Federation & Audit Requirements

To reproduce waste share outputs externally, the export MUST include:

  • engine identity (cmi or zar_code)
  • engine build proof (execution_ref + build_hash)
  • input/options/output schemas used
  • numerator and denominator series used (or resolvable signal refs)
  • normalization settings and caps

Provenance chain MUST show:

… → MEID_CALC_WASTE_SHARE → …

with cmi_short_code recorded in USO tail arrays.


10. Performance Notes

  • Complexity: O(n)O(n) over periods
  • Memory: O(n)O(n)
  • Suitable for batch reporting and KPI analytics

11. Methods Served (v1)

  • Waste.hazardous.share
  • Waste.non_hazardous.share
  • Waste.category.share (optional)



GitHub RepoRequest for Change (RFC)