test_overseer_provenance_f7.py
python
sha256:42bc547653458bb15e283222247af0237872d9cb5c2a72ad2ca1c111ed2c0ca4
feat(9A-4 F7): overseer-run provenance enrichment API for S…
Human
minor
⚠ breaking
8 days ago
| 1 | """Unit tests — Phase 9A-4 F7 overseer-run provenance enrichment (issue #144).""" |
| 2 | |
| 3 | from __future__ import annotations |
| 4 | |
| 5 | import pytest |
| 6 | |
| 7 | from musehub.services import musehub_overseer_provenance as enrichment |
| 8 | |
| 9 | |
| 10 | def test_fixture_run_ref_returns_content_free_envelope() -> None: |
| 11 | payload = enrichment.get_overseer_run_provenance("flow_run:fixture-overseer-001") |
| 12 | |
| 13 | assert payload is not None |
| 14 | assert payload["schema"] == "musehub.overseer_run_provenance_envelope/v0" |
| 15 | record = payload["record"] |
| 16 | assert record["runRef"] == "flow_run:fixture-overseer-001" |
| 17 | assert record["reviewTrayOutcomeRef"] == "outcome:flow_run:fixture-overseer-001" |
| 18 | assert record["outcome"] == "pass" |
| 19 | assert record["untrusted"] is True |
| 20 | # content-free: no prompt/body fields |
| 21 | assert "prompt" not in record |
| 22 | assert "completion" not in record |
| 23 | |
| 24 | |
| 25 | def test_unknown_run_ref_returns_none() -> None: |
| 26 | assert enrichment.get_overseer_run_provenance("flow_run:missing-run") is None |
| 27 | |
| 28 | |
| 29 | def test_invalid_run_ref_returns_none() -> None: |
| 30 | assert enrichment.get_overseer_run_provenance("not-a-run-ref") is None |
| 31 | |
| 32 | |
| 33 | def test_gate_off_when_env_disabled(monkeypatch: pytest.MonkeyPatch) -> None: |
| 34 | monkeypatch.setattr( |
| 35 | enrichment.settings, |
| 36 | "musehub_overseer_provenance_enrichment_enabled", |
| 37 | "disabled", |
| 38 | ) |
| 39 | assert enrichment.is_overseer_provenance_enrichment_enabled() is False |
| 40 | |
| 41 | |
| 42 | def test_gate_on_when_env_enabled(monkeypatch: pytest.MonkeyPatch) -> None: |
| 43 | monkeypatch.setattr( |
| 44 | enrichment.settings, |
| 45 | "musehub_overseer_provenance_enrichment_enabled", |
| 46 | "enabled", |
| 47 | ) |
| 48 | assert enrichment.is_overseer_provenance_enrichment_enabled() is True |
| 49 | |
| 50 | |
| 51 | def test_seed_rejects_invalid_record() -> None: |
| 52 | bad = enrichment.OverseerRunProvenanceRecord( |
| 53 | run_ref="bad ref with spaces", |
| 54 | review_tray_outcome_ref="outcome:bad", |
| 55 | outcome="pass", |
| 56 | constitution_version="0.1.0", |
| 57 | agent_version_ref="agent:x", |
| 58 | worker_model_family="family:ollama", |
| 59 | checker_model_family="family:llama_cpp", |
| 60 | external_ref=None, |
| 61 | actor_hash="a" * 64, |
| 62 | produced_at="2026-07-09T12:00:00Z", |
| 63 | ) |
| 64 | with pytest.raises(ValueError, match="provenance_record_invalid"): |
| 65 | enrichment.seed_overseer_provenance_record(bad) |
File History
1 commit
sha256:42bc547653458bb15e283222247af0237872d9cb5c2a72ad2ca1c111ed2c0ca4
feat(9A-4 F7): overseer-run provenance enrichment API for S…
Human
minor
⚠
8 days ago