Skip to content

fix(mcp): packages/loopover-mcp's MAINTAIN_AUTONOMY_LEVELS still accepts "suggest"/"propose", values the server rejected since #4620 #6153

Description

@JSONbored

Context

packages/loopover-mcp/bin/loopover-mcp.js:66 defines MAINTAIN_AUTONOMY_LEVELS = ["observe","suggest","propose","auto_with_approval","auto"], used to client-side-validate maintain set-level input (bin/loopover-mcp.js:1798). The live server's enum removed "suggest"/"propose" in #4620: src/settings/autonomy.ts:7's AUTONOMY_LEVELS = ["observe","auto_with_approval","auto"], and src/api/routes.ts:762 validates the PUT /settings body against that live enum, rejecting suggest/propose with a 400. src/mcp/server.ts:543-548 explicitly documents choosing the live list over the CLI's stale one for exactly this reason. The CLI's client-side validation accepting values the server hasn't supported since #4620 means a user gets a confusing server-side 400 instead of an immediate, clear client-side error.

Requirements

  • Update MAINTAIN_AUTONOMY_LEVELS in packages/loopover-mcp/bin/loopover-mcp.js:66 to match the live server enum in src/settings/autonomy.ts:7 (["observe","auto_with_approval","auto"]), removing "suggest"/"propose".
  • Consider importing the canonical list from a shared location if one already exists/is feasible, rather than maintaining two hand-synced copies — but if that's a larger refactor than this issue's scope, a corrected literal copy (with a comment pointing to src/settings/autonomy.ts as the source of truth) is an acceptable minimum fix.
  • Add/update a test confirming maintain set-level suggest/propose now fails client-side with a clear error, not a server round-trip.

Deliverables

  • MAINTAIN_AUTONOMY_LEVELS matches the live server enum.
  • A test covering the corrected validation.

Expected Outcome

loopover-mcp maintain set-level rejects unsupported autonomy values immediately and clearly, instead of producing a confusing server-side 400.

Links & Resources

  • packages/loopover-mcp/bin/loopover-mcp.js:66,1798
  • src/settings/autonomy.ts:7
  • src/api/routes.ts:762
  • src/mcp/server.ts:543-548 (documents the intentional choice to use the live list)

Metadata

Metadata

Assignees

No one assigned

    Labels

    gittensor:bugGittensor-scored bug fix — scores a 0.05x multiplier.help wantedExtra attention is needed

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions