mirror of
https://github.com/Sea-Haven-Industries/apm-wo-analysis.git
synced 2026-09-30 06:33:14 +00:00
Stand up the Phase 0 CDK scaffold for the daily APM work-order analysis pipeline: two-stack CDK app (pipeline + grafana), classifier and slack-post Lambda packages, dashboards-as-code, the local drop-folder uploader, and a classifier smoke-test placeholder. Wire CI/CD to the org reusable workflows: ci.yaml -> ci-python-sam (ruff + cdk synth) and deploy.yaml -> cd-cdk (OIDC, cdk deploy --all). Pin aws-cdk-lib==2.253.1; Lambdas target Python 3.12 / arm64. Rewrite .gitignore to the org Python-CDK standard so the source-of- truth files (CLAUDE.md, docs/, .claude/agents) are tracked while build artifacts (.venv, cdk.out, caches) stay ignored. Domain logic, stack resources, and dashboards are stubbed and filled in across Phases 1-5 (docs/BUILD.md). cdk synth is green for both stacks; ruff check/format pass.
23 lines
984 B
Python
23 lines
984 B
Python
"""Block Kit builders for the daily summary post and the 3rd-escalation alert.
|
|
|
|
Two push surfaces, no App Home (see CLAUDE.md "Slack surfaces"):
|
|
- daily summary: header, vs-yesterday deltas, escalation + action/routine
|
|
fields, top sites, mismatch callout, and a 📊 Open dashboard link button to
|
|
Grafana. Long WO lists go in modals, never the channel (<100-block limit).
|
|
- 3rd-escalation alert: standalone, batched, one @here — suppressed entirely
|
|
on zero-3rd days (return None).
|
|
|
|
Owned by the slack-blockkit-designer agent; built in Phase 4 (docs/BUILD.md).
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
def build_daily_summary(today: dict, yesterday: dict | None) -> list[dict]:
|
|
"""Build the daily summary blocks (with vs-yesterday deltas). (Phase 4)"""
|
|
raise NotImplementedError
|
|
|
|
|
|
def build_escalation_alert(today: dict) -> list[dict] | None:
|
|
"""Build the batched 3rd-escalation alert, or None when count is 0. (Phase 4)"""
|
|
raise NotImplementedError
|