Infra: dogfood evidence aggregator cron job on rs2000 #29

Closed
opened 2026-05-05 03:01:40 +02:00 by claude · 0 comments
Collaborator

Infrastructure ticket (operator decision, 2026-05-05)

ADR 0008 (forthcoming edit) decided dogfood evidence collection is evidence-bounded, not time-bounded, with infrastructure dependency:

Operator's voice:

"Spokojnie możemy zapauzować i potem czytamy logi. Tylko pytanie czy mamy logi? Jeśli nie mamy logów, to musimy je zrobić jak najszybciej. (...) CronJob na rs2000 jest najlepszym rozwiązaniem i tylko na nim się powinniśmy opierać."

Scope

A cron job on rs2000 (operator's primary server, where Forgejo runs):

  1. Schedule: weekly (e.g., Sunday 04:00 — operator-attention-friendly)
  2. Action:
    • Fetch all completed pyfallow CI workflow runs across operator's repos integrated with pyfallow gate (pdurlej/platform, pdurlej/hermes-agency, pdurlej/iskra-openclaw, ...)
    • Download pyfallow-report.json artifacts from each
    • Aggregate findings into pyfallow-dogfood-weekly-YYYY-WW.md summary
    • Categorize by rule, by repo, by week-over-week trend
  3. Output destination: post as comment on pyfallow Forgejo issue tagged pyfallow-dogfood-evidence-inbox (separate issue, ever-open, see follow-up)
  4. Identity: cron runs as claude user (orchestrator role); uses claude PAT from rs2000 secrets store
  5. Platform integration: cron job lives in pdurlej/platform/control-plane/ if it makes sense as a platformctl subcommand, or in pyfallow as a separate package — operator decides

Why this matters

Without aggregation, evidence collection requires operator to manually scroll through 30+ CI artifacts after 8-12 weeks of dogfood. Friction = operator skips analysis = decision blind. Cron + aggregation = evidence delivered ready-to-read.

Implementation context

  • pyfallow CI workflow already produces structured pyfallow-report.json (schema agent_fix_plan.v1, see examples/ci/forgejo-actions.yml — and platform's own pyfallow workflow per platform PR #71)
  • Forgejo Actions API supports listing workflow runs and downloading artifacts (similar to how this issue was created via Forgejo API by claude)
  • Aggregation script: Python, uses requests or httpx, parses JSON artifacts, formats Markdown summary

Priority

Medium. Pre-requisite for the evidence-bounded dogfood window per ADR 0008. Without this, "wait for sufficient evidence" has no observability.

Phase

Out-of-band of Phase B/C — this is infrastructure for the dogfood window itself. Should land within first 2-3 weeks of dogfood window opening (i.e., before evidence really accumulates).

## Infrastructure ticket (operator decision, 2026-05-05) ADR 0008 (forthcoming edit) decided dogfood evidence collection is **evidence-bounded, not time-bounded**, with infrastructure dependency: Operator's voice: > "Spokojnie możemy zapauzować i potem czytamy logi. Tylko pytanie czy mamy logi? Jeśli nie mamy logów, to musimy je zrobić jak najszybciej. (...) CronJob na rs2000 jest najlepszym rozwiązaniem i tylko na nim się powinniśmy opierać." ## Scope A cron job on rs2000 (operator's primary server, where Forgejo runs): 1. **Schedule**: weekly (e.g., Sunday 04:00 — operator-attention-friendly) 2. **Action**: - Fetch all completed pyfallow CI workflow runs across operator's repos integrated with pyfallow gate (`pdurlej/platform`, `pdurlej/hermes-agency`, `pdurlej/iskra-openclaw`, ...) - Download `pyfallow-report.json` artifacts from each - Aggregate findings into `pyfallow-dogfood-weekly-YYYY-WW.md` summary - Categorize by rule, by repo, by week-over-week trend 3. **Output destination**: post as comment on pyfallow Forgejo issue tagged `pyfallow-dogfood-evidence-inbox` (separate issue, ever-open, see follow-up) 4. **Identity**: cron runs as `claude` user (orchestrator role); uses claude PAT from rs2000 secrets store 5. **Platform integration**: cron job lives in `pdurlej/platform/control-plane/` if it makes sense as a `platformctl` subcommand, or in pyfallow as a separate package — operator decides ## Why this matters Without aggregation, evidence collection requires operator to manually scroll through 30+ CI artifacts after 8-12 weeks of dogfood. Friction = operator skips analysis = decision blind. Cron + aggregation = evidence delivered ready-to-read. ## Implementation context - pyfallow CI workflow already produces structured `pyfallow-report.json` (schema `agent_fix_plan.v1`, see `examples/ci/forgejo-actions.yml` — and platform's own pyfallow workflow per platform PR #71) - Forgejo Actions API supports listing workflow runs and downloading artifacts (similar to how this issue was created via Forgejo API by `claude`) - Aggregation script: Python, uses `requests` or `httpx`, parses JSON artifacts, formats Markdown summary ## Priority Medium. Pre-requisite for the evidence-bounded dogfood window per ADR 0008. Without this, "wait for sufficient evidence" has no observability. ## Phase Out-of-band of Phase B/C — this is **infrastructure for the dogfood window itself**. Should land within first 2-3 weeks of dogfood window opening (i.e., before evidence really accumulates).
glm referenced this issue from a commit 2026-05-16 08:36:21 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pdurlej/fallow-py#29
No description provided.