format.py
python
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1
docs: MuseHub-first before ISR #74 — staging solidify NEXT
Human
3 days ago
| 1 | """Format pending governance gates for CLI surfaces (§KH1.9).""" |
| 2 | |
| 3 | from __future__ import annotations |
| 4 | |
| 5 | from tools.governance_gates.types import GateScanResult, PendingGate |
| 6 | |
| 7 | |
| 8 | def format_pending_gate_lines(result: GateScanResult) -> tuple[str, ...]: |
| 9 | """Human-readable lines for status and governance-sync footers.""" |
| 10 | if result.suppressed: |
| 11 | return ("governance-gates: reminders suppressed (Tier 2)",) |
| 12 | if not result.pending: |
| 13 | return ("governance-gates: none pending in active slice",) |
| 14 | lines = ["Pending governance gates:"] |
| 15 | for gate in result.pending: |
| 16 | lines.append(_format_gate(gate)) |
| 17 | lines.append("Reminders only — acknowledge or invoke; silence is not pass.") |
| 18 | return tuple(lines) |
| 19 | |
| 20 | |
| 21 | def pending_gates_payload(result: GateScanResult) -> dict: |
| 22 | """JSON-serializable pending gates for ``overseer status --json``.""" |
| 23 | return { |
| 24 | "enabled": result.enabled, |
| 25 | "suppressed": result.suppressed, |
| 26 | "active_phases": list(result.active_phases), |
| 27 | "pending": [ |
| 28 | { |
| 29 | "gate_id": gate.gate_id, |
| 30 | "phase_id": gate.phase_id, |
| 31 | "artifact": gate.artifact, |
| 32 | "message": gate.message, |
| 33 | "invoke": gate.invoke, |
| 34 | } |
| 35 | for gate in result.pending |
| 36 | ], |
| 37 | } |
| 38 | |
| 39 | |
| 40 | def _format_gate(gate: PendingGate) -> str: |
| 41 | artifact = f" ({gate.artifact})" if gate.artifact else "" |
| 42 | return f"- {gate.gate_id}: {gate.phase_id}{artifact} — {gate.message}; invoke: {gate.invoke}" |
File History
2 commits
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1
docs: MuseHub-first before ISR #74 — staging solidify NEXT
Human
3 days ago
sha256:4671b7f787ddbe63ced31c895b688c77ab495653b65a730b423329f26b3c1439
feat: K1-P1 complete — agent provenance, build-verification…
Sonnet 4.6
patch
54 days ago