30 lines
1.3 KiB
Markdown
30 lines
1.3 KiB
Markdown
# 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_id>/ 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 `<listing_id>-v<semver>`.
|
|
|
|
## Publish protocol
|
|
|
|
branch `listing/<listing_id>` → 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.
|