From 5b7fb7fc138c2fced3087d0c5e12d0ad9f0511f1 Mon Sep 17 00:00:00 2001 From: Pieter Viljoen Date: Fri, 9 Oct 2026 00:44:11 -0700 Subject: [PATCH 1/3] Remove the Settled gh Protocol Entry From TODO.md Issue 672 is closed and its fix is on main, so the entry and its link definition go, per the file's header rule that completed work is deleted once its decision is recorded elsewhere. Co-Authored-By: Claude Sonnet 5.5 --- TODO.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/TODO.md b/TODO.md index 2d4b3c32f..7cd7a0da6 100644 --- a/TODO.md +++ b/TODO.md @@ -355,13 +355,6 @@ Three findings raised while writing [`host-setup/windows/`][host-setup-windows], - **Settled** - The reasoning holds and is worth writing down once rather than per platform: each linter runs as a pinned image or through `uvx`, so the image tag fixes the version and a local run matches CI, and installing native copies would put a second unpinned version on the host and break exactly that. - **Open** - Whether it belongs in [`docs/host-setup.md`][host-setup-doc] as a fleet fact, which is what covers Linux by the same sentence, or stays per platform where only the Windows README states it today. -- **Report the `gh` git protocol in `setup-github.sh`, as its Windows peer does.** A host can pass every check the fleet runs while `gh` is configured for https, and a checkout made through `gh` then authenticates by token where every other checkout on that host authenticates by key. - - **Blocked by** - Nothing. - - **Issue** - [#672][issue-672]. - - **Checked** - Measured on the maintainer's Windows host on 2026-08-11, where `gh auth status` reports `Git operations protocol: https` against `gh` 2.97.0, an SSH key that signs and verifies, and `scripts/host_gate.py` exiting 0 over all seven declared tools. - - **Settled** - Reported rather than written, since rewriting a working authentication configuration is the operator's call, and `setup-github.sh` touches `gh` nowhere today. - - **Open** - Whether `--configure` should set it, which is the only part where the two platforms could still diverge. - - **Align the Linux scripts onto "name one action" instead of "the last one given wins".** Overwriting `MODE` in the arg loop discards an intent silently, and it discards it in the dangerous direction: `--report --install` drops the safe action and keeps the one that changes the host. - **Blocked by** - Nothing. - **Issue** - [#673][issue-673], broadened by [#767][issue-767] to carry the loader as well, which is what this change ships. @@ -522,7 +515,6 @@ Regenerate [reports/divergences.md][divergences-report] before using it as the w [issue-623]: https://github.com/ptr727/ProjectTemplate/issues/623 [issue-633]: https://github.com/ptr727/ProjectTemplate/issues/633 [issue-671]: https://github.com/ptr727/ProjectTemplate/issues/671 -[issue-672]: https://github.com/ptr727/ProjectTemplate/issues/672 [issue-673]: https://github.com/ptr727/ProjectTemplate/issues/673 [issue-767]: https://github.com/ptr727/ProjectTemplate/issues/767 [issue-1161]: https://github.com/ptr727/ProjectTemplate/issues/1161 From 054a166d6aca59444f679a2f3da3834addcf379f Mon Sep 17 00:00:00 2001 From: Pieter Viljoen Date: Fri, 9 Oct 2026 00:45:27 -0700 Subject: [PATCH 2/3] Fix the Host-Tooling Cluster Preamble and Fleet Map After Removing the 672 Entry Co-Authored-By: Claude Sonnet 5.5 --- TODO.md | 4 ++-- docs/fleet-map.md | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/TODO.md b/TODO.md index 7cd7a0da6..0c77fa655 100644 --- a/TODO.md +++ b/TODO.md @@ -344,9 +344,9 @@ One pull request writing down the agent-to-agent messaging this fleet has now us ### What Building the Windows Host Tooling Surfaced -Three findings raised while writing [`host-setup/windows/`][host-setup-windows], each about the Linux side or the fleet rather than about the new scripts, and none blocking them. +Two findings raised while writing [`host-setup/windows/`][host-setup-windows], each about the Linux side or the fleet rather than about the new scripts, and none blocking them. -**State** `ready` for the first two, `decision` for the third. **Touches** [`docs/host-setup.md`][host-setup-doc], and the three scripts under `host-setup/linux/`. **Cost** one hub edit each, and no re-vendor, since nothing under `host-setup/` is carried. +**State** `decision` for the first, `ready` for the second. **Touches** [`docs/host-setup.md`][host-setup-doc], and the three scripts under `host-setup/linux/`. **Cost** one hub edit each, and no re-vendor, since nothing under `host-setup/` is carried. - **Record why the host tooling carries no linter category, or decide that it should.** No installer on either platform manages `markdownlint`, `cspell`, `actionlint`, `editorconfig-checker`, `shellcheck`, `PSScriptAnalyzer` or `ruff`, and nothing states that as a decision, so the absence is correct and reachable only by inference. - **Blocked by** - Nothing. diff --git a/docs/fleet-map.md b/docs/fleet-map.md index 474221ce7..913ad41eb 100644 --- a/docs/fleet-map.md +++ b/docs/fleet-map.md @@ -344,7 +344,7 @@ Design-doc first: this doc merges, then each unchecked item becomes an issue lin ## Decision Ledger Cross-References -[`TODO.md`][todo] stays the running backlog, and this register does not fork it. The peer-messaging item resolves to [`docs/peer-messaging.md`][peer-messaging] and section G11. The host-tooling cluster ([#671][issue-671], [#672][issue-672], [#673][issue-673]) touches the same `host-setup/` surface as G1 and G3, so those issues and the P1 items cross-link rather than duplicate. A future TODO entry about an adoption gap lands as a register row here instead, with TODO carrying only the pointer. The open issues [#699][issue-699] (a repo and worktree layout convention with its own skill) and [#700][issue-700] (Python tooling in CI with a scripts split) each touch a mapped seam and stay on their own tracks, cross-linked here rather than duplicated. +[`TODO.md`][todo] stays the running backlog, and this register does not fork it. The peer-messaging item resolves to [`docs/peer-messaging.md`][peer-messaging] and section G11. The host-tooling cluster ([#671][issue-671] and [#673][issue-673]) touches the same `host-setup/` surface as G1 and G3, so those issues and the P1 items cross-link rather than duplicate. A future TODO entry about an adoption gap lands as a register row here instead, with TODO carrying only the pointer. The open issues [#699][issue-699] (a repo and worktree layout convention with its own skill) and [#700][issue-700] (Python tooling in CI with a scripts split) each touch a mapped seam and stay on their own tracks, cross-linked here rather than duplicated. @@ -389,7 +389,6 @@ Design-doc first: this doc merges, then each unchecked item becomes an issue lin [issue-671]: https://github.com/ptr727/ProjectTemplate/issues/671 -[issue-672]: https://github.com/ptr727/ProjectTemplate/issues/672 [issue-673]: https://github.com/ptr727/ProjectTemplate/issues/673 [issue-699]: https://github.com/ptr727/ProjectTemplate/issues/699 [issue-700]: https://github.com/ptr727/ProjectTemplate/issues/700 From dba119563b6c17df304e43b7bbf73c0f71e46e1b Mon Sep 17 00:00:00 2001 From: Pieter Viljoen Date: Fri, 9 Oct 2026 00:46:28 -0700 Subject: [PATCH 3/3] State Both Remaining Host-Tooling Entries as Ready Co-Authored-By: Claude Sonnet 5.5 --- TODO.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TODO.md b/TODO.md index 0c77fa655..620d0f316 100644 --- a/TODO.md +++ b/TODO.md @@ -346,7 +346,7 @@ One pull request writing down the agent-to-agent messaging this fleet has now us Two findings raised while writing [`host-setup/windows/`][host-setup-windows], each about the Linux side or the fleet rather than about the new scripts, and none blocking them. -**State** `decision` for the first, `ready` for the second. **Touches** [`docs/host-setup.md`][host-setup-doc], and the three scripts under `host-setup/linux/`. **Cost** one hub edit each, and no re-vendor, since nothing under `host-setup/` is carried. +**State** `ready` for both. **Touches** [`docs/host-setup.md`][host-setup-doc], and the three scripts under `host-setup/linux/`. **Cost** one hub edit each, and no re-vendor, since nothing under `host-setup/` is carried. - **Record why the host tooling carries no linter category, or decide that it should.** No installer on either platform manages `markdownlint`, `cspell`, `actionlint`, `editorconfig-checker`, `shellcheck`, `PSScriptAnalyzer` or `ruff`, and nothing states that as a decision, so the absence is correct and reachable only by inference. - **Blocked by** - Nothing.