- Auto-expiry: expired events auto-end on GET /events via task manager - Height: _estimate_markdown_height adapted to unit=8px scale with padding detection - CRITICAL-1: removed dead import remove_chart_from_position (QA finding) - CRITICAL-2: added chart alive check in ensure_banner_chart (QA finding) - CRITICAL-3: fixed test assertions update_markdown_chart → update_banner_on_dashboard - @POST contract: fixed return range [2,12] → [19,200] - Tests: 8 new tests (auto-expiry + layout height)
31 lines
974 B
Python
31 lines
974 B
Python
# #region MaintenancePackage [C:1] [TYPE Package] [SEMANTICS maintenance, service, package]
|
|
# @BRIEF Maintenance Banner service package. Re-exports all public orchestrators and helpers.
|
|
# @LAYER Service
|
|
# @RELATION DEPENDS_ON -> [MaintenanceOrchestrators]
|
|
# @RELATION DEPENDS_ON -> [MaintenanceDashboardScanner]
|
|
# @RELATION DEPENDS_ON -> [MaintenanceBannerRenderer]
|
|
# @RELATION DEPENDS_ON -> [MaintenanceChartManager]
|
|
|
|
from ._banner_renderer import build_banner_text, rebuild_banner
|
|
from ._chart_manager import ensure_banner_chart
|
|
from ._dashboard_scanner import find_affected_dashboards
|
|
from ._orchestrators import (
|
|
build_idempotency_key,
|
|
end_all_maintenance,
|
|
end_maintenance,
|
|
start_maintenance,
|
|
)
|
|
|
|
__all__ = [
|
|
"build_banner_text",
|
|
"build_idempotency_key",
|
|
"end_all_maintenance",
|
|
"end_maintenance",
|
|
"ensure_banner_chart",
|
|
"find_affected_dashboards",
|
|
"rebuild_banner",
|
|
"start_maintenance",
|
|
]
|
|
|
|
# #endregion MaintenancePackage
|