vcs_status.py python
32 lines 928 B
Raw
sha256:c07f2f34a0db9f43fe866f157d1935322008545ff8940c06c7c921eb219c55ab NXP-b DONE: independent BV-r2 pass + ISR (SD-17) Human minor ⚠ breaking 3 days 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 1 commit
sha256:c07f2f34a0db9f43fe866f157d1935322008545ff8940c06c7c921eb219c55ab NXP-b DONE: independent BV-r2 pass + ISR (SD-17) Human minor 3 days ago