Output contract
Tease:Prose for judgment, JSON for reuse.Lede:Every complete result combines a readable measurement memo with a state-consistentHTMA_RESULTappendix.Why it matters:Explicit numeric and blocked states keep automation from mistaking missing inputs for measured values.Go deeper:Use the memo sections, schema, status semantics, and verification rules below.
Every complete response contains a written memo and an HTMA_RESULT JSON appendix.
Memo sections
Section titled “Memo sections”- Compact relevance summary
- Date and scope
- Question made precise
- Short answer
- Priors and sources
- Decomposition
- Calibrated range
- Value of information
- What would move the estimate
- Recommendation
- Sources
HTMA_RESULT
JSON schema
Section titled “JSON schema”type HTMAResult = { quantity: string unit: string low_90: number | null central: number | null high_90: number | null confidence: string decision_threshold: number | string | null threshold_implication: string top_uncertainty_driver: string estimate_status: | "estimated" | "needs_clarification" | "needs_identifier" | "needs_effective_period" | "lookup_required" | "not_estimable" blocking_missing_inputs: string[] assumed_target: string | null next_measurement_step: string}Empty template
Section titled “Empty template”This is a schema template, not a measured result:
{ "quantity": "[quantity of interest]", "unit": "[unit]", "low_90": null, "central": null, "high_90": null, "confidence": "90%", "decision_threshold": null, "threshold_implication": "[no action comparison until the threshold is supplied]", "top_uncertainty_driver": "[largest remaining uncertainty]", "estimate_status": "needs_clarification", "blocking_missing_inputs": ["[required missing input]"], "assumed_target": null, "next_measurement_step": "[specific input or source lookup]"}Status semantics
Section titled “Status semantics”| Status | Meaning |
|---|---|
estimated | A responsible numeric interval is available. |
needs_clarification | The decision or target quantity is ambiguous. |
needs_identifier | A required entity, product, case, or account identifier is absent. |
needs_effective_period | The applicable date or time period is missing. |
lookup_required | A named current external value needs a direct-source refresh before estimating. |
not_estimable | Available evidence cannot support a responsible interval, including when the requested private actual is unavailable. |
estimated requires numeric low_90, central, and high_90 values plus an empty blocking_missing_inputs array. A non-estimated status requires null numeric fields, an explicit blocker, and a specific next measurement.
A missing decision threshold does not by itself block a responsible numeric range. In that state, decision_threshold remains null, the memo withholds an action comparison, and the result identifies threshold collection as decision context rather than fabricating one.
Verification
Section titled “Verification”A valid result satisfies all of these:
- low ≤ central ≤ high when numeric;
- units are consistent across components and the final range;
- confidence matches the named interval;
- threshold implication matches the numeric range or explicitly withholds comparison when the threshold is absent;
- top uncertainty driver appears in the value-of-information section;
- missing inputs are empty only for an estimated result;
- next measurement is specific enough to execute; and
- JSON parses and agrees with the prose.