# 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. ''; }