Skip to content

Artifact Metadata

An artifact is any output produced by the factory: a vision document, a domain model, a service blueprint, a generated source file, a test suite, an IaC program, a pull request, a deployment manifest, or a documentation site. Every artifact carries the metadata defined here so it can be traced to its origin, versioned, classified, and reused.

Operating principle

Everything reusable becomes a module. Everything produced becomes an artifact. Everything meaningful emits an event. Everything learned enters the knowledge graph.

Artifact identity

{
  "artifactId": "art-domainmodel-7c",
  "artifactType": "DomainModel",
  "name": "Reservations Domain Model",
  "tenantId": "connectsoft",
  "projectId": "proj-booking-saas",
  "moduleId": "module-reservations-api",
  "version": "1.4.0",
  "contentHash": "sha256:9f86d081...",
  "producedByAgentId": "ConnectSoft.Agent.DomainModeler",
  "producedBySkillId": "ConnectSoft.Skill.GenerateDomainModel",
  "traceId": "trace-9f1c2b7d",
  "sourceBlueprintId": "bp-service-reservations",
  "storageRef": "blob://artifacts/connectsoft/proj-booking-saas/art-domainmodel-7c/1.4.0",
  "classification": "Internal",
  "createdAt": "2026-06-11T00:00:00Z",
  "status": "Validated"
}

Field contract

Field Purpose
artifactId Stable identity across versions.
artifactType One of the factory artifact types (see below).
name Human-readable label.
version Semantic version; immutable once published.
contentHash Content-addressable hash of the artifact body; powers dedup and diff.
producedByAgentId / producedBySkillId Lineage to the agent and skill that produced it.
traceId Lifecycle trace the artifact belongs to.
sourceBlueprintId The blueprint that drove generation.
storageRef Pointer to the bytes (Azure Blob), source control (Git), or registry.
classification Sensitivity class (see below).
status Draft, Generated, Validated, Rejected, Published, Superseded.

Artifact types

Category Types
Vision & product VisionDocument, ProductPlan, Roadmap
Architecture ContextMap, DomainModel, ServiceBlueprint, EventContract, ApiContract, ADR
Code SourceFile, Microservice, Worker, Library, UiComponent, MobileApp
Quality TestSuite, TestCase, CoverageReport, SecurityFinding
Delivery Commit, PullRequest, PipelineDefinition, DeploymentManifest, InfrastructurePlan, ContainerImage
Operations Dashboard, Runbook, DocumentationSite

Lineage

Artifact lineage is a first-class graph in the Knowledge Platform. Each artifact records what it was derived from and what derives from it.

flowchart LR
    Vision["VisionDocument"] --> Plan["ProductPlan"]
    Plan --> ContextMap["ContextMap"]
    ContextMap --> Domain["DomainModel"]
    Domain --> ServiceBp["ServiceBlueprint"]
    ServiceBp --> Source["SourceFile(s)"]
    Source --> PR["PullRequest"]
    PR --> Manifest["DeploymentManifest"]
    Manifest --> Runtime["Running Module"]
Hold "Alt" / "Option" to enable pan & zoom

The Artifact Lineage Browser in Factory Studio renders this graph for any artifact, so an architect can answer "where did this come from and what depends on it?".

Versioning and immutability

  • Published artifact versions are immutable; a change produces a new version with a Superseded link to the prior one.
  • contentHash lets the Knowledge Platform skip re-embedding unchanged content and lets the Template & Library Platform detect drift.

Classification

Class Meaning Handling
Public Shareable externally (e.g. marketplace listing) No redaction.
Internal Internal factory/tenant use Standard tenant isolation.
Confidential Sensitive business content Access via Memory Access Policy.
Secret Credentials/keys Never stored as artifacts; only references via Key Vault.

Classification is assigned by the Knowledge Platform MemoryClassificationService and enforced by MemoryAccessPolicy before any artifact is returned in a context package.