diff --git a/src/hyrule_engineering_loop/daemon.py b/src/hyrule_engineering_loop/daemon.py index d4273c7..ea829ce 100644 --- a/src/hyrule_engineering_loop/daemon.py +++ b/src/hyrule_engineering_loop/daemon.py @@ -50,6 +50,7 @@ "AS215932/hyrule-mcp", "AS215932/noc-agent", "AS215932/hyrule-network-proxy", + "AS215932/as215932.net", ) REPO_CHECKOUT_NAMES: dict[str, str] = { @@ -60,6 +61,7 @@ "hyrule-web": "hyrule-web", "hyrule-mcp": "hyrule-mcp", "hyrule-network-proxy": "hyrule-network-proxy", + "as215932.net": "as215932.net", } LABEL_CHANGE_CLASSES: dict[str, ChangeClass] = { diff --git a/src/hyrule_engineering_loop/repo_adapter.py b/src/hyrule_engineering_loop/repo_adapter.py index cae9107..92e1b0e 100644 --- a/src/hyrule_engineering_loop/repo_adapter.py +++ b/src/hyrule_engineering_loop/repo_adapter.py @@ -55,16 +55,17 @@ def discover_hyrule_repositories(workspace_root: str | Path | None = None) -> di """Discover AS215932 sibling git checkouts. The production loop workspace includes the existing ``hyrule-*`` app repo - convention plus the dedicated ``engineering-loop`` checkout and the - infrastructure checkout, usually named ``hyrule-infra`` (with - ``network-operations`` accepted for operator-local workspaces). + convention plus the dedicated ``engineering-loop`` checkout, the AS/routing + identity repository ``as215932.net``, and the infrastructure checkout, + usually named ``hyrule-infra`` (with ``network-operations`` accepted for + operator-local workspaces). """ root = Path(workspace_root).expanduser().resolve() if workspace_root else default_workspace_root() repos: dict[str, Path] = {} if not root.exists(): raise RepoAdapterError(f"repo workspace root does not exist: {root}") - for pattern in ("hyrule-*", "engineering-loop", "network-operations"): + for pattern in ("hyrule-*", "engineering-loop", "as215932.net", "network-operations"): for candidate in sorted(root.glob(pattern)): if candidate.is_dir() and (candidate / ".git").exists(): repos[candidate.name] = candidate.resolve() diff --git a/tests/test_phase24_daemon.py b/tests/test_phase24_daemon.py index 9c141dd..938c5ce 100644 --- a/tests/test_phase24_daemon.py +++ b/tests/test_phase24_daemon.py @@ -212,6 +212,7 @@ def test_repo_name_for_issue_maps_core_repo_checkout_names() -> None: "AS215932/hyrule-mcp": "hyrule-mcp", "AS215932/noc-agent": "hyrule-noc-agent", "AS215932/hyrule-network-proxy": "hyrule-network-proxy", + "AS215932/as215932.net": "as215932.net", } for repo, checkout in cases.items(): item = IntakeItem( diff --git a/tests/test_phase8_repo_adapter.py b/tests/test_phase8_repo_adapter.py index 8066be8..fba245f 100644 --- a/tests/test_phase8_repo_adapter.py +++ b/tests/test_phase8_repo_adapter.py @@ -145,6 +145,7 @@ def test_discovery_includes_engineering_loop_and_infra_checkout_names(tmp_path: _init_repo(workspace_root / "hyrule-infra") _init_repo(workspace_root / "hyrule-cloud") _init_repo(workspace_root / "network-operations") + _init_repo(workspace_root / "as215932.net") discovered = discover_hyrule_repositories(workspace_root) @@ -153,4 +154,5 @@ def test_discovery_includes_engineering_loop_and_infra_checkout_names(tmp_path: "hyrule-infra", "hyrule-cloud", "network-operations", + "as215932.net", }