remove c0re.operatorPronouns and c0re.contextWindowTokens
Both options are now ignored with a warning (the swarm-peers-removed.nix shape), so a host that still sets one keeps evaluating. - operatorPronouns: the agents' system prompt names the pronouns as she/her, the value the harness fell back to and the option's default. The --operator-pronouns flag, HiveEnv field, meta-flake let binding and HIVE_OPERATOR_PRONOUNS env var are gone. - contextWindowTokens: the per-family defaults (haiku 200000, sonnet 1000000, opus 1000000) move into hive-agent's harness_state as a table; the window the API reports after a turn still wins. The --context-window-tokens flag, HiveEnv field and the rendered HIVE_CONTEXT_WINDOW_TOKENS_<KEY> env vars are gone.
This commit is contained in:
parent
5cd1f16405
commit
4b5707768c
18 changed files with 151 additions and 258 deletions
|
|
@ -48,8 +48,13 @@ let
|
|||
inherit (shared) forgeHere;
|
||||
|
||||
# Every hive defaults the agents' queue address to the queue's name, so the
|
||||
# only hive without one is a hive told to have none.
|
||||
noAgentQueue = hiveWithController { deploy.hive-controller.queue.agentNatsUrl = null; };
|
||||
# only hive without one is a hive told to have none. Also the host still
|
||||
# setting the two removed `c0re` options; no case on its queue reads them.
|
||||
noAgentQueue = hiveWithController {
|
||||
deploy.hive-controller.queue.agentNatsUrl = null;
|
||||
c0re.operatorPronouns = "they/them";
|
||||
c0re.contextWindowTokens.sonnet = 900000;
|
||||
};
|
||||
|
||||
# On the store's host, which mints the runner's store identity.
|
||||
withCi = hive {
|
||||
|
|
@ -237,6 +242,29 @@ let
|
|||
in
|
||||
!(e ? HIVE_AGENT_NATS_URL) && !(e ? HIVE_AGENT_OIDC_TOKEN_ENDPOINT);
|
||||
}
|
||||
{
|
||||
# Control: `bare` sets neither option, and its serve.json carries the
|
||||
# dashboard port, so the key lookup reads a real document.
|
||||
name = "a definition of a removed c0re option evaluates, warns, and reaches no serve.json";
|
||||
ok =
|
||||
let
|
||||
warned =
|
||||
m: option:
|
||||
lib.any (w: lib.hasInfix "services.hyperhive.c0re.${option} is removed and ignored" w) m.warnings;
|
||||
options = [
|
||||
"operatorPronouns"
|
||||
"contextWindowTokens"
|
||||
];
|
||||
hasKey = m: key: lib.hasInfix "\"${key}\":" m.environment.etc."hyperhive/serve.json".text;
|
||||
noRemovedKeys =
|
||||
m:
|
||||
hasKey m "dashboard_port" && !(hasKey m "operator_pronouns") && !(hasKey m "context_window_tokens");
|
||||
in
|
||||
lib.all (warned noAgentQueue) options
|
||||
&& !(lib.any (warned bare) options)
|
||||
&& noRemovedKeys noAgentQueue
|
||||
&& noRemovedKeys bare;
|
||||
}
|
||||
{
|
||||
# Where the store is and where the agent is told it is, one agreement
|
||||
# spanning two modules. Asserted against the hive's own `BAO_ADDR`
|
||||
|
|
|
|||
Loading…
Reference in a new issue