Skip to content

Session Handoff [default]: Unattended Handoff Loop, Skill Renames, and the Fleet Version-Literal Sweep Merged to Develop #1817

Closed

Description

@ptr727

Next steps, in priority order

Re-read each issue and pull request rather than trusting these summaries.

  1. Live-test the unattended loop. In a fresh session on develop, run unattended-handoff at scope develop with a two-round cap. Then run "resume the handoff" to see how a parked lane comes back. Done looks like both rounds returning a well-formed line, and unattended-handoff: adopted lesson issues stall, and the promotion STOP matches any decision issue #1812's two follow-ups settled or re-scoped by what the run shows.
  2. repo-worktree's hook step installs into the git hooks dir every worktree shares #1816, the worktree hook-install defect. repo-worktree's hook step installs into the git hooks directory every linked worktree shares. That is what broke Financial-Modeling's commits. Done looks like the skill checking the common hooks directory first and never installing from a linked worktree, plus gh-write-guard denying a commit-time core.hooksPath override.
  3. Promote develop to main once the maintainer asks. Develop carries Add an Unattended Handoff Loop and an Attended Resume Procedure #1806 through Ban Every Version Literal in the Four Instruction Documents and Catch Abbreviated SHAs #1813: the unattended loop, the attended resume procedure, the skill renames, the recommendation and closing-order rules, and the version-literal rule and audit check.
  4. Carry the code-review skill bootstrap to seven repos whose Copilot reviews never state coverage #1815: carry the code-review skill bootstrap and the .github/skills tree into the seven repos listed there, so Copilot states coverage on their pull requests.
  5. This round's smaller follow-ups: unattended-handoff: adopted lesson issues stall, and the promotion STOP matches any decision issue #1812 (after step 1), Durable Knowledge does not say where a lesson goes when no change is open #1811, audit.py --issue path never prints the no-remote hub-name warning #1810, Skill files hard-wrap while comment-and-doc-style requires one paragraph per line #1814.
  6. Carried unchanged from Session Handoff [default]: WORKFLOW.md Corrections and the pyproject.toml Decision Released as 2.0.672 #1804, in its order: the native-Windows check of bootstrap.ps1, then close Bootstrap registers its temporary tree as the live Claude Code skills source, then deletes it #1756; Keep an Owned Tree Recognizable When Its Final Directory Removal Fails #1795, then Name the Leftover Old Tree When the Bash Loader Cannot Remove It #1790, Drive the PowerShell Loader's Kept-Tree Functions from the Test Suite #1791, Lock the Bootstrap Directory for a Kept-Tree Run #1792; Gate Every Repository's Python on Its Code, Not on Its Config #1800 (settle its three decisions with the maintainer before any edit, with Spec: python.profile.detect does not describe a virtual uv workspace root #1778 folded in); The menu's skills task registers a clone it then removes #1771, then Re-point a Claude Code registration an older bootstrap left dangling #1769; Say Where the Deploy-Site Task Actually Requires the SSH Key #1801; Declare the Default Workflow Token Permission in the Repository Settings Payload #1783; A regex pins a phrase inside a # comment, so rewrapping that comment fails the test with a false explanation #1732, then skills_install --report follow-ups: stamp-less live report, bootstrap remedy text, --intended guard test #1759, skills_install source_ref hides ignored files and trusts an enclosing git repo #1758, skills_install --report's live channel does not check that the plugin is installed and enabled #1757; A stacked pull request's diff reopens after the parent squash-merges, and nothing documents it #1742, Session Handoff [default]: One Issue Closed Whose Premise Was Wrong, and a Release #1735, Converge Financial-Modeling with the hub baseline (32 findings) #1579, The widened configuration shape misses the unspaced key=value an environment file writes #1717, issue-ref reads no URL outside instruction text, so an own-repository tracker URL in code is banned and unreported #1719; lower, Two skills describe the live skills channel only as a git checkout #1772, A kept skills tree edited by hand still stamps clean #1775, Nothing tests the bootstrap loaders' kept-tree swap sequence #1767, Two concurrent bootstrap runs can remove each other's tree #1764, install-skills.ps1 fails under a directory whose path contains a wildcard character #1765.

External blockers

Internal dependencies

State

The parked decision queue

Empty. No open issue carries the decision label. This round put these questions to the maintainer and recorded each answer:

  1. Park an unattended lane under the blocked label, widened to cover a decision issue in the same repository.
  2. The unattended merge scope: develop by default, main or release when named at invocation.
  3. Promotion under the main scope: promote whatever develop holds.
  4. Settle the lesson-routing churn by pointing at Durable Knowledge and filing its gap as Durable Knowledge does not say where a lesson goes when no change is open #1811.
  5. Make "recommendation first with its reason" and "save memories last" apply to every session.
  6. Rename code-review, operational-vs-release-workflow, and fleet-conformance-check, and add a winner sentence to each trigger overlap.
  7. The version-literal end state: no three-part version or SHA in the four instruction documents, examples written with placeholders, minimum versions named by the manifest or skill that holds them.
  8. HomeAssistant-Config's PSScriptAnalyzer pin moves into a checked-in script.
  9. Waive stated coverage for five doc-only sweep PRs in repositories without the code-review bootstrap, and fix the cause in Carry the code-review skill bootstrap to seven repos whose Copilot reviews never state coverage #1815.

What the last round did

What not to repeat

  • Scripted edits with Python read_text/write_text flatten CRLF. They broke ESPHome-NonRoot's and KiCadLibrary's AGENTS.md and cost a red lint and a fix commit in each. Use bytes I/O, or check the base's endings first.
  • Writing a rule broader than its check. The first version-literal rule said "an instruction document" and "any version literal", while the audit read four files and three-part versions. That cost two review rounds. Write the rule as the check enforces it.
  • Enumerating a warning's effects, or restating a governed form inside a skill. The no-remote warning drew a new finding on every wording that listed consequences. The lesson issue's option form drifted from the governance rule until the skill pointed at the rule instead.
  • New prose under local strict review does not converge. Add an Unattended Handoff Loop and an Attended Resume Procedure #1806 took about eight passes, and Lead Every Choice With a Recommendation and Close Every Session in Order #1808's lesson step flip-flopped between two passes. The two-round budget, then escalating or pointing at the owning rule, is what ended each loop.
  • A bare git push from a worktree branched from origin/develop is read by the write guard as a push to develop. Push with an explicit <branch>:<branch> refspec.
  • gh pr create --fill fails outside the repository's own checkout. Pass --title and --body. Subagents' gh pr create in two repositories was blocked by the auto-mode classifier, while nine were not, so hand the maintainer the exact command rather than retrying.
  • The subagent sweep brief must name placeholder spellings. Two repositories chose v1.0.N and two chose vX.Y.Z for the same sentence, and aligning them took an extra commit per repository.

New learnings

Activity

  1. added
    handoffA link in the session handoff chain, one open issue per track
    on Sep 25, 2026
  2. ptr727 commented on Sep 25, 2026

    @ptr727
    OwnerAuthor

    Continued in #1828, round 34 on track default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    handoffA link in the session handoff chain, one open issue per track

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions