Expand description
Frozen attribute names. Every emitted field uses one of these constants.
These are a public contract — the OTLP exporter maps them straight onto
span/event attributes, so renaming one invalidates existing dashboards.
OpenTelemetry semantic conventions are used where one exists; everything
else lives under the act.* namespace.
Constants§
- AGENT_
ID - CAPABILITY_
DECLARED - Whether the component declared this capability class in
act.toml. - CAPABILITY_
ID - COMPONENT_
DIGEST - COMPONENT_
REF - CONSENT_
PROMPT_ CHANNEL - Whether this run has any channel that can answer an interactive
askprompt at all (a real TTY, or an MCP client offering elicitation) — as opposed to headless / ACT-HTTP, where everyaskdecision degrades to deny before a human is ever involved. A per-run fact, repeated on everyact.ceiling_classevent so the layer never has to infer it from anything but typed fields. - CREDENTIAL_
KIND - The
kindstring of a credential that was handed to a component —std:fieldsfor everything this host writes, since a credential is a set of named fields and nothing else (design §3.2). Recorded because it is a required member of the published WITsecretrecord and a store may hold one written elsewhere. Non-secret by construction: it names a shape, never a value. - DECISION
- DURATION_
MS - NEVER_
ROLLUP - Whether this decision must never fold into the per-call rollup, even
when it resolves to
Allow. Set foract:consentdecisions — seeCapDecisionRecord::never_rollup. - OUTCOME
- POLICY_
ACTOR - POLICY_
MODE - POLICY_
REASON - POLICY_
RULE - REQUEST_
ID - RESOURCE_
ACTION - RESOURCE_
KEY - SESSION_
ID - TOOL_
ARGS - Full tool-argument values, only present when
--audit-argsis set.TOOL_ARGS_SHA256above is still emitted alongside it — this field widens the envelope, it never replaces the digest. Session args are never carried by either field:ToolCallStarthas no such member. - TOOL_
ARGS_ SHA256 - TOOL_
NAME - TRACE_
PARENT - TRACE_
STATE - TRANSPORT