magus v0.4.3 is out. See what's new
¶ View markdown source · ✎ Suggest an edit
1 min read

MGS3016: workspace failed to load

The server holds this workspace in state FAILED: evaluating its magusfiles stopped on an error. Every call that needs the loaded workspace answers FAILED_PRECONDITION with this code until the cause is fixed.

[MGS3016] workspace /repo failed to load: magusfile.buzz:12:3 [BZZ1008] redundant import alias

The error carries the diagnostic the load stopped on. Over Connect and HTTP it is a google.rpc.PreconditionFailure violation whose type is that code (BZZ1008 above) and whose subject is file:line:column. A google.rpc.Help detail links this page and the cause's page. The console reads the same google.rpc.Status from the workspace's error field in StatusService.

Why

Retrying cannot help. The server would evaluate the same bytes and stop at the same place, so it does not reload a failed workspace per request. It watches the workspace instead and loads it again when a .buzz file or magus.yaml changes. While that load runs, calls answer MGS3017.

The server keeps serving while the workspace is failed: the console, /mcp, the status stream and the health routes stay up and report the failure, rather than leaving a client with nothing to connect to.

Resolution

Fix the diagnostic the error names, following its own page. Saving the file triggers the reload; nothing needs restarting. magus ls in the workspace shows the same error locally.

What this is NOT

  • Not a workspace the server does not serve. That is a root outside server.workspaces, refused before any load is tried.
  • Not a load in progress. That is MGS3017, which resolves on its own.
MGS3016serverworkspacemagusfileconsolemcpFAILED_PRECONDITION
Last updated (95680f58)
Earlier changes on this page (1)

Full history ↗ · Blame source ↗

Glossary

Workspace

The magus root directory that owns a set of projects and shared config; the unit magus operates over. See workspace.

Magusfile

The magusfile.buzz that declares a project's targets (as export funs) and binds its spells. See targets.

Target

A named operation (build, test, ...) you invoke with magus run <target>; it may compose a spell's tool-native operations and depend on other targets. See targets.

Op

A single tool-native command a target composes (long form: operation); the middle of the work hierarchy (Spell to Op to Target). See operations.

Buzz

The language magusfiles are written in (the .buzz engine). See engines.

Service

A long-running or shared process magus manages across runs, distinct from a one-shot target. See services.

Server

The background process a person starts with magus server start. It serves MCP, the console, background jobs and the warm knowledge graph, and adopts nested magus calls into one pool. See server.

Health

The at-a-glance server state derived from the pool: healthy when the pool is reporting, degraded when it reports an error, down when there is no pool. The dashboard color-codes each state. See server.

Run

One target executing under one magus invocation, such as magus run test web or magus affected ci. A run keeps its captured output behind an output reference. Every magus run is a run whether or not any job asked for it; see Job for how the two relate.

Conventions

This page uses none of the site's convention markers. The full set is on the conventions page.