MINT

MINT

MINT:WORK bridges LEDGER to WALLET. Every .idf gradient mints COIN.

INTEGRATION POINT

Integration Point

git commit → pre-commit hook → magic commit <GOV> GIT (creates .idf, returns gradient + idf_id) → if gradient > 0: vault mint --user <USER> --amount <gradient> (MINT:WORK) → if gradient < 0: vault drift --user <USER> --amount <abs> (DEBIT:DRIFT) → if identity unresolved: WARN to stderr — LEDGER recorded, WALLET skipped

GRADIENT RULE

Gradient Rule

gradient = to_bits - from_bits MINT:WORK amount = gradient (when gradient > 0) DEBIT:DRIFT amount = abs(gradient) (when gradient < 0) gradient = 0 → no COIN minted (no marginal work)

The amount MUST be the delta (gradient), NOT the absolute score. A commit to a 255-scope that changes nothing produces gradient=0 and mints zero COIN. Only marginal governance improvement earns COIN.

EVENT SHAPE

Event Shape

{ "id": "<12-char SHA256>", "prev": "<previous event id or 000000000000>", "ts": "<ISO 8601 UTC>", "event": "MINT:WORK | DEBIT:DRIFT", "user": "<USER principal>", "amount": <abs(gradient)>, "delta": <gradient (signed)>, "work_ref": "idf:<16-char hex idf_id>", "service": "LEDGER", "product": "WORK", "note": "git-commit:<domain>", "signature": "<Ed25519 hex>" }

RUNNER TASK MINTING

RUNNER Task Minting

RUNNER task completions mint COIN at fixed rates per task category:

`` RUNNER task completed with evidence → vault mint –user --amount --task-ref "RUNNER::" → e.g. vault mint --user ROBERT --amount 3 --task-ref "RUNNER:SIGNS:1234-lake-nona-blvd" `

Task-Ref Format

` work_ref: “task:RUNNER::" `

Dedup: scan USER TIMELINE for existing event where work_ref` matches. If found, skip.

COIN per Category

CategoryCOIN
SIGNS3
LOCKBOX3
SHOWING5
CMA5
OPEN_HOUSE8
STAGING8
PHOTOS10
INSPECTION10
APPRAISAL10
TITLE10
CONTRACT15
CLOSING25
IDENTITY MAPPING

Identity Mapping

`` ~/.canonic/VAULT/USERS/{USER}/identity.json { “user”: “", "git_emails": ["", ...], "git_names": ["", ...], "linkedin": "", "kyc": "GITHUB | LINKEDIN | BOTH", "created_at": "<ISO 8601>" } `

Resolution (git): vault resolve-git-user –email --name → prints USER or exits 1.

Resolution (RUNNER): vault resolve-user –linkedin → prints USER or exits 1. Falls back to --user ` direct lookup.

Distributed users (e.g. DEXTER/USERS/robert-glover/) may have no git identity. LinkedIn serves as primary KYC anchor until GitHub is established.

IDEMPOTENCY

Idempotency

Before minting, scan USER TIMELINE for existing event where work_ref contains the idf_id (git) or task-ref (RUNNER). If found, skip silently.

RECONCILIATION

Reconciliation

vault reconcile walks the full LEDGER chain and reports unreconciled .idf entries (LEDGER COIN not yet in WALLETs). Optional –backfill flag mints missing entries.

*MINT SPEC SERVICES*
TALK AUTO