--- name: cell2026-configuring description: Use when the user wants to set up, configure, or troubleshoot cell2026 (Shinobu Lab) — SSH access, the embedding endpoint for docs search (RAG), or the ~/.hpc-agent/cell2026.json file. Also use when cell2026 tools fail with connection or embedding errors. --- # Configuring cell2026 (Shinobu Lab) Settings live in `~/.hpc-agent/cell2026.json` (the common directory shared by every facility this plugin serves — one file per facility). Env vars `CELL2026_HOST` and `CELL2026_EMBED_API_KEY` override the file; the embedding key also falls back to a shared `RCCS_EMBED_API_KEY` env var if several facilities share the same endpoint. The file this facility needs (add `"embedding": {"api_key": "..."}` too if docs search should use vector rather than keyword matching): ```json { "ssh": { "host": "cell2026" } } ``` ## What must be true before it can connect cell2026 requires non-interactive key-based SSH. Add a 'cell2026' alias to ~/.ssh/config using the hostname and username issued by the lab, or set ssh.host to that user@host. There is no public login hostname to guess. Use host=localhost when the agent already runs on the head node. No project/account is configured: neither scheduler uses one. CELL2026_DEFAULT_SCHEDULER may be 'gridengine' (the default) or 'slurm'; CELL2026_GE_BIN can name the AGE binary directory if the login shell does not put it on PATH. ## Guided setup — interview the user, then write the file Read the existing `~/.hpc-agent/cell2026.json` first and only ask about what's missing or being changed. 1. **SSH** — ask how they reach this facility's login node: cell2026 uses key-based SSH. Configure the hostname and username issued by the lab as an SSH alias or user@host; no public hostname should be guessed. Use `host=localhost` when the agent already runs on the head node. There are no project/account settings. `CELL2026_DEFAULT_SCHEDULER` may be `gridengine` (default) or `slurm`. `CELL2026_GE_BIN` may point at the AGE binary directory when the login shell does not put it on PATH. The optional embedding key uses the shared RIKEN endpoint; without it, docs search falls back to BM25. - **Running the agent session directly on this facility's own front-end/login node** (not a personal laptop)? Use `"host": "localhost"` instead — no SSH key needed. Skip the verification step below for this case; there's nothing to probe. - Verify with: `ssh -o BatchMode=yes 'echo ok'` (BatchMode matters — the server cannot answer a password prompt; key-based auth is required). Not applicable for `"host": "localhost"`. - **Enable SSH multiplexing unless the user explicitly opts out.** This lets repeated agent operations reuse one authenticated connection rather than making the login node authenticate every call. Recommend an SSH alias and, after showing the exact change and receiving confirmation, add a narrowly scoped block to `~/.ssh/config` without overwriting any unrelated entries: ```sshconfig Host ControlMaster auto ControlPath ~/.ssh/controlmasters/%C ControlPersist 30m ``` Create `~/.ssh/controlmasters` with mode `0700`, then open the initial master in the user's own terminal with `ssh -MNf `. Set `ssh.host` to that same alias. `ControlMaster no` is an intentional opt-out; do not add or change multiplexing settings when it is present. 2. **Embedding API key** (optional — skippable; BM25 keyword search still works without it). Store it under `embedding.api_key`. 3. **Write the file** to `~/.hpc-agent/cell2026.json` (`mkdir -p ~/.hpc-agent` first if needed), then `chmod 600` it — it may hold an API key. Never commit it or echo the key back in conversation. 4. **Validate**: ```bash uv tool run --quiet --from git+https://github.com/william-dawson/hpc-rookery.git@main hpc-doctor cell2026 ``` (From a checkout of this repo: `.venv/bin/python -m hpc_mcp.doctor cell2026` also works.) 5. **If the embedding endpoint was added or changed**, rebuild this facility's docs index: ```bash uv tool run --quiet --from git+https://github.com/william-dawson/hpc-rookery.git@main python -m hpc_mcp.ingest cell2026 ``` Then run the doctor again — it should report "chunks with embeddings". ## Notes - Settings are read fresh on every tool call, so a config file edit (including switching `ssh.host` to/from `"localhost"`) applies immediately — no server restart needed. A rebuilt docs index still needs the `hpc-docs` server restarted to be picked up. - Off-network or without a key, docs search transparently falls back to BM25 keyword search over the same content — the plugin still works.