# 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 the operator's pronouns itself, 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 # on the hive runs at its SDK's default cadence, 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 '' the operator's pronouns will be a per-operator profile setting. Until then every agent's system prompt says she/her. '' ++ 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 in every agent and hive-c0re's container-resource exporter both export metrics at the SDK default of 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. ''; }