# Additional observations

Add relevant application information through a common contract across SDK languages.

## Observation families

| Family | Purpose |
|---|---|
| lifecycle | Actual operation and step lifecycle, normally SDK-managed |
| ai | Model, classification, retrieval, tool, embedding, inference, evaluation, policy, explanation |
| http | Actual request/response observations at supported boundaries |
| otel | Actual spans, events, attributes, links and status |
| context | Actual context and optional lookup references |
| source | Institutional source references and original source content |
| custom | Additional business information expressed as a JSON object |

## AI information examples

| Category | Information to provide when actually available |
|---|---|
| model | Name, provider, version, execution type, actual parameters |
| classification | Class or intent and observed confidence |
| retrieval | Source ID, document reference, ranking and weight |
| tool | Candidate/selected tool, arguments and actual result |
| embedding | Model/version, input reference, dimensions and necessary original content |
| inference | Actual feature input, prediction/score and output |
| evaluation | Check name, metric and observed result |
| policy | Applied rule and version |
| explanation | Explanation actually produced by the source application |

These are example business fields, not mandatory fields for every model. Do not manufacture unavailable information.

## Field ownership

The application supplies its data JSON, attachments, appropriate references and known causal links. Sigillum manages institution/environment/service authority, source record identity and sequence, signed scope, observer trace/span relations, content hash/length references, delivery receipts and seals. A similarly named business field cannot override these identities.

## Data fidelity and limits

Use an existing raw JSON object. Explicit null and an absent property are distinct. Duplicate keys or invalid JSON can result in rejection or observation loss. Send large binary content as an attachment instead of duplicating it as base64 in data. Each language reference documents size and capacity limits.

## Equivalent language examples

Select a language below to view the corresponding SDK interface. Replace synthetic values with information actually available in your application. Do not insert hidden model reasoning or an inferred decision rationale.