From 6b6310dc3af5bbe52d7d4818cf6c4b21ea67c95a Mon Sep 17 00:00:00 2001 From: Scott Hall Date: Sat, 17 Oct 2026 09:34:48 -0500 Subject: [PATCH 1/3] COMMON.md points -Fleet at the engine copy of presence.ps1 (vault BACKLOG #3674, step 4) Engine PR 2355 gave the engine's scripts/coord/presence.ps1 a -Fleet switch. The exceptions row drops the korus by-path entry, the by-path instruction from korus PR 228 now names the engine copy, and the caveat describes the engine behaviour: it always scans the caller's repository, and a -Fleet roster still cannot list sessions whose cwd is outside git, gone with no checkout above it, or on another machine. Proposed PR title: COMMON.md runs the engine's presence.ps1 -Fleet (vault #3674 step 4) Proposed ledger banner: #3674 step 4 built (korus COMMON.md and wiki note); findings 4 to 6 of the pass F note remain. --- roles/COMMON.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/roles/COMMON.md b/roles/COMMON.md index 70b354b..4201ecd 100644 --- a/roles/COMMON.md +++ b/roles/COMMON.md @@ -171,7 +171,7 @@ your playbook. Never copy a literal path out of a document, because a stale path | What a Builder still releases | Its own claim on ALREADY-DONE, CONCLUDED-AS-RESEARCH and BLOCKED. None of the three opens a pull request, so nothing downstream ever fires. **This list is stated in three places; where they differ, this one governs.** | | `-Release` is worktree-scoped | It acts on the worktree your shell stands in. Releasing another worktree's claim needs `-Force`, and the script refuses first and probes the holder. Read the probe line; do not skip to `-Force`. | | Coordination scripts | Run `scripts/coord` scripts from the engine, except those living elsewhere (*The exceptions* names at least some; LANDER.md *7. Ledger discipline* covers ledger commands). The vault lacks `fleet.ps1` and `mail.ps1`; its `claim.ps1` is stale. | -| The exceptions | At least: `alloc.ps1 -Kind backlog` in a vault checkout, since the engine's copy refuses it (`-Kind adr` stays in the engine); vault-only `usage-log.ps1`; `presence.ps1 -Fleet` by path from a korus checkout. The `alloc.ps1` entry was added 2026-09-24. | +| The exceptions | At least: `alloc.ps1 -Kind backlog` in a vault checkout, since the engine's copy refuses it (`-Kind adr` stays in the engine); vault-only `usage-log.ps1`. The `alloc.ps1` entry was added 2026-09-24. | | Paths | List the directory. Never take a path out of a document. | | Relayed lists | Examine each open item before you relay a work list, and escalate when you are unsure. | | Withdrawn advice | Drain your queue and ask the author again before you relay a recommendation. | @@ -432,7 +432,7 @@ the account boundary. This one is the other axis, and it is the one that produce | --- | --- | --- | | `list_sessions`, `ListAgents` | Your account, every repo | Every other account | | `presence.ps1` (default) | This repo, every account | Every other repo | -| `presence.ps1 -Fleet` | Every repo, every account | Another machine | +| `presence.ps1 -Fleet` | Every repo the records name, every account | Another machine, and at least the cwd shapes below | **Neither of the first two is a superset of the other.** A seat can be missing from one and present in the other, and both readings are correct. @@ -457,11 +457,19 @@ a seat that believes a lane is empty starts doing that lane's work. | Any claim about who can be MESSAGED | `list_sessions`, which is the other axis | | Either one, alone | Then say which axis you did not vary | -**Run korus's `presence.ps1` by path for `-Fleet`, from a korus checkout current with `origin/main`.** The engine copy has no `-Fleet` and refuses it at parameter binding (wiki key `coord/presence/fleet-flag`): +**Run the engine's `presence.ps1 -Fleet` from an engine worktree.** The engine copy has taken `-Fleet` since MEFORORG/MessageFoundry PR 2355 (engine `origin/main` `064700f2d`, read 2026-10-17). Wiki key `coord/presence/fleet-flag`: - pwsh -NoProfile -File /scripts/coord/presence.ps1 -Fleet + pwsh -NoProfile -File scripts\coord\presence.ps1 -Fleet -A `-Fleet` roster without a seat does not prove the seat absent. The korus copy picks repositories from session cwds and skips a cwd that is gone or outside git (`presence.ps1` lines 191-193, korus `468b571`, read 2026-10-16). If no cwd is usable, it scans the caller's repository (line 199). +A `-Fleet` roster without a seat still does not prove the seat absent. The engine copy scans every repository the session records name, plus the caller's own. Its help names at least three sessions it cannot list. + +| Session | Why `-Fleet` misses it | +| --- | --- | +| Its cwd is outside git | It names no repository to scan | +| Its cwd is gone, with no checkout above it | Its repository is scanned only if something else names it | +| It runs on another machine | No form of the roster can see it | + +The caller's repository is always scanned, so its fence still reports a gone sibling worktree named `-` and a deregistered checkout still on disk. Either makes the fence unavailable. A gone checkout of it elsewhere fits neither shape and goes unreported. **Say the scope beside the count.** "No Lander in this repo, at 17:30Z" is checkable. "There is no Lander" is a claim about a fleet you did not read. From 570cd841dd2a5ca2c62e0dac51d2afbbc88172a1 Mon Sep 17 00:00:00 2001 From: Scott Hall Date: Sat, 17 Oct 2026 09:43:28 -0500 Subject: [PATCH 2/3] COMMON.md: code-review round-one fixes for the -Fleet route (vault BACKLOG #3674, step 4) The instruction requires an engine worktree current with origin/main, cites the PR 2355 merge commit, warns off the korus copy, qualifies the always-scanned claim, and says the engine copy exits 0 when the roster is incomplete. The 2026-09-19 measurement names the korus copy. --- roles/COMMON.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/roles/COMMON.md b/roles/COMMON.md index 4201ecd..9a3fb66 100644 --- a/roles/COMMON.md +++ b/roles/COMMON.md @@ -432,7 +432,7 @@ the account boundary. This one is the other axis, and it is the one that produce | --- | --- | --- | | `list_sessions`, `ListAgents` | Your account, every repo | Every other account | | `presence.ps1` (default) | This repo, every account | Every other repo | -| `presence.ps1 -Fleet` | Every repo the records name, every account | Another machine, and at least the cwd shapes below | +| `presence.ps1 -Fleet` | Your repo and every repo the records name, every account | Another machine, and at least the cwd shapes below | **Neither of the first two is a superset of the other.** A seat can be missing from one and present in the other, and both readings are correct. @@ -440,7 +440,7 @@ in the other, and both readings are correct. **Measured 2026-09-19 on this machine.** From a korus worktree, `presence.ps1` listed 2 live sessions and no Lander, while a live Lander worked `MessageFoundry` that minute on `claude/lander-bbc430`. -`presence.ps1 -Fleet` listed 8 sessions across 2 repositories, that Lander among them. Control: the +Korus's `presence.ps1 -Fleet` listed 8 sessions across 2 repositories, that Lander among them. Control: the default run placed every record it read, so the 2 was a scope, not a failure. **So a repo-scoped roster cannot support a fleet-wide negative.** The roster answered the question it @@ -457,19 +457,25 @@ a seat that believes a lane is empty starts doing that lane's work. | Any claim about who can be MESSAGED | `list_sessions`, which is the other axis | | Either one, alone | Then say which axis you did not vary | -**Run the engine's `presence.ps1 -Fleet` from an engine worktree.** The engine copy has taken `-Fleet` since MEFORORG/MessageFoundry PR 2355 (engine `origin/main` `064700f2d`, read 2026-10-17). Wiki key `coord/presence/fleet-flag`: +**Run the engine's `presence.ps1 -Fleet` from an engine worktree current with `origin/main`.** The engine copy gained `-Fleet` in MEFORORG/MessageFoundry PR 2355, merged as `45f0346d4`. An older worktree refuses the switch. pwsh -NoProfile -File scripts\coord\presence.ps1 -Fleet -A `-Fleet` roster without a seat still does not prove the seat absent. The engine copy scans every repository the session records name, plus the caller's own. Its help names at least three sessions it cannot list. +Read at engine `origin/main` `064700f2d` on 2026-10-17. Do not use korus's own copy for this: it scans the caller's repository only when no record's cwd is usable. + +A `-Fleet` roster without a seat still does not prove the seat absent. The engine copy scans every repository the session records name, plus the caller's own. Its help names three sessions it cannot list, and calls that list a floor. | Session | Why `-Fleet` misses it | | --- | --- | | Its cwd is outside git | It names no repository to scan | -| Its cwd is gone, with no checkout above it | Its repository is scanned only if something else names it | +| Its cwd is gone, with no checkout above it | Its cwd names no repository, and no scan can place it | | It runs on another machine | No form of the roster can see it | -The caller's repository is always scanned, so its fence still reports a gone sibling worktree named `-` and a deregistered checkout still on disk. Either makes the fence unavailable. A gone checkout of it elsewhere fits neither shape and goes unreported. +The caller's repository is scanned whenever git resolves the caller's cwd. Its fence then still reports two shapes: a gone sibling worktree named `-`, and a deregistered checkout still on disk. + +Either shape makes the fence unavailable. A gone checkout of the caller's repository elsewhere fits neither shape and goes unreported. + +The engine copy exits 0 even when the roster is incomplete. Read its `Roster UNAVAILABLE` or `Roster INCOMPLETE` line, or the `-Json` stderr receipt, never the exit code. Wiki key `coord/presence/fleet-flag` records this route. **Say the scope beside the count.** "No Lander in this repo, at 17:30Z" is checkable. "There is no Lander" is a claim about a fleet you did not read. From 54fa1f3aadda734b30150b7f066cae91ccb7239c Mon Sep 17 00:00:00 2001 From: Scott Hall Date: Sat, 17 Oct 2026 10:09:40 -0500 Subject: [PATCH 3/3] COMMON.md: Lander fixes on the -Fleet route (vault BACKLOG #3674, step 4) The command names the engine worktree explicitly, the fence shapes hold for every scanned repository, the exit-0 note covers the not-in-git path, and the wiki line says the vault page still names the korus route. --- roles/COMMON.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/roles/COMMON.md b/roles/COMMON.md index 9a3fb66..7ff8c7a 100644 --- a/roles/COMMON.md +++ b/roles/COMMON.md @@ -459,7 +459,7 @@ a seat that believes a lane is empty starts doing that lane's work. **Run the engine's `presence.ps1 -Fleet` from an engine worktree current with `origin/main`.** The engine copy gained `-Fleet` in MEFORORG/MessageFoundry PR 2355, merged as `45f0346d4`. An older worktree refuses the switch. - pwsh -NoProfile -File scripts\coord\presence.ps1 -Fleet + pwsh -NoProfile -File \scripts\coord\presence.ps1 -Fleet Read at engine `origin/main` `064700f2d` on 2026-10-17. Do not use korus's own copy for this: it scans the caller's repository only when no record's cwd is usable. @@ -471,11 +471,13 @@ A `-Fleet` roster without a seat still does not prove the seat absent. The engin | Its cwd is gone, with no checkout above it | Its cwd names no repository, and no scan can place it | | It runs on another machine | No form of the roster can see it | -The caller's repository is scanned whenever git resolves the caller's cwd. Its fence then still reports two shapes: a gone sibling worktree named `-`, and a deregistered checkout still on disk. +The caller's repository is scanned whenever git resolves the caller's cwd. Each scanned repository's fence still reports at least these shapes: a gone sibling worktree named `-`, and a deregistered checkout still on disk. -Either shape makes the fence unavailable. A gone checkout of the caller's repository elsewhere fits neither shape and goes unreported. +Each shape makes the fence unavailable. A gone checkout of a scanned repository elsewhere fits neither shape and goes unreported. -The engine copy exits 0 even when the roster is incomplete. Read its `Roster UNAVAILABLE` or `Roster INCOMPLETE` line, or the `-Json` stderr receipt, never the exit code. Wiki key `coord/presence/fleet-flag` records this route. +The engine copy exits 0 even when the roster is incomplete. Read its `Roster UNAVAILABLE` or `Roster INCOMPLETE` line, or `Not inside a git repository`, which also exits 0. Or read the `-Json` stderr receipt, never the exit code. + +Wiki key `coord/presence/fleet-flag` still names the korus route until a vault correction lands. **Say the scope beside the count.** "No Lander in this repo, at 17:30Z" is checkable. "There is no Lander" is a claim about a fleet you did not read.