# Removal shim for `services.hyperhive.c0re.operatorPronouns` and # `services.hyperhive.c0re.contextWindowTokens`. # # A definition of either 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, and # the harness (hive-agent/src/harness_state.rs) holds the per-model context # windows it uses until a turn reports the model's own. # # 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.c0re; in { options.services.hyperhive.c0re = { operatorPronouns = lib.mkOption { type = lib.types.nullOr lib.types.str; default = null; visible = false; internal = true; description = "Removed and ignored. `null` is \"not set\"."; }; contextWindowTokens = lib.mkOption { type = lib.types.nullOr (lib.types.attrsOf lib.types.int); default = null; visible = false; internal = true; description = "Removed and ignored. `null` is \"not set\"."; }; }; config.warnings = lib.optional (cfg.operatorPronouns != null) '' services.hyperhive.c0re.operatorPronouns is removed and ignored: the operator's pronouns will be a per-operator profile setting. Until then every agent's system prompt says she/her. Remove this setting. '' ++ lib.optional (cfg.contextWindowTokens != null) '' services.hyperhive.c0re.contextWindowTokens is removed and ignored: 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). Remove this setting. ''; }