# GH#20633 — Decompose parent #20622 into phase children

Worker-ready issue body at https://github.com/marcusquinn/aidevops/issues/20633

Auto-generated by `auto-decomposer-scanner.sh` (t2442) after parent #20622 carried the `parent-task` label past its decomposition nudge age threshold without a human response.

## Decomposition outcome

Parent #20622's `## How` section already specified four phases. Each phase was lifted into a standalone tier:standard child issue with verbatim file paths, reference patterns, verification commands, and acceptance criteria. No LLM paraphrasing — the phase text was structured and actionable as written.

### Filed children

| Phase | Issue | Task ID | Summary |
|-------|-------|---------|---------|
| 1 | #20642 | t2772 | route `pulse-*.sh` gh reads through REST-fallback wrappers |
| 2 | #20658 | t2773 | route reconcile sub-stages through `pulse-prefetch-cache.json` |
| 3 | #20660 | t2775 | per-repo `pulse_interval` throttle for contributor-role repos |
| 4 | #20661 | t2776 | consolidate reconcile sub-stages into single-pass iterator |

Phase 1 pre-existed (filed interactively before the auto-decomposer ran). Phases 2–4 were filed by the worker handling this issue.

### Dispatch order

- **Phase 1 and Phase 3 are independent** — can ship in parallel.
- **Phase 2 must ship before Phase 4** — Phase 4 consolidates the cache-read pattern that Phase 2 introduces.
- **Phase 2 and Phase 3 are independent** — can ship in parallel.

Task counter t2774 was burned by a mid-claim timeout during Phase 3's first allocation attempt — no issue materialised; ID is reserved in the counter history but unused. This is a harmless artefact; the counter stays monotonic.

## Parent body update

Parent #20622's body now has a `## Children` section listing all four children. Once all four merge, `reconcile_completed_parent_tasks` in `pulse-issue-reconcile.sh` will auto-close the parent.

## PR keyword compliance

This PR uses `Resolves #20633` to close the auto-generated decomposer issue. Parent #20622 is referenced via `Ref #20622` — NOT a closing keyword — per the t2046 parent-task PR keyword rule. The parent stays open until all four phase children merge.

## Files Scope

- `todo/tasks/GH#20633-brief.md` (this file)
