From 414839da802e7332f7d4f1ddedba7816b08c34cf Mon Sep 17 00:00:00 2001 From: Pieter Viljoen Date: Thu, 1 Oct 2026 02:13:31 -0700 Subject: [PATCH 1/3] State the Bootstrap's Archive Live Channel in Two Skills check-this-repo and merge-and-release framed the Claude Code live channel only as a registered git checkout. A bootstrapped host registers the tree the bootstrap keeps, which --report describes as vcs archive with branch null, so both skills now state that case and name re-running the bootstrap's skills action as what refreshes it. Co-Authored-By: Claude Opus 5.5 --- .agents/skills/check-this-repo/SKILL.md | 14 ++++++++++---- .agents/skills/merge-and-release/SKILL.md | 9 ++++++--- .../fleet-skills/.source-digests/check-this-repo | 2 +- .../fleet-skills/.source-digests/merge-and-release | 2 +- .../fleet-skills/skills/check-this-repo/SKILL.md | 14 ++++++++++---- .../fleet-skills/skills/merge-and-release/SKILL.md | 9 ++++++--- .github/skills/check-this-repo/SKILL.md | 14 ++++++++++---- .github/skills/merge-and-release/SKILL.md | 9 ++++++--- 8 files changed, 50 insertions(+), 23 deletions(-) diff --git a/.agents/skills/check-this-repo/SKILL.md b/.agents/skills/check-this-repo/SKILL.md index 8eb4ae9b0..377c85504 100644 --- a/.agents/skills/check-this-repo/SKILL.md +++ b/.agents/skills/check-this-repo/SKILL.md @@ -33,10 +33,16 @@ repo. `python3 scripts/skills_install.py --report` from it. A snapshot not current, or no stamp, is very often the direct answer to "why isn't a fleet rule applying": the harness never loaded the current content in the first place, and no amount of re-reading `GOVERNANCE.md` fixes that. For a - Claude Code session, read `live` as well, since that channel loads the registered checkout in - place rather than the copy: a checkout that is missing, detached, or on an old branch is an - answer there whatever the exit code says, and moving that checkout is the fix rather than - re-installing. + Claude Code session, read `live` as well, since that channel loads the registered directory in + place rather than the copy. A registered directory that is missing is an answer there whatever + the exit code says. Where `live.vcs` is `git`, a checkout that is detached or on an old branch + is one too, and moving that checkout is the fix rather than re-installing. Where it is + `archive`, the channel serves the tree the hub's + `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps, which has no git, so `branch: null` there + is not a detached checkout. `live.commit` is the commit that tree holds, a tree behind the + hub's `main` is the answer, and re-running `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` + is the fix, since re-running the installer from a `main` checkout leaves an existing + registration where it is. 2. **Does this repo's own carried content still match the hub.** Compare `AGENTS.md`'s "Where the Rules Live" pointer text, and any other verbatim `AGENTS.md`/`GOVERNANCE.md` section this repo carries, against the same hub checkout's current wording, by reading the text rather diff --git a/.agents/skills/merge-and-release/SKILL.md b/.agents/skills/merge-and-release/SKILL.md index 6263eeb41..cb1c72d34 100644 --- a/.agents/skills/merge-and-release/SKILL.md +++ b/.agents/skills/merge-and-release/SKILL.md @@ -129,9 +129,12 @@ skill covers all of it, scoped down by what the maintainer actually asks for. or ignored under `.agents/skills/` or `.claude-plugin/`, the two paths the installer reads, so the copy holds exactly the promoted commit. `--snapshot-only` leaves the Claude Code registration untouched, and that channel needs no refresh here: it loads the registered - checkout in place, the one `--report` names under `live`, and serves whatever it holds at read - time, so where that is the primary checkout on `develop`, Claude Code sessions on this machine - load `develop`. Then remove the worktree with + directory in place, the one `--report` names under `live`, and serves whatever it holds at + read time, so where that is the primary checkout on `develop`, Claude Code sessions on this + machine load `develop`. Where `live.vcs` reads `archive`, that directory is the tree the hub's + `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps rather than a checkout, and it holds the + commit `live.commit` names until `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` runs again, + which this step does not do. Then remove the worktree with `git worktree remove `, whatever the report said, and report a snapshot that does not read current. `--report` exits on the snapshot alone. This step runs whether step 5 or 6 dispatched, skipped, or failed a release, since it is gated only on the chosen scope, diff --git a/.claude-plugin/fleet-skills/.source-digests/check-this-repo b/.claude-plugin/fleet-skills/.source-digests/check-this-repo index 3596947ad..bd5156157 100644 --- a/.claude-plugin/fleet-skills/.source-digests/check-this-repo +++ b/.claude-plugin/fleet-skills/.source-digests/check-this-repo @@ -1 +1 @@ -e44aa4df6a065a72 +95eae016a0a6e106 diff --git a/.claude-plugin/fleet-skills/.source-digests/merge-and-release b/.claude-plugin/fleet-skills/.source-digests/merge-and-release index e3b05edf8..16ffa9804 100644 --- a/.claude-plugin/fleet-skills/.source-digests/merge-and-release +++ b/.claude-plugin/fleet-skills/.source-digests/merge-and-release @@ -1 +1 @@ -b9f81e4bef9bcdea +32060d71c1bab8cc diff --git a/.claude-plugin/fleet-skills/skills/check-this-repo/SKILL.md b/.claude-plugin/fleet-skills/skills/check-this-repo/SKILL.md index 8eb4ae9b0..377c85504 100644 --- a/.claude-plugin/fleet-skills/skills/check-this-repo/SKILL.md +++ b/.claude-plugin/fleet-skills/skills/check-this-repo/SKILL.md @@ -33,10 +33,16 @@ repo. `python3 scripts/skills_install.py --report` from it. A snapshot not current, or no stamp, is very often the direct answer to "why isn't a fleet rule applying": the harness never loaded the current content in the first place, and no amount of re-reading `GOVERNANCE.md` fixes that. For a - Claude Code session, read `live` as well, since that channel loads the registered checkout in - place rather than the copy: a checkout that is missing, detached, or on an old branch is an - answer there whatever the exit code says, and moving that checkout is the fix rather than - re-installing. + Claude Code session, read `live` as well, since that channel loads the registered directory in + place rather than the copy. A registered directory that is missing is an answer there whatever + the exit code says. Where `live.vcs` is `git`, a checkout that is detached or on an old branch + is one too, and moving that checkout is the fix rather than re-installing. Where it is + `archive`, the channel serves the tree the hub's + `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps, which has no git, so `branch: null` there + is not a detached checkout. `live.commit` is the commit that tree holds, a tree behind the + hub's `main` is the answer, and re-running `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` + is the fix, since re-running the installer from a `main` checkout leaves an existing + registration where it is. 2. **Does this repo's own carried content still match the hub.** Compare `AGENTS.md`'s "Where the Rules Live" pointer text, and any other verbatim `AGENTS.md`/`GOVERNANCE.md` section this repo carries, against the same hub checkout's current wording, by reading the text rather diff --git a/.claude-plugin/fleet-skills/skills/merge-and-release/SKILL.md b/.claude-plugin/fleet-skills/skills/merge-and-release/SKILL.md index 6263eeb41..cb1c72d34 100644 --- a/.claude-plugin/fleet-skills/skills/merge-and-release/SKILL.md +++ b/.claude-plugin/fleet-skills/skills/merge-and-release/SKILL.md @@ -129,9 +129,12 @@ skill covers all of it, scoped down by what the maintainer actually asks for. or ignored under `.agents/skills/` or `.claude-plugin/`, the two paths the installer reads, so the copy holds exactly the promoted commit. `--snapshot-only` leaves the Claude Code registration untouched, and that channel needs no refresh here: it loads the registered - checkout in place, the one `--report` names under `live`, and serves whatever it holds at read - time, so where that is the primary checkout on `develop`, Claude Code sessions on this machine - load `develop`. Then remove the worktree with + directory in place, the one `--report` names under `live`, and serves whatever it holds at + read time, so where that is the primary checkout on `develop`, Claude Code sessions on this + machine load `develop`. Where `live.vcs` reads `archive`, that directory is the tree the hub's + `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps rather than a checkout, and it holds the + commit `live.commit` names until `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` runs again, + which this step does not do. Then remove the worktree with `git worktree remove `, whatever the report said, and report a snapshot that does not read current. `--report` exits on the snapshot alone. This step runs whether step 5 or 6 dispatched, skipped, or failed a release, since it is gated only on the chosen scope, diff --git a/.github/skills/check-this-repo/SKILL.md b/.github/skills/check-this-repo/SKILL.md index 8eb4ae9b0..377c85504 100644 --- a/.github/skills/check-this-repo/SKILL.md +++ b/.github/skills/check-this-repo/SKILL.md @@ -33,10 +33,16 @@ repo. `python3 scripts/skills_install.py --report` from it. A snapshot not current, or no stamp, is very often the direct answer to "why isn't a fleet rule applying": the harness never loaded the current content in the first place, and no amount of re-reading `GOVERNANCE.md` fixes that. For a - Claude Code session, read `live` as well, since that channel loads the registered checkout in - place rather than the copy: a checkout that is missing, detached, or on an old branch is an - answer there whatever the exit code says, and moving that checkout is the fix rather than - re-installing. + Claude Code session, read `live` as well, since that channel loads the registered directory in + place rather than the copy. A registered directory that is missing is an answer there whatever + the exit code says. Where `live.vcs` is `git`, a checkout that is detached or on an old branch + is one too, and moving that checkout is the fix rather than re-installing. Where it is + `archive`, the channel serves the tree the hub's + `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps, which has no git, so `branch: null` there + is not a detached checkout. `live.commit` is the commit that tree holds, a tree behind the + hub's `main` is the answer, and re-running `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` + is the fix, since re-running the installer from a `main` checkout leaves an existing + registration where it is. 2. **Does this repo's own carried content still match the hub.** Compare `AGENTS.md`'s "Where the Rules Live" pointer text, and any other verbatim `AGENTS.md`/`GOVERNANCE.md` section this repo carries, against the same hub checkout's current wording, by reading the text rather diff --git a/.github/skills/merge-and-release/SKILL.md b/.github/skills/merge-and-release/SKILL.md index 6263eeb41..cb1c72d34 100644 --- a/.github/skills/merge-and-release/SKILL.md +++ b/.github/skills/merge-and-release/SKILL.md @@ -129,9 +129,12 @@ skill covers all of it, scoped down by what the maintainer actually asks for. or ignored under `.agents/skills/` or `.claude-plugin/`, the two paths the installer reads, so the copy holds exactly the promoted commit. `--snapshot-only` leaves the Claude Code registration untouched, and that channel needs no refresh here: it loads the registered - checkout in place, the one `--report` names under `live`, and serves whatever it holds at read - time, so where that is the primary checkout on `develop`, Claude Code sessions on this machine - load `develop`. Then remove the worktree with + directory in place, the one `--report` names under `live`, and serves whatever it holds at + read time, so where that is the primary checkout on `develop`, Claude Code sessions on this + machine load `develop`. Where `live.vcs` reads `archive`, that directory is the tree the hub's + `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps rather than a checkout, and it holds the + commit `live.commit` names until `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` runs again, + which this step does not do. Then remove the worktree with `git worktree remove `, whatever the report said, and report a snapshot that does not read current. `--report` exits on the snapshot alone. This step runs whether step 5 or 6 dispatched, skipped, or failed a release, since it is gated only on the chosen scope, From f52dda209cd4e40b93804f904dbb851c0c6edaa4 Mon Sep 17 00:00:00 2001 From: Pieter Viljoen Date: Thu, 1 Oct 2026 02:16:50 -0700 Subject: [PATCH 2/3] Key the Live-Channel Cases on the Archive Field live_channel emits vcs only for an archive tree, so the git case is now the otherwise branch. The archive case also covers a null commit and a tree kept under a non-default --dir, which a rerun has to name. Co-Authored-By: Claude Opus 5.5 --- .agents/skills/check-this-repo/SKILL.md | 19 +++++++++++-------- .agents/skills/merge-and-release/SKILL.md | 7 ++++--- .../.source-digests/check-this-repo | 2 +- .../.source-digests/merge-and-release | 2 +- .../skills/check-this-repo/SKILL.md | 19 +++++++++++-------- .../skills/merge-and-release/SKILL.md | 7 ++++--- .github/skills/check-this-repo/SKILL.md | 19 +++++++++++-------- .github/skills/merge-and-release/SKILL.md | 7 ++++--- 8 files changed, 47 insertions(+), 35 deletions(-) diff --git a/.agents/skills/check-this-repo/SKILL.md b/.agents/skills/check-this-repo/SKILL.md index 377c85504..633eb776d 100644 --- a/.agents/skills/check-this-repo/SKILL.md +++ b/.agents/skills/check-this-repo/SKILL.md @@ -35,14 +35,17 @@ repo. content in the first place, and no amount of re-reading `GOVERNANCE.md` fixes that. For a Claude Code session, read `live` as well, since that channel loads the registered directory in place rather than the copy. A registered directory that is missing is an answer there whatever - the exit code says. Where `live.vcs` is `git`, a checkout that is detached or on an old branch - is one too, and moving that checkout is the fix rather than re-installing. Where it is - `archive`, the channel serves the tree the hub's - `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps, which has no git, so `branch: null` there - is not a detached checkout. `live.commit` is the commit that tree holds, a tree behind the - hub's `main` is the answer, and re-running `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` - is the fix, since re-running the installer from a `main` checkout leaves an existing - registration where it is. + the exit code says. + - Where `live` carries `vcs: archive`, the channel serves the tree the hub's + `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps, which has no git, so `branch: null` there + is not a detached checkout. A `live.commit` behind the hub's `main` is the answer, and so is + a null one, which means the bootstrap could not resolve the commit it fetched. Re-running + `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` is the fix, given `--dir` or `-Dir` naming + the parent of `live.checkout` where an earlier run kept the tree somewhere other than the + default, since re-running the installer from any other directory leaves an existing + registration where it is. + - Otherwise `live` names a git checkout, and one that is detached or on an old branch is an + answer too, and moving that checkout is the fix rather than re-installing. 2. **Does this repo's own carried content still match the hub.** Compare `AGENTS.md`'s "Where the Rules Live" pointer text, and any other verbatim `AGENTS.md`/`GOVERNANCE.md` section this repo carries, against the same hub checkout's current wording, by reading the text rather diff --git a/.agents/skills/merge-and-release/SKILL.md b/.agents/skills/merge-and-release/SKILL.md index cb1c72d34..0589dd494 100644 --- a/.agents/skills/merge-and-release/SKILL.md +++ b/.agents/skills/merge-and-release/SKILL.md @@ -132,9 +132,10 @@ skill covers all of it, scoped down by what the maintainer actually asks for. directory in place, the one `--report` names under `live`, and serves whatever it holds at read time, so where that is the primary checkout on `develop`, Claude Code sessions on this machine load `develop`. Where `live.vcs` reads `archive`, that directory is the tree the hub's - `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps rather than a checkout, and it holds the - commit `live.commit` names until `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` runs again, - which this step does not do. Then remove the worktree with + `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps rather than a checkout, and it holds what + that bootstrap fetched, the commit `live.commit` names where it is not null, until + `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` runs again, which this step does not do. + Then remove the worktree with `git worktree remove `, whatever the report said, and report a snapshot that does not read current. `--report` exits on the snapshot alone. This step runs whether step 5 or 6 dispatched, skipped, or failed a release, since it is gated only on the chosen scope, diff --git a/.claude-plugin/fleet-skills/.source-digests/check-this-repo b/.claude-plugin/fleet-skills/.source-digests/check-this-repo index bd5156157..ef79e4327 100644 --- a/.claude-plugin/fleet-skills/.source-digests/check-this-repo +++ b/.claude-plugin/fleet-skills/.source-digests/check-this-repo @@ -1 +1 @@ -95eae016a0a6e106 +a8a5564d4ae264aa diff --git a/.claude-plugin/fleet-skills/.source-digests/merge-and-release b/.claude-plugin/fleet-skills/.source-digests/merge-and-release index 16ffa9804..9d6449b0f 100644 --- a/.claude-plugin/fleet-skills/.source-digests/merge-and-release +++ b/.claude-plugin/fleet-skills/.source-digests/merge-and-release @@ -1 +1 @@ -32060d71c1bab8cc +3beb0e0e24392be6 diff --git a/.claude-plugin/fleet-skills/skills/check-this-repo/SKILL.md b/.claude-plugin/fleet-skills/skills/check-this-repo/SKILL.md index 377c85504..633eb776d 100644 --- a/.claude-plugin/fleet-skills/skills/check-this-repo/SKILL.md +++ b/.claude-plugin/fleet-skills/skills/check-this-repo/SKILL.md @@ -35,14 +35,17 @@ repo. content in the first place, and no amount of re-reading `GOVERNANCE.md` fixes that. For a Claude Code session, read `live` as well, since that channel loads the registered directory in place rather than the copy. A registered directory that is missing is an answer there whatever - the exit code says. Where `live.vcs` is `git`, a checkout that is detached or on an old branch - is one too, and moving that checkout is the fix rather than re-installing. Where it is - `archive`, the channel serves the tree the hub's - `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps, which has no git, so `branch: null` there - is not a detached checkout. `live.commit` is the commit that tree holds, a tree behind the - hub's `main` is the answer, and re-running `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` - is the fix, since re-running the installer from a `main` checkout leaves an existing - registration where it is. + the exit code says. + - Where `live` carries `vcs: archive`, the channel serves the tree the hub's + `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps, which has no git, so `branch: null` there + is not a detached checkout. A `live.commit` behind the hub's `main` is the answer, and so is + a null one, which means the bootstrap could not resolve the commit it fetched. Re-running + `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` is the fix, given `--dir` or `-Dir` naming + the parent of `live.checkout` where an earlier run kept the tree somewhere other than the + default, since re-running the installer from any other directory leaves an existing + registration where it is. + - Otherwise `live` names a git checkout, and one that is detached or on an old branch is an + answer too, and moving that checkout is the fix rather than re-installing. 2. **Does this repo's own carried content still match the hub.** Compare `AGENTS.md`'s "Where the Rules Live" pointer text, and any other verbatim `AGENTS.md`/`GOVERNANCE.md` section this repo carries, against the same hub checkout's current wording, by reading the text rather diff --git a/.claude-plugin/fleet-skills/skills/merge-and-release/SKILL.md b/.claude-plugin/fleet-skills/skills/merge-and-release/SKILL.md index cb1c72d34..0589dd494 100644 --- a/.claude-plugin/fleet-skills/skills/merge-and-release/SKILL.md +++ b/.claude-plugin/fleet-skills/skills/merge-and-release/SKILL.md @@ -132,9 +132,10 @@ skill covers all of it, scoped down by what the maintainer actually asks for. directory in place, the one `--report` names under `live`, and serves whatever it holds at read time, so where that is the primary checkout on `develop`, Claude Code sessions on this machine load `develop`. Where `live.vcs` reads `archive`, that directory is the tree the hub's - `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps rather than a checkout, and it holds the - commit `live.commit` names until `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` runs again, - which this step does not do. Then remove the worktree with + `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps rather than a checkout, and it holds what + that bootstrap fetched, the commit `live.commit` names where it is not null, until + `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` runs again, which this step does not do. + Then remove the worktree with `git worktree remove `, whatever the report said, and report a snapshot that does not read current. `--report` exits on the snapshot alone. This step runs whether step 5 or 6 dispatched, skipped, or failed a release, since it is gated only on the chosen scope, diff --git a/.github/skills/check-this-repo/SKILL.md b/.github/skills/check-this-repo/SKILL.md index 377c85504..633eb776d 100644 --- a/.github/skills/check-this-repo/SKILL.md +++ b/.github/skills/check-this-repo/SKILL.md @@ -35,14 +35,17 @@ repo. content in the first place, and no amount of re-reading `GOVERNANCE.md` fixes that. For a Claude Code session, read `live` as well, since that channel loads the registered directory in place rather than the copy. A registered directory that is missing is an answer there whatever - the exit code says. Where `live.vcs` is `git`, a checkout that is detached or on an old branch - is one too, and moving that checkout is the fix rather than re-installing. Where it is - `archive`, the channel serves the tree the hub's - `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps, which has no git, so `branch: null` there - is not a detached checkout. `live.commit` is the commit that tree holds, a tree behind the - hub's `main` is the answer, and re-running `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` - is the fix, since re-running the installer from a `main` checkout leaves an existing - registration where it is. + the exit code says. + - Where `live` carries `vcs: archive`, the channel serves the tree the hub's + `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps, which has no git, so `branch: null` there + is not a detached checkout. A `live.commit` behind the hub's `main` is the answer, and so is + a null one, which means the bootstrap could not resolve the commit it fetched. Re-running + `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` is the fix, given `--dir` or `-Dir` naming + the parent of `live.checkout` where an earlier run kept the tree somewhere other than the + default, since re-running the installer from any other directory leaves an existing + registration where it is. + - Otherwise `live` names a git checkout, and one that is detached or on an old branch is an + answer too, and moving that checkout is the fix rather than re-installing. 2. **Does this repo's own carried content still match the hub.** Compare `AGENTS.md`'s "Where the Rules Live" pointer text, and any other verbatim `AGENTS.md`/`GOVERNANCE.md` section this repo carries, against the same hub checkout's current wording, by reading the text rather diff --git a/.github/skills/merge-and-release/SKILL.md b/.github/skills/merge-and-release/SKILL.md index cb1c72d34..0589dd494 100644 --- a/.github/skills/merge-and-release/SKILL.md +++ b/.github/skills/merge-and-release/SKILL.md @@ -132,9 +132,10 @@ skill covers all of it, scoped down by what the maintainer actually asks for. directory in place, the one `--report` names under `live`, and serves whatever it holds at read time, so where that is the primary checkout on `develop`, Claude Code sessions on this machine load `develop`. Where `live.vcs` reads `archive`, that directory is the tree the hub's - `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps rather than a checkout, and it holds the - commit `live.commit` names until `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` runs again, - which this step does not do. Then remove the worktree with + `host-setup/bootstrap.sh` or `bootstrap.ps1` keeps rather than a checkout, and it holds what + that bootstrap fetched, the commit `live.commit` names where it is not null, until + `bootstrap.sh --skills` or `bootstrap.ps1 -Skills` runs again, which this step does not do. + Then remove the worktree with `git worktree remove `, whatever the report said, and report a snapshot that does not read current. `--report` exits on the snapshot alone. This step runs whether step 5 or 6 dispatched, skipped, or failed a release, since it is gated only on the chosen scope, From d5d6f815cfaf7c74c4eac28cb2db9bf0568cb14b Mon Sep 17 00:00:00 2001 From: Pieter Viljoen Date: Thu, 1 Oct 2026 02:17:56 -0700 Subject: [PATCH 3/3] Name the Live Shapes That Are Not a Git Checkout A live block with no vcs is a git checkout only where it carries a commit. An unregistered channel, a failed listing, and a directory git cannot read are their own shapes rather than a detached checkout. Co-Authored-By: Claude Opus 5.5 --- .agents/skills/check-this-repo/SKILL.md | 7 +++++-- .../fleet-skills/.source-digests/check-this-repo | 2 +- .../fleet-skills/skills/check-this-repo/SKILL.md | 7 +++++-- .github/skills/check-this-repo/SKILL.md | 7 +++++-- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/.agents/skills/check-this-repo/SKILL.md b/.agents/skills/check-this-repo/SKILL.md index 633eb776d..d34f3bb97 100644 --- a/.agents/skills/check-this-repo/SKILL.md +++ b/.agents/skills/check-this-repo/SKILL.md @@ -44,8 +44,11 @@ repo. the parent of `live.checkout` where an earlier run kept the tree somewhere other than the default, since re-running the installer from any other directory leaves an existing registration where it is. - - Otherwise `live` names a git checkout, and one that is detached or on an old branch is an - answer too, and moving that checkout is the fix rather than re-installing. + - Where `live` carries no `vcs` and a non-null `commit`, it names a git checkout, and one that + is detached, `branch: null`, or on an old branch is an answer too, and moving that checkout + is the fix rather than re-installing. + - Any other shape names no registration, or one this report could not read, and the `reason` + it carries, where it carries one, says which. 2. **Does this repo's own carried content still match the hub.** Compare `AGENTS.md`'s "Where the Rules Live" pointer text, and any other verbatim `AGENTS.md`/`GOVERNANCE.md` section this repo carries, against the same hub checkout's current wording, by reading the text rather diff --git a/.claude-plugin/fleet-skills/.source-digests/check-this-repo b/.claude-plugin/fleet-skills/.source-digests/check-this-repo index ef79e4327..f0a3d22de 100644 --- a/.claude-plugin/fleet-skills/.source-digests/check-this-repo +++ b/.claude-plugin/fleet-skills/.source-digests/check-this-repo @@ -1 +1 @@ -a8a5564d4ae264aa +da0a6b105966e75b diff --git a/.claude-plugin/fleet-skills/skills/check-this-repo/SKILL.md b/.claude-plugin/fleet-skills/skills/check-this-repo/SKILL.md index 633eb776d..d34f3bb97 100644 --- a/.claude-plugin/fleet-skills/skills/check-this-repo/SKILL.md +++ b/.claude-plugin/fleet-skills/skills/check-this-repo/SKILL.md @@ -44,8 +44,11 @@ repo. the parent of `live.checkout` where an earlier run kept the tree somewhere other than the default, since re-running the installer from any other directory leaves an existing registration where it is. - - Otherwise `live` names a git checkout, and one that is detached or on an old branch is an - answer too, and moving that checkout is the fix rather than re-installing. + - Where `live` carries no `vcs` and a non-null `commit`, it names a git checkout, and one that + is detached, `branch: null`, or on an old branch is an answer too, and moving that checkout + is the fix rather than re-installing. + - Any other shape names no registration, or one this report could not read, and the `reason` + it carries, where it carries one, says which. 2. **Does this repo's own carried content still match the hub.** Compare `AGENTS.md`'s "Where the Rules Live" pointer text, and any other verbatim `AGENTS.md`/`GOVERNANCE.md` section this repo carries, against the same hub checkout's current wording, by reading the text rather diff --git a/.github/skills/check-this-repo/SKILL.md b/.github/skills/check-this-repo/SKILL.md index 633eb776d..d34f3bb97 100644 --- a/.github/skills/check-this-repo/SKILL.md +++ b/.github/skills/check-this-repo/SKILL.md @@ -44,8 +44,11 @@ repo. the parent of `live.checkout` where an earlier run kept the tree somewhere other than the default, since re-running the installer from any other directory leaves an existing registration where it is. - - Otherwise `live` names a git checkout, and one that is detached or on an old branch is an - answer too, and moving that checkout is the fix rather than re-installing. + - Where `live` carries no `vcs` and a non-null `commit`, it names a git checkout, and one that + is detached, `branch: null`, or on an old branch is an answer too, and moving that checkout + is the fix rather than re-installing. + - Any other shape names no registration, or one this report could not read, and the `reason` + it carries, where it carries one, says which. 2. **Does this repo's own carried content still match the hub.** Compare `AGENTS.md`'s "Where the Rules Live" pointer text, and any other verbatim `AGENTS.md`/`GOVERNANCE.md` section this repo carries, against the same hub checkout's current wording, by reading the text rather