Artifact is the generative-output card that summarizes produced work, such as a plan or a file: a titled card with an optional description, optional body content, and a trailing status. ArtifactStatus is the success acknowledgement, a check and a label.
When to use
The result of a task an assistant finished or is finishing: a plan, a file, a build.
As the content of a Message.
When not to use
A card that is one action or one destination: use ClickableCard.
A grouped surface with your own header: use Card.
A message that is only a sentence: use Message.
Composition
Artifact is Card with a CardHeader (title and description), a CardContent for children, and a CardFooter, justified to the inline end, for status. The surface, edge, padding and heading are Card's.
children and status render their slots only when given, so a title-only artifact leaves no empty content or footer.
headingLevel picks the heading element of the title (default h3); the type role never changes. size is Card's padding (Compact or Default).
ArtifactStatus is a Text span in the success foreground with a decorative glyph (the check glyph by default) and an 8px gap. Pass icon for another glyph.
Artifact takes no data-* attributes or style, because Card takes none. Use className and ref.