# Measurement

## Observation unit

An observation estimates one dimension for one subject in one context at one time. It carries score, confidence, evidence references, observer, method, context, and retention. It is an inference unless a deterministic event directly establishes a fact.

Do not convert one utterance into a persistent trait claim. `kind: state` captures temporary context; `kind: pattern` requires the dimension's cross-context evidence rule.

## Aggregation

For eligible observations:

```text
timeWeight = 0.5 ^ (ageHours / halfLifeHours)
weight = observerReliability × contextualRelevance × timeWeight
stateScore = Σ(score × weight) / Σ(weight)
```

Confidence is derived from:

- effective evidence weight and independent observation count;
- required context coverage;
- agreement/contradiction;
- observer and measurement calibration;
- recency;
- method ceiling (for example, a single-model inference cannot claim perfect confidence).

Reference implementation:

```text
base = 1 - exp(-effectiveWeight / evidenceTarget)
confidence = base × coverage × agreement × calibrationCap
```

The engine returns components and reasons so another implementation can reproduce or challenge the estimate.

## Contradictory evidence

Contradiction is information, not an error. A bimodal or context-dependent pattern reduces cross-context confidence and may cause separate context states. The system SHOULD ask whether contexts differ before averaging incompatible behaviors.

## Persistence

- Raw prompt/transcript: ephemeral by default.
- Evidence feature/ref: append-only, minimized, purpose-bound, expiring.
- Observation: durable only for its retention class and Consent.
- State: derived and recomputable.
- Assessment/intervention/event: immutable auditable Record with minimized content.
- Calibration aggregate: de-identified only when re-identification risk and governance permit.

Measurement is never a substitute for direct Source input when asking is safer or more respectful.

