Calibrated estimates
Calibrated estimates replace a precise-looking guess with a defensible interval and an explicit decision implication.
Behavior
Section titled “Behavior”- The user supplies an uncertain quantity and the decision it informs.
- The agent identifies the unit, time horizon, threshold, and cost of being wrong.
- The agent classifies the target mode: paid quote, market value, budget allowance, amount likely paid, official benchmark, or ambiguous.
- The quantity is decomposed into smaller uncertain components.
- Each component receives a low, central, and high value with a stated basis.
- The agent calibrates the rolled-up interval and states its confidence.
- The final interval is compared with the decision threshold.
- The memo states the action implication and the largest remaining uncertainty.
The agent does not return only a point estimate.
Inputs & outputs
Section titled “Inputs & outputs”Inputs
- decision statement;
- quantity of interest;
- unit;
- time horizon;
- decision threshold;
- cost of being wrong;
- evidence, source links, files, observations, and constraints; and
- optional requested confidence level.
Outputs
- calibrated range;
- central estimate;
- confidence statement;
- decomposition table;
- threshold implication;
- top uncertainty driver;
- recommendation; and
- structured
HTMA_RESULTappendix.
States & edge cases
Section titled “States & edge cases”| State | Behavior |
|---|---|
| Complete evidence | Return a calibrated memo with estimate_status: "estimated". |
| Vague decision | Ask for the missing decision or threshold before external research. |
| Missing identifier | Keep numeric fields null and return needs_identifier. |
| Missing effective period | Keep numeric fields null and return needs_effective_period. |
| Current authoritative lookup required | Return lookup_required until the source is refreshed. |
| Private fact missing | Name it in blocking_missing_inputs; do not infer it. |
| Inputs too weak for a range | Return not_estimable and the next measurement step. |
| Range crosses the threshold | Explain the decision sensitivity instead of forcing a yes/no recommendation. |
| Monte Carlo requested too early | Decompose and calibrate inputs before simulation. |
Data shape
Section titled “Data shape”type EstimateContext = { decision: string quantity: string unit: string timeHorizon: string decisionThreshold: number | string | null costOfBeingWrong: string estimateMode: | "paid quote" | "market value" | "budget allowance" | "amount likely paid" | "official/public benchmark" | "ambiguous" evidence: EvidenceItem[]}
type ComponentRange = { component: string low: number central: number high: number confidence: string basis: string whatWouldTighten: string}Decisions
Section titled “Decisions”- 2026-07-11 — Intervals are mandatory. A central value without bounds hides the uncertainty the skill exists to expose.
- 2026-07-11 — Missing required inputs produce nulls. Fabricated completeness is worse than a blocked result.
Open questions
Section titled “Open questions”None for the current release.