types.py python
30 lines 696 B
Raw
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1 docs: MuseHub-first before ISR #74 — staging solidify NEXT Human 3 days ago
1 """Types for governance gate reminders (§KH1.9)."""
2
3 from __future__ import annotations
4
5 from dataclasses import dataclass
6
7
8 @dataclass(frozen=True)
9 class PendingGate:
10 """One pending governance gate detected by read-only scan."""
11
12 gate_id: str # freeze_review | build_verification | handover_paste
13 phase_id: str
14 artifact: str | None
15 message: str
16 invoke: str
17
18
19 @dataclass(frozen=True)
20 class GateScanResult:
21 """Outcome of scanning roadmap + handover for pending gates."""
22
23 enabled: bool
24 suppressed: bool
25 pending: tuple[PendingGate, ...]
26 active_phases: tuple[str, ...]
27
28 @property
29 def has_pending(self) -> bool:
30 return bool(self.pending)
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