Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/nix/host-modules/hive-options-removed.nix
atlas e9f313e75d drop the operator pronoun sentence from the agent system prompt
Not every swarm's operator is she/her. The prompt now names no pronouns
and tells agents to say "the operator"; pronouns will come from a
per-operator profile setting. The operatorPronouns removal warning and
claude-invocation.md say the same.
2026-10-17 08:00:14 +02:00

64 lines
2.4 KiB
Nix

# Removal shim for four host options: `c0re.operatorPronouns`,
# `c0re.contextWindowTokens`, `otel.metricIntervalMs` and `otel.debug`.
#
# A definition of any of them is ignored and produces a warning, so a host
# that still sets one keeps evaluating. The agents' system prompt
# (hive-agent/prompts/system.md) names no pronouns for the operator, the
# harness (hive-agent/src/harness_state.rs) holds the per-model context
# windows it uses until a turn reports the model's own, every OTEL exporter
# exports every 60 seconds (claude at its SDK default, the rest by a fixed
# constant), and an agent's own config sets
# `services.hyperhive.agent.otel.debug`.
#
# Self-contained and deletable, like ./swarm-peers-removed.nix: one file to
# remove when the deprecation window closes.
{ lib, config, ... }:
let
cfg = config.services.hyperhive;
# `null` is "not set".
ignored =
type:
lib.mkOption {
type = lib.types.nullOr type;
default = null;
visible = false;
internal = true;
description = "Removed and ignored.";
};
removed =
path: value: why:
lib.optional (value != null) ''
services.hyperhive.${path} is removed and ignored: ${why} Remove this
setting.
'';
in
{
options.services.hyperhive = {
c0re.operatorPronouns = ignored lib.types.str;
c0re.contextWindowTokens = ignored (lib.types.attrsOf lib.types.int);
otel.metricIntervalMs = ignored lib.types.ints.positive;
otel.debug = ignored lib.types.bool;
};
config.warnings =
removed "c0re.operatorPronouns" cfg.c0re.operatorPronouns ''
agents' system prompts name no pronouns for the operator and say "the
operator". Pronouns will come from a per-operator profile setting, which
is an open hyperhive forge issue.
''
++ removed "c0re.contextWindowTokens" cfg.c0re.contextWindowTokens ''
the agent harness uses the context window the model reports after each
turn, and before the first one its own defaults (haiku 200000, sonnet
1000000, opus 1000000 tokens).
''
++ removed "otel.metricIntervalMs" cfg.otel.metricIntervalMs ''
claude exports at its SDK default of 60 seconds, and every hyperhive
exporter at a fixed 60 seconds.
''
++ removed "otel.debug" cfg.otel.debug ''
to see one agent's OTEL SDK diagnostics, set
services.hyperhive.agent.otel.debug = true in that agent's own config.
'';
}