Repository navigation
Session Handoff [default]: Four Follow-Ups Landed and Released as 2.0.826, Downstream Adoption Next #2361
Copy link
Copy link
Open
Labels
handoffA link in the session handoff chain, one open issue per trackA link in the session handoff chain, one open issue per track
Description
Next steps, in priority order
Re-read each issue and pull request rather than trusting these summaries.
- Downstream adoption of the two releases. 2.0.822 and 2.0.826 carry the merge-bot
closedevent,test-matrix, the livecommentslabel read, and the uvx YAML reader. Each step needs a fresh write grant for its repository.- Add closed to the Merge-Bot Stub Types of Adopters Setting delete-branch #2336: five adopters add
closedto their merge-bot stubtypes. - homeassistant-purpleair adopts
test-matrix(Add a Dependency-Version Matrix Axis to validate-task.yml for the Gates Stage #2334) for Decide How to Adopt the Hub's Reusable Release Chain homeassistant-purpleair#365. - Every carrier trails the hub's skills. Re-carry them with the next resync rather than one repository at a time.
- Add closed to the Merge-Bot Stub Types of Adopters Setting delete-branch #2336: five adopters add
- Grant pull-requests: read So the Live comments Label Read Reaches Private Repositories #2354: grant
pull-requests: readso the live label read reaches private repositories. Today a private repository logs the fallback line and keeps A comments Label Applied by gh pr create Misses the Event That Starts the First Run #1703's behavior. The grant must land in each downstream stub before that repository's pin reaches the change, so roll it out with the resync in step 1. - Let an Unattended Handoff Run the Strict-Review Pass for a Worker That Cannot Dispatch #2342: the digest-handback line in
unattended-handoff's return table, per the maintainer's answer recorded on the issue. - Small follow-ups filed this round: Bound the In-Process Composite-Actions Read Against an Alias-Expanded Step Name or Shell #2357 (the in-process composite-actions read can hang on an alias-expanded step
nameorshell) and Read Action Files or Name the Cause When UV_NO_CACHE Removes the Resolved PyYAML Interpreter #2358 (theUV_NO_CACHEhost finding names a vanished path, plus an untested probe-start failure). - Close the Remaining CommonMark Gaps in prose_lint's Sentence-Length Block Parser #2341, low value. Keep a hard scope cap.
External blockers
- Write grants: every downstream step needs a fresh per-repository grant.
- Let an Unattended Worker File a Wording-Only Finding Past the Two-Round Cap Instead of Parking #2353 is a
decisionissue (the wording-only exception to the two-round cap), filed by the HomeAutomation-Config session. This round added its data as a comment. - A native Windows host is still needed for the
bootstrap.ps1check (Session Handoff [default]: WORKFLOW.md Corrections and the pyproject.toml Decision Released as 2.0.672 #1804). The uvx reader's-I -X utf8behavior on Windows was reasoned about, not run.
Internal dependencies
- Grant pull-requests: read So the Live comments Label Read Reaches Private Repositories #2354 and the step-1 resync go together. A stub that does not grant
pull-requests: readfails at startup once its pin reaches a lint job that declares it. - Bound the In-Process Composite-Actions Read Against an Alias-Expanded Step Name or Shell #2357 and Read Action Files or Name the Cause When UV_NO_CACHE Removes the Resolved PyYAML Interpreter #2358 both touch
repo_gate.py's composite-actions read. Take them in one lane, or in sequence.
State
- Hub:
mainis atf75f9b52, through promotion Promote develop to main: Live comments Label Read, uvx YAML Reader, and Review Digest Tolerance #2360.- Releases today: 2.0.822 (from Promote develop to main: Composite Action Linting, Ref-Scoped Publisher Concurrency, and Review Digest Fixes #2349) and 2.0.826 (from Promote develop to main: Live comments Label Read, uvx YAML Reader, and Review Digest Tolerance #2360).
developis atcf053cb5.- There are no open hub pull requests, and the primary checkout is on
develop, current and clean. - This round's worktrees and its local and remote branches are all removed. Re-derive with
git worktree list. - This machine's Skills snapshot reads current at
f75f9b52.
- Unattended lanes untouched:
auto-2176,auto-2167,auto-2157,auto-2080,python-contract. - Other repositories written: none.
The parked decision queue
One issue carries the decision label: #2353. It was filed today by another session and presented when this link was written.
What the last round did
- Released 2.0.822 from Promote develop to main: Composite Action Linting, Ref-Scoped Publisher Concurrency, and Review Digest Fixes #2349 (the previous round's promotion).
- Merged into develop, then promoted as Promote develop to main: Live comments Label Read, uvx YAML Reader, and Review Digest Tolerance #2360: Assert the Fallback Fetch URL in hub-fetch-run.py's Tests #2352 (Assert the Fallback Fetch URL in hub-fetch-run.py's Tests #2339), Tolerate a Per-Field workflowRun Error in the Check Query #2355 (Tolerate a Per-Field workflowRun Error in pr_review.py's Check Query #2338), Read the Comments Label Live Rather Than off the Event Payload #2356 (A comments Label Applied by gh pr create Misses the Event That Starts the First Run #1703), Provision the Composite-Actions Check's YAML Parser Through uvx #2359 (Provision the Composite-Actions Check's YAML Parser Deterministically #2348).
- Filed: Grant pull-requests: read So the Live comments Label Read Reaches Private Repositories #2354, Bound the In-Process Composite-Actions Read Against an Alias-Expanded Step Name or Shell #2357, Read Action Files or Name the Cause When UV_NO_CACHE Removes the Resolved PyYAML Interpreter #2358. Data was added to Let an Unattended Worker File a Wording-Only Finding Past the Two-Round Cap Instead of Parking #2353, and a probe-start test gap was added to Read Action Files or Name the Cause When UV_NO_CACHE Removes the Resolved PyYAML Interpreter #2358.
- Maintainer decisions:
- Read the Comments Label Live Rather Than off the Event Payload #2356 stays at
contents: read, so the live read is public-only and private repositories follow in Grant pull-requests: read So the Live comments Label Read Reaches Private Repositories #2354. - Three lanes that hit the two-round cap each got one bounded fix, and a final pass whose findings were filed rather than fixed.
- Read the Comments Label Live Rather Than off the Event Payload #2356 stays at
- A dispatcher-run strict pass on every push caught two security regressions before any push:
- A
cwdfix that ran the child in the shared/tmpunderhub-fetch-run.py. - A
sys.pathstrip that Python 3.13+'s pre-runlinecacheimport bypasses. - Provision the Composite-Actions Check's YAML Parser Through uvx #2359 settled on
python -I -X utf8for both children.
- A
What not to repeat
- Defending a
python -cchild by setting its working directory. The gate can run from a temp file, so the "trusted" directory was/tmp. Isolated mode (-I -X utf8) is the fix, and the tests intests/test_repo_gate.pyplantlinecache.pyfor that reason. - A JSON round trip of a whole YAML tree. It expands shared aliases and diverges on key types. Project only the fields the check reads.
- A per-file
uvxcall. A uvx failure then repeats per file, and a timeout orphans uv's child. Resolve the interpreter once and run the reader as a direct child. - Trusting a worker's full SHA. One READY report carried a fabricated full SHA beside a correct abbreviation. Read the head live before merging.
New learnings
- Cap data and the case for one bounded edit in every finding class are on Let an Unattended Worker File a Wording-Only Finding Past the Two-Round Cap Instead of Parking #2353.
- The process-level lessons are in this link's "What not to repeat", and the code carries its tests. Nothing here needed governance prose.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
handoffA link in the session handoff chain, one open issue per trackA link in the session handoff chain, one open issue per track
Activity
ptr727 commentedon Oct 4, 2026
Parked decision queue answered at session close: #2353 took the deletion-only exemption to local-strict-review's two-round cap, which applies to attended and unattended seats alike. Its
decisionlabel is removed, and it stays open as the work to write the rule into local-strict-review's budget bullet. The queue now holds zero issues.