potiuk opened a new pull request, #424: URL: https://github.com/apache/airflow-steward/pull/424
## Summary Every status-update-emitting skill (sync, import, allocate, dedupe, fix) folds its update into one rollup comment per tracker via the recipe in `tools/github/status-rollup.md`. The recipe currently walks the agent through: fetch the comment body, concatenate `<old body>` + ruler + new entry, PATCH the comment. That loops the **full rollup body** — which grows monotonically on long-running trackers — through agent context on every sync pass. `tools/github-rollup/` is the same shape as #412's `github-body-field`: a stdlib + `gh` subprocess wrapper that keeps the body out of agent context. ``` github-rollup append <N> --action "<label>" --entry-body "..." github-rollup list <N> github-rollup latest <N> ``` - `append` auto-detects whether the issue already has a rollup comment (via the marker prefix `<!-- airflow-s status rollup v`); creates one if not, PATCHes the existing one if yes. - `--now ISO8601`, `--user @handle`, and `--dry-run` flags support deterministic replay tests and pre-flight checks. ## Parser robustness The pure parser in `src/github_rollup/rollup.py` is a small state machine that: - recognises the rollup marker prefix (forward-compatible with future v2+ bumps), - iterates `<details><summary>YYYY-MM-DD · @user · Action</summary>...</details>` entries in document order, - preserves entries whose summary doesn't follow the canonical shape (returned with blank fields so round-trip stays safe), - tolerates missing close tags + trailing whitespace. ## Test plan - [x] **35 unit tests** — parser edge cases (multi-entry, missing marker, non-canonical summary, missing close tag) and CLI orchestration (append-existing, create-new, dry-run create vs append, user override, list, latest, exit-code contract). - [x] `prek run --all-files` — all 11 workspace hooks green - [x] `check-workspace-members` — picks up the new tool automatically (verified by the post-#419 guard) - [x] `skill-and-tool-validate` — capability declared, doc row added - [ ] CI: workspace pytest + lychee The migration of the 5+ call sites that currently reference `tools/github/status-rollup.md` § 2a will follow in subsequent PRs once the tool's behaviour is verified in practice. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
