From a6d5f1713b4fd5f85028d0bb80b9b5138fd5298b Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 14 May 2026 14:07:28 +0600 Subject: [PATCH] [2026-05-14] gha-ci-executor: add Prefect section, Asana task link, MM migration link --- work/plans/gha-ci-executor.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/work/plans/gha-ci-executor.md b/work/plans/gha-ci-executor.md index 87eda5cb..18b60b9e 100644 --- a/work/plans/gha-ci-executor.md +++ b/work/plans/gha-ci-executor.md @@ -176,6 +176,35 @@ GHA executor follows same pattern: - Generates fix prompt - GHA runner executes fix + validation +## Related + +- **Asana task: MM Bots**: https://app.asana.com/1/137249556945/project/908478224964033/task/1214799615211686 +- **Mattermost Migration Plan**: [[mattermost-migration]] + +## Prefect — Orchestration Layer (Jenkins for Claude Code) + +[Prefect](https://www.prefect.io/) as the workflow orchestration layer for GHA CI executor: + +- Prefect manages flow scheduling, retries, observability, and state persistence +- Each executor task = a Prefect flow: Analysis Agent → GHA trigger → monitor → result +- Eagle submits tasks to Prefect; Prefect handles retry logic, parallel runs, timeouts +- Prefect UI gives visibility into all executor runs (instead of Zulip-only status) +- Can replace or wrap the current cron-based executor tick +- Self-hosted Prefect server on Eagle or VPS (or Prefect Cloud free tier) + +**How it fits:** +``` +Eagle / Asana → Prefect flow submitted + ↓ + Prefect orchestrates: + 1. Analysis agent (Claude): read task, generate prompt + 2. Trigger GHA workflow via gh CLI + 3. Monitor GHA job status (poll or webhook) + 4. On complete: post result to Asana, notify Eagle + ↓ + Retry on failure, log all state +``` + ## Notes - GHA macos-15 runners do NOT have Xcode pre-cached — each run installs from scratch