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.
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>.