Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/nix/host-modules/hive-options-removed.nix
atlas 6942f8fd27 publish operators' forge-profile pronouns to kv and list them in the agent prompt
swarm-controller reads each member of authelia's operator group's forge
profile every five minutes and keeps one key per operator in the new
operator-profiles bucket. Every agent may list and read that bucket, and
hive-agent renders it into the system prompt at harness start, falling
back to today's prompt when the bucket is empty or doesn't answer within
five seconds.

Fixes #5383
2026-10-17 13:10:05 +02:00

64 lines
2.3 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) takes each operator's pronouns from their
# forge profile, 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 take each operator's pronouns from the Pronouns
field of that operator's forge profile.
''
++ 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.
'';
}