docs: list all 5 system-prompt placeholders + set_status validation limits

turn-loop.md:
- expand stale '{label} and {operator_pronouns}' note to all 5
  current placeholders (#730 added hive_identity + swarm_identity)
- add 200-char + single-line validation note to set_status (#723)
This commit is contained in:
lexis 2026-05-31 12:23:59 +02:00
commit 264c984398

View file

@ -177,11 +177,15 @@ socket at `/run/hive/` once at startup:
`hive-ag3nt/prompts/system.md` by `hive_ag3nt::prompt::render`:
HTML-comment markers (`<!-- role:agent -->...<!-- /role:agent -->`,
same for `role:manager`) gate the role-specific blocks (closes
#519); everything else is shared. Then `{label}` and
`{operator_pronouns}` get substituted in the assembled output.
Pronouns come from `HIVE_OPERATOR_PRONOUNS` env (set by the meta
flake from `services.hyperhive.c0re.operatorPronouns`, default
`she/her`). Passed via `--system-prompt-file`.
#519); everything else is shared. Five placeholders are then
substituted: `{label}` (short agent name), `{qualified_label}`
(hive-qualified `name@domain` form), `{operator_pronouns}`,
`{hive_identity}` (e.g. `` on hive `pr1ma` ``; empty when
`hyperhive.hiveName` is unset), and `{swarm_identity}` (same
shape for the swarm). Pronouns come from `HIVE_OPERATOR_PRONOUNS`
env (set by the meta flake from
`services.hyperhive.c0re.operatorPronouns`, default `she/her`).
Passed via `--system-prompt-file`.
The shared per-turn plumbing lives in `hive_ag3nt::turn::{write_mcp_config,
write_settings, write_system_prompt, run_turn, drive_turn,
@ -243,7 +247,9 @@ it as a stdio child via `--mcp-config`. The hyperhive socket name is
- `set_status(text)` — set a free-text status string visible on
the operator dashboard. Persisted to
`{state_dir}/hyperhive-status`; survives harness restarts. Pass
an empty string to clear.
an empty string to clear. Validated: must be a single line and
≤ 200 Unicode characters; the server rejects multi-line or
over-length text with a clear error.
- `get_agent_meta(name?)` — fetch identity + status metadata for
an agent: `{ name, role, hyperhive_rev, running, status_text,
status_set_at }`. Pass `name` to query a peer (e.g. check