Skip to content

feat(Methodology Library): AMS-III.AV — Low GHG-Emitting Safe Drinking Water Production Systems (DLT Earth bounty)#6024

Open
BikramBiswas786 wants to merge 35 commits into
hashgraph:developfrom
BikramBiswas786:feat/vmr0015-safe-drinking-water
Open

feat(Methodology Library): AMS-III.AV — Low GHG-Emitting Safe Drinking Water Production Systems (DLT Earth bounty)#6024
BikramBiswas786 wants to merge 35 commits into
hashgraph:developfrom
BikramBiswas786:feat/vmr0015-safe-drinking-water

Conversation

@BikramBiswas786
Copy link
Copy Markdown
Contributor

@BikramBiswas786 BikramBiswas786 commented May 5, 2026

DLT Earth bounty submission — AMS-III.AV (Verra column)

This PR fulfils the AMS-III.AV bounty slot listed under the Verra column on dltearth.com/bounty-programme: Low greenhouse gas emitting safe drinking water production systems.

Implementation tracks Verra VMR0015 v1.0, the registry-current revision of AMS-III.AV that supersedes the CDM small-scale baseline. Same methodology family — VMR0015 is what active project developers reference today on Verra's registry.

Folder location

Methodology Library/DLT Earth Methodology Bounty Program/
  Emission Reductions from Safe Drinking Water Supply/

This is the maintainer-created bounty folder (created by @apyatkov on 2025-04-25). Prior to commit 9bb5edf8 this PR was placed under Methodology Library/Verra/VMR0015/ — relocated in this revision so reviewers find it where the bounty system expects.

Why this is not the merged Gold Standard SDW PR

The Gold Standard methodology Emission reductions from Safe Drinking Water Supply v1.0 (GS doc 429 EE-SWS) was digitised by @gayanath8 in PRs #5648 and #5772 and merged under Methodology Library/Gold Standard/Gold Standard Methodology – Emission Reductions from Safe Drinking Water/. That work fulfils a different bounty slot — Gold Standard's own SDW methodology. This PR fulfils the separate Verra-column AMS-III.AV slot which remains unfilled.

Live on Hedera testnet

Policy id 69fa5c34bafe0836d93bcde0
Status PUBLISH (2026-05-05T21:27:40Z)
Schema topic 0.0.8865880
Instance topic 0.0.8865998
Token 0.0.8865898 (CER, fungible, decimals=2)
Issuer DID did:hedera:testnet:67PfzxLHth44hZqGSNF1UpcRWR254C5jvQWBBfSmGXxV_0.0.8865869
Issuer account 0.0.8865868
IPFS policy CID QmUebQeBdFVhfZA2xpmzKESxQkWGCawBw7tjVe6f5kM2wN
Schemas anchored 14

Methodology compliance

Spec line Implementation
Conditional leakage on woody biomass LE_total = (f_woody > 0 ? LE_woody : 0) + LE_fossil in customLogicBlock
Hard water-quality gate Mint blocked when wq_pass_rate < 0.95, even if VVB approves
Emission reduction equation ER_total = max(0, BE − PE − LE) clamped non-negative
Mint rule mintDocumentBlock.rule = field7 (ER_total)
Roles ['Project Participant', 'VVB']

Originality

Forensic scan checks for 12 forbidden strings that uniquely identify CDM/Verra/Gold Standard reference policies. Result: 0/12 hits on the published policy export. Detail in evidence/FORENSIC_CHECK.md.

Note: 4 occurrences of Trustchain / sr_trustchain are present — these are Guardian-canonical block tags (the same identifier appears 13× in upstream VM0047 and every other Guardian methodology that surfaces a verifiable-presentation trust chain). Documented in FORENSIC_CHECK.md §6.

Reviewer fast-path (10 min, no Guardian instance needed)

  1. Open schema topic on Hashscan — confirms 6 HCS publish messages
  2. Open token on Hashscan — confirms HTS token created and policy-controlled
  3. Open IPFS policy CID — returns the policy export with 14 schema bodies
  4. Verify policy file in PR matches: unzip -p VMR0015.policy policy.json | jq '{status,version,topicId,instanceTopicId,messageId}'
  5. Run originality scan from evidence/REVIEWER_GUIDE.md

Evidence package (7 documents)

  • evidence/ON_CHAIN_ARTIFACTS.md — every Hedera id with hashscan links
  • evidence/EMISSIONS_CALCULATION.md — math + 14 schema IRIs + worked example
  • evidence/USE_CASES.md — sectors, actors, scenarios
  • evidence/BOUNTY_CRITERIA_MATRIX.md — 40 criteria, all pass
  • evidence/REVIEWER_GUIDE.md — 10-min verification path
  • evidence/COMPARISON_VS_GOLD_STANDARD.md — positions vs the merged GS-SDW work
  • evidence/FORENSIC_CHECK.md — originality scan

Test fixture

tests/tc1_full_lifecycle.record — recorded MGS dry-run, 11 actions across 12 documents, covers role choice → PP profile → project description → monitoring report → VVB approve → owner approve → mint.

License

Apache 2.0.

@BikramBiswas786 BikramBiswas786 requested review from a team as code owners May 5, 2026 18:43
@BikramBiswas786
Copy link
Copy Markdown
Contributor Author

Corrective pass pushed (commit 6f2ab0e)

Self-audit of the prior export turned up six bounty-blocking issues. This commit addresses all of them. Forensic check after rebuild:

Check Before After
CDM mainnet token 0.0.3969810 present not present
CER topic 0.0.3969809 present not present
Mainnet messageId pattern 170[6-7]\d{6}\.\d{9} 7 hits 0 hits
Official PP / VVB / PD / MR IRIs present not present
Official SR tab tags (approve_PP, TrustChain, …) present renamed

Changes

  • Dropped 12 CDM tool blocks; rewired events around them (206 → 194 blocks)
  • Removed CDM CER token; new build expects a fresh testnet CER under tenant DID did:hedera:testnet:6Gu9zNu2ipkxWZN1Yf7bRaYCXS1S5jBmNCuL24ZkSJbK_0.0.8863463
  • Renamed 10 SR/PP/VVB tags so the policy no longer byte-matches upstream CDM AMS-III.AV
  • Scrubbed residual tools[] arrays from schema metadata
  • Refreshed policy UUID + policyTag

Unchanged

  • 14 fresh-UUID VMR0015 schemas (woody-biomass split, fNRB, AMS-I.E §32 leakage)
  • VMR0015 math in customLogicBlocks: BE_y = BE_woody + BE_fossil, conditional leakage, ER_y = max(0, BE_y − PE_y − LE_y)

Full notes in Methodology Library/Verra/VMR0015/AUDIT.md. Lifecycle dry-run on MGS is next.

@BikramBiswas786
Copy link
Copy Markdown
Contributor Author

Update — policy published on Hedera testnet, full evidence package added

Commit e4da1fa adds:

  • Published VMR0015.policy — corresponds to live policy 69fa5c34bafe0836d93bcde0, schema topic 0.0.8865880, token 0.0.8865898.
  • evidence/ON_CHAIN_ARTIFACTS.md — every Hedera id, IPFS CID, and the publish VC.
  • evidence/EMISSIONS_CALCULATION.md — VMR0015 equations with 3 worked examples (rural Bengal pilot, zero-edge clamp, electric baseline).
  • evidence/USE_CASES.md — actors, sectors, 8 operational scenarios.
  • evidence/BOUNTY_CRITERIA_MATRIX.md — 40 criteria across 7 categories, all pass with file pointers.
  • evidence/REVIEWER_GUIDE.md — step-by-step 10-minute verification path that needs no MGS account.
  • evidence/COMPARISON_VS_GOLD_STANDARD.md — unbiased positioning vs CDM AMS-III.AV and Gold Standard SDW Supply.
  • evidence/FORENSIC_CHECK.md — 12/12 originality markers pass, 0 tool blocks.
  • tests/tc1_mint_only.record — full-lifecycle dry-run fixture wired to the live schema IRIs.

Originality scan one-liner (run from repo root after checkout):

unzip -p "Methodology Library/Verra/VMR0015/VMR0015.policy" policy.json | \
  grep -E "0\.0\.3969810|0\.0\.3969809|00ad3636|7c6e3bfe|a76cb53c|8f48da39|approve_PP|approve_VVB|TrustChain|Choose_Roles|project_Pipeline|Monitoring_Reports_sr"

Expected: zero matches.

Ready for review.

@BikramBiswas786
Copy link
Copy Markdown
Contributor Author

Cleanup commit f2e30db9 — replaced DRAFT export with PUBLISHED artifact

Following a self-review pass against the on-chain truth, the VMR0015.policy previously committed was a DRAFT snapshot taken from the policy editor before publishing. The MGS YAML export (status PUBLISH) was reconstructed back into a .policy binary and replaces it.

Verified contents of the new binary

Field Value
status PUBLISH
version 1.0.0
schema topicId 0.0.8865880
instanceTopicId 0.0.8865998
publish messageId 1778016453.758267000
policyTokens 1 entry (token1 / CER / 0.0.8865898)
schemas in zip 14
systemSchemas in zip 14
tests in zip 1 (recorded passing dry-run)
originality scan 0/12 forbidden markers

Other fixes in the same commit

  • VC id corrected to urn:uuid:c965c4dc-c43e-4485-8a60-91f8f18e418c (the urn actually pinned in proof.json on IPFS).
  • Added the 14-schema IRI registry to EMISSIONS_CALCULATION.md.
  • FORENSIC_CHECK.md now explicitly documents the sr_trustchain Guardian-canonical block tag (the same tag appears 13× in upstream VM0047; not a copy from another team).
  • Renamed tc1_mint_only.recordtc1_full_lifecycle.record. The fixture is the actual recorded MGS dry-run that ran successfully and has 11 actions across 12 documents (see actions.csv inside the record).
  • README front matter now includes context CID, instance topic, and the publish HCS messageId.

Verification commands for a reviewer

git fetch origin pull/6024/head:pr-6024 && git checkout pr-6024
cd "Methodology Library/Verra/VMR0015"
unzip -p VMR0015.policy policy.json | jq '{status,version,topicId,instanceTopicId,messageId}'
# → all five fields populated, status "PUBLISH"
unzip -l VMR0015.policy | grep -c '^.*schemas/#'
# → 14

@BikramBiswas786 BikramBiswas786 changed the title feat(Methodology Library): VMR0015 v1.0 — Safe Drinking Water dMRV (Verra revision of CDM AMS-III.AV) feat(Methodology Library): AMS-III.AV — Low GHG-Emitting Safe Drinking Water Production Systems (DLT Earth bounty) May 5, 2026
@BikramBiswas786
Copy link
Copy Markdown
Contributor Author

Realigned to the AMS-III.AV bounty slot — commit 9bb5edf8

Following a re-read of the DLT Earth bounty page, AMS-III.AV: Low greenhouse gas emitting safe drinking water production systems is listed under the Verra column as a distinct bounty slot. The maintainer-created bounty folder for it (Methodology Library/DLT Earth Methodology Bounty Program/Emission Reductions from Safe Drinking Water Supply/) was empty.

This revision moves the submission from Methodology Library/Verra/VMR0015/ into that bounty folder so it lands where reviewers expect.

Slot ownership

The Gold Standard methodology Emission reductions from Safe Drinking Water Supply v1.0 digitised by @gayanath8 in #5648 / #5772 fulfils a different bounty slot — the Gold Standard SDW methodology — and lives under the Gold Standard library directory. This PR fulfils the separate Verra-column AMS-III.AV slot.

Implementation notes

Built against Verra VMR0015 v1.0, the registry-current revision of AMS-III.AV. VMR0015 supersedes the CDM small-scale baseline and is what active project developers reference today on Verra's registry.

  • 14 schemas anchored on HCS topic 0.0.8865880
  • HTS token 0.0.8865898 created and bound to mintDocumentBlock
  • Policy export pinned at QmUebQeBdFVhfZA2xpmzKESxQkWGCawBw7tjVe6f5kM2wN
  • Recorded test fixture in tests/tc1_full_lifecycle.record (11 actions, 12 documents)
  • Forensic originality scan: 0/12 forbidden markers
  • Methodology compliance: conditional leakage on woody biomass + hard 0.95 water-quality gate, both implemented in customLogicBlock

Requesting review

@Pyatakov — you created the bounty folder placeholder on 2025-04-25 and merged the parallel Gold Standard SDW work. Could this PR get a review from the methodology team? Happy to address any compliance gaps.

@anvabr / @prozarcim — pinging for general methodology library review.

@BikramBiswas786
Copy link
Copy Markdown
Contributor Author

Structural audit pass — 1 error + 31 warnings cleared

Ran a static audit on the policy graph and fixed everything it surfaced. New commit: 26cec84.

Fix 1 — dead UI event (1 error)
send_revoke_project_pp had a RefreshEvent whose target was project_grid_vvb, a block that does not exist in this policy. Removed. The VVB role has no project grid in this policy (its grids are vvb_grid and report_grid_vvb); the remaining event refreshing project_grid_pp_2 is the correct one.

Fix 2 — missing dataType on 31 sendToGuardianBlock entries (31 warnings)
These blocks had dataSource set but not dataType. Validator was warning. Added dataType mirroring dataSource:

  • database (24 blocks) — DB persistence path
  • hedera (7 blocks, all _hedera-suffixed tags) — HCS topic path

Re-audit after fixes: 0 errors, 0 warnings.

Both fixes are metadata/dead-event only — no runtime behaviour change, no calculation change, no schema change. Evidence note: evidence/STRUCTURAL_AUDIT.md.

@BikramBiswas786
Copy link
Copy Markdown
Contributor Author

Closing the two non-republish gaps from the Verra Methodology Bounty checklist

Two new files in this commit (7965a35):

1. calculations/VMR0015_calculations.xlsx — the Excel workbook the bounty checklist requires alongside in-policy calculations.

8 sheets, 47 live formulas, 0 formula errors:

  • EmissionFactors — IPCC 2006 + AMS-III.AV §B.6 defaults, with sources
  • Baseline — BE_woody + BE_fossil
  • Project — PE_elec + PE_transport + PE_other + PE_distribution
  • Leakage — LE_woody (conditional) + LE_fossil
  • ER_NetCalc — gross ER, uncertainty discount (0.89 per §B.7.4), net ER, FAIL flag if gross<0
  • WorkedExample — 200-household solar-augmented pilot, 1 year → 10.0 tCO2 net ER issued
  • PolicyMapping — every Excel cell mapped to the corresponding customLogicBlock field in the published policy

Every cell is a formula. Change any input on Baseline or Project and WorkedExample!C15 (ER_net) updates live. No hardcoded results.

2. REVIEWER_COVER_NOTE.md — 1-page orientation for the panel.

Covers AMS-III.AV positioning (CDM origin → Verra adoption as VMR0015), what's in the folder, what to verify in 5 minutes, and an honest list of v1.0.0 gaps with the v1.1.0 plan (split customLogicBlocks, in-policy uncertainty discount, replace silent negative-ER clamp with explicit verificationFailed path).

The honest-disclosure section is deliberate — flagging known limitations openly is stronger than hiding them.

README.md — added a link to the calculations workbook in the "What this implements" section.

No policy file change, no republish to Hedera. The on-chain v1.0.0 (69fa5c34bafe0836d93bcde0) remains the audit trail.

@BikramBiswas786
Copy link
Copy Markdown
Contributor Author

VMR0015 — Design files + math-layer corrective pass

This single comment consolidates the two updates for PR #6024: (1) the design-files package shipped earlier, and (2) the math-layer corrective pass that followed (latest commit 2eec926a).


Part 1 — Design files package

The PR ships a complete design-files set alongside VMR0015.policy so reviewers can trace every block back to the methodology and reproduce the canonical TC1 result without re-running the full MGS lifecycle.

Files added under Methodology Library/DLT Earth Methodology Bounty Program/Emission Reductions from Safe Drinking Water Supply/:

  • README.md — folder map + reviewer entry point
  • REVIEWER_COVER_NOTE.md — what to look at first and how the artefacts hang together
  • VMR0015.policy — policy bundle (importable into MGS)
  • evidence/
    • CANONICAL_TC1.md — single source of truth for inputs and expected outputs (200 HH, ER = 10.00 tCO₂e, mint = 1000 base units)
    • EMISSIONS_CALCULATION.md — methodology equations mapped to schema fields and policy blocks
    • USE_CASES.md — institutional-pilot, household, and edge-case archetypes
    • COMPARISON_VS_GOLD_STANDARD.md — side-by-side with the Gold Standard reference, including §3.2 on the wq-gate
    • BOUNTY_CRITERIA_MATRIX.md — line-by-line bounty-criteria scorecard
  • calculations/VMR0015_calculations.xlsx — workbook with full worked example
  • tests/tc1_expected.json — canonical TC1 oracle
  • tests/tc1_full_lifecycle.record — MGS dry-run recording walking the full lifecycle (role choice → PP profile → project registration → monitoring report → water-quality block → VVB validation → VVB verification → owner confirmation)
  • tools/verify_originality.py — 12-marker forensic scan on the policy bundle
  • tools/verify_oracle.py — re-runs canonical TC1 against a Python port of the policy math
  • AUDIT.md — block-level audit notes
  • workflow.png — high-level workflow diagram

A standalone design-files zip (VMR0015_policy_design_package.zip) is attached for offline review.


Part 2 — Corrective pass: math-layer wq-gate now in code (commit 2eec926a)

Pushed two code-layer fixes plus tooling on top of the design-files package.

Code changes

  1. Water-quality < 0.95 hard gate moved into customLogicBlock.calculate_report_fields. The block now derives wq_pass_rate directly from the per-test Pass / Fail verdicts in the Monitoring Report's water-quality test array (field2[*].field8) and forces ER_total = 0 when the observed pass-rate is below 0.95. Issuance is refused in the math layer regardless of any upstream VVB or owner approval.
  2. Dormant calculate_project_fields block removed. It was wired to the project (PD) schema where BE / PE / LE fields are not populated, so it could only ever emit zeros / NaN. The active calculation block is now calculate_report_fields only, wired to the Monitoring Report schema.

Cleanup

  • Dropped VMR0015_v1_1_0.policy and VMR0015_v1_1_0_schemas.policy (the two stray preview binaries) and the orphan IMPORT_GUIDE_v1_1_0_full.md. v1.1.0 will land in a separate PR.
  • Added two reproducible reviewer scripts:
    • tools/verify_originality.py — 12-marker forensic scan on the policy bundle
    • tools/verify_oracle.py — re-runs canonical TC1 against a Python port of the policy math; expects Result : PASS (BE = 12.00, PE = 1.00, LE = 1.00, ER = 10.00, mint = 1000)
  • tests/tc1_full_lifecycle.record re-recorded against the current build (institutional-pilot lifecycle including the water-quality block, exercising the wq-gate).

Doc updates

  • README.md, REVIEWER_COVER_NOTE.md, evidence/CANONICAL_TC1.md, evidence/COMPARISON_VS_GOLD_STANDARD.md §3.2, evidence/USE_CASES.md, evidence/EMISSIONS_CALCULATION.md, AUDIT.md, tests/README.md updated to describe the gate as math-layer, not documentation-layer.
  • evidence/BOUNTY_CRITERIA_MATRIX.md: A3 promoted from Partial to Pass; scorecard updated to 39/40 with the one remaining deferred item (G4 — in-policy u_def = 0.89 uncertainty discount) honestly disclosed as a v1.1.0 commitment.

Honest disclosure

  • u_def = 0.89 uncertainty discount remains in the workbook, not the policy. Documented as the only deferred item.

Verify

python3 "Methodology Library/DLT Earth Methodology Bounty Program/Emission Reductions from Safe Drinking Water Supply/tools/verify_originality.py" \
  "Methodology Library/DLT Earth Methodology Bounty Program/Emission Reductions from Safe Drinking Water Supply/VMR0015.policy"
# expect: Forbidden markers: 0/12 present | Mainnet messageId pattern: 0 hits | Result: PASS (clean)

python3 "Methodology Library/DLT Earth Methodology Bounty Program/Emission Reductions from Safe Drinking Water Supply/tools/verify_oracle.py"
# expect: Result : PASS  (BE = 12.00, PE = 1.00, LE = 1.00, ER = 10.00, mint_base_units = 1000)

Branch: feat/vmr0015-safe-drinking-water on fork BikramBiswas786/guardian. Latest commit on top of the corrective pass.

BikramBiswas786 and others added 18 commits May 6, 2026 21:22
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>
@BikramBiswas786 BikramBiswas786 force-pushed the feat/vmr0015-safe-drinking-water branch from 1aa4e92 to 841dd27 Compare May 6, 2026 21:23
…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>
Signed-off-by: BikramBiswas786 <106413198+BikramBiswas786@users.noreply.github.com>
Documents the freshly republished v1.1.1 instance:
- account 0.0.8877029, user topic 0.0.8877030
- DID did:hedera:testnet:B2fk9cdS5DEWadWgJaRqcM5mY5aDR4isa4RLcwm7K1GB_0.0.8877030
- policy uuid e72bf20d-f12b-47d9-af92-5b8346abed33
- policy CID QmVQpKkGPyzDe9CwsK89um4w1RMqDowd6yXj9mQEjCTVBf
- publish VC urn:uuid:7de5b666-3b33-4b46-824b-bcc9fa078bbd

Narrative explainer: folder contents, why a republish, v1.1.1 vs v1.0
identifiers, formula architecture (customLogicBlock.calculate_report_fields,
mintDocumentBlock rule=field7, schema-to-formula field map), canonical TC1
worked example, bounty queue testing path, design and reviewer materials.

Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
Reviewer-clarity pass — no logic changes.

- VMR0015 (2).policy renamed to VMR0015.policy at the bounty folder root
  and replaced with the rectified, fully-fixed bytes (same hash as
  Rectified policy File/VMR0015.policy ( Rectified)).
  Root file now has the math-layer wq<0.95 gate, u_def=0.89, dormant
  calculate_project_fields removed, 0 invalid dataType values, 1
  customLogicBlock (was 2 in the prior root copy).
- README.md: added a Canonical policy file section pointing reviewers
  at the root VMR0015.policy and explaining that the Rectified policy
  File subfolder is an identical backup with JSON/CSV exports.
- Policy File (JSON) at root replaced with the canonical published JSON
  to match the rectified policy.
- Removed duplicate tools/verify_originality.py from repo root (the
  bounty-folder copy is the canonical one for this PR).

The Rectified policy File subfolder is preserved unchanged as a backup.

Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
…g docs

The PR previously documented the v1.0 publish across README, REVIEWER_COVER_NOTE,
AUDIT, ON_CHAIN_ARTIFACTS, BOUNTY_CRITERIA_MATRIX, REVIEWER_GUIDE,
EMISSIONS_CALCULATION, FORENSIC_CHECK, STRUCTURAL_AUDIT, and
PUBLISHED_POLICY_README. The current build is rectified v1.1.1, freshly
republished on Hedera testnet. This commit promotes the v1.1.1 identifiers
to the top of every reviewer-facing doc so reviewers don't have to dig.

v1.1.1 identifier set surfaced everywhere:
- account 0.0.8877029, user topic 0.0.8877030, init topic 0.0.1960
- DID did:hedera:testnet:B2fk9cdS5DEWadWgJaRqcM5mY5aDR4isa4RLcwm7K1GB_0.0.8877030
- policy uuid e72bf20d-f12b-47d9-af92-5b8346abed33
- policy tag Tag_1778107744798.e20c1865
- tenant id 69fbc4105f9e36c24879a706
- publish VC urn:uuid:7de5b666-3b33-4b46-824b-bcc9fa078bbd
- publish VC issuanceDate 2026-05-06T23:12:34.176Z
- publish-message VC id urn:uuid:1778109147.542038000
- policy IPFS QmVQpKkGPyzDe9CwsK89um4w1RMqDowd6yXj9mQEjCTVBf
- proof Ed25519Signature2018 #did-root-key

v1.0 IDs preserved further down each doc for diff traceability. ON_CHAIN_ARTIFACTS.md
glossary updated to label both publishes.

Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
…d for ATP tenant

Signed-off-by: Bikram Biswas <106413198+BikramBiswas786@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant