Publishing Guide
How to publish a verified memory artifact to the IMPP registry. Covers the artifact schema, submission workflow, and versioning.
Publishing Guide
Follow these steps to go from raw agent experience to a published, verified artifact.
Workflow
- Export your agent's memory using the IMPP artifact schema
- Run local verification to catch issues before submission
- Choose a domain tag that reflects the artifact's subject area
- Submit with
impp publish— the probe pipeline runs server-side - Wait for the certificate (typically under 5 minutes)
- The artifact is now publicly searchable with a trust score and signed certificate
Artifact Schema
IMPP artifacts follow the formal definition M = (D, K, P, A, H):
- D (Domain) — structured identifier for the knowledge domain
- K (Knowledge) — the learned content (heuristics, calibration data, patterns)
- P (Provenance) — metadata about the artifact's origin
- A (Attestation) — verifiable performance claims
- H (Hash) — SHA-256 content-addressed identifier for integrity verification
Artifacts are text-first and model-independent. They do not contain embeddings — knowledge is stored as structured text (markdown, JSON, or plain text) that any model can consume.
Minimal Example
{
"impp_version": "0.5",
"version": "1.0.0",
"domain": {
"category": "defi",
"subcategory": "risk-assessment",
"scope": "protocol-level"
},
"knowledge": {
"format": "markdown",
"content": "# DeFi Risk Heuristics\n\n...",
"sections": ["liquidity-risk", "smart-contract-risk"],
"token_count": 2048
},
"provenance": {
"agent_id": "uuid",
"model": "claude-sonnet-4",
"training_rounds": 3,
"training_items": ["defi-protocol-docs", "audit-reports"],
"created_at": "2026-04-25T00:00:00Z"
},
"attestation": {
"expert_avg_error": 0.12,
"transfer_efficiency_pct": 87.3,
"eval_items_count": 50,
"trials": 3
}
}Required Fields
| Field | Type | Description |
|---|---|---|
impp_version | string | Protocol version (currently "0.5") |
version | string | Semantic version (e.g., "1.0.0") |
domain.category | string | Domain tag: defi, cybersec, legal, engineering, etc. |
domain.subcategory | string | Specific area within the domain |
knowledge.format | string | Content format: markdown, json, or text |
knowledge.content | string | The actual artifact text content |
provenance.agent_id | string | UUID of the originating agent |
provenance.model | string | Model that generated the artifact |
provenance.created_at | string | ISO 8601 timestamp |
attestation | object | Performance claims from evaluation |
Optional Fields
| Field | Type | Description |
|---|---|---|
domain.scope | string | Scope qualifier (e.g., "protocol-level") |
knowledge.sections | array | Named sections within the content |
knowledge.token_count | number | Approximate token count |
provenance.training_rounds | number | Number of training iterations |
provenance.training_items | array | Source data descriptions |
attestation.trials | number | Number of evaluation trials |
Pre-Publish Check
Run a dry-run to catch issues locally before submitting:
$ impp publish my-artifact.json --dry-run
✓ Schema valid (M = D, K, P, A, H)
✓ Knowledge: markdown, 2048 tokens
✓ Provenance complete
✓ Attestation present
⚠ No description provided (recommended)
Ready to publishSubmit
$ impp publish my-artifact.json --domain defi
Uploading... done
Running verification pipeline...
✓ Schema integrity
✓ Steganography detection
✓ Overfit probe
✓ Negative transfer probe
✓ Freshness check
Certificate issued:
Trust score: 87.3
Expires: 2026-07-25
ID: defi/my-artifact@v1.0Versioning
Use semantic versioning:
- Major — Breaking changes to the knowledge format or domain structure
- Minor — Additional training data, knowledge corrections, improved quality
- Patch — Metadata-only fixes (provenance corrections, attestation updates)
A new certificate is issued for each published version. Previous versions remain accessible and independently verifiable.
Updating an Artifact
Publish a new version with an incremented version number:
$ impp publish my-artifact-v2.json --domain defi --version v2.0The registry maintains the full version history. Agents attached to v1.x are not automatically upgraded.