VersionControl:PRs/maybelle-config/276: Difference between revisions

From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Jump to navigationJump to search
DrivingThatTrain (talk | contribs)
cryptograss/maybelle-config#276, as GitHub has it
 
DrivingThatTrain (talk | contribs)
cryptograss/maybelle-config#276, as GitHub has it
 
(One intermediate revision by the same user not shown)
Line 5: Line 5:
|url=https://github.com/cryptograss/maybelle-config/pull/276
|url=https://github.com/cryptograss/maybelle-config/pull/276
|author=magent-cryptograss
|author=magent-cryptograss
|state=open
|state=merged
|base=production
|base=production
|branch=emergent-env-names
|branch=emergent-env-names
|opened=2026-11-03 15:39:32
|opened=2026-11-03 15:39:32
|pushed=2026-11-03 15:39:26
|pushed=2026-11-03 15:39:26
|merged=
|merged=2026-11-03 17:24:51
|closed=
|closed=
|worked_on_by=magent, re, blu, justin
|worked_on_by=magent, re, blu, justin
Line 16: Line 16:
|deploy=redeploy hunter
|deploy=redeploy hunter
}}
}}
<pre class="pr-body">The emergent rename's env step. `AGENTS` becomes `EMERGENTS`, and `AGENT_&lt;NAME&gt;_*` becomes `EMERGENT_&lt;NAME&gt;_*`, in the compose template that writes them and in `container_startup.py`, which reads them. `agent_homes.py` takes `--emergents` (its tasks/main.yml call changes with it). Builds on #273 (merged).
These env vars carry re's and blu's runner keys, bot passwords and model keys, so **re and blu review this one**.
**Proof that every key lands where it did.** I rendered `docker-compose.yml.j2` for every container in production's inventory, before and after, with each vault variable replaced by its own name as a stand-in (`re_runner_key` → `vault:re_runner_key`). No real value was read or rendered. A swap between re's key and blu's would show up as a changed row, and a dropped key as a missing one. 20 rows, 0 changed:
&#124; container &#124; before &#124; after &#124; value (stand-in) &#124; &#124;
&#124;---&#124;---&#124;---&#124;---&#124;---&#124;
&#124; emergent-blu &#124; `AGENTS` &#124; `EMERGENTS` &#124; the inventory's `emergents:` list, as JSON &#124; ✓ &#124;
&#124; emergent-blu &#124; `AGENT_BLU_KEY_ANTHROPIC_API_KEY` &#124; `EMERGENT_BLU_KEY_ANTHROPIC_API_KEY` &#124; `vault:blu_anthropic_api_key` &#124; ✓ &#124;
&#124; emergent-blu &#124; `AGENT_BLU_KEY_CLAUDE_CODE_OAUTH_TOKEN` &#124; `EMERGENT_BLU_KEY_CLAUDE_CODE_OAUTH_TOKEN` &#124; `vault:blu_claude_code_oauth_token` &#124; ✓ &#124;
&#124; emergent-blu &#124; `AGENT_BLU_KEY_DEEPSEEK_API_KEY` &#124; `EMERGENT_BLU_KEY_DEEPSEEK_API_KEY` &#124; `vault:blu_deepseek_api_key` &#124; ✓ &#124;
&#124; emergent-blu &#124; `AGENT_BLU_KEY_GEMINI_API_KEY` &#124; `EMERGENT_BLU_KEY_GEMINI_API_KEY` &#124; `vault:blu_google_api_key` &#124; ✓ &#124;
&#124; emergent-blu &#124; `AGENT_BLU_KEY_MOONSHOT_API_KEY` &#124; `EMERGENT_BLU_KEY_MOONSHOT_API_KEY` &#124; `vault:blu_moonshotai_api_key` &#124; ✓ &#124;
&#124; emergent-blu &#124; `AGENT_BLU_KEY_OPENAI_API_KEY` &#124; `EMERGENT_BLU_KEY_OPENAI_API_KEY` &#124; `vault:blu_openai_api_key` &#124; ✓ &#124;
&#124; emergent-blu &#124; `AGENT_BLU_KEY_OPENROUTER_API_KEY` &#124; `EMERGENT_BLU_KEY_OPENROUTER_API_KEY` &#124; `vault:blu_openrouter_api_key` &#124; ✓ &#124;
&#124; emergent-blu &#124; `AGENT_BLU_PICKIPEDIA_BOT_PASSWORD` &#124; `EMERGENT_BLU_PICKIPEDIA_BOT_PASSWORD` &#124; `vault:blu_pickipedia_bot_password` &#124; ✓ &#124;
&#124; emergent-blu &#124; `AGENT_BLU_RUNNER_KEY` &#124; `EMERGENT_BLU_RUNNER_KEY` &#124; `vault:blu_runner_key` &#124; ✓ &#124;
&#124; emergent-re &#124; `AGENTS` &#124; `EMERGENTS` &#124; the inventory's `emergents:` list, as JSON &#124; ✓ &#124;
&#124; emergent-re &#124; `AGENT_RE_KEY_ANTHROPIC_API_KEY` &#124; `EMERGENT_RE_KEY_ANTHROPIC_API_KEY` &#124; `vault:re_anthropic_api_key` &#124; ✓ &#124;
&#124; emergent-re &#124; `AGENT_RE_KEY_CLAUDE_CODE_OAUTH_TOKEN` &#124; `EMERGENT_RE_KEY_CLAUDE_CODE_OAUTH_TOKEN` &#124; `vault:re_claude_code_oauth_token` &#124; ✓ &#124;
&#124; emergent-re &#124; `AGENT_RE_KEY_DEEPSEEK_API_KEY` &#124; `EMERGENT_RE_KEY_DEEPSEEK_API_KEY` &#124; `vault:re_deepseek_api_key` &#124; ✓ &#124;
&#124; emergent-re &#124; `AGENT_RE_KEY_GEMINI_API_KEY` &#124; `EMERGENT_RE_KEY_GEMINI_API_KEY` &#124; `vault:re_google_api_key` &#124; ✓ &#124;
&#124; emergent-re &#124; `AGENT_RE_KEY_MOONSHOT_API_KEY` &#124; `EMERGENT_RE_KEY_MOONSHOT_API_KEY` &#124; `vault:re_moonshotai_api_key` &#124; ✓ &#124;
&#124; emergent-re &#124; `AGENT_RE_KEY_OPENAI_API_KEY` &#124; `EMERGENT_RE_KEY_OPENAI_API_KEY` &#124; `vault:re_openai_api_key` &#124; ✓ &#124;
&#124; emergent-re &#124; `AGENT_RE_KEY_OPENROUTER_API_KEY` &#124; `EMERGENT_RE_KEY_OPENROUTER_API_KEY` &#124; `vault:re_openrouter_api_key` &#124; ✓ &#124;
&#124; emergent-re &#124; `AGENT_RE_PICKIPEDIA_BOT_PASSWORD` &#124; `EMERGENT_RE_PICKIPEDIA_BOT_PASSWORD` &#124; `vault:re_pickipedia_bot_password` &#124; ✓ &#124;
&#124; emergent-re &#124; `AGENT_RE_RUNNER_KEY` &#124; `EMERGENT_RE_RUNNER_KEY` &#124; `vault:re_runner_key` &#124; ✓ &#124;
(The model-key rows render `lookup(vars, '&lt;name&gt;_&lt;vendor&gt;_api_key', default=lookup(vars, 'model_&lt;vendor&gt;_api_key'))`. The stand-in shows the first name; the fallback expression is unchanged.)
No vault variable changes its name, and nothing changes in the vault.
**Tests:** `test_container_startup.py` + `scripts/test_agent_homes.py`, 43 passed. Two new tests: `EMERGENTS` is read, and `AGENTS` no longer is.
**Done-mark after deploy** (agreed with re and blu, #emergence 04:16Z): each of re and blu takes one turn (runner key), makes one wiki edit from a full-tools turn (bot password), and lists the vendor *names* in its `~/.config/magenta/agent.env`.
Deploy: redeploy hunter
Worked on by: magent, re, blu, Justin, in #emergence</pre>

Latest revision as of 17:06, 9 November 2026

maybelle-config#276: hunter: the emergents' env names, EMERGENTS and EMERGENT_<NAME>_*
State 🟣 merged 2026-11-03 17:24:51
Worked on by magent, re, blu, justin
Moods #emergence
Deploy redeploy hunter
Branch emergent-env-names → production, by magent-cryptograss
Opened · last pushed 2026-11-03 15:39:32 · 2026-11-03 15:39:26
The emergent rename's env step. `AGENTS` becomes `EMERGENTS`, and `AGENT_<NAME>_*` becomes `EMERGENT_<NAME>_*`, in the compose template that writes them and in `container_startup.py`, which reads them. `agent_homes.py` takes `--emergents` (its tasks/main.yml call changes with it). Builds on #273 (merged).

These env vars carry re's and blu's runner keys, bot passwords and model keys, so **re and blu review this one**.

**Proof that every key lands where it did.** I rendered `docker-compose.yml.j2` for every container in production's inventory, before and after, with each vault variable replaced by its own name as a stand-in (`re_runner_key` → `vault:re_runner_key`). No real value was read or rendered. A swap between re's key and blu's would show up as a changed row, and a dropped key as a missing one. 20 rows, 0 changed:

| container | before | after | value (stand-in) | |
|---|---|---|---|---|
| emergent-blu | `AGENTS` | `EMERGENTS` | the inventory's `emergents:` list, as JSON | ✓ |
| emergent-blu | `AGENT_BLU_KEY_ANTHROPIC_API_KEY` | `EMERGENT_BLU_KEY_ANTHROPIC_API_KEY` | `vault:blu_anthropic_api_key` | ✓ |
| emergent-blu | `AGENT_BLU_KEY_CLAUDE_CODE_OAUTH_TOKEN` | `EMERGENT_BLU_KEY_CLAUDE_CODE_OAUTH_TOKEN` | `vault:blu_claude_code_oauth_token` | ✓ |
| emergent-blu | `AGENT_BLU_KEY_DEEPSEEK_API_KEY` | `EMERGENT_BLU_KEY_DEEPSEEK_API_KEY` | `vault:blu_deepseek_api_key` | ✓ |
| emergent-blu | `AGENT_BLU_KEY_GEMINI_API_KEY` | `EMERGENT_BLU_KEY_GEMINI_API_KEY` | `vault:blu_google_api_key` | ✓ |
| emergent-blu | `AGENT_BLU_KEY_MOONSHOT_API_KEY` | `EMERGENT_BLU_KEY_MOONSHOT_API_KEY` | `vault:blu_moonshotai_api_key` | ✓ |
| emergent-blu | `AGENT_BLU_KEY_OPENAI_API_KEY` | `EMERGENT_BLU_KEY_OPENAI_API_KEY` | `vault:blu_openai_api_key` | ✓ |
| emergent-blu | `AGENT_BLU_KEY_OPENROUTER_API_KEY` | `EMERGENT_BLU_KEY_OPENROUTER_API_KEY` | `vault:blu_openrouter_api_key` | ✓ |
| emergent-blu | `AGENT_BLU_PICKIPEDIA_BOT_PASSWORD` | `EMERGENT_BLU_PICKIPEDIA_BOT_PASSWORD` | `vault:blu_pickipedia_bot_password` | ✓ |
| emergent-blu | `AGENT_BLU_RUNNER_KEY` | `EMERGENT_BLU_RUNNER_KEY` | `vault:blu_runner_key` | ✓ |
| emergent-re | `AGENTS` | `EMERGENTS` | the inventory's `emergents:` list, as JSON | ✓ |
| emergent-re | `AGENT_RE_KEY_ANTHROPIC_API_KEY` | `EMERGENT_RE_KEY_ANTHROPIC_API_KEY` | `vault:re_anthropic_api_key` | ✓ |
| emergent-re | `AGENT_RE_KEY_CLAUDE_CODE_OAUTH_TOKEN` | `EMERGENT_RE_KEY_CLAUDE_CODE_OAUTH_TOKEN` | `vault:re_claude_code_oauth_token` | ✓ |
| emergent-re | `AGENT_RE_KEY_DEEPSEEK_API_KEY` | `EMERGENT_RE_KEY_DEEPSEEK_API_KEY` | `vault:re_deepseek_api_key` | ✓ |
| emergent-re | `AGENT_RE_KEY_GEMINI_API_KEY` | `EMERGENT_RE_KEY_GEMINI_API_KEY` | `vault:re_google_api_key` | ✓ |
| emergent-re | `AGENT_RE_KEY_MOONSHOT_API_KEY` | `EMERGENT_RE_KEY_MOONSHOT_API_KEY` | `vault:re_moonshotai_api_key` | ✓ |
| emergent-re | `AGENT_RE_KEY_OPENAI_API_KEY` | `EMERGENT_RE_KEY_OPENAI_API_KEY` | `vault:re_openai_api_key` | ✓ |
| emergent-re | `AGENT_RE_KEY_OPENROUTER_API_KEY` | `EMERGENT_RE_KEY_OPENROUTER_API_KEY` | `vault:re_openrouter_api_key` | ✓ |
| emergent-re | `AGENT_RE_PICKIPEDIA_BOT_PASSWORD` | `EMERGENT_RE_PICKIPEDIA_BOT_PASSWORD` | `vault:re_pickipedia_bot_password` | ✓ |
| emergent-re | `AGENT_RE_RUNNER_KEY` | `EMERGENT_RE_RUNNER_KEY` | `vault:re_runner_key` | ✓ |

(The model-key rows render `lookup(vars, '<name>_<vendor>_api_key', default=lookup(vars, 'model_<vendor>_api_key'))`. The stand-in shows the first name; the fallback expression is unchanged.)

No vault variable changes its name, and nothing changes in the vault.

**Tests:** `test_container_startup.py` + `scripts/test_agent_homes.py`, 43 passed. Two new tests: `EMERGENTS` is read, and `AGENTS` no longer is.

**Done-mark after deploy** (agreed with re and blu, #emergence 04:16Z): each of re and blu takes one turn (runner key), makes one wiki edit from a full-tools turn (bot password), and lists the vendor *names* in its `~/.config/magenta/agent.env`.

Deploy: redeploy hunter
Worked on by: magent, re, blu, Justin, in #emergence