__init__.py python
35 lines 977 B
Raw
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1 docs: MuseHub-first before ISR #74 — staging solidify NEXT Human 3 days ago
1 """Overseer Kit VCS adapters — config loading and backend factory."""
2
3 from __future__ import annotations
4
5 from pathlib import Path
6
7 from adapters.config import load_config
8 from adapters.errors import ConfigError
9 from adapters.factory import create_adapter
10 from adapters.runner import CommandRunner
11
12 __all__ = [
13 "CommandRunner",
14 "ConfigError",
15 "create_adapter",
16 "load_config",
17 ]
18
19 SUPPORTED_CONFIG_VERSION = 1
20 SUPPORTED_REGIMES = frozenset({"muse+git-mirror", "muse-only", "git-only"})
21
22
23 def load_adapter(
24 repo_root: Path,
25 config_path: Path | None = None,
26 runner: CommandRunner | None = None,
27 ):
28 """Load config and return the regime-appropriate VCS adapter.
29
30 Fail-closed: missing/unparseable config, unknown version, or unknown regime
31 raises ``ConfigError``.
32 """
33 path = config_path or (repo_root / ".overseer" / "config.yaml")
34 config = load_config(path)
35 return create_adapter(config, repo_root.resolve(), runner=runner)
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 55 days ago