From 75e9e205e3debdc9c56262235d5872b790894439 Mon Sep 17 00:00:00 2001 From: atlas Date: Tue, 27 Oct 2026 21:14:44 +0100 Subject: [PATCH] fetch the agent's backend env file from the store, seeded from the existing file the agent's own root unit reads swarm/agents//backend-env into /run and creates it from backendEnvironmentFile with -cas=0 when the store holds nothing. the shared agent policy gains create (not update) on that one leaf. the harness and the subagent daemon load the old file first and the fetched one after it. --- docs/swarm/credentials-reference.md | 2 + docs/swarm/credentials.md | 2 +- docs/turn-loop/config.md | 12 + nix/agent-modules/agent-service.nix | 16 +- nix/agent-modules/backend-env.nix | 205 ++++++++++++ nix/agent-modules/default.nix | 1 + nix/agent-modules/mcp.nix | 4 +- nix/checks.nix | 6 + nix/module-eval/agent-runtime.nix | 85 ++++- .../agent-backend-env-fake-bao.sh | 77 +++++ nix/script-tests/agent-backend-env.nix | 56 ++++ nix/script-tests/agent-backend-env.sh | 306 ++++++++++++++++++ swarm-secret-client/src/backend_env.rs | 99 ++++++ swarm-secret-client/src/lib.rs | 3 +- swarm-secret-client/src/policy.rs | 90 ++++-- 15 files changed, 933 insertions(+), 31 deletions(-) create mode 100644 nix/agent-modules/backend-env.nix create mode 100755 nix/script-tests/agent-backend-env-fake-bao.sh create mode 100644 nix/script-tests/agent-backend-env.nix create mode 100644 nix/script-tests/agent-backend-env.sh create mode 100644 swarm-secret-client/src/backend_env.rs diff --git a/docs/swarm/credentials-reference.md b/docs/swarm/credentials-reference.md index 42f85c79..7c0be4ee 100644 --- a/docs/swarm/credentials-reference.md +++ b/docs/swarm/credentials-reference.md @@ -32,6 +32,7 @@ the rest of the cell says how. | `swarm/agents//forge-token` | `swarm-controller`, at agent creation and every 5 minutes | the agent | ✅ when missing or no longer matching the forge | ✅ every 10 minutes | | `swarm/agents//forge/