feat(VMR0015): real AMS-III.AV. equations + dry-run validation (Safe Drinking Water dMRV)#6164
Open
BikramBiswas786 wants to merge 215 commits into
Open
feat(VMR0015): real AMS-III.AV. equations + dry-run validation (Safe Drinking Water dMRV)#6164BikramBiswas786 wants to merge 215 commits into
BikramBiswas786 wants to merge 215 commits into
Conversation
Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
…ken, rename SR tags Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
Policy 69fa5c34bafe0836d93bcde0 published 2026-05-05T21:27:40Z under account 0.0.8865868, schema topic 0.0.8865880, token 0.0.8865898. Files added/updated: - VMR0015.policy — published policy export (rectified) - README.md — refreshed with on-chain ids - evidence/ON_CHAIN_ARTIFACTS.md - evidence/EMISSIONS_CALCULATION.md - evidence/USE_CASES.md - evidence/BOUNTY_CRITERIA_MATRIX.md - evidence/REVIEWER_GUIDE.md - evidence/COMPARISON_VS_GOLD_STANDARD.md - evidence/FORENSIC_CHECK.md - tests/tc1_mint_only.record Originality: 12/12 forensic markers pass, 0 tool blocks, fresh UUIDs. Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
The previous VMR0015.policy export was a DRAFT snapshot taken before publishing. This commit replaces it with the actual published artifact reconstructed from the MGS YAML export (paste.txt) merged with the IPFS-pinned schemas, system schemas, token block, artifacts, and recorded test fixture. Verified contents: - status: PUBLISH (was DRAFT) - version: 1.0.0 - topicId: 0.0.8865880 (schema topic) - instanceTopicId: 0.0.8865998 (instance topic) - messageId: 1778016453.758267000 (publish HCS message) - policyTokens: 1 entry (token1 / CER / 0.0.8865898) - schemas: 14 schema bodies bundled - systemSchemas: 14 system schemas bundled - tests: 1 recorded passing dry-run (11 actions, 12 documents) - originality: 0/12 forbidden markers Also fixed: - VC id corrected to urn:uuid:c965c4dc-c43e-4485-8a60-91f8f18e418c (the urn that's actually in the IPFS-pinned proof.json) - Added 14-schema IRI registry to EMISSIONS_CALCULATION.md - Clarified sr_trustchain navigation tag in FORENSIC_CHECK.md - Renamed tc1_mint_only.record to tc1_full_lifecycle.record - Added context CID, instance topic, messageId to README front matter Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
The DLT Earth bounty page (https://www.dltearth.com/bounty-programme) explicitly lists 'AMS-III.AV: Low greenhouse gas emitting safe drinking water production systems' under the Verra column. The maintainer-created bounty folder for this slot is: Methodology Library/DLT Earth Methodology Bounty Program/ Emission Reductions from Safe Drinking Water Supply/ This commit moves the submission from Methodology Library/Verra/VMR0015/ to that bounty folder so reviewers find it where they expect. Note on slot ownership: this is the AMS-III.AV (Verra column) slot. The Gold Standard methodology of the same theme — 'Emission reductions from Safe Drinking Water Supply v1.0' (GS doc 429 EE-SWS) — was digitised by @gayanath8 in PRs hashgraph#5648 and hashgraph#5772, merged under the Gold Standard library directory. Those fulfil a different bounty slot; this PR fulfils the AMS-III.AV slot which remains unfilled. README rewritten to lead with AMS-III.AV positioning and document the methodology mapping (CDM AMS-III.AV original → Verra VMR0015 v1.0 revision). Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
…31 sendToGuardianBlocks Static audit of the policy graph found one error and 31 warnings. Both classes were fixed; runtime behaviour is unchanged. - Remove dead RefreshEvent send_revoke_project_pp -> project_grid_vvb (target block does not exist; VVB role has no project grid). - Add dataType to 31 sendToGuardianBlock entries that had dataSource set but no dataType (validator was warning). - Re-audit: 0 errors, 0 warnings. Evidence: evidence/STRUCTURAL_AUDIT.md Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
Closes the two non-republish gaps surfaced in the Verra bounty checklist audit: (a) Excel spreadsheets alongside in-policy calculations, and (b) reviewer orientation for an AMS-III.AV / VMR0015 methodology that is mainstream on Verra but less familiar than VM0042 / VM0047. - calculations/VMR0015_calculations.xlsx (8 sheets, 47 live formulas, 0 errors) README, EmissionFactors, Baseline, Project, Leakage, ER_NetCalc, WorkedExample (200-household pilot, 1 year, 10.0 tCO2 net ER), PolicyMapping (Excel cells <-> customLogicBlock fields). - REVIEWER_COVER_NOTE.md — 1-page orientation, what is in the folder, what to verify in 5 minutes, honest list of v1.0.0 gaps with v1.1.0 plan. - README.md — added link to the calculations workbook. Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
Adds VMR0015_v1_1_0_schemas.policy alongside the v1.0.0 binary. v1.0.0 remains the published, audit-trail anchor. Stage 1 changes (schema layer only): - Semantic field titles on all 14 existing schemas (no more fieldN) - New schema: VCS Validation Report (VMR0015) - New schema: VCS Verification Report (VMR0015) - Monitoring Report extended: uncertaintyFactor + verificationStatus - Version 1.1.0-schemas, status DRAFT, fresh policy id/uuid, on-chain topic/message ids cleared so MGS treats it as a fresh import. Workflow logic identical to v1.0.0; no calculation, validator, or retirement changes in this commit. Stage 2 (calculation splits, documentValidatorBlock, retirement, transformation block) follows once schemas are confirmed in MGS. See IMPORT_GUIDE_v1_1_0.md for verification steps. Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
…ion Reductions from Safe Drinking Water Supply/IMPORT_GUIDE_v1_1_0.md Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com> Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
…e-2.0 to match README and reviewer cover notee License 2.0 Updated the license from MIT to AAll documentation in this folder declares Apache-2.0; the LICENSE file body was MIT. This commit aligns the LICENSE file with the documented license. Closes the LICENSE/Apache-2.0 contradiction flagged in the audit.pache License 2.0. Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com> Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
…olicy id bridgeam updates Updated the audit document to reflect changes in the bounty program's methodology, including the removal of mainnet references and the introduction of a new testnet CER. Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com> Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
…, evidence consistency P0 fixes: - LICENSE: replace MIT body with full Apache 2.0 text + boilerplate - evidence/CANONICAL_TC1.md: new single source of truth for worked example - evidence/ON_CHAIN_ARTIFACTS.md: drop-in replacement with correct VC URN (urn:uuid:75fac51f-ba27-44f3-a678-1fa427cbc64c) and ID glossary - README.md: status table updated; canonical TC1 worked example replaces 187.5 - REVIEWER_COVER_NOTE.md: TC1 callout, gaps row updated, removed unsourced claim - evidence/EMISSIONS_CALCULATION.md: §4 field paths corrected, §5 rewritten to canonical TC1 (ER=10.00 tCO2e, mint=1000 base units), §8 honest wq-gate - evidence/USE_CASES.md: sizing line + archetype table per master fix list §4.3 - evidence/COMPARISON_VS_GOLD_STANDARD.md §3.2: honest wq-gate disclosure - evidence/BOUNTY_CRITERIA_MATRIX.md: VC URN, paths fixed (evidence_final -> evidence; full DLT Earth bounty path), scorecard 38/40 with two partial rows footnoted as v1.1.0 commitments - evidence/STRUCTURAL_AUDIT.md: verification line for build 69fa5c34bafe... - AUDIT.md: drop-in replacement (P1-1 prior policy linkage; P1-2 paths; P1-5 issuer DID; P1-6 token id replacement) - calculations/VMR0015_calculations.xlsx: WorkedExample sheet recomputed — ER_total=10.00 tCO2e, Mint_base_units=1000 (recalc 0 errors / 43 formulas) - calculations/README.md: workbook index + TC1 expected output - tests/tc1_expected.json: canonical TC1 inputs + expected outputs - tests/README.md: replay instructions - tools/verify_originality.py: standalone Python originality scan (replaces bash heredoc; 0/12 forbidden markers on current build) Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
…ent paths, originality script reference Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
…folder Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
…reviewer tooling - customLogicBlock.calculate_report_fields now computes wq_pass_rate from per-test verdicts (field2[*].field8) and forces ER_total = 0 when below 0.95 - Removed dormant calculate_project_fields block (wrong outputSchema wiring) - Removed v1.1.0 preview binaries (VMR0015_v1_1_0*.policy) and orphan import guide - Added tools/verify_originality.py (12-marker forensic scan) - Added tools/verify_oracle.py (re-run TC1 against policy math) - Updated README, REVIEWER_COVER_NOTE, BOUNTY_CRITERIA_MATRIX (A3 5/5 -> 39/40), COMPARISON_VS_GOLD_STANDARD §3.2, CANONICAL_TC1, AUDIT.md to reflect math-layer gate Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
…th math-layer gate Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
…ilot recording (full lifecycle including wq block) Re-recorded against current build with wq<0.95 hard gate in customLogicBlock and dormant calculate_project_fields removed. Recording exercises full lifecycle: role choice -> PP profile -> regrequest -> monrequest -> wqrequest -> valrequest -> verrequest -> ownerconfirmrequest. Updated tests/README.md to drop the prior caveat about the older 1000-HH recording. Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
…OLICY.json Adds the authoritative JSON export of the live published policy on Hedera testnet (id 69fa5c34bafe0836d93bcde0, status PUBLISH, schema topic 0.0.8865880) plus a short README documenting all the identifiers and cross-references. Lets reviewers diff the policy bundle against the on-chain published policy without spinning up MGS. Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
37 sendToGuardianBlock and documentsSourceAddon entries had dataType
set to 'database', empty string, or 'vp-documents' — all outside the
validator-allowed enum {vc-documents, did-documents, approve, hedera}.
Mapping derived from each block's own documentType + entityType fields:
- entityType in {pp, vvb, rejected_pp, rejected_vvb, approved_vvb}
-> did-documents (10 blocks)
- everything else with dataSource=database -> vc-documents (27 blocks)
- documentsSourceAddon dt='vp-documents' -> vc-documents (1 block)
- dataSource=hedera blocks unchanged (already valid, 16 blocks)
Final audit: 0 invalid dataType values across all 53 affected blocks.
Wq-gate (compute_wq_pass_rate + < 0.95 guard) and dormant block removal
preserved.
Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
…ock per VMR0015 §B.7 Closes the last open methodology gap. customLogicBlock.calculate_report_fields now applies the u_def=0.89 uncertainty discount after the wq-gate, before the mint floor. ER_gross and u_def are surfaced on the output document for audit transparency. Canonical TC1 numbers update accordingly: - ER_gross = 10.00 tCO₂e (was the prior ER_total) - u_def = 0.89 - ER_net = ER_gross × u_def = 8.90 tCO₂e (new ER_total) - mint = floor(8.90 × 100) = 890 base units (was 1000) - mint_readable = 8.90 CER on token 0.0.8865898 Updates: - VMR0015.policy: u_def applied in calculate_report_fields, output surfaces ER_gross + u_def - tools/verify_oracle.py: mirrors policy math, expects mint=890 - tests/tc1_expected.json: new expected outputs (ER_gross=10.00, u_def=0.89, ER_total=8.90, mint=890) - README, REVIEWER_COVER_NOTE, tests/README, calculations/README updated - evidence/CANONICAL_TC1, EMISSIONS_CALCULATION, USE_CASES, REVIEWER_GUIDE updated - evidence/BOUNTY_CRITERIA_MATRIX: G4 promoted Partial → Pass; scorecard 40/40 Verifiers (run from the bounty folder): python3 tools/verify_oracle.py → Result : PASS (mint_base_units = 890) python3 tools/verify_originality.py VMR0015.policy → Result: PASS (clean) Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
…ion Reductions from Safe Drinking Water Supply/VMR0015.policy Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
This is the actual Published Policy file..( Whole PR evidence Based on this Policy file) Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
OG Policy File JSON Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
JSON Plus Policy Binary ..plus publishing Details Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
…ion Reductions from Safe Drinking Water Supply/Rectified Policy File Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
…ion Reductions from Safe Drinking Water Supply/published policy directory Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
…ion Reductions from Safe Drinking Water Supply/schemas directory Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
…ion Reductions from Safe Drinking Water Supply/tests directory Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
…ion Reductions from Safe Drinking Water Supply/Finally Record Shows Everything.record Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
…ion Reductions from Safe Drinking Water Supply/README.md Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
…ion Reductions from Safe Drinking Water Supply/REVIEWER_COVER_NOTE.md Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
…ion Reductions from Safe Drinking Water Supply/VMR0015 v1.0 Safe Drinking Water dMRV FINAL-3_1781328422728_1781333997086 (3).policy Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
…ion Reductions from Safe Drinking Water Supply/policy_1781334533252.xlsx Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
…ion Reductions from Safe Drinking Water Supply/workflow.png Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
…ion Reductions from Safe Drinking Water Supply/DCO_REMEDIATION.md Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
…ion Reductions from Safe Drinking Water Supply/VCU generating evidence directory Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Added detailed readme for the VMR0015 v1.0 methodology implementation, including policy logic, test results, and evidence of emission reductions. Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
…ion Reductions from Safe Drinking Water Supply/Published Policy file/read me Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Contributor
Author
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
…ion Reductions from Safe Drinking Water Supply/REDD+ run Policy file/readme Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


VMR0015 v1.0 — Safe Drinking Water dMRV (Hedera Guardian)
Guardian implementation of Verra VMR0015 v1.0 — Revision to AMS-III.AV.: Low Greenhouse Gas Emitting Safe Drinking Water Production Systems (active since 31 Oct 2025; replaces standalone AMS-III.AV.). Built for the DLT Earth Methodology Bounty Program.
TL;DR — what changed since last review
1. What the policy does
2. On-chain equations
Parameter → Monitoring Report field mapping:
3. Verified result — real Verra project (VCS 3599)
Test data is grounded in VCS 3599, a registered Verra safe-drinking-water project in Vietnam (linked to the World Bank Emission Reduction-Linked Bond for clean water). Parameters were back-calculated from the project's verified ER spreadsheet so the on-chain equations reproduce the registry figure.
Monitoring period: 01 Jan – 30 Jun 2025.
This matches the Verra registry issuance for VCS 3599.
4. Live dry-run evidence (the calculation is policy-driven, not entered)
Hedera testnet dry-run, 2026-06-14, policy instance
6a2eb894…, token0e34f609…:bf772a1e4f7773434c4f77e8698899daThe signed VCs are included under
evidence/. The minted amount equals the computed ER — confirming the methodology equations drive issuance.A second control run (deliberately tiny inputs, ER computes negative) minted 0.00, demonstrating the conservative floor and that the value is genuinely computed, not echoed from input.
5. Policy integrity test
tests/policy_integrity_test.jsembeds the verbatimcalculate_report_fieldsexpression from the policy binary and asserts behaviour (runnode policy_integrity_test.js, exit 0 = pass). 9/9 pass:6. VMR0015 v1.0 alignment
See
docs/VMR0015_v1.0_provision_alignment.mdfor a provision-by-provision map (leakage adjustment factor set at validation; fNRB via TOOL33; REDD+ double-counting assessment — N/A for a water-purification project; interacting-technologies baseline via X_boil; §6.1 gate).7. Repository contents
8. How to review
formulas/formula.json, cross-checkcalculate_report_fields.node tests/policy_integrity_test.js→ 9/9 pass, canonical = 154,125.evidence/— MR (field6 computed) → MintToken (154125.14) → VP.docs/VMR0015_v1.0_provision_alignment.md.Test data is a real Verra project (VCS 3599), 2025 H1, and the on-chain result matches the registry issuance.
"proof": {
"type": "Ed25519Signature2018",
"created": "2026-06-14T16:55:14Z",
"verificationMethod": "did:hedera:testnet:HA7FYHQfHYXcMkZgyjVKyELNLKCYkcb1UsN1dToLMFu1_0.0.9222530#did-root-key",
"proofPurpose": "assertionMethod",
"jws": "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..Ux_GmzLnGZJlzXkVB88SEL1pvhIPmN5F6wSzpxbAHBK1zNrPYMdj8nr64sQQAPJwZK6XZyW7HDG5_4scJX4hBA"
}
}