parent
ac35f0f2cf
commit
578ee90096
2 changed files with 11 additions and 12 deletions
|
|
@ -133,7 +133,7 @@ everything below applies only when it doesn't:
|
|||
(inject a `from: <X>` message straight into the caller's own inbox)
|
||||
is on this socket too but isn't privileged to either flavour; no
|
||||
built-in in-container producer calls it today — matrix, bash and
|
||||
forge notifications all moved to pushing a todo on the harness's
|
||||
forge notifications push a todo on the harness's
|
||||
in-agent socket instead (see
|
||||
[`docs/turn-loop/mcp.md`](../turn-loop/mcp.md#waking-the-agent-from-inside-the-container)).
|
||||
- **Storage/mounts** — only the manager container gets
|
||||
|
|
@ -147,7 +147,7 @@ everything below applies only when it doesn't:
|
|||
path writes `flake.lock` any more — `request_update_meta_inputs` was
|
||||
removed, leaving the operator dashboard's `POST
|
||||
/api/meta-update` as the only entry point.
|
||||
- **Prompt** — _not_ treated differently in practice any more: `prompts/system.md`
|
||||
- **Prompt** — treated identically: `prompt::render` always filters for `agent`. `prompts/system.md`
|
||||
still carries `<!-- role:agent -->` / `<!-- role:manager -->` marker
|
||||
blocks, but `prompt::render` filters for `"agent"` unconditionally for
|
||||
every container, manager included ("always `agent` role — there is
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ no call site today) as regular inbox messages (same `recv`
|
|||
path; body is a JSON object with an `event` discriminant field).
|
||||
`ApprovalResolved` goes to whichever agent actually submitted the
|
||||
approval (`Coordinator::notify_submitter`, looked up from the
|
||||
authenticated socket caller at submit time; a legacy row with no
|
||||
authenticated socket caller at submit time; a row with no
|
||||
recorded submitter falls back to the manager, `ruth`).
|
||||
`ContainerCrash` always goes to `ruth` (`Coordinator::notify_manager`,
|
||||
hardcoded — `hive-c0re/src/workers/crash_watch.rs`). A `MergeConfigPr`
|
||||
|
|
@ -78,11 +78,10 @@ outcomes](README.md#turn-outcomes)) via a generic "call
|
|||
`get_loose_ends`" prompt rather than the event body itself. Lifecycle
|
||||
transitions the job-queue scheduler or crash watcher drive directly —
|
||||
stop/kill, destroy, a flake-rev login or logout state change — reach
|
||||
no individual agent any more: they publish onto a swarm-wide NATS
|
||||
JetStream stream instead (`swarm_notices::notify`,
|
||||
`hive-c0re/src/swarm_notices.rs`), since every hive is swarm-controlled
|
||||
now and there is no manager-agent fallback left to push an in-container
|
||||
todo to.
|
||||
no individual agent: they publish onto a swarm-wide NATS
|
||||
JetStream stream (`swarm_notices::notify`,
|
||||
`hive-c0re/src/swarm_notices.rs`); every hive is swarm-controlled, so
|
||||
there is no manager-agent fallback to push an in-container todo to.
|
||||
|
||||
**Inbox** (`inbox` group): `get_loose_ends()`,
|
||||
`cancel_loose_end(kind, id)`, `remind(message, delay_seconds? |
|
||||
|
|
@ -178,12 +177,12 @@ hive_name?, swarm_name?, matrix_accounts? }`. `matrix_accounts` is a
|
|||
|
||||
## Waking the agent from inside the container
|
||||
|
||||
The built-in producers (matrix, bash, forge) no longer dial a direct
|
||||
wake — all three now upsert a todo on the harness's in-agent socket
|
||||
(`HIVE_AGENT_SOCKET`, `UpsertTodo` — see
|
||||
The built-in producers (matrix, bash, forge) upsert a todo on the
|
||||
harness's in-agent socket (`HIVE_AGENT_SOCKET`, `UpsertTodo` — see
|
||||
[`docs/tools/bash.md` § Completion as a todo
|
||||
(loose-ends v2)](../tools/bash.md#completion-as-a-todo-loose-ends-v2)
|
||||
for the full upsert/signal/clear mechanism): a new or changed summary
|
||||
for the full upsert/signal/clear mechanism); none dials a direct
|
||||
wake: a new or changed summary
|
||||
makes the harness signal its own turn loop, with no hive-c0re
|
||||
round-trip. An external MCP server (or any other in-container process)
|
||||
can push its own todo the same way — `subsystem` is a plain string,
|
||||
|
|
|
|||
Loading…
Reference in a new issue