feat: consume Repo Manager classification publisher
Some checks failed
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / pytest-smoke (push) Failing after 1s

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a053ff-1d6f-7fe2-ac1c-a6eb40a42a0c
This commit is contained in:
tegwick 2026-09-01 00:49:30 +02:00
parent b2f430ffb1
commit f582773f5a
6 changed files with 201 additions and 3 deletions

View file

@ -28,12 +28,20 @@ class RuntimeSettings:
mcp_transport: str = "http"
database_url: str | None = None
api_token: str | None = None
repo_manager_base_url: str | None = None
repo_manager_api_token: str | None = None
repo_manager_timeout_seconds: float = 10.0
repo_projection_refresh_seconds: float = 300.0
v2_groups: frozenset[str] = frozenset()
v2_write_groups: frozenset[str] = frozenset()
legacy_write_groups: frozenset[str] = frozenset()
legacy_health: bool = False
def __post_init__(self) -> None:
if self.repo_manager_timeout_seconds <= 0:
raise ValueError("Repo Manager timeout must be positive")
if self.repo_projection_refresh_seconds < 0:
raise ValueError("repository projection refresh interval must not be negative")
overlap = self.v2_write_groups & self.legacy_write_groups
if overlap:
joined = ", ".join(sorted(overlap))
@ -61,6 +69,14 @@ class RuntimeSettings:
mcp_transport=os.getenv("HUB_CORE_MCP_TRANSPORT", "http"),
database_url=os.getenv("HUB_CORE_DATABASE_URL") or os.getenv("DATABASE_URL"),
api_token=os.getenv("HUB_CORE_API_TOKEN") or os.getenv("CORE_HUB_API_TOKEN"),
repo_manager_base_url=os.getenv("HUB_CORE_REPO_MANAGER_BASE_URL"),
repo_manager_api_token=os.getenv("HUB_CORE_REPO_MANAGER_API_TOKEN"),
repo_manager_timeout_seconds=float(
os.getenv("HUB_CORE_REPO_MANAGER_TIMEOUT_SECONDS", "10")
),
repo_projection_refresh_seconds=float(
os.getenv("HUB_CORE_REPO_PROJECTION_REFRESH_SECONDS", "300")
),
v2_groups=_env_set("HUB_CORE_V2_GROUPS"),
v2_write_groups=_env_set("HUB_CORE_V2_WRITE_GROUPS"),
legacy_write_groups=_env_set("CORE_HUB_V2_WRITE_GROUPS"),