# m2/market-registry — M2 Marketplace registry of record Truth for marketplace listings and ledger audit snapshots. Everything downstream (the `market:catalog` semantic index, the M2 Store, the `m2-market` CLI) is DERIVED from this repo and rebuildable from it. Contract: `m2-market` repo, `specs/001-market-first-wedge/contracts/registry-layout.md`. ## Layout ``` listings// listing.json + solution.json + evidence/ audit/YYYY-MM-DD.json daily ledger balance snapshots (m2-ledger /snapshot) schemas/ MIRROR of the frozen v1 schemas (source of truth: m2-market repo) scripts/validate.py validation used by CI and locally ``` Solution bundles attach as repo releases tagged `-v`. ## Publish protocol branch `listing/` → PR (template enforces evidence/price/permissions/rollback) → CI validation (hard gate) → human review window → label `veto` = rejected, label `approved` + merge = published. Delist = PR setting `status: "delisted"` (licenses stay valid). ## Rules - No secrets, ever. Evidence is scrubbed before commit. - Tenant-derived listings require owner-initiated + double-scrub attestations in the PR body. - On index divergence the registry wins: `m2-market-indexer reindex` rebuilds the catalog.