Skip to content

Term

Artifact

A durable explicit output published by a Task or AgentRun. An Artifact is not private reasoning, scratch, or an unpublished tool side effect.

Identity
artifact_id
Kind
name
Authority role
artifact-publisher
Mutability
mutable
Status
accepted

Purpose

Name the things a session intends to keep and share so they can be addressed independently of turns and attempts.

Relationships

NameTargetKindCardinalityInverse
work_sessionWorkSessionreferences0..1artifacts 0..*
produced_by_taskTaskproduced_by0..1artifacts 0..*
produced_by_runAgentRunproduced_by0..1artifacts 0..*

Invariants

  • MUST explicit-output: An Artifact MUST be an explicit published output, not private reasoning.
  • MUST produced-by: An Artifact SHOULD record the Task and/or AgentRun that published it.
  • MUST NOT no-credentials: An Artifact locator MUST NOT embed credentials.

Aliases

  • published-output

Deprecated aliases

None.

Not synonyms

  • Resource: A resource exists independently; an artifact is produced by work.
  • Turn: Intermediate model text is not an artifact until published.
  • Task: The task is the plan node; the artifact is the output.

Examples

  • A review report written to an agreed locator and attached to the WorkSession.

Anti-examples

  • Hidden chain-of-thought.
  • An unpublished scratch file in a workspace.

Fields

The identity field is the index of the handle. fields is the exchange shape.

NameKindTypePortableNotes
artifact_ididentitynameTrue
work_session_idreferencenameTrue
media_typedescriptivestringTrue
locatorreferenceuriTrueAddress of the published bytes. Not a credential.

Native mapping hooks

SystemNative termFidelityNotes
project-interop_none_tbd