# Artifact Contract

> The file contract for docs/architecture/. Use when writing or checking SYSTEM.md, WORKFLOW.md, SOP.md, architecture.json, prices.json, eval cases, or a verification receipt. Names required files, stamp line, and evidence pointer shape.

- Skill: `frankxai/artifact-contract` (Agent Skill)
- Install (CLI): `npx skillmds@latest add frankxai/artifact-contract`
- Raw SKILL.md: https://api.skillmd.com/api/skills/frankxai/artifact-contract/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: frankxai (https://skillmd.com/u/frankxai)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/frankxai/artifact-contract

---


# Artifact contract

The only output of this team is the tree under `docs/architecture/` in the
customer's repository.

## Required files (complete run)

- `SYSTEM.md`
- `WORKFLOW.md`
- `SOP.md`
- `00-frame.md`
- `01-discovery.md`
- `02-user-flows.md`
- `03-experience-blueprint.md`
- `04-roi.md`
- `05-trust-boundary.md`
- `07-runbook.md`
- `06-evals/rubric.md`
- `06-evals/cases.jsonl`
- `prices.json`
- `architecture.json`
- at least one `adr/ADR-####-<slug>.md`
- at least one `receipts/<YYYY-MM-DD>-verify.md`
- `review.md`

## Stamp

Every generated markdown file must contain this exact line:

`Generated by AI Architect · https://www.frankx.ai/ai-architect`

## Evidence pointers

An evidence pointer is one of:

1. `path/to/file.ts:L42`
2. a fenced command followed by `→` and the observed output

A pointer to a conversation, a person, or another generated document is not
evidence. Checkers in `scripts/check-artifacts.mjs` and `scripts/check-roi.mjs`
enforce the mechanical parts of this contract.

## architecture.json

Schema id: `ai-architect.architecture.v1`

- `decisions.{model,loop,trust,run}` each have `verdict` (`MADE`|`OPEN`) and `evidence`
- every `OPEN` decision has `deferral_cost`
- `planes.{experience,observability,evaluation,orchestration,tools,context,model}` each have `owner`
- `gates["gate.*"]` have `status` (`PASS`|`FAIL`|`SKIPPED`) and `evidence` array

## prices.json

Schema id: `ai-architect.prices.v1`. Every row has `source_url` and `retrieved_at`
within 90 days. No invented percentages. The literal string `IRR` is forbidden.

## Overwrite rule

Never overwrite an existing artifact. Write `<name>.proposed.md` beside it.
The only in-place updates are `architecture.json` (router + principal-architect)
and `review.md` (verifier).

