merge: feat/9a-4-f7-overseer-provenance -> dev (musehub#144, closes proposal #9)
Brings the F7 overseer-run provenance enrichment API to dev, plus the HTTP-boundary test coverage that review identified as missing and aaronrene had already built on a separate, never-merged branch (feat/f7b-http-coverage).
- musehub/services/musehub_overseer_provenance.py: content-free enrichment lookup by portable flow_run:... ref; in-memory fixture store until durable tables land. - musehub/api/routes/musehub/overseer_provenance.py: GET /api/overseer-run-provenance/{run_ref}. Auto-discovered before the repos wildcard (existing alphabetical-with-repos-last convention) -- no include_router needed or applied, per aaronrene's correct pushback on that earlier (wrong) review suggestion. - musehub/config.py: musehub_overseer_provenance_enrichment_enabled, env-aliased to MUSEHUB_OVERSEER_PROVENANCE_ENRICHMENT, defaults disabled (fail-closed). - deploy/secrets.sh: writes the flag into .env per environment -- enabled on staging, disabled on production, matching the issue's staged-rollout intent. - tests/unit/test_overseer_provenance_f7.py: 6 unit tests against the service layer directly. - tests/unit/test_overseer_provenance_f7_http.py (from feat/f7b-http-coverage, never previously merged): 4 real TestClient(app) assertions -- prefixed path returns the full envelope, a percent-encoded ref (what the actual Scooling consumer sends) decodes correctly, an unknown ref 404s, and posture-off fails closed with zero record fields leaked into the 404 body. This is what actually proves the route-shadowing acceptance criterion (AC #1) end to end, not just by inspection.
Resolved the musehub/config.py::Settings conflict by hand: kept dev's current Settings (release_version, opengraph_renderer, and everything else added since this branch forked in July) and added the one new overseer-provenance field. 10/10 F7 tests pass; 95 tests across proposals/snapshot-anchors/authz-sweep/wire-push pass with zero regressions. Verified independently via app.openapi() that exactly one route is registered, correctly prefixed, no duplicates.
Semantic Changes
66 symbols
0 comments
muse hub commit comment sha256:9aec6ea7ec6f61aef690e4616ca3599c1e03b417883d821b2bd46010faa19db8 --body "your comment"
No comments yet. Be the first to start the discussion.