Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/nix/host-modules/hive-options-removed.nix
atlas f8960dd501 drop the remaining HYPERHIVE_OTEL_METRIC_INTERVAL_MS readers
Nothing sets the variable once otel.metricIntervalMs is gone, so the
turn-metrics, jobq-metrics and vcs-metrics exporters export at a fixed
60s, as hive-c0re's container-resource exporter already does. The
observability doc and the removal warning now say so.
2026-10-17 08:00:14 +02:00

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