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]

Reply via email to