S3-SUM
Scope 3 Summary Engine
1. Identity
Depends on module:
- Purpose: The seventeenth engine of the Scope 3 family and the only place where Scope 3 is put together. Rolls the category results of the fifteen category controllers into category series (stage A), applies the inclusion policy and produces the Scope 3 total and coverage (stage B), and produces the disclosure object — per-category method and data quality, exclusions, screening status, magnitude coverage, the unclassified residual, double-count checks and the restatement log (stage C).
- Typical usage:
- Producing the official Scope 3 total and category breakdown for ESRS E1-6 disclosure
- Feeding the Scope 3 total into
MEID_GHG_AGGR_AGGREGATION, intensity, target-gap and scenario engines - Supplying the per-category method, data-quality and primary-data share to the ESGX/PCAF output profile
- Surfacing not-screened categories and the quarantine residual to Watchtower
Lineage. This engine succeeds the withdrawn Scope 3 Category Aggregation (MEID_GHG_AGGR_SCOPE3_CATEGORY, legacy MEID_CALC_GHG_SCOPE3_CAT, retired) and Scope 3 Consolidation (MEID_GHG_AGGR_SCOPE3, legacy MEID_CALC_GHG_SCOPE3) specifications. It inherits MEID_GHG_AGGR_SCOPE3 so that every downstream dependency on the Scope 3 total is unchanged.
Versioning policy
- MEID is stable.
- Inclusion policy, exclusion codes, coverage thresholds and double-count checks are governed values (ZAR / ZRR), never engine constants.
2. Normative Baseline
The normative contract of this engine is defined in the Scope 3 Engine Architecture (S3-ARCH), section 8:
| Stage | Content | S3-ARCH reference |
|---|---|---|
| A — category roll-up | canonical category identifiers, resolution ladder, unknown-category, duplicate and negative-value policies, compute semantics, contribution rule (root contributions only; child executions are lineage), structural completeness metadata, alignment | 8.2 |
| B — inclusion policy, total and coverage | SUM_ALL / INCLUDE_LIST / EXCLUDE_LIST, missing versus excluded, Scope 3 total, minimum-coverage gate | 8.3 |
| C — disclosure object | per-category method and data quality, exclusions, screening status, magnitude coverage, partial contributions, unclassified residual, double-count checks, restatement log | 8.4 |
| Validation and error model | invariants and the S3_SUM_* error codes | 8.5 |
| Federation and audit | export contents and provenance chain | 8.6 |
This specification SHALL NOT restate those rules; it binds them to the engine identity and will carry the engine-level detail (schemas, options, input shapes, examples) when completed in build step 5 of S3-ARCH section 13.
3. Contract References (ZAR)
The schema addresses of the withdrawn specifications are inherited at their current version so that existing resolvers keep working; this specification re-issues them at v2_0_0 with the stage C disclosure object.
| Stage | Inherited address (v1, retained) | Re-issued address (v2, this engine) |
|---|---|---|
| A inputs | schema.compute.ghg.scope3.cat.inputs.v1_0_0 | schema.compute.ghg.scope3.sum.inputs.v2_0_0 |
| A options | schema.compute.ghg.scope3.cat.options.v1_0_0 | schema.compute.ghg.scope3.sum.options.v2_0_0 |
| B inputs | schema.compute.ghg.scope3.inputs.v1_0_0 | (merged into A inputs) |
| B options | schema.compute.ghg.scope3.options.v1_0_0 | (merged into A options) |
| Output | schema.compute.ghg.scope3.output.v1_0_0, schema.compute.ghg.scope3.cat.output.v1_0_0 | schema.compute.ghg.scope3.sum.output.v2_0_0 |
Option vocabulary carried forward: unknown_category_policy, duplicate_item_policy, negative_values_policy, expected_categories, category_policy, categories_include, categories_exclude, require_minimum_coverage, minimum_coverage_ratio (administered), alignment, rounding.
4. Signals
| Direction | CSI family (header form) | Carries |
|---|---|---|
| in | comp.S3-SUM.INPUT.CATEGORY_RESULT | ARTIF-ADENGINE-SCOPE3-CATEGORY-RESULT from S3-C01 … S3-C15, exclusion records, quarantine residual |
| out | comp.S3-SUM.OUTPUT.CATEGORY_SERIES | category series per period and entity (stage A), consumed by SRC for shares |
| out | comp.S3-SUM.OUTPUT.SCOPE3_ABS | Scope 3 total per period (stage B), consumed by GHG-AGGR; successor of comp.S3-CON.OUTPUT.SCOPE3_ABS |
| out | comp.S3-SUM.OUTPUT.SCOPE3_INVENTORY | ARTIF-ADENGINE-SCOPE3-INVENTORY (stages B and C), consumed by disclosure, ESGX/PCAF profile and Watchtower |
5. Methods Served
GHG.scope3.cat.abs— category series (stage A)GHG.scope3.cat.share— viaMEID_SIGNAL_CALC_SHAREon the category seriesGHG.scope3.abs— Scope 3 total (stage B)GHG.scope3.reported.abs— reported Scope 3 after inclusion policy (stage B)
Downstream consumers: MEID_GHG_AGGR_AGGREGATION, MEID_GHG_NORMALIZE_INTENSITY, MEID_GHG_CALC_TARGET_GAP, MEID_GHG_PROJECT_ALIGNMENT; the ESGX/PCAF output profile; Watchtower; the Carbon Passport engine.
6. Dependencies
MEID_GHG_AGGR_SCOPE3 depends on:
- the fifteen category controllers (
MEID_GHG_CALC_PURCHASED_GOODS…MEID_GHG_CALC_INVESTMENTS, proposed) for category results TG-QUARANTINE-MANAGERfor the held residual at cut-off- schema resolver (ZAR); canonical Scope 3 category reference list; governed inclusion policy, exclusion codes and double-count check rulesets (ZRR)
- unit conversion utilities (
MEID_SIGNAL_NORMALIZE_UNIT)
Declared via ZAR dependencies.
7. Status
Stub specification: identity, lineage, inherited contract addresses, signals, methods and dependencies are binding; engine-level detail follows in build step 5 of S3-ARCH.