vcs_status.py python
32 lines 928 B
Raw
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1 docs: MuseHub-first before ISR #74 — staging solidify NEXT Human 23 hours ago
1 """Read-only VCS status via adapter (§K4.0)."""
2
3 from __future__ import annotations
4
5 from pathlib import Path
6
7 from adapters.config import OverseerConfig
8 from adapters.errors import ReadError
9 from adapters.factory import create_adapter
10 from adapters.runner import CommandRunner
11 from adapters.types import StatusResult
12
13
14 def read_vcs_status(
15 config: OverseerConfig,
16 repo_root: Path,
17 runner: CommandRunner,
18 ) -> StatusResult | ReadError:
19 """Call only ``adapter.status()`` for CLI commands."""
20 adapter = create_adapter(config, repo_root, runner=runner)
21 return adapter.status()
22
23
24 def vcs_report(result: StatusResult, config: OverseerConfig) -> dict:
25 """Build the frozen ``vcs`` object for status output."""
26 return {
27 "regime": result.regime,
28 "canonical": config.vcs.canonical,
29 "branch": result.branch,
30 "dirty": result.dirty,
31 "notes": list(result.notes),
32 }
File History 2 commits
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1 docs: MuseHub-first before ISR #74 — staging solidify NEXT Human 23 hours ago
sha256:4671b7f787ddbe63ced31c895b688c77ab495653b65a730b423329f26b3c1439 feat: K1-P1 complete — agent provenance, build-verification… Sonnet 4.6 patch 52 days ago