3.7 KiB
3.7 KiB
Verification — 001-market-first-wedge
Date: 2026-07-02 · Verifier: orchestrator (Claude Fable, factory loop) · State: master c52f968+
Success criteria (spec.md)
| SC | Status | Evidence |
|---|---|---|
| SC-001 one real paid install between two operators | ✅ PASSED | m2bd bought sdjs-operator's lst_mm-pdf-report (40 cr) on m2bd-m2o, 2026-07-02T02:15:53Z. Ledger: m2bd 100→60, sdjs-operator 100→136, platform +4. Grant gr_3697fd… → paying tx 8. Skill applied + entrypoint executable. |
| SC-002 ≥3 evidence-backed listings | ⏸ PARTIAL (2/3) | lst_mm-pdf-report, lst_agent-scaffold published via PR+approve+merge with real evidence. Third BLOCKED on operator (T031: no real competitor-scan evidence exists; email-triage substitute needs owner-initiation + double-scrub). |
| SC-003 100% installs have tx + grant; zero applies without debit | ✅ | Live ledger: every apply preceded by /tx/install (409 duplicate-ref guard); property tests (no grant without paying tx); audit snapshots audit/2026-07-02.json in m2/market-registry. |
| SC-004 derived balances == fold(log) | ✅ | Hypothesis state machine (50 examples × 25 steps) + live snapshot recomputation. Refund-overdraw recorded as an accepted economic rule (data-model §Transaction). |
| SC-005 search→installed <10 min | ✅ | Gate install: 0.88 s wall (plus seconds of search/confirm). |
| SC-006 Scout v0 ≥1 correct proposal on canary | ⏳ OPEN | Spike done (T041, DECISION: Hermes plugin); v0 implementation T042–T044 pending. |
| SC-007 install telemetry queryable as evidence | ✅ | Gate install outcome in market:evidence (id e87d0516…); CLI now auto-posts (T045, fire-and-forget). |
Quickstart scenarios
| Scenario | Status | Notes |
|---|---|---|
| A publish with evidence (+negative) | ✅ | PRs #1/#2 → CI validate → approved → merged → discoverable. Negative: evidence-stripped bundle → exit 5 with field-precise error. |
| B funded install | ✅ | The SC-001 gate run. |
| C refusal / idempotency / refund | ✅ | Unfunded operator → exit 3, no side effects. Re-run → no-op exit 0, no second debit. Refund: live-proven by the first gate attempt (bind-mount guard bug) — compensating pair tx 6/7 restored buyer to 100 before retry. |
| D ledger audit properties | ✅ | 9 ledger tests green; two committed snapshots (commits bc5e00b, d550f85). |
| E catalog rebuildability | ✅ | Fresh-partition rebuild (market:catalog-e2e) from registry returned identical results; runbook documents the switch (memory-api has no delete — as-built amendment recorded). |
| F Store on canary | ⏳ OPEN | M2 Store BUILT (cargstore m2-store branch: catalog source, install backend shelling the CLI, detail page, rebrand; AppImage builds). Canary deploy = T040. |
| G Scout on canary | ⏳ OPEN | After T042–T044. |
Known gaps / follow-ups
- T031 third seed — operator decision (email-triage commercialization or alternative).
- T040 Store canary deploy (chris-m2o, gunnar-m2o) + Scenario F.
- T042–T044 Scout v0 as a Hermes plugin per scout/SPIKE.md + Scenario G.
- Publish status flow (analyze I2): merge doesn't auto-flip
status: published— manual step documented in runbook until automated. - memory-api partition CRUD (fedlearn T13 follow-up) unlocks true in-place reindex, listing updates, and delist removal.
- m2bd-m2o runs the pre-telemetry CLI build; operators get T045 telemetry on next
uv tool install --forceupdate.
Verdict
The wedge's commercial loop is CLOSED and verified (SC-001). Remaining work is surface expansion (Store deploy, Scout v0), one operator decision (third seed), and recorded platform follow-ups — none block the gate.