Commit graph

5 commits

Author SHA1 Message Date
91ca883ccb chore: untrack __pycache__/pyc/uv.lock, extend gitignore
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 03:50:25 +02:00
83cda680d2 wedge: T026 integration tests (real ledger via uvicorn, real bundle, temp HOME)
Written inline after two headless workers died on API errors. Tests caught a
real cross-slice bug: ledger grants stored the full install ref as listing_id,
breaking GET /license/{op}/{listing} — fixed by parsing the listing prefix per
the ref convention in contracts/ledger-api.md. Also pinned the indexer test's
schema path (venv-installed package resolved outside the repo) — its earlier
pass was vacuous without jsonschema installed. 27 tests green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 03:34:21 +02:00
68f3544513 wedge: US1 wave 2 converged (T012/T015/T021/T023-T025) + fix m2core-sync class name
Verified on master: 14 tests green (schemas+cli+indexer); ledger API exercised
end-to-end via TestClient (grant admin-only, install 200/409/402, refund
restores balance, auth 401); adapter factory resolves local + raises
RailsNotLanded on the stub.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 03:02:28 +02:00
1d10589cef T015: catalog indexer (reindex + watch)
Registry (Forgejo) + memory-api clients under m2_market_indexer.client, with
memory-api paths/creds as env-overridable constants (config.py). reindex.py
drops market:catalog and rebuilds from published listings on main, skipping
schema-invalid ones. watch.py polls the registry tip commit against a cached
state.json and upserts changed/new published listings, deletes delisted ones.
2026-07-02 02:51:30 +02:00
ec98e294a7 wedge(T001-T003): monorepo skeleton, uv workspaces, ruff+pytest config
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 02:19:47 +02:00