docs, hive-c0re: retire prose describing the removed get_loose_ends target
Follow-up to 729c5b4f42, which dropped the
`agent` parameter from get_loose_ends and deleted Capability::QueryAgentState
with it. Three prose sites still describe the interface that commit removed:
- socket_server/mod.rs's module doc claimed authority on this socket derives
from "capabilities for the hive-wide queries and tool-group membership for
the orchestration verbs". There are no capability-gated queries left —
`git grep -n has_cap -- hive-c0re/src/socket_server/` returns nothing, and
require_group("scheduling") is the only gate in dispatch_orchestration.
- agent-hierarchy.md listed loose-ends visibility ("manager sees hive-wide,
sub-agents only their own") as one of the manager-only overrides that
"exist across hive-c0re today". It doesn't, and the sentence pointed a
reader at loose_ends.rs for owner-check logic that is no longer there.
- conventions.md's Loose-ends wire shape still spoke of "the agent-flavour
and manager-flavour requests" and "the agent-flavour list". There is one
request shape.
No behaviour change: prose only.
Refs #4480
This commit is contained in:
parent
7dd52207de
commit
f53508cb2b
3 changed files with 13 additions and 10 deletions
|
|
@ -132,15 +132,17 @@ Manager}` switch picks the MCP tool allow-list claude sees. Both are
|
||||||
container including the manager, so all token/state paths resolve
|
container including the manager, so all token/state paths resolve
|
||||||
through it the same way everywhere.
|
through it the same way everywhere.
|
||||||
- **Scattered ownership checks** — a handful of independent
|
- **Scattered ownership checks** — a handful of independent
|
||||||
manager-only overrides exist across `hive-c0re` today: loose-ends
|
manager-only overrides exist across `hive-c0re` today: `destroy`
|
||||||
visibility (manager sees hive-wide, sub-agents only their own),
|
refusing to act on the manager, and crash-watch skipping
|
||||||
`destroy` refusing to act on the manager, and crash-watch skipping
|
|
||||||
the manager (it autorestarts via systemd instead of going through
|
the manager (it autorestarts via systemd instead of going through
|
||||||
the crash-watch loop). Each is planned to become a capability
|
the crash-watch loop). Each is planned to become a capability
|
||||||
check instead of a manager-name check — see the
|
check instead of a manager-name check — see the
|
||||||
module docs for `loose_ends.rs`, `stores/broker.rs`, `actions.rs`,
|
module docs for `stores/broker.rs`, `actions.rs`,
|
||||||
and `workers/crash_watch.rs` for the current owner-check logic in
|
and `workers/crash_watch.rs` for the current owner-check logic in
|
||||||
each. (The harness handles reminder cancellation fully in-agent — see
|
each. Loose-ends visibility used to be on this list; it isn't a
|
||||||
|
manager override any more — `GetLooseEnds` takes no target and every
|
||||||
|
agent, `ruth` included, sees only its own rows.
|
||||||
|
(The harness handles reminder cancellation fully in-agent — see
|
||||||
the note on `CancelLooseEndKind::Reminder` in
|
the note on `CancelLooseEndKind::Reminder` in
|
||||||
`hive-c0re/src/socket_server/mod.rs`.)
|
`hive-c0re/src/socket_server/mod.rs`.)
|
||||||
<!-- vale write-good.Passive = YES -->
|
<!-- vale write-good.Passive = YES -->
|
||||||
|
|
|
||||||
|
|
@ -165,8 +165,8 @@ the dashboard's "mark all read" (unbounded, per-agent).
|
||||||
|
|
||||||
### Loose-ends wire shape
|
### Loose-ends wire shape
|
||||||
|
|
||||||
`LooseEnd` is the per-row response shape for `GetLooseEnds` (both
|
`LooseEnd` is the per-row response shape for `GetLooseEnds` — one
|
||||||
the agent-flavour and manager-flavour requests). Tagged enum so
|
request shape, no per-socket flavours. Tagged enum so
|
||||||
new thread kinds (forge PRs, long-running approvals from a
|
new thread kinds (forge PRs, long-running approvals from a
|
||||||
privileged bot, etc.) can land later without breaking existing
|
privileged bot, etc.) can land later without breaking existing
|
||||||
handlers. Each row carries enough context that the caller renders
|
handlers. Each row carries enough context that the caller renders
|
||||||
|
|
@ -194,7 +194,7 @@ Per-variant fields:
|
||||||
- `PendingMessages { count }` — undelivered inbox messages the
|
- `PendingMessages { count }` — undelivered inbox messages the
|
||||||
agent still owes itself a `recv` for. Informational + not
|
agent still owes itself a `recv` for. Informational + not
|
||||||
cancellable (drain with `recv`); only emitted when `count > 0`,
|
cancellable (drain with `recv`); only emitted when `count > 0`,
|
||||||
and surfaced first in the agent-flavour list as the most
|
and surfaced first in the list as the most
|
||||||
actionable signal. Counted host-side from the broker
|
actionable signal. Counted host-side from the broker
|
||||||
(`count_pending`), so it reflects what's genuinely still queued —
|
(`count_pending`), so it reflects what's genuinely still queued —
|
||||||
the wake-message that drove the current turn is already delivered
|
the wake-message that drove the current turn is already delivered
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,9 @@
|
||||||
//! you are `foo`; the manager socket simply serves as `ruth`. There is no
|
//! you are `foo`; the manager socket simply serves as `ruth`. There is no
|
||||||
//! privilege flag — both transports run the same [`serve`] / [`dispatch`]
|
//! privilege flag — both transports run the same [`serve`] / [`dispatch`]
|
||||||
//! code, and authority derives uniformly from the caller's identity:
|
//! code, and authority derives uniformly from the caller's identity:
|
||||||
//! capabilities for the hive-wide queries and tool-group membership for the
|
//! tool-group membership for the orchestration verbs, and nothing else —
|
||||||
//! orchestration verbs. An agent-targeting verb may name any agent, so `ruth`
|
//! the queries are all self-scoped, so no capability is consulted here at
|
||||||
|
//! all. An agent-targeting verb may name any agent, so `ruth`
|
||||||
//! reaches every agent exactly the way every other agent does, not via any
|
//! reaches every agent exactly the way every other agent does, not via any
|
||||||
//! hardcoded name match.
|
//! hardcoded name match.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue