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.
64 lines
2.4 KiB
Nix
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.
|
|
'';
|
|
}
|