Files
activity-core/workplans/custodian-WP-0002-triggers-ops.md
tegwick 6f9132314f Add project scaffold: contracts, schemas, docker-compose, workplans
Phase 0 contracts (event envelope, ActivityDefinition, idempotency doc,
naming conventions) and Phase 1 Temporal cluster setup (docker-compose.dev.yml,
Temporal dynamic config) are complete. Includes Pydantic models, JSON schemas,
wiki architecture docs, and ADR-001 workplan files for both workstreams.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-04 22:45:40 +01:00

4.3 KiB
Raw Blame History

id, type, domain, repo, status, state_hub_workstream_id, tasks
id type domain repo status state_hub_workstream_id tasks
custodian-WP-0002 workplan custodian activity-core active 3a4f47d9-8bc1-434e-acb4-bed5d4dacda0
id title status state_hub_task_id
T22 Write schedule_manager.py todo e50550d1-9904-41d7-afd8-492a1f1e91b8
id title status state_hub_task_id
T23 Bootstrap script to sync schedules on startup todo 5a1f7fa3-acb9-4f60-9892-c9eaa120272e
id title status state_hub_task_id
T24 Handle misfire policy in schedule config todo 00231668-95c5-447f-b3d0-1fb8c20b487f
id title status state_hub_task_id
T25 Test schedule pause/resume lifecycle todo 7abfd375-ea9d-4209-8371-e5664dc2c6c4
id title status state_hub_task_id
T26 Implement Event Router service todo 68b6610b-159c-4f1c-92a9-7128efea0961
id title status state_hub_task_id
T27 Implement routing rules (event.type + filters → activity_ids) todo 9348efea-a7e9-4f92-b866-8fc82cf28fee
id title status state_hub_task_id
T28 Start/signal workflow from Event Router todo cac1f45a-7391-471a-9566-97cdbd96eb2d
id title status state_hub_task_id
T29 Integration test — publish event → observe workflow run todo 7f10b5a3-7cad-4914-b603-d57508c85629
id title status state_hub_task_id
T30 REST API (FastAPI) — CRUD for ActivityDefinition todo b27e54a1-5dcc-476d-8f4a-c995aea6a8c2
id title status state_hub_task_id
T31 Wire Temporal SDK metrics to Prometheus todo 0eafb60c-f00e-4fd7-a921-7de75fcfe81e
id title status state_hub_task_id
T32 Tag workflows with activity_id for Temporal visibility search todo 7bdfc5c2-1f06-4fce-aac3-fae036dcb47e
id title status state_hub_task_id
T33 Write operational runbook todo 766d602d-1b23-4247-a46d-03c0d3b8e498

activity-core Triggers & Ops

Workstream: activity-core Triggers & Ops Hub ID: 3a4f47d9-8bc1-434e-acb4-bed5d4dacda0 Depends on: custodian-WP-0001 (Foundation — Temporal Backbone)

Purpose

Add automated triggering (time-based via Temporal Schedules and event-driven via Event Router), a REST admin API, Prometheus metrics, and an operational runbook. Transforms the manually-triggered backbone from WP-0001 into a self-operating service.

Open decisions (resolve before Phase 5)

  • Event broker choice (hub: bc47c9c2-5643-4a88-8114-601738a2f64e): Kafka vs NATS vs RabbitMQ. T26T29 are blocked until this is resolved.

Phase 4 — Time-Based Triggers (Temporal Schedules)

Task Priority Hub task ID
T22: Write schedule_manager.py medium e50550d1-9904-41d7-afd8-492a1f1e91b8
T23: Bootstrap script to sync schedules on startup medium 5a1f7fa3-acb9-4f60-9892-c9eaa120272e
T24: Handle misfire policy in schedule config medium 00231668-95c5-447f-b3d0-1fb8c20b487f
T25: Test schedule pause/resume lifecycle medium 7abfd375-ea9d-4209-8371-e5664dc2c6c4

Phase 5 — Event-Driven Triggers

Blocked by broker decision (bc47c9c2-5643-4a88-8114-601738a2f64e).

Task Priority Hub task ID
T26: Implement Event Router service medium 68b6610b-159c-4f1c-92a9-7128efea0961
T27: Implement routing rules (event.type + filters → activity_ids) medium 9348efea-a7e9-4f92-b866-8fc82cf28fee
T28: Start/signal workflow from Event Router medium cac1f45a-7391-471a-9566-97cdbd96eb2d
T29: Integration test — publish event → observe workflow run medium 7f10b5a3-7cad-4914-b603-d57508c85629

Phase 6 — Observability & Admin

Task Priority Hub task ID
T30: REST API (FastAPI) — CRUD for ActivityDefinition low b27e54a1-5dcc-476d-8f4a-c995aea6a8c2
T31: Wire Temporal SDK metrics to Prometheus low 0eafb60c-f00e-4fd7-a921-7de75fcfe81e
T32: Tag workflows with activity_id for Temporal visibility search low 7bdfc5c2-1f06-4fce-aac3-fae036dcb47e
T33: Write operational runbook low 766d602d-1b23-4247-a46d-03c0d3b8e498

Completion criteria

Schedules fire RunActivityWorkflow automatically on cron cadence. An external event published to the broker reaches the correct ActivityDefinition end-to-end. ActivityDefinitions are manageable via REST API. Prometheus metrics are scraped. Runbook is written.