## Summary Adds advisory-only tool lane hygiene inside `services/computer-use-mcp`. This tracks the most recent non-exempt tool lane and appends a non-blocking advisory when a registered tool is called from a different active lane. The change is intentionally scoped to computer-use MCP server registration and run state. ## Boundary - Only touches `services/computer-use-mcp`. - Does not touch app, renderer, overlay, extension, or root project governance files. - Does not include local AI config, local worktree artifacts, screenshots, tokens, account identifiers, or raw environment dumps. ## Validation Sanitized evidence is committed in `services/computer-use-mcp/validation/tool-lane-hygiene.md`. Ran: - `pnpm install --ignore-scripts --frozen-lockfile` - `pnpm -F @proj-airi/computer-use-mcp exec vitest run src/server/tool-lane-hygiene.test.ts --config ./vitest.config.ts` - `pnpm -F @proj-airi/computer-use-mcp exec vitest run src/server/tool-lane-hygiene.test.ts src/server/register-tools-coordinate-contract.test.ts src/server/register-tools-pty-approval.test.ts --config ./vitest.config.ts` - `pnpm exec moeru-lint --fix services/computer-use-mcp/validation/tool-lane-hygiene.md services/computer-use-mcp/src/server/tool-lane-hygiene.ts services/computer-use-mcp/src/server/tool-lane-hygiene.test.ts services/computer-use-mcp/src/server/register-tools.ts services/computer-use-mcp/src/state.ts` - `git diff --check` `pnpm -F @proj-airi/computer-use-mcp typecheck` is currently blocked by existing baseline errors in `chrome-session-manager` and `desktop-grounding`, outside this patch. The validation note lists the error classes without local paths or raw logs.
2.0 KiB
2.0 KiB
Tool Lane Hygiene Validation
Date: 2026-06-01
Scope:
services/computer-use-mcp/src/server/tool-lane-hygiene.tsservices/computer-use-mcp/src/server/tool-lane-hygiene.test.tsservices/computer-use-mcp/src/server/register-tools.tsservices/computer-use-mcp/src/state.ts
Privacy note:
- Evidence is sanitized for a public repository.
- No local absolute paths, tokens, account identifiers, screenshots, or raw environment dumps are included.
Commands run:
pnpm install --ignore-scripts --frozen-lockfile
Result: passed. Lockfile stayed unchanged; lifecycle scripts were intentionally skipped for local verification setup.
pnpm -F @proj-airi/computer-use-mcp exec vitest run src/server/tool-lane-hygiene.test.ts --config ./vitest.config.ts
Result: passed. 1 test file, 9 tests.
pnpm -F @proj-airi/computer-use-mcp exec vitest run \
src/server/tool-lane-hygiene.test.ts \
src/server/register-tools-coordinate-contract.test.ts \
src/server/register-tools-pty-approval.test.ts \
--config ./vitest.config.ts
Result: passed. 3 test files, 15 tests.
pnpm exec moeru-lint --fix \
services/computer-use-mcp/validation/tool-lane-hygiene.md \
services/computer-use-mcp/src/server/tool-lane-hygiene.ts \
services/computer-use-mcp/src/server/tool-lane-hygiene.test.ts \
services/computer-use-mcp/src/server/register-tools.ts \
services/computer-use-mcp/src/state.ts
Result: passed with 0 warnings and 0 errors when run under Node 24.
git diff --check
Result: passed.
pnpm -F @proj-airi/computer-use-mcp typecheck
Result: failed on existing baseline files outside this change:
src/chrome-session-manager.tssrc/chrome-session-manager.test.tssrc/desktop-grounding.ts
Observed baseline error classes:
TS2339andTS2353aroundChromeSessionInfo.ensureOutcomeTS2451/TS2304around duplicatedchromeWindowBoundsand missingisChromeInFront
No typecheck errors were reported for the files changed by this patch.