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.
Purpose
Name the things a session intends to keep and share so they can be addressed independently of turns and attempts.
Relationships
| Name | Target | Kind | Cardinality | Inverse |
|---|---|---|---|---|
work_session | WorkSession | references | 0..1 | artifacts 0..* |
produced_by_task | Task | produced_by | 0..1 | artifacts 0..* |
produced_by_run | AgentRun | produced_by | 0..1 | artifacts 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.
| Name | Kind | Type | Portable | Notes |
|---|---|---|---|---|
artifact_id | identity | name | True | |
work_session_id | reference | name | True | |
media_type | descriptive | string | True | |
locator | reference | uri | True | Address of the published bytes. Not a credential. |
Native mapping hooks
| System | Native term | Fidelity | Notes |
|---|---|---|---|
project-interop | _none_ | tbd |