fleetd #759: fix the third copy of the role claim, and drop two references that rot
ConnectionIdentity's Caller record carried the same wrong rule as the two places PR #760 fixed: it called the terminal a worker's, and read a null terminal as the primary. The brief for #760 named only two of the three spots. MemberPresence pointed at FleetMcp.markTrackedCallerPresent by name inside {@code}, which the compiler does not check, and inject has no dependency on mcp so a {@link} would add a cross-package reference. States the principle instead, which stays true whichever roles qualify. Drops a ticket key.
This commit is contained in:
@@ -5,16 +5,16 @@ import java.util.Set;
|
||||
|
||||
/**
|
||||
* Tracks which peers are <em>available</em> — their Claude has booted and connected its MCP
|
||||
* client to the bridge (CB-113). For a spawned member this is the reliable readiness signal,
|
||||
* client to the bridge. For a spawned member this is the reliable readiness signal,
|
||||
* unlike herdr's {@code agent_status}, which reports {@code idle} while its Claude is still
|
||||
* booting. Delivering into that boot window pastes into a not-yet-ready TUI (the text is lost)
|
||||
* and wedges that member's delivery state, so the {@link Injector} holds a spawned member's
|
||||
* first delivery until it is present here.
|
||||
*
|
||||
* <p>Populated from the MCP transport, for the peers whose deliverability depends on a proven
|
||||
* live MCP contact; {@code FleetMcp.markTrackedCallerPresent} decides which peers those are. A
|
||||
* peer that never mounts the bridge MCP is never marked present — its sends stay queued until
|
||||
* they time out, which is correct (it could not have replied anyway).
|
||||
* <p>Populated from the MCP transport, for the peers whose deliverability rests on proving a live
|
||||
* MCP contact rather than on a configured registry entry. A peer that never mounts the bridge MCP
|
||||
* is never marked present — its sends stay queued until they time out, which is correct (it could
|
||||
* not have replied anyway).
|
||||
*/
|
||||
public class MemberPresence {
|
||||
|
||||
|
||||
@@ -46,9 +46,10 @@ public final class ConnectionIdentity {
|
||||
}
|
||||
|
||||
/**
|
||||
* The caller resolved from the connection: its worker {@code terminal} (or {@code null} for the
|
||||
* primary / an off-host client), its {@code pid} (or {@code -1} if not resolvable), and whether
|
||||
* the pane scan behind {@code terminal} ran to completion ({@link #scanComplete}).
|
||||
* The caller resolved from the connection: the {@code terminal} of the pane it connects from
|
||||
* (or {@code null} when the connection maps to no pane), its {@code pid} (or {@code -1} if not
|
||||
* resolvable), and whether the pane scan behind {@code terminal} ran to completion
|
||||
* ({@link #scanComplete}).
|
||||
*/
|
||||
public record Caller(String terminal, long pid, boolean scanComplete) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user