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"]
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
versionwith aSupersededlink to the prior one. contentHashlets 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.