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

MGS7005: directory not in the graph

magus\dir(path) returns the typed Dir record for one workspace directory: its layer, language, imports, importers and declared calls. Figures build their boxes from these records rather than from path strings.

This code fires when no directory node matches the path.

Why

An empty record for a misspelled path would draw a box with no edges and no drift, which looks like a quiet package. Raising makes the typo fail where it was written.

Resolution

  • A typo. Correct the path; it is workspace-relative, with no leading ./.
  • A directory outside every project. Declare a project that covers it, or draw it as an external box that names no directory.
  • A stale graph. Run magus graph build after adding the directory.
MGS7005knowledge graphmagus\dirfiguresbuzz
Last updated (479ce5c7)
Glossary

Workspace

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

Project

A directory magus recognizes as a unit of work (it has a magusfile); the unit of caching, scheduling, and dependency tracking. See workspace.

Spell

A language/runtime adapter (e.g. go, md) that maps generic targets onto a toolchain's real commands. See spells.

Buzz

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

Knowledge graph

The queryable graph of a workspace's spells, targets, docs, and code relationships; query it with magus query/explain/path. See knowledge.

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.