Artshelfdocs

4.1Agents · Create

Register artifacts while intent is fresh.

Create is one question: should this non-source artifact outlive the turn? If yes, put it on the shelf while the reason is still obvious.

Completion gate

Before any final, status, handoff, or done report, check for files the agent created, copied, exported, quarantined, backed up, or preserved.

  • Register eligible artifact paths. Anything non-source that may outlive the command needs a record.
  • State every skip reason. Source, cache, regeneratable, secret-bearing, or owned elsewhere.
Hard boundary

Do not call work done while known eligible artifacts are neither registered nor explicitly skipped.

Do not invent Artshelf entries after the fact just to make a handoff look tidy.

Register these

backup
rollback copy or snapshot
evidence
report, log, smoke output
quarantine
copied aside for review
run
artifact needed to resume a long task

Lookup before put

# is this path already on the shelf?
artshelf find --path <path> --owner <agent-or-runtime> --label <task-or-run-id> --json

# inspect one record by its Artshelf id
artshelf get <id> --json

If find returns a record, reuse that Artshelf id. If it returns no entries, call artshelf put --json and report the new id.

Report the id

Use a deterministic Artshelf footnote wherever restart or cleanup context will be read.

Artshelf footnote: registered <artifact-path> as <artshelf-id>; reason: <short reason>; due: <YYYY-MM-DD|manual-review>; cleanup=<cleanup-mode>.