Core Concepts 6 min read

Artifacts

Attach notes, comments, file uploads, and diagrams to any Requirement, Initiative, Application, or other entity in Catalio

Updated
On this page

An Artifact in Catalio is a polymorphic note, comment, file attachment, or diagram that you can attach to almost any entity in the system — a Requirement, an Application, an Initiative, a Persona, a Journey, and more. Artifacts are how supporting material and team discussion live alongside the record they relate to, instead of scattered across email threads and chat channels.

Where the entity itself (a Requirement, a Process, a Capability) captures the structured, canonical information, Artifacts capture everything around it: “here’s the context,” “here’s a screenshot,” “here’s what we decided in the hallway,” “here’s a sequence diagram of how this actually flows.”

The Four Kinds of Artifacts

Every Artifact has a kind, which determines what it’s for:

Kind Purpose
note Rich-text notes — context, background, or explanations tied to a record
attachment An uploaded file, backed by storage_path and file_metadata
comment Lightweight discussion — a lighter-weight alternative to a full note
diagram A diagram, further classified by diagram_type

Diagram Artifacts carry an additional diagram_type: architecture, sequence, flowchart, erd, class_diagram, or state_diagram.

Key Fields

Field Purpose
kind note, attachment, comment, or diagram
diagram_type Sub-type when kind is diagram (architecture, sequence, flowchart, etc.)
title Optional title for the artifact
content Rich-text body — used by notes and comments
storage_path Where the uploaded file lives — used by attachments
file_metadata Map of file details: content type, size, original filename, and similar
status Lifecycle state: active, archived, or processing
pinned Whether the artifact is pinned to the top of its parent’s artifact list
visibility Access level: private, shared, or internal (default)
parent_type / parent_id The entity this artifact is attached to
organization_id Tenant scope

Attaching Artifacts to Any Entity

The parent_type / parent_id pair is what makes Artifacts polymorphic — a single Artifact resource can attach to any of these entity types:

This means the same commenting, note-taking, and file-attachment experience works consistently everywhere in Catalio, rather than each entity type building its own bespoke version.

Visibility

Every Artifact has a visibility level that controls who can see it:

  • internal (default) — visible to any member of the organization
  • shared — visible only to users or teams with a direct viewer, editor, or owner grant on the artifact
  • private — same access rule as shared; the distinction is about intent, not a separate access mechanism

Organization admins can always see every artifact regardless of visibility. Creating an artifact seeds an owner grant for the creator’s team via SetDefaultOwnership, so the creator’s team retains access even for shared or private artifacts. Visibility is enforced through these direct grants — not through your general OrganizationMember.role (admin/editor/contributor/viewer), which is a separate axis.

This is useful when a note is meant for a specific reviewer rather than the whole team, or when a comment thread should stay scoped to a working group.

Status Lifecycle

An Artifact’s status reflects where it is in its lifecycle:

active (default) — The artifact is live and visible in its parent’s artifact list.

archived — The artifact has been archived, useful for retiring outdated notes or superseded attachments without losing the history. Not deleted — and currently still shown alongside active artifacts in parent artifact lists; there’s no default-view filtering yet.

processing — The artifact is temporarily mid-operation. On an Application’s page, this disables the “re-analyze” action in the UI until the artifact returns to active; the Initiative view has a narrower check that blocks retrying a PRD-enrichment failure while processing, and there’s no domain-level rule enforcing this status for other operations. The current Document Extraction pipeline for Application and Initiative uploads doesn’t set this status on the artifact itself (see that article for what you’ll actually see while a document is being analyzed), so neither guard currently has an effect in practice.

Pinning

Setting pinned: true moves an Artifact to the top of its parent’s artifact list, ahead of everything else, sorted by recency. Use this for the note or attachment your team needs to see first — a pinned decision summary, a canonical architecture diagram, or a comment that resolves an open question.

Attachments and Analysis

Uploading an eligible attachment to an Application can trigger repository comparison and produce Change Proposals directly. Uploading an eligible attachment to an Initiative can trigger PRD enrichment instead; that path only produces Change Proposals after a separate Gap Analysis run. See Document Extraction for how both paths work.

Best Practices

Use the right kind for the job.

A quick clarifying remark belongs in a comment, not a note. Reserve note for content substantial enough to want its own title and formatting.

Pin sparingly.

Pinning is most useful when only one or two artifacts genuinely need to stand out. Pinning everything defeats the purpose.

Set visibility deliberately.

Default internal visibility is right for most team discussion. Reach for private or shared only when a note genuinely shouldn’t be visible to the whole org.

Archive instead of deleting.

If a note or attachment is outdated but might matter for history, archive it rather than deleting it. Deletion (especially for attachments) also removes the underlying stored file.

Give attachments descriptive titles.

“Vendor SOW — signed 2026-03” is more useful later than “Document 1,” both for your team and for anyone searching artifact titles.

Relationships at a Glance

Related Concept Relationship
Requirements Requirements (and most other entities) can have attached Artifacts
Applications Application attachments can feed automated document analysis
Initiatives Initiative attachments can feed automated document analysis
Change Proposals Automated analysis of an attachment can generate proposals
Document Extraction Describes the analysis pipeline attachments can trigger

Next Steps


Pro Tip: Artifacts work the same way everywhere in Catalio. Once you’ve used comments on a Requirement, you already know how to use them on an Initiative, a Journey, or a Persona — the experience doesn’t change per entity type.

Support

  • Documentation: Continue reading about Change Proposals and Document Extraction
  • Email: support@catalio.ai
  • Community: Share note-taking and comment workflows with other Catalio users