Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions blueprint/ansible/group_vars/all/base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,11 @@ crewship_tools_root: "{{ crewship_share_dir }}/tools"
crewship_omp_root: "{{ crewship_share_dir }}/omp/{{ crewship_omp_version }}"
# AXI must launch the chrome-devtools MCP build the installer installed (the
# latest release) instead of resolving `npx ...@latest` at runtime. The
# installer re-points `current` at that release, so this text, and with it the
# Herdr unit and the profile block, stays the same between releases. Exported
# to the managed shell environment and to the Herdr service environment.
crewship_chrome_devtools_mcp_path: "{{ crewship_share_dir }}/chrome-devtools-mcp/current/node_modules/chrome-devtools-mcp/out/Default/gen/src/bin/chrome-devtools-mcp.js"
# installer links this command from the package's own `bin` field, so a release
# that moves its entry file still resolves, and this text, with it the Herdr
# unit and the profile block, stays the same between releases. Exported to the
# managed shell environment and to the Herdr service environment.
crewship_chrome_devtools_mcp_path: "{{ crewship_local_bin }}/chrome-devtools-mcp"
# Environment shared by the interactive shell profile and the Herdr unit.
# Consumed only when the agents profile is on, because the npm set that
# provides the MCP entrypoint is installed by `--npm`. Nothing here may be a
Expand Down
1 change: 1 addition & 0 deletions changelog.d/1341.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Point the chrome-devtools MCP path at the command the installer links from the package's own `bin`, so a release that moves its entry file keeps working.
2 changes: 1 addition & 1 deletion docs/dependencies.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ Bun output stays in one labeled block per package, including command failures.
- `agents` profile, native: gws, the Google Workspace CLI ([googleworkspace/cli](https://github.com/googleworkspace/cli/releases/latest), the static musl build), verified against the `<asset>.sha256` file the release publishes. Signing in Google accounts is manual: see [Google Workspace CLI](google-workspace.md).
- `agents` profile, native: rtk ([rtk-ai/rtk](https://github.com/rtk-ai/rtk/releases/latest), the plain edition: the musl build for x86_64, the gnu build for arm64), verified against the line for its asset in the `checksums.txt` the release publishes. Apply then runs `rtk init -g --hook-only --auto-patch` and `rtk init -g --agent omp`, which add the command-rewrite hook to `~/.claude/settings.json` and the extension `~/.omp/agent/extensions/rtk.ts`. Each command reports no change when its hook is already present. `rtk gain` shows the tokens saved.
- `agents` profile, no-mistakes ([kunchenguid/no-mistakes](https://github.com/kunchenguid/no-mistakes/releases)): the one tool that tracks the prerelease channel. Each apply resolves the newest non-draft release, betas included (not only the latest stable one), and verifies it against the GitHub release-asset digest.
- `agents` profile, bun: omp (`@oh-my-pi/pi-coding-agent`), chrome-devtools-axi, gh-axi, lavish-axi, quota-axi, tasks-axi, forgejo-axi (the no-mistakes Forgejo provider; see [no-mistakes](forgejo.md#no-mistakes)), [backpass](https://github.com/kunchenguid/backpass) (proposes evidence-backed edits to AGENTS.md and CLAUDE.md from real sessions; runs through acpx and lavish-axi), [api-anything](https://github.com/goodnight000/api-anything) (site operations over plain HTTP; see [api-anything](fleet-guards.md#api-anything)), acpx (runs `omp acp`; see [no-mistakes pipeline agent](omp.md#no-mistakes-pipeline-agent)), and chrome-devtools-mcp (the MCP build chrome-devtools-axi launches through `CHROME_DEVTOOLS_AXI_MCP_PATH`, which points at `~/.local/share/crewship/chrome-devtools-mcp/current`, a link the installer re-points at each release, so a new release never changes the Herdr unit or the `.profile` block and never restarts `herdr.service`). The fleet requires at least quota-axi 0.1.54 and tasks-axi 0.2.6. Shells and user units have `~/.bun/bin` on `PATH`, after `~/.local/bin`, for tools you add yourself with `bun add -g`.
- `agents` profile, bun: omp (`@oh-my-pi/pi-coding-agent`), chrome-devtools-axi, gh-axi, lavish-axi, quota-axi, tasks-axi, forgejo-axi (the no-mistakes Forgejo provider; see [no-mistakes](forgejo.md#no-mistakes)), [backpass](https://github.com/kunchenguid/backpass) (proposes evidence-backed edits to AGENTS.md and CLAUDE.md from real sessions; runs through acpx and lavish-axi), [api-anything](https://github.com/goodnight000/api-anything) (site operations over plain HTTP; see [api-anything](fleet-guards.md#api-anything)), acpx (runs `omp acp`; see [no-mistakes pipeline agent](omp.md#no-mistakes-pipeline-agent)), and chrome-devtools-mcp (the MCP build chrome-devtools-axi launches through `CHROME_DEVTOOLS_AXI_MCP_PATH`, which points at `~/.local/bin/chrome-devtools-mcp`, the command the installer links from the package `bin` field and re-points at each release, so a new release never changes the Herdr unit or the `.profile` block and never restarts `herdr.service`). The fleet requires at least quota-axi 0.1.54 and tasks-axi 0.2.6. Shells and user units have `~/.bun/bin` on `PATH`, after `~/.local/bin`, for tools you add yourself with `bun add -g`.
See [Diagrams](#diagrams) for the Ondine entry.
- `agents` profile, no-mistakes pi adapter check: every apply downloads four pi adapter source files of the no-mistakes release it installs from `raw.githubusercontent.com` (each fetch gives up after 30 seconds) and compares them with the sha256 pins in `blueprint/config/omp-as-pi/check-adapter.sh`. A source that differs from its pin, or is gone from the tag (HTTP 404), switches the gate agent to `acp:omp`; a network error, a timeout or any other HTTP status leaves the agent setting as it is and prints a warning; neither fails the apply (see [no-mistakes pipeline agent](omp.md#no-mistakes-pipeline-agent)).
- Retired: codex and pnpm are no longer installed (bun is the single package manager and runner; omp is the pi agent). An apply on a host that still has them removes the `codex`, `pnpm` and `pnpx` links in `~/.local/bin` that point into the old `~/.local/share/crewship/npm` prefix and changes `defaultAgent` in `~/.acpx/config.json` from `codex` to `omp` when it is still `codex`. The old prefix stays on disk, like every superseded install, so shells and AXI bridges started before the upgrade keep their files; delete it by hand when nothing uses it. Commands of the same name installed any other way are left alone.
Expand Down
7 changes: 2 additions & 5 deletions tests/test_configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -1080,9 +1080,7 @@ def test_the_managed_environment_never_carries_a_process_wide_runtime_limit(tmp_
def test_a_new_chrome_devtools_mcp_release_leaves_the_managed_environment_unchanged(tmp_path):
before = _managed_environment(tmp_path, True, "1.0.0")
assert _managed_environment(tmp_path, True, "1.1.0") == before
assert before["CHROME_DEVTOOLS_AXI_MCP_PATH"].endswith(
"/chrome-devtools-mcp/current/node_modules/chrome-devtools-mcp/out/Default/gen/src/bin/chrome-devtools-mcp.js"
)
assert before["CHROME_DEVTOOLS_AXI_MCP_PATH"] == f"{tmp_path}/.local/bin/chrome-devtools-mcp"


def test_board_environment_reaches_new_shells_and_agents_and_is_removed_on_opt_out(tmp_path):
Expand Down Expand Up @@ -1146,8 +1144,7 @@ def test_board_environment_reaches_new_shells_and_agents_and_is_removed_on_opt_o
)
assert shell.stdout.splitlines() == [
socket if board is not None else "unset",
f"{tmp_path}/.local/share/crewship/chrome-devtools-mcp/current/"
"node_modules/chrome-devtools-mcp/out/Default/gen/src/bin/chrome-devtools-mcp.js",
f"{tmp_path}/.local/bin/chrome-devtools-mcp",
]
for line in (
'Environment="FM_OMP_ARM_READY_TIMEOUT_MS=45000"',
Expand Down
Loading