CARBONMARKETSHQ
TECHNICAL REPORT / METHODOLOGY DIGITIZATION

Digitizing MECD v2.0

Record of an automated digitization run over the Gold Standard methodology for metered and measured energy cooking devices, from the published consultation draft to Guardian-importable schemas and a verified emission reduction calculation.

GOLD STANDARDGS4GG PAA M400-XXHEDERA GUARDIANCONSULTATION DRAFT

SOURCE OF FIGURESAll figures in this report are read from the run artefacts listed in section 01, including those recording a failed check. The report is regenerated whenever the run is repeated.

Methodology
METERED & MEASURED ENERGY COOKING DEVICES
Standard
Gold Standard
Source
MECD-v2.0-PAA.pdf, MECD-v2.0-VandV.pdf
Engine
dgz 0.1.0
Run
2026-08-06 08:18 UTC
Wall clock
2 seconds
01.0 / SCOPE AND RESULTS

Scope

The methodology comprises 75 pages and cites 39 external tools and guidance documents. The verification and validation requirements document was supplied alongside it. No calculation workbook has been published for this draft.

Inputs to the procedure are limited to the methodology document, the tool documents it cites, and the standard’s calculation workbook where one exists. Outputs are a parameter and equation registry, three Guardian schema workbooks, a reference calculation implementation, and the findings recorded below.

Results

28/28

Equations found and mapped

100%

22/22

Parameter blocks mapped

100%

28/46

Applicability clauses mapped

61%

309

Schema fields emitted

three workbooks

2/3

Fixtures agreeing

1 disagree

18

Open gaps for a human

typed and page-anchored

02.0 / PROCEDURE

Stages and checks

The procedure comprises 9 stages, of which 8 are followed by an automated check that halts the run on failure. Two stages use a language model and the remainder are deterministic. No output of a model-assisted stage is carried forward without passing a deterministic check.

Three points require review by a named methodology engineer before the policy may be published: disposition of the unresolved items in section 04, approval of the generated schemas, and final review of the assembled policy.

deterministic model-assisted review point
03.0 / TRACEABILITY

Source items and their disposition

Each item located in the source document is listed with the page on which it appears and whether a corresponding registry entry exists. Selecting a row displays the quoted source text.

Equations are matched on the equation number printed in the document. Parameters and applicability clauses are matched by token overlap against the registry entry, and the score for each decision is recorded in the row so that the matching may be independently recomputed. The threshold is 0.45.

Source itemPageDispositionBasis
Eq. 1p.27mappedmatched on printed equation number
Eq. 2p.28mappedmatched on printed equation number
Eq. 3p.29mappedmatched on printed equation number
Eq. 5p.30mappedmatched on printed equation number
Eq. 6p.30mappedmatched on printed equation number
Eq. 7p.31mappedmatched on printed equation number
Eq. 8p.31mappedmatched on printed equation number
Eq. 9p.32mappedmatched on printed equation number
Eq. 10p.43mappedmatched on printed equation number
Eq. 11p.33mappedmatched on printed equation number
Eq. 12p.34mappedmatched on printed equation number
Eq. 13p.34mappedmatched on printed equation number
Eq. 14p.34mappedmatched on printed equation number
Eq. 15p.34mappedmatched on printed equation number
Eq. 16p.35mappedmatched on printed equation number
Eq. 17p.35mappedmatched on printed equation number
Eq. 18p.38mappedmatched on printed equation number
Eq. 19p.37mappedmatched on printed equation number
Eq. 20p.37mappedmatched on printed equation number
Eq. 21p.38mappedmatched on printed equation number
Eq. 22p.38mappedmatched on printed equation number
Eq. 23p.39mappedmatched on printed equation number
Eq. 24p.39mappedmatched on printed equation number
Eq. 25p.39mappedmatched on printed equation number
Eq. 26p.40mappedmatched on printed equation number
Eq. 44p.29mappedmatched on printed equation number
Eq. 85p.31mappedmatched on printed equation number
Eq. 186p.35mappedmatched on printed equation number
04.0 / UNRESOLVED ITEMS

Items referred for review

18 items were not resolved automatically. Each is classified by type, carries a page reference to the source document, and remains open until dispositioned by a methodology engineer. Items in this register are not inferred or defaulted.

  • GAP-001highunenforced conditionp.8

    Applicability clause not captured: a. Electric cookstoves (including induction, infrared, hot plates, rice cookers) using…

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 7. Closest registry entry scored 0.23.

    Open. Referred for methodology review.

  • GAP-002highunenforced conditionp.8

    Applicability clause not captured: b. Electric Pressure Cookers (EPCs) equipped with smart metering.

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 7. Closest registry entry scored 0.14.

    Open. Referred for methodology review.

  • GAP-003highunenforced conditionp.8

    Applicability clause not captured: c. Metered LPG, biogas, or bio-ethanol cookstoves (e.g., utilizing Pay-As-You-Go systems).

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 7. Closest registry entry scored 0.40.

    Open. Referred for methodology review.

  • GAP-004highunenforced conditionp.8

    Applicability clause not captured: d. Stoves using processed fuels (e.g., pellets) where consumption is tracked via…

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 7. Closest registry entry scored 0.36.

    Open. Referred for methodology review.

  • GAP-005highunenforced conditionp.9

    Applicability clause not captured: 3.2.2.1 | The activity is implemented by a developer and can include additional activity…

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 8. Closest registry entry scored 0.33.

    Open. Referred for methodology review.

  • GAP-006highunenforced conditionp.10

    Applicability clause not captured: a. Replacing the unit with comparable or better technology; or

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 9. Closest registry entry scored 0.40.

    Open. Referred for methodology review.

  • GAP-007highunenforced conditionp.10

    Applicability clause not captured: a. Explain the proposed method for distribution of the project stove in the PDD/VPA-DD…

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 9. Closest registry entry scored 0.25.

    Open. Referred for methodology review.

  • GAP-008highunenforced conditionp.10

    Applicability clause not captured: b. Ensure project devices are identified with a unique identifier affixed to the device…

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 9. Closest registry entry scored 0.20.

    Open. Referred for methodology review.

  • GAP-009highunenforced conditionp.10

    Applicability clause not captured: c. Clearly communicate its ownership rights and intention of claiming the emission…

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 9. Closest registry entry scored 0.25.

    Open. Referred for methodology review.

  • GAP-010highunenforced conditionp.10

    Applicability clause not captured: d. Inform and notify the end-users that they cannot claim emission reductions from the…

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 9. Closest registry entry scored 0.33.

    Open. Referred for methodology review.

  • GAP-011highunenforced conditionp.11

    Applicability clause not captured: b. Activities should employ household-level tagging or registry systems, and the VVB…

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 10. Closest registry entry scored 0.23.

    Open. Referred for methodology review.

  • GAP-012highunenforced conditionp.11

    Applicability clause not captured: a. Option 1: Accounting Exclusion Documentation demonstrating that the jurisdictional…

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 10. Closest registry entry scored 0.30.

    Open. Referred for methodology review.

  • GAP-013highunenforced conditionp.11

    Applicability clause not captured: b. Option 2: Attribution Agreement A formal statement, Nesting Agreement, or Letter of No…

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 10. Closest registry entry scored 0.33.

    Open. Referred for methodology review.

  • GAP-014highunenforced conditionp.11

    Applicability clause not captured: 3.2.8.4 | To make claims on SDG 3.9.1 contributions, the activity developer may apply the…

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 10. Closest registry entry scored 0.22.

    Open. Referred for methodology review.

  • GAP-015highunenforced conditionp.12

    Applicability clause not captured: 3.3.1 GS4GG Requirements: The activity shall adhere to the GS4GG…

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 11. Closest registry entry scored 0.15.

    Open. Referred for methodology review.

  • GAP-016highunenforced conditionp.12

    Applicability clause not captured: 3.3.3 Health and Safety: Activities shall comply with health and safety requirements at…

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 11. Closest registry entry scored 0.33.

    Open. Referred for methodology review.

  • GAP-017highunenforced conditionp.12

    Applicability clause not captured: 3.3.4 Contractual Obligation: The activity developer shall, by means of direct ownership…

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 11. Closest registry entry scored 0.33.

    Open. Referred for methodology review.

  • GAP-018highunenforced conditionp.12

    Applicability clause not captured: 3.4.1 The date of entry into force is 30 days from the publication date of this…

    Under '3| SCOPE, APPLICABILITY, AND ENTRY INTO FORCE', page 11. Closest registry entry scored 0.20.

    Open. Referred for methodology review.

05.0 / CALCULATION VERIFICATION

Comparison of implementations

Each test fixture was evaluated by a reference implementation in Python and by the policy’s customLogicBlock, and the results compared field by field. The Python implementation is treated as the control. This comparison is material because customLogicBlock suppresses exceptions at runtime, so a calculation returning a non-finite value can be issued into a credential without raising an error.

Fixtures are drawn from the ATEC eCook programme, GS11817, covering the three quantification methods the methodology provides.

GS11817-VPA02-Y3-M1

pass

9 comparison(s) agree; two-way only, the standard supplied no expected values

QuantityPublishedReferencePolicy blockAgreement
Baseline, unadjusted1,467.96221,467.9622yes
After the consumption cap1,467.96221,467.9622yes
After the downward adjustment1,467.96221,467.9622yes
Business as usual1,467.96221,467.9622yes
Crediting baseline1,467.96221,467.9622yes
Activity emissions224.1467224.1467yes
Leakage, total50.376350.3763yes
Emission reductions1,193.43921,193.4392yes

GS11817-VPA02-Y3

pass

9 comparison(s) agree; two-way only, the standard supplied no expected values

QuantityPublishedReferencePolicy blockAgreement
Baseline, unadjusted1,488.28021,488.2802yes
After the consumption cap1,488.28021,488.2802yes
After the downward adjustment1,488.28021,488.2802yes
Business as usual1,488.28021,488.2802yes
Crediting baseline1,488.28021,488.2802yes
Activity emissions224.1467224.1467yes
Leakage, total50.782750.7827yes
Emission reductions1,213.35091,213.3509yes

GS11817-VPA02-Y3-M3

fail

3 of 10 fields disagree beyond 1e-06

QuantityPublishedReferencePolicy blockAgreement
Baseline, unadjusted00yes
After the consumption cap00yes
After the downward adjustment00yes
Business as usual00yes
Crediting baseline00yes
Activity emissions224.4154448.562no
Leakage, total25.525.5yes
Emission reductions-249.9154-474.062no

Agreement is assessed on relative difference to 1e-6. The published column is empty for all fixtures because no calculation workbook accompanies this consultation draft. These are therefore two-way comparisons between the reference implementation and the policy calculation block, and are recorded as such.

Divergence between the declared and executed forms of Eq. 1

The policy carries an audit mathBlock holding 35 equations in LaTeX, presented as the reviewable statement of the calculation. Equation 1 in that block weights each fuel by its proportion and divides by that fuel’s efficiency. The JavaScript that computes the issued quantity applies a further weighting by daily fuel usage and net calorific value.

Both forms were implemented and evaluated against the same fixture. The resulting difference in baseline emissions is given below.

FixtureEF, executed formEF, declared formDifferenceEffect on baseline
atec-gs11817-m1-electric896.084860.236-4.00%-58.7 tCO2e

The two forms differ by 4.00 percent on the emission factor, equivalent to 58.7 tCO2e of baseline emissions on this fixture. Resolution requires a determination by the standard as to which form is normative.

06.0 / DEFECT SCAN

Known defect classes

Each rule corresponds to a defect class previously identified during manual review of a deployed methodology. The scan covers the Gold Standard MECD v2.0 bundle and the Verra VM0047 UAT bundle. 16 findings were recorded, of which 3 are classified critical.

Findings are reported against the bundle as exported. They are not assertions about issued credits, and confirmation requires review of the affected calculation against the methodology text.

mecd-v2.0

blocks
259
schemas
175
findings
14
critical
3

vm0047

blocks
248
schemas
385
findings
2
critical
0
  • F001criticalmecd-v2.0mecd_er_formula_audit_math, mecd_monitoring_report_formula_audit_math

    35 declarative formulas across 2 block(s) produce 0 outputs.

    mecd_er_formula_audit_math (31 formulas); mecd_monitoring_report_formula_audit_math (4 formulas)

    A formula block that declares equations but produces no outputs does not participate in the calculation. The reviewed statement and the executed calculation are then separate artefacts.

  • E001criticalmecd-v2.0mrv_device_gate

    mrv_device_gate performs 10 divisions and never tests a result for finiteness before done().

    1,589 chars, no isFinite/isNaN guard

    customLogicBlock suppresses runtime exceptions. Without a finiteness check, a non-finite result is issued into the credential without error.

  • E001criticalmecd-v2.0admin_change_recipient_to_pp

    admin_change_recipient_to_pp performs 3 divisions and never tests a result for finiteness before done().

    1,972 chars, no isFinite/isNaN guard

    customLogicBlock suppresses runtime exceptions. Without a finiteness check, a non-finite result is issued into the credential without error.

  • U001highmecd-v2.0175 schema files

    1,112 numeric fields across 175 schemas, none carrying a unit.

    Multiple Devices GS.annualFuelUsageByDevice_Pp_d_y; Multiple Devices GS.projectFuelNetCalorificValuePerTonne_NCVp_i; Multiple Devices GS.projectDeviceEnergyEfficiency; Multiple Devices GS.projectFuelEmissionFactorTco2PerTJ_EFp_i; Multiple Devices GS.fuel_share_j; Multiple Devices GS.ef_p_j_co2

    A quantity without a declared unit cannot be validated, converted between systems, or compared against a published default.

  • L001highmecd-v2.07 customLogicBlock(s)

    143,669 characters of JavaScript against 35 reviewable formulas.

    declarative payload 24,437 chars

    Where the declared formulas represent a small proportion of the executing code, review of those formulas covers a correspondingly small proportion of the calculation.

  • F002highmecd-v2.0mecd_er_formula_audit_math, mecd_monitoring_report_formula_audit_math

    4 formula bodies appear in more than one place.

    2x mecd_er_formula_audit_math:BEcrediting; 2x mecd_er_formula_audit_math:DeltaDAF; 2x mecd_er_formula_audit_math:LEtotal; 2x mecd_er_formula_audit_math:ERnet

    A correction must be applied to each copy. An unamended copy diverges without raising an error.

  • S001highmecd-v2.0calculate_report_fields

    calculate_report_fields assigns 1 field(s) that the output schema does not declare; additionalProperties is false.

    er_y

    Guardian sets additionalProperties to false on every schema. A document carrying an undeclared field is rejected at submission without a reported error.

  • S001highmecd-v2.0prepare_monitoring_report

    prepare_monitoring_report assigns 1 field(s) that the output schema does not declare; additionalProperties is false.

    er_y

    Guardian sets additionalProperties to false on every schema. A document carrying an undeclared field is rejected at submission without a reported error.

  • U001highvm0047385 schema files

    2,642 numeric fields across 385 schemas, none carrying a unit.

    Data / Parameter: CWP-woody-AB,t.year; Data / Parameter: CWP-woody-AB,t.CWPwoodyABt; Data / Parameter: CWP-woody-AB,t.CWPwoodyABtZero; land use conversion.year_t; land use conversion.FPj,t; land use conversion.LMj_t

    A quantity without a declared unit cannot be validated, converted between systems, or compared against a published default.

  • A001mediummecd-v2.0Emission Reduction Document GS

    3 field keys share the label 'project emissions'.

    project_emission_electricity, project_emission_fossil_fuel, project_emission_renewable_fuel

    Two keys for one quantity divide the supporting evidence and allow the calculation to read a name the schema does not accept.

  • A001mediummecd-v2.0Emission Reduction Document GS

    2 field keys share the label 'what are the final baseline emissions in year y?'.

    BE_y, be_y

    Two keys for one quantity divide the supporting evidence and allow the calculation to read a name the schema does not accept.

  • A001mediummecd-v2.0GS Validation Report

    2 field keys share the label 'additional information (max ~500 words)'.

    additional_information_max_500_words, additional_information_max_500_words_2

    Two keys for one quantity divide the supporting evidence and allow the calculation to read a name the schema does not accept.

  • A001mediummecd-v2.0GS Monitoring Report

    3 field keys share the label 'project emissions'.

    project_emission_electricity, project_emission_fossil_fuel, project_emission_renewable_fuel

    Two keys for one quantity divide the supporting evidence and allow the calculation to read a name the schema does not accept.

  • A001mediummecd-v2.0GS Monitoring Report

    2 field keys share the label 'what are the final baseline emissions in year y?'.

    BE_y, be_y

    Two keys for one quantity divide the supporting evidence and allow the calculation to read a name the schema does not accept.

  • P001lowmecd-v2.0175 schemas

    1,112 of 1,112 numeric fields cite no equation or section.

    Without a reference to the methodology text, a reviewer cannot confirm that the field corresponds to the parameter the methodology defines.

  • P001lowvm0047385 schemas

    2,642 of 2,642 numeric fields cite no equation or section.

    Without a reference to the methodology text, a reviewer cannot confirm that the field corresponds to the parameter the methodology defines.

Rule set: 8 of 11 rules recorded a finding
RuleChecks forSeverityFired
U001Numeric field carries no unithigh2
C001One constant, two valuescritical0
F001Declarative formula layer produces nothingcritical1
F002Formula definition duplicated across blockshigh1
F003Two renderings of the same equation disagreecritical0
L001Procedural logic dwarfs the declarative layerhigh1
E001Calculation block can sign a non-finite numbercritical2
S001Calculation writes a field the schema does not declarehigh2
A001Two field keys for one conceptmedium5
R001Result cannot be recomputed from its own recordcritical0
P001Schema field has no normative referencelow2
07.0 / GUARDIAN INTERFACE

Endpoints used by the procedure

Every step of the procedure corresponds to a Guardian REST endpoint, including schema workbook import and policy test execution, which are commonly carried out through the policy editor. All 6 probed routes responded on the instance used for this run.

The routes are wrapped in a command line interface, gdn, which holds credentials for a named instance and returns JSON. The same interface is used by the procedure and by an operator working by hand, so a step performed automatically and a step performed manually leave the same record.

Procedure stepRouteCommandRequires the editor
Import schema workbookPOST /schemas/{topicId}/import/xlsxgdn schema importno
Preview schema workbookPOST /schemas/import/xlsx/previewgdn schema previewno
Create draft policyPOST /policiesgdn policy createno
Import policy bundlePOST /policies/import/filegdn policy importno
Validate policy configPOST /policies/validategdn policy validateno
Switch to dry runPUT /policies/{id}/dry-rungdn policy dry-runno
Create virtual userPOST /policies/{id}/dry-run/usergdn user createno
Read produced documentsGET /policies/{id}/dry-run/artifactsgdn policy artifactsno
Submit to a workflow blockPOST /policies/{id}/tag/{tag}/blocksgdn block sendno
Replay a recorded testPOST /policies/{id}/test/{testId}/startgdn test startno
Read test resultGET /policies/{id}/test/{testId}/detailsgdn test detailsno
08.0 / DOWNSTREAM USE

Submission against the digitized methodology

The generated schemas define what a project developer submits. Project documents and monitoring spreadsheets are mapped onto the following targets in the developer workspace, and the procedure described above is not visible to the developer.

  • MECD V2.0 Project Design · 255 fields · schemas/project-design.xlsx
  • MECD V2.0 Monitoring Report · 21 fields · schemas/monitoring-report.xlsx
  • MECD V2.0 Emission Reduction · 33 fields · schemas/emission-reduction.xlsx

3 worked examples are distributed with the package, allowing a first submission to be checked against known values.

Developer workspace →