# Artifact Reference — Satoshium Certifier Ops Toolkit

This document describes each artifact type, its purpose, field structure, and generation source.

---

## 1. Certification Package JSON (`certification_package.json`)

**Role:** Canonical certification object. All other artifacts are derived from this file.  
**Source:** Written by the certifier. Initialized from `package-templates/certification_package.json`.  
**Generated by:** `scripts/new_certification.py`

### Top-Level Fields

| Field | Required | Description |
|---|---|---|
| `certification_id` | ✅ | Unique ID (e.g. `SC-CERT-2026-0000`) |
| `schema_version` | ✅ | Version of the certification schema |
| `issued_date` | ✅ | Date issued (YYYY-MM-DD) |
| `effective_date` | — | Date certification takes effect |
| `expiry_date` | — | Expiry date (if applicable) |
| `status` | ✅ | `PENDING`, `CERTIFIED`, `REJECTED`, `SUSPENDED`, or `WITHDRAWN` |
| `certifier` | ✅ | Object: `id`, `name`, `role`, `contact` |
| `subject` | ✅ | Object: `id`, `name`, `type`, `description`, `version`, `repository` |
| `standard` | ✅ | Object: `id`, `name`, `version`, `reference_url` |
| `methodology` | ✅ | Object: `id`, `name`, `version`, `description` |
| `scope` | ✅ | Object: `summary`, `inclusions[]`, `exclusions[]` |
| `outcome` | ✅ | Object: `status`, `summary`, `determination_date`, `conditions[]` |
| `evidence_references` | ✅ | Array of evidence items |
| `related_artifacts` | — | IDs for SCPR, SCR, SCRD, SREG, SCHR, ANCH, SATR |
| `notes` | — | Free-text notes |
| `metadata` | ✅ | Object: `created_by`, `created_at`, `last_modified_by`, `last_modified_at`, `tags[]` |

---

## 2. Certification Package Markdown (`certification_package.md`)

**Role:** Human-readable summary of the canonical certification package.  
**Generated from:** `certification_package.json`  
**Generator:** `src/generator.py → gen_certification_package_md()`

Contains all fields from the Certification Package in a formatted Markdown table layout with sections for Subject, Certifier, Standard, Methodology, Scope, Outcome, Evidence, Notes, and Metadata.

---

## 3. SCPR Markdown (`scpr.md`)

**Role:** Satoshium Certification Progress Report — a progress-oriented view of the certification.  
**Generated from:** `certification_package.json`  
**Generator:** `src/generator.py → gen_scpr_md()`

Highlights current status, progress summary, evidence item count, and a space for outstanding items.

---

## 4. SCR Markdown (`scr.md`)

**Role:** Satoshium Certification Record — a concise formal record of the certification.  
**Generated from:** `certification_package.json`  
**Generator:** `src/generator.py → gen_scr_md()`

Contains Subject, Certifier, Standard, Outcome, and Evidence summary in a structured Markdown format suitable for record-keeping.

---

## 5. SCRD HTML (`scrd.html`)

**Role:** Satoshium Certification Record Document — a styled, self-contained HTML rendering.  
**Generated from:** `certification_package.json`  
**Generator:** `src/generator.py → gen_scrd_html()`

A standalone HTML file (no external dependencies) suitable for sharing, archiving, or printing. Status badges are color-coded by outcome.

---

## 6. SCRD JSON (`scrd.json`)

**Role:** Satoshium Certification Record Document in machine-readable JSON format.  
**Generated from:** `certification_package.json`  
**Generator:** `src/generator.py → gen_scrd_json()`

A structured JSON representation of the formal certification record, including subject, certifier, standard, outcome, and evidence count.

---

## 7. Evidence Inventory JSON (`evidence_inventory.json`)

**Role:** Structured inventory of all evidence items referenced in the certification.  
**Generated from:** `certification_package.json → evidence_references[]`  
**Generator:** `src/generator.py → gen_evidence_inventory_json()`

Each item carries: `evidence_id`, `title`, `type`, `description`, `location`, `format`, `hash`, `collected_date`, `collected_by`, `status`, `notes`.

---

## 8. Evidence Map Markdown (`evidence_map.md`)

**Role:** Narrative map of all evidence items with structured details.  
**Generated from:** `certification_package.json → evidence_references[]`  
**Generator:** `src/generator.py → gen_evidence_map_md()`

Presents each evidence item as a section with a metadata table, suitable for review or reporting.

---

## 9. SREG Registry Entry JSON Stub (`sreg_stub.json`)

**Role:** Stub for submission to the Satoshium Registry (SREG).  
**Generated from:** `certification_package.json`  
**Generator:** `src/generator.py → gen_sreg_stub()`

Pre-filled with known values from the package; fields marked `PLACEHOLDER` must be completed before Registry submission.

---

## 10. SCHR Chronicle Record JSON Stub (`schr_stub.json`)

**Role:** Stub for submission to the Satoshium Chronicle (SCHR).  
**Generated from:** `certification_package.json`  
**Generator:** `src/generator.py → gen_schr_stub()`

Pre-filled with subject and certifier IDs; chronicle-specific fields remain as placeholders.

---

## 11. ANCH Anchor Reference JSON Stub (`anch_stub.json`)

**Role:** Stub for anchoring the certification record (ANCH).  
**Generated from:** `certification_package.json`  
**Generator:** `src/generator.py → gen_anch_stub()`

Anchor hash, target, timestamp, and reference URL remain as placeholders to be filled after anchoring.

---

## 12. SATR Attestation Record JSON Stub (`satr_stub.json`)

**Role:** Stub for submission to the Satoshium Attestor (SATR).  
**Generated from:** `certification_package.json`  
**Generator:** `src/generator.py → gen_satr_stub()`

Pre-filled with subject and certifier IDs; attestor-specific fields (attestor ID, statement, signature) remain as placeholders.

---

## 13. Release Checklist Markdown (`release_checklist.md`)

**Role:** Pre-release artifact completeness checklist.  
**Generated from:** `certification_package.json`  
**Generator:** `src/generator.py → gen_release_checklist_md()`

Lists all 13 expected artifacts with checkboxes, validation steps, and pre-release sign-off items.

---

## Status Values

| Value | Meaning |
|---|---|
| `PENDING` | Certification process is in progress; outcome not yet determined |
| `CERTIFIED` | Certification granted |
| `REJECTED` | Certification denied |
| `SUSPENDED` | Certification temporarily suspended |
| `WITHDRAWN` | Certification withdrawn |
