CONTRIBUTE is WORK recorded. Every contribution ledgered. Every WORK mints COIN.
The minimal contribution record MUST support:
`` POST /contribute scope: string (required — governed scope key) contributor: string (required — from auth gate) email: string (required — for receipt) work: string (required — the contribution) source: string (optional — provenance)
Response: ok: true id: content hash ts: ISO 8601 coin_event: “MINT:CONTRIBUTE” entries: total ledger count
GET /contribute?scope=X limit: int (default 50, max 200) offset: int (default 0)
Response: scope: string total: int entries: array ``
Every contribution enters the ledger as BRONZE evidence (timestamped, immutable). Before extraction to git (GOLD), contributions MUST pass curation.
SUBMITTED → REVIEWED → VERIFIED | FLAGGED → EXTRACTED | REJECTED
Every CONTRIBUTE record projects to LEARNING:
CONTRIBUTE → LEARNING.md pattern row:
Date | CONTRIBUTION_RECEIVED | {contributor} submitted to {scope} | contribute:{id}
MUST be chain-verifiable (id + prev hash chain). MUST be append-only. SHOULD permit independent verification without secrets.
| *CONTRIBUTE | SPEC | SERVICES* |