Skip to content

HSM settings UI doesn't reflect YAML require_mention (only reads .env) #93

Description

@juniperbevensee

Background

Follow-up from PR #92 (empty SIGNAL_REQUIRE_MENTION silently un-gating agents). An independent review of that diff surfaced a separate, pre-existing mismatch worth tracking.

The gap

HSM's settings GET/PUT (app/api/harnesses/[id]/settings/route.ts) reads and writes only the agent's .env for mention-gating. But the runtime (hermes-agent-mt gateway/platforms/signal.py:247-249) resolves require_mention from the gateway config extra (YAML) first, falling back to the SIGNAL_REQUIRE_MENTION env var only when the YAML value is None (gateway/config.py ~1127-1137).

Consequence: if an agent's YAML sets require_mention (or signal.require_mention), that outranks the .env value at runtime, and the HSM UI neither reads nor reflects it. The UI can therefore show a mention-gating state that doesn't match what the agent actually does.

Current impact

Latent. All current NimbleCoAI fleet agents are env-var/.env-driven (no YAML require_mention), so the UI is accurate today. This only bites if an agent is configured via gateway YAML.

Options

  1. Have the settings GET also read the agent's gateway YAML config and report the effective (YAML-or-env) value; PUT could warn or refuse when a YAML override is present.
  2. Document that .env is HSM's source of truth and have agent import/normalize strip/avoid YAML require_mention.
  3. Accept as known-limitation and leave the code comment that's already in route.ts.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions