advisor: default warded advisor to --tailnet (live-observe access) so ref-mode research can verify live signal #562

Closed
opened 2026-07-03 09:10:47 +00:00 by coilysiren · 2 comments
Owner

Decision

warded advisor should default to --tailnet (which implies --aws, both read-only) so an advisor's ref-mode research can actually reach live backends and on-host state. Today live-observe access is opt-in per dispatch, which means the most common advisor task - "go look at the running system and report" - silently degrades to config-only reasoning unless the dispatcher remembers the flag.

Kai's call, 2026-07-03: advisors get live-observe (tailnet + aws) by default.

Why

  • Advisors are read-only by contract - they research and post a comment, they never write code or mutate config. So the safety objection to broad read access is weak: the whole point of the role is to observe.
  • A large class of advisor questions is inherently live: verify telemetry flows, confirm a config landed, tail a service, check a mod set. These need to reach vmsingle / GlitchTip / SigNoz or the on-host files, which today only --tailnet unlocks.
  • The concrete trigger: coilyco-gaming/eco-ops#26 (verify EcoTelemetry signals flow). Dispatched as a plain advisor, the sibling hits the same wall the read-only director does and can only reason about config. It needs --tailnet to answer the actual question. Making that the default removes a recurring footgun where the dispatcher gets a confident-looking but observation-blind answer.

Scope

  • Change the default for the advisor role only. Engineer and director defaults stay as they are.
  • --tailnet implies --aws, both read-only surfaces (SSM read, tailnet reach). No write path is added.
  • Provide an explicit opt-out (--no-tailnet or equivalent) for the rare advisor run that should stay network-isolated, so the default is a convenience, not a lock-in.
  • Update ward agent advisor --help and docs/agent.md to state the new default and the opt-out.
  • coilyco-flight-deck/ward#547 - grant the read-only director a live observe capability. This issue is the sibling-dispatch answer to the same need: instead of teaching the director to observe, dispatch an advisor that already can.
  • coilyco-flight-deck/ward#548, #560 - the dispatch-context fixes that had to land first for advisor ref-mode to carry its prompt at all. Those are now released (v0.352.0). This is the next layer: once the advisor reliably gets its question, give it the access to answer live ones.
  • coilyco-gaming/eco-ops#26 - the triggering live-verification task.
## Decision `warded advisor` should default to `--tailnet` (which implies `--aws`, both read-only) so an advisor's ref-mode research can actually reach live backends and on-host state. Today live-observe access is opt-in per dispatch, which means the most common advisor task - "go look at the running system and report" - silently degrades to config-only reasoning unless the dispatcher remembers the flag. Kai's call, 2026-07-03: advisors get live-observe (tailnet + aws) by default. ## Why - Advisors are **read-only by contract** - they research and post a comment, they never write code or mutate config. So the safety objection to broad read access is weak: the whole point of the role is to observe. - A large class of advisor questions is inherently live: verify telemetry flows, confirm a config landed, tail a service, check a mod set. These need to reach vmsingle / GlitchTip / SigNoz or the on-host files, which today only `--tailnet` unlocks. - The concrete trigger: **coilyco-gaming/eco-ops#26** (verify EcoTelemetry signals flow). Dispatched as a plain advisor, the sibling hits the same wall the read-only director does and can only reason about config. It needs `--tailnet` to answer the actual question. Making that the default removes a recurring footgun where the dispatcher gets a confident-looking but observation-blind answer. ## Scope - Change the default for the **advisor** role only. Engineer and director defaults stay as they are. - `--tailnet` implies `--aws`, both **read-only** surfaces (SSM read, tailnet reach). No write path is added. - Provide an explicit opt-out (`--no-tailnet` or equivalent) for the rare advisor run that should stay network-isolated, so the default is a convenience, not a lock-in. - Update `ward agent advisor --help` and `docs/agent.md` to state the new default and the opt-out. ## Related - coilyco-flight-deck/ward#547 - grant the read-only director a live observe capability. This issue is the sibling-dispatch answer to the same need: instead of teaching the director to observe, dispatch an advisor that already can. - coilyco-flight-deck/ward#548, #560 - the dispatch-context fixes that had to land first for advisor ref-mode to carry its prompt at all. Those are now released (v0.352.0). This is the next layer: once the advisor reliably gets its question, give it the access to answer live ones. - coilyco-gaming/eco-ops#26 - the triggering live-verification task.
Member

🔒 Reserved by ward agent --driver codex — container engineer-codex-ward-562 on host KAI-DESKTOP-TOWER is carrying this issue (reserved 2026-07-03T10:15:27Z). Concurrent ward agent runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); --force overrides.

Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh — that is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).

— Codex, via ward agent

<!-- ward-agent-reservation --> 🔒 Reserved by `ward agent --driver codex` — container `engineer-codex-ward-562` on host `KAI-DESKTOP-TOWER` is carrying this issue (reserved 2026-07-03T10:15:27Z). Concurrent `ward agent` runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); `--force` overrides. **Do not comment on or edit this issue to steer the run while it is reserved.** The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a **new issue, dispatched fresh** — that is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494). <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Owner

WARD-OUTCOME: done - warded advisor now defaults to live-observe tailnet access with an explicit no-tailnet opt-out.\n\nThe change was straightforward in the code, but the docs cap and the CLI library's lack of automatic no-tailnet parsing both fought back a little. Confidence is high after the full test suite and pre-commit passed. The only rough edge worth watching is whether the new advisor default should be reflected anywhere else in operator-facing docs or release notes.

WARD-OUTCOME: done - warded advisor now defaults to live-observe tailnet access with an explicit no-tailnet opt-out.\n\nThe change was straightforward in the code, but the docs cap and the CLI library's lack of automatic no-tailnet parsing both fought back a little. Confidence is high after the full test suite and pre-commit passed. The only rough edge worth watching is whether the new advisor default should be reflected anywhere else in operator-facing docs or release notes.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilyco-flight-deck/ward#562
No description provided.