Skip to content

Commit b9d4296

Browse files
committed
refactor(status): move status contract projection into bounded module
1 parent 87dfc6f commit b9d4296

2 files changed

Lines changed: 39 additions & 11 deletions

File tree

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
"""Status contract projection inside the `status` bounded context."""
2+
3+
from __future__ import annotations
4+
5+
from typing import Any
6+
7+
from ..work_items.status_contract import (
8+
build_contract_health_projection as _build_contract_health_projection,
9+
build_status_contract as _build_status_contract,
10+
)
11+
12+
13+
STATUS_CONTRACT_SCHEMA_VERSION = 2
14+
MINIMUM_DASHBOARD_STATUS_CONTRACT_SCHEMA_VERSION = 2
15+
STATUS_CONTRACT_RELOAD_HINT = "scripts/macos-dashboard-launchagent.sh restart"
16+
STATUS_CONTRACT_SIGNAL_LIMIT = 3
17+
18+
19+
def build_status_contract() -> dict[str, Any]:
20+
return _build_status_contract(
21+
schema_version=STATUS_CONTRACT_SCHEMA_VERSION,
22+
minimum_dashboard_schema_version=MINIMUM_DASHBOARD_STATUS_CONTRACT_SCHEMA_VERSION,
23+
reload_hint=STATUS_CONTRACT_RELOAD_HINT,
24+
)
25+
26+
27+
def build_contract_health_projection(contract: dict[str, Any]) -> dict[str, Any]:
28+
return _build_contract_health_projection(
29+
contract,
30+
signal_limit=STATUS_CONTRACT_SIGNAL_LIMIT,
31+
)

loopx/status.py

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -275,10 +275,6 @@
275275
from .control_plane.runtime.stale_latest_run import (
276276
stale_latest_run_projection_warning as _stale_latest_run_projection_warning_read_model,
277277
)
278-
from .control_plane.work_items.status_contract import (
279-
build_contract_health_projection as _build_contract_health_projection_read_model,
280-
build_status_contract as _build_status_contract_read_model,
281-
)
282278
from .control_plane.todos.todo_summary import (
283279
MAX_DEFERRED_TODO_VISIBILITY_ITEMS as _TODO_SUMMARY_MAX_DEFERRED_TODO_VISIBILITY_ITEMS,
284280
MAX_DEPENDENCY_BLOCKERS as _TODO_SUMMARY_MAX_DEPENDENCY_BLOCKERS,
@@ -2941,19 +2937,20 @@ def compact_run(run: dict[str, Any]) -> dict[str, Any]:
29412937

29422938

29432939
def build_status_contract() -> dict[str, Any]:
2944-
return _build_status_contract_read_model(
2945-
schema_version=STATUS_CONTRACT_SCHEMA_VERSION,
2946-
minimum_dashboard_schema_version=MINIMUM_DASHBOARD_STATUS_CONTRACT_SCHEMA_VERSION,
2947-
reload_hint=STATUS_CONTRACT_RELOAD_HINT,
2940+
from .control_plane.status.contract_projection import (
2941+
build_status_contract as _build_status_contract,
29482942
)
29492943

2944+
return _build_status_contract()
2945+
29502946

29512947
def build_contract_health_projection(contract: dict[str, Any]) -> dict[str, Any]:
2952-
return _build_contract_health_projection_read_model(
2953-
contract,
2954-
signal_limit=STATUS_CONTRACT_SIGNAL_LIMIT,
2948+
from .control_plane.status.contract_projection import (
2949+
build_contract_health_projection as _build_contract_health_projection,
29552950
)
29562951

2952+
return _build_contract_health_projection(contract)
2953+
29572954

29582955
def build_status_runtime_summary_context() -> StatusRuntimeSummaryContext:
29592956
return StatusRuntimeSummaryContext(

0 commit comments

Comments
 (0)