···1414 # Server-side agent catalog entry so a browser session can pick omp without
1515 # any per-user config: the generic ACP harness drives `omp acp` (omp speaks
1616 # the Agent Client Protocol natively). The command is unqualified on purpose
1717- # — it is resolved on the *host* that runs the session, not here.
1818- ompAgentConfig = pkgs.writeText "omp-config.yaml" ''
1919- spec_version: 1
1717+ # — it is resolved on the *host* that runs the session, not here, so that host
1818+ # needs omp on PATH (`covibe host` registers one that way).
1919+ #
2020+ # This has to be a single-file spec, NOT a bundle directory with config.yaml:
2121+ # the bundle parser stringifies nested values under `executor.config`, so
2222+ # `acp_agent` arrives as "{'name': …}" and every turn dies with
2323+ # "turn setup failed: executor acp_agent must be a mapping with name and
2424+ # command" — while the session itself sits there looking idle. The single-file
2525+ # parser keeps it a mapping. `--agent` accepts either shape (spec
2626+ # materialize_bundle branches on file-vs-directory).
2727+ ompAgent = pkgs.writeText "omnigent-agent-omp.yaml" ''
2028 name: omp
2129 description: Oh My Pi (omp) over ACP — runs on whichever machine hosts the session.
2230 prompt: You are omp (Oh My Pi), a concise coding assistant.
23312432 executor:
2525- type: omnigent
2626- config:
2727- harness: acp
2828- acp_agent:
2929- name: Oh My Pi
3030- command: omp acp
3131- # See tools/covibe/flake-module.nix: omp fails session/new outright
3232- # when omnigent's MCP relay cannot start, and the relay's
3333- # `python -I -m omnigent…` child cannot import omnigent under a
3434- # nixpkgs-wrapped interpreter.
3535- omnigent_mcp: false
3333+ harness: acp
3434+ acp_agent:
3535+ name: Oh My Pi
3636+ command: omp acp
3737+ # See tools/covibe/flake-module.nix: omp fails session/new outright
3838+ # when omnigent's MCP relay cannot start, and the relay's
3939+ # `python -I -m omnigent…` child cannot import omnigent under a
4040+ # nixpkgs-wrapped interpreter.
4141+ omnigent_mcp: false
36423743 os_env:
3844 type: caller_process
3945 cwd: "."
4046 sandbox:
4147 type: none
4242- '';
4343-4444- # `--agent` takes a bundle *directory* holding config.yaml.
4545- ompAgent = pkgs.runCommand "omnigent-agent-omp" { } ''
4646- mkdir -p $out
4747- cp ${ompAgentConfig} $out/config.yaml
4848 '';
49495050 # One identity per line. Admins bypass every per-session ACL, which is what