Current guidance · concepts baseline 0.2.0-preview.1
Trace: See why AnswerUp made its decision.
Inspect the evidence behind an execution with the optional local viewer. Trace helps explain what happened; it does not replace your application’s independent check.
Trace explains how an operation reached its result. It does not establish external truth or authorize another action.
At the architecture level, Trace is a local, bounded, read-only view of an operation's lifecycle—a bounded flight recorder for developers and operators. It does not evaluate whether an expectation passed. Core defines the projection contract; the host decides how an approved projection is stored and exposed.
Current package behavior
Actions 0.2.0-preview.8 returns an empty privacy-safe Trace envelope by design. Applications must retain bounded host-owned lifecycle evidence and counters; an empty Actions Trace must never be treated as proof that a stage did not occur.
Trace Local 0.1.0-preview.7 is a privately selected local viewer, not a hosted Portal service or public download. It accepts one bounded answerup-local-trace/1 file per attempted effect. The supplied file can contain package-produced Actions result snapshots, an optional Runtime-owned projection, and separately labeled host assertions and verifier reads. The viewer does not independently authenticate host reports. The exercised capture-helper audit covered the Actions path; a Runtime-owned projection was checked for declaration and shape but not exercised end to end.
Start with your first action and the application's own result, verifier behavior and customer message. Trace capture is optional and does not supply Core's effect truth or claim permission. If your approved handoff includes Trace Local and you want to inspect a particular execution, arrange bounded capture during that execution. An after-the-fact summary cannot recreate package snapshots. The handoff's FIRST-ACTION-TO-TRACE.md explains the optional sequence; the Trace archive's TRACE-LOCAL-IMPORT.md gives the local launch and import contract.
For the n8n companion service, the example README identifies the live runtime.run() result and the recovered.result returned through verifier-only recovery as optional capture points. It explains how to use the existing host logging helper and selected Trace capture helper, assemble one file per effect, and inspect that file locally. The downloaded n8n service does not automatically log results or export Trace evidence. A successful workflow execution and a historical dispatch flag do not replace authoritative verification or matching claim permission.
What to retain
Trace is intentionally smaller than private Runtime state. An approved projection may contain:
- preparation and candidate derivation;
- authorization;
- credential acquisition and cleanup markers;
- the dispatch boundary;
- provider observation;
- mutation observation;
- verifier read;
- finality and effect truth;
- reconciliation;
- operation, execution, and attempt identities where approved;
- dispatch, mutation, verifier-read, and redispatch counters;
- omission, truncation, overflow, or incomplete-evidence markers.
For Actions preview.8, retain equivalent bounded host evidence: package tuple and action version; operation/effect/execution/attempt references; grounding observation reference; policy decision reference and revision; dispatch, mutation, verifier-read, and redispatch counters; bounded provider observation category; verifier status and bounded observation/finality reference; original and related result kinds; recovery-record version and accepted source digest; CAS acceptance; timestamps; and omission markers.
Do not persist raw provider payloads, credentials, callbacks, exceptions, private handles, unrestricted input or evidence, or private Runtime state. This checklist is host logging guidance, not a new Trace implementation.
What Trace can show
Trace can connect lifecycle observations without turning them into a new source of authority. It can show that preparation and authorization preceded a dispatch boundary, that a provider acknowledged a request, that an independent verifier returned evidence, and that reconciliation was projected with the original result preserved. The result taxonomy remains:
PRESENTmeansCOMMITTED;ABSENT_FINALmeansDISPROVED;INDETERMINATEmeansUNKNOWN.
Provider acknowledgment remains separate from effect truth. Provider and verifier are independent boundaries. Reconciliation is verifier-only with zero provider redispatch, and original results remain immutable.
What Trace cannot establish
Trace is not an authoritative inventory, ledger, schedule, directory, or other system of record. ACKNOWLEDGED in Trace is not COMMITTED, and a missing field is not proof that a stage did not happen. Trace does not evaluate whether an expectation passed; that belongs to Evaluator. It does not authorize customer-facing wording; effect truth and claim permission do that. It is not a replayable command.
Reading a projection can explain an outcome, but it does not authorize another action. A Trace view is not external truth.
Reading counters
One dispatch, one verifier read, and zero redispatches can show how the protected lifecycle behaved. They support the conclusion that this flow followed the no-blind-redispatch rule; they do not prove exactly-once execution by the external provider. An absent cleanup marker is incomplete evidence to investigate, not proof of credential leakage or successful cleanup.
Catalog-price example
Consider a merchant administration UI calling an authenticated application backend. The backend binds an exact product and price, then uses a catalog provider adapter. An independent catalog verifier reads the authoritative commerce catalog. The host exposes only the approved bounded Trace projection.
The product is grounded and authorization passes. Dispatch crosses once, and the provider acknowledges. The authoritative catalog read is INDETERMINATE, so the normalized result is UNKNOWN; redispatch remains zero. Trace explains why the result is UNKNOWN, but Trace itself does not prove that the price changed.
Reference contract
Core owns the bounded, read-only projection contract. Actions preview.8 does not populate that Trace envelope. The host or application owns bounded evidence storage, access, retention, deletion, export, and redaction. Operator evidence remains separate from customer-facing output. Conformance exports remove personal data, credentials, and raw provider payloads while preserving the bounded evidence needed for the declared run. See Security and privacy for the data path and trust-boundary responsibilities.
The Core preview package exposes minimal Trace correlation hooks, and Runtime defines a bounded Trace projection. The older Forensic/Playback viewer and the synthetic Playground remain internal.