Inventory AI artifacts
AI artifacts
An AI artifact is one thing an agent found on a machine that an AI tool reads, writes or runs: a skill, an agent definition, an MCP connection, a prompt, a session log, model weights, a model runtime, a tool's config, an AI dependency, or an AI tool itself. Agents report what they find on each scan. The list is the whole inventory. AI tools is the same list narrowed to the tools.
Who can use it
Reading the list, opening an artifact and tagging it all need the machines:read permission. Every role holds it: Owner, Admin, Analyst, Policy author, Fleet operator and Compliance reader. Nothing else on this page changes data.
Read the list
- Open Inventory › AI Artifacts.
- Search by name, location or coordinate. The box reads Search name, location or coordinate, so a package coordinate such as
pkg:npm/…works. - Narrow it with the filter bar. A bare address opens on State is not Gone, so artifacts the last scan did not find are hidden until you remove that condition.
- Choose how rows are folded. Folds include Registry entry, Catalogued as, Category, Type, Declared in, Machine, Tool, Account, Source, Name and Content hash. Each fold has a bucket for artifacts with no value, such as Nothing to look up or No machine.
- Select a row to open the inspector beside the list.
Each row can show Kind, Category, Machine, Tool, Catalogued as, Location and Tags. The On each row menu chooses which.
Filters
| Filter | What it asks |
|---|---|
| Category | What a policy binds to: Skill, Agent definition, Prompt, Session log, MCP, Tool config, AI tool, Model weights, Model runtime, AI dependency. |
| Shape | Which story the artifact tells: Declares, Declared, Instructions, Model, Everything else. |
| Catalogued as | What the registry recognised it as, such as an npm package, a Python package or an MCP server. Nothing to look up and Checking are states, not kinds. |
| Flags, Advisory severity, Licence | The stored result of the supply-chain check. |
| Content | Whether anything can read it: Text, Lockfile, Reference, Opaque, None. |
| Source | Agent or Connector. |
| State | Present, Gone, Out of scope. |
| Owner | The AI tool that owns it. |
| Severity, Issues | The worst open issue on it. Issues is Unresolved or None found. |
| Last seen, First seen, Last changed | Dates. |
| Machine, Tag, Account, Name, Content hash, Version | This workspace's own machines and tags, and exact text matches. |
What an artifact shows
The inspector reads top to bottom.
| Section | What is in it |
|---|---|
| Identity | Name, Category, Type, Content, State, Size, Owner, Machine. |
| Supply chain | What the registry says: Catalogued as, Found in, Flags, Licence, Advisories, Last checked. |
| Issues | Open issues raised about this artifact. |
| Copies | The same artifact on other machines. |
| Content | A preview, when one was collected. |
| Discovery | Scanner, Scan root, Matched signature, First seen, Last seen. |
| Location | Location, Local ID, Content hash, Hash basis. |
| Timeline | Discovered, Content changed, Disappeared, Returned, Out of scope, Back in scope and Settings changed events. |
An AI tool also shows a Tool posture section with its version, last use and account.
State
| State | Meaning |
|---|---|
| Present | Seen by the most recent scan. |
| Gone | The last scan did not find it. The record is kept; the file is not there. |
| Out of scope | Still on the machine, but no longer inside a scanned root. |
Why there is no preview
A missing preview does not mean the file was empty. The inspector says why:
- "This names something held elsewhere, so there is no content to read."
- "Model weights are identified by digest and size, and are never read."
- "This records that a runtime is installed. There is no content to read."
- "No policy reads this artifact's content, so none was collected."
- "No content was collected before this artifact disappeared from the machine."
- "This is outside every scanned root, so no content is collected from it."
Tag an artifact
Tags are free-text labels. There is no managed list. The editor suggests the tags your workspace already uses, so the convention is the first thing offered.
- Open an artifact.
- In the tags band, type in Add a tag and choose a suggestion or press Enter.
- Remove a tag with its Remove button.
Each save replaces the artifact's whole set of tags. A tag can be up to 64 characters and an artifact can hold up to 32. The characters ;, ~ and , are refused, because filters are written with them. Tagging takes the same permission as reading, machines:read.
When it goes wrong
| You see | It means |
|---|---|
| No AI artifacts found yet, "Agents report what they find on each scan." | No enrolled machine has reported a scan yet. Enroll machines appears when the workspace has no machine. |
| "Could not load artifacts" | The list could not be read. |
| "Could not load this artifact." with Try again | The one you opened could not be read. |
| "Could not load this timeline" | The artifact's file events could not be read. |
| "Could not save these tags." | The tag set was refused or the request failed. The reason follows. |
| "viewing AI artifacts requires machines:read in this workspace" | Your role does not hold machines:read. |
With the API
Artifacts and their tags are in the Inventory reference. An API key needs machines:read.