Skip to content

Session Handoff [default]: Skills Installer Report Survives a NUL-Byte Path, Released as 2.0.777 #2194

Closed

Description

@ptr727

Next steps, in priority order

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

  1. Give install-tools.sh a Machine-Readable Report Mode, So a Caller Can Act on It Without Screen-Scraping #1645, a machine-readable --report mode for install-tools and skills_install. It is promoted ahead of the order Session Handoff [default]: Unattended Picker Narrowed and Overview Label Refusal Fixed, Released as 2.0.776 #2190 set. A peer HomeAutomation-Config session reported that its Ship branch rulesets as versioned JSON and add them to the re-sync / drift-check loop #211 is blocked on it: that issue reports host tools that have fallen behind in the MOTD and the weekly summary, and the maintainer chose on 2026-09-30 to wait for Give install-tools.sh a Machine-Readable Report Mode, So a Caller Can Act on It Without Screen-Scraping #1645 rather than scrape the human-readable table. The maintainer accepted this ranking at close. Done looks like a documented, tested JSON report on both tools. When it lands, or if its scope changes, comment on Give install-tools.sh a Machine-Readable Report Mode, So a Caller Can Act on It Without Screen-Scraping #1645, since the peer watches that issue.

  2. Deny the Remaining core.hooksPath and no-verify Bypass Routes in the Guard #2177, the guard's remaining hook-bypass routes:

    • a persistent git config core.hooksPath,
    • the GIT_CONFIG_* environment forms,
    • wrapped or aliased git.

    Done looks like the bypass check reusing rule 6's _all_git_invocations walk and its alias resolution. Its heredoc false-positive item overlaps the auto-2112 lane (Session Handoff [auto-2112]: Strip Every Heredoc Body a Line Opens in the Guard per #2112 #2123), so check that lane's state first.

  3. Settle Which Surface Owns the Skills Refresh Cadence and Which Flag Each Runs #2191, once the maintainer answers it: which surface owns the skills refresh cadence, and which flag each surface runs. It is recommended to keep the full install in docs/host-setup.md, have skill-lifecycle step 8 point there, and keep --snapshot-only only in check-this-repo.

  4. Decide How the Unattended Picker Recognizes an Adopted Lesson #2183's answer, then Close the Unattended Loop's Parking-Comment and Interrupted-Park Gaps #2184. Decide How the Unattended Picker Recognizes an Adopted Lesson #2183 was answered as option 1: the session recording a decision's answer edits the issue body. Both edit the unattended-handoff picker, so take Decide How the Unattended Picker Recognizes an Adopted Lesson #2183 first.

  5. Small follow-ups:

  6. Exercise the unattended loop's parked-lane half. An attended resume of a lane parked under blocked has still never run.

  7. Say the Hub Commits the Report Wherever Done-Means-Audited Is Stated #1826, Carry the code-review skill bootstrap to seven repos whose Copilot reviews never state coverage #1815, and the downstream Fleet Bootstrap resyncs, as Session Handoff [default]: Unattended Picker Narrowed and Overview Label Refusal Fixed, Released as 2.0.776 #2190 describes them. When aiopurpleair resyncs, its handoff (aiopurpleair Update codegen files #177) should drop "commit an audit report".

  8. Smaller and older: Copilot Refuses a Pull Request Carrying Only Default-Excluded Files, and No Rule Covers It #2180, 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, then the list carried unchanged from Session Handoff [default]: WORKFLOW.md Corrections and the pyproject.toml Decision Released as 2.0.672 #1804, in Session Handoff [default]: Unattended Picker Narrowed and Overview Label Refusal Fixed, Released as 2.0.776 #2190's order.

External blockers

Internal dependencies

State

The parked decision queue

One issue: #2191, which surface owns the skills refresh cadence. It offers two choices, and option 1 is recommended.

What the last round did

What not to repeat

  • Close the Installer Gaps Left After the Marketplace Re-Point Fix #2019's third item took three local passes before it was dropped. Its premise, to say --snapshot-only on every cadence surface, is wrong, because that flag registers nothing. A machine with no install, or with a gone registration, then gets no Claude Code channel, and --report's exit code does not show it. Each round's carve-out drew contradictions on a further surface: docs/host-setup.md, check-this-repo twice, skill-lifecycle step 8, and docs/fleet-map.md twice. Reverting to the develop wording is what converged. Do not reword the cadence before Settle Which Surface Owns the Skills Refresh Cadence and Which Flag Each Runs #2191 is answered.
  • This repo's tests are unittest. python3 -m pytest is not installed. Run python3 -m unittest tests.<module>.
  • A typing-clean test needs a narrow mock. A side-effect wrapper around subprocess.run drew mypy overload errors. Patching skills_install.marketplace_entry instead kept subprocess real and typed.

New learnings

Activity

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

    @ptr727
    OwnerAuthor

    Parked decision queue, answered at close: #2191 was answered as option 1. docs/host-setup.md owns the cadence with the full install, skill-lifecycle step 8 points there, and check-this-repo keeps --snapshot-only for its fetched checkout. The answer is in its body, and its decision label is off. It is now implementation work, unblocking next step 3. The queue now holds zero issues.

  3. ptr727 commented on Oct 1, 2026

    @ptr727
    OwnerAuthor

    Continued in #2262, round 40 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