Variable gardenFeeSidecarConst
gardenFeeSidecar: {
$schema: "https://graviola.gra.one/calc-profile/v1";
appliesTo: SchemaIdentity;
slots: {
"#/definitions/Garden/properties/annual_fee": {
formula: "total_billable * fee_rate_per_sqm";
};
"#/definitions/Garden/properties/total_billable": {
formula: "patch.billable_area_total";
};
"#/definitions/Patch/properties/billable_area_total": {
aggregate: { field: "billable_area"; over: "plots"; type: "sum" };
};
"#/definitions/Plot/properties/billable_area": {
formula: "width_m * length_m";
};
};
} = ...
Type declaration
Readonly$schema: "https://graviola.gra.one/calc-profile/v1"
ReadonlyappliesTo: SchemaIdentity
Readonlyslots: {
"#/definitions/Garden/properties/annual_fee": {
formula: "total_billable * fee_rate_per_sqm";
};
"#/definitions/Garden/properties/total_billable": {
formula: "patch.billable_area_total";
};
"#/definitions/Patch/properties/billable_area_total": {
aggregate: { field: "billable_area"; over: "plots"; type: "sum" };
};
"#/definitions/Plot/properties/billable_area": {
formula: "width_m * length_m";
};
}
Golden calc-profile sidecar as a plain literal. This fixture package stays a dependency leaf: it must not import from
@graviola/formula-dependency(which devDepends on these fixtures for its own tests). Consumers assign it whereCalcProfileSidecaris expected; structural typing keeps it honest.