From c45094849de7e199836ffdd989dde66e7e5d2363 Mon Sep 17 00:00:00 2001 From: Freudator86 Date: Fri, 17 Jul 2026 12:23:13 +0200 Subject: [PATCH 1/2] docs: require Chromium binary + shared-lib deps in Toolchain section chrome-devtools-axi is useless without an actual Chromium binary capable of a headless launch - the binary alone is not enough, since on Debian/Ubuntu-family hosts a headless launch also needs shared libs like libnspr4 that are not installed by default even when a cached Playwright Chromium binary is already present. Hit for real on crew-allesknut (Ubuntu 26.04) and fixed with `npx --yes playwright install-deps chromium`. --- docs/configuration.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/configuration.md b/docs/configuration.md index 20d7fa4f3..5b54e5ea7 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -229,7 +229,7 @@ Secondmate homes inherit this file from the primary, so a secondmate's own crewm On session start the first mate detects what its required toolchain is missing or too old and lists each problem with either an exact install command or manual instructions. It installs automatically supported tools only after you say go; manual-only tools remain for you to install from the printed instructions. Required tools come in two parts: a universal toolchain every home needs regardless of backend, and a per-backend delta that follows the runtime backend actually resolved for this home. -The universal toolchain is node, git, gh with GitHub auth via `gh auth login`, no-mistakes v1.31.2 or newer, gh-axi, chrome-devtools-axi, lavish-axi, compatible tasks-axi per "Backlog backend" above, and quota-axi. +The universal toolchain is node, git, gh with GitHub auth via `gh auth login`, no-mistakes v1.31.2 or newer, gh-axi, chrome-devtools-axi with a real Chromium binary and its OS-level shared-library dependencies for a working headless launch, lavish-axi, compatible tasks-axi per "Backlog backend" above, and quota-axi. This section is the single owner of that universal toolchain list; backend guides' prerequisites point here and add only their backend-specific tools. In that list, no-mistakes runs the validation pipeline, gh-axi, chrome-devtools-axi, and lavish-axi cover GitHub, browser, and rich-review operations, and tasks-axi plus quota-axi back backlog mutations and quota-balanced dispatch. The per-backend delta is required only for the backend resolved from `FM_BACKEND`, then `config/backend`, then runtime auto-detection, then default `tmux`, so a home is never told to install a tool an inactive backend or feature would need. @@ -243,6 +243,9 @@ When X mode is opted in, bootstrap also requires `curl` and `jq` before arming t `tasks-axi` and `quota-axi` are required bootstrap tools in every profile, the same class as `lavish-axi`. An absent or incompatible `tasks-axi` reports `MISSING: tasks-axi (install: npm install -g tasks-axi)`; when `config/backlog-backend` is not `manual` and compatible `tasks-axi` is on `PATH`, bootstrap stays silent and firstmate uses its verbs for routine backlog mutations, otherwise it hand-edits `data/backlog.md` until installation is approved and completed. An absent `quota-axi` reports `MISSING: quota-axi (install: npm install -g quota-axi)`; `bin/fm-dispatch-select.sh` still degrades to the first profile at runtime when quota data is unavailable. +A real Chromium binary is a required bootstrap tool in every profile, the same class as `lavish-axi`, needed alongside `chrome-devtools-axi` for a working headless launch. +The binary alone is not enough: on Debian/Ubuntu-family hosts a cached Playwright Chromium binary such as `~/.cache/ms-playwright/chromium-/chrome-linux64/chrome` can still be missing OS-level shared libraries like `libnspr4` that are not installed by default. +An absent or non-functional Chromium reports `MISSING: chromium (install: npx --yes playwright install-deps chromium)`, the same install-only-after-consent flow as every other automatically supported tool above. Bootstrap also reports a `TANGLE:` line when `FM_ROOT` is on a named non-default branch; follow the printed checkout remediation rather than treating it as an installable tool problem. In a read-only session that did not get the fleet lock, the same line is advisory and omits the checkout command. The locked session-start bootstrap step also runs a best-effort project clone refresh through `fm-fleet-sync.sh`. From 755eb9e22ea4d67f596ae1e6de6326702a31719a Mon Sep 17 00:00:00 2001 From: Freudator86 Date: Fri, 17 Jul 2026 12:42:56 +0200 Subject: [PATCH 2/2] no-mistakes(review): docs: fix Chromium toolchain wording to not claim bootstrap auto-detection --- docs/configuration.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 5b54e5ea7..923d08d3c 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -229,7 +229,7 @@ Secondmate homes inherit this file from the primary, so a secondmate's own crewm On session start the first mate detects what its required toolchain is missing or too old and lists each problem with either an exact install command or manual instructions. It installs automatically supported tools only after you say go; manual-only tools remain for you to install from the printed instructions. Required tools come in two parts: a universal toolchain every home needs regardless of backend, and a per-backend delta that follows the runtime backend actually resolved for this home. -The universal toolchain is node, git, gh with GitHub auth via `gh auth login`, no-mistakes v1.31.2 or newer, gh-axi, chrome-devtools-axi with a real Chromium binary and its OS-level shared-library dependencies for a working headless launch, lavish-axi, compatible tasks-axi per "Backlog backend" above, and quota-axi. +The universal toolchain is node, git, gh with GitHub auth via `gh auth login`, no-mistakes v1.31.2 or newer, gh-axi, chrome-devtools-axi, lavish-axi, compatible tasks-axi per "Backlog backend" above, and quota-axi. This section is the single owner of that universal toolchain list; backend guides' prerequisites point here and add only their backend-specific tools. In that list, no-mistakes runs the validation pipeline, gh-axi, chrome-devtools-axi, and lavish-axi cover GitHub, browser, and rich-review operations, and tasks-axi plus quota-axi back backlog mutations and quota-balanced dispatch. The per-backend delta is required only for the backend resolved from `FM_BACKEND`, then `config/backend`, then runtime auto-detection, then default `tmux`, so a home is never told to install a tool an inactive backend or feature would need. @@ -243,9 +243,9 @@ When X mode is opted in, bootstrap also requires `curl` and `jq` before arming t `tasks-axi` and `quota-axi` are required bootstrap tools in every profile, the same class as `lavish-axi`. An absent or incompatible `tasks-axi` reports `MISSING: tasks-axi (install: npm install -g tasks-axi)`; when `config/backlog-backend` is not `manual` and compatible `tasks-axi` is on `PATH`, bootstrap stays silent and firstmate uses its verbs for routine backlog mutations, otherwise it hand-edits `data/backlog.md` until installation is approved and completed. An absent `quota-axi` reports `MISSING: quota-axi (install: npm install -g quota-axi)`; `bin/fm-dispatch-select.sh` still degrades to the first profile at runtime when quota data is unavailable. -A real Chromium binary is a required bootstrap tool in every profile, the same class as `lavish-axi`, needed alongside `chrome-devtools-axi` for a working headless launch. +`chrome-devtools-axi`'s headless launches also need a real Chromium binary and its OS-level shared-library dependencies, but bootstrap does not yet detect or report this the way it does for `tasks-axi` and `quota-axi` above; no `MISSING: chromium` line exists today. The binary alone is not enough: on Debian/Ubuntu-family hosts a cached Playwright Chromium binary such as `~/.cache/ms-playwright/chromium-/chrome-linux64/chrome` can still be missing OS-level shared libraries like `libnspr4` that are not installed by default. -An absent or non-functional Chromium reports `MISSING: chromium (install: npx --yes playwright install-deps chromium)`, the same install-only-after-consent flow as every other automatically supported tool above. +Until bootstrap gains that detection, install it yourself before session start with `npx --yes playwright install-deps chromium`. Bootstrap also reports a `TANGLE:` line when `FM_ROOT` is on a named non-default branch; follow the printed checkout remediation rather than treating it as an installable tool problem. In a read-only session that did not get the fleet lock, the same line is advisory and omits the checkout command. The locked session-start bootstrap step also runs a best-effort project clone refresh through `fm-fleet-sync.sh`.