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

throwaway-copy

A deny rule: it refuses a run inside a temp or scratchpad copy, which leaves the real tree unverified, and names what to run instead.

What it catches

A run inside a temp or scratchpad copy, which leaves the real tree unverified.

Why

A run inside a temp or scratchpad copy judges a tree nobody ships: a green gate leaves the real tree unverified, generated files land in the copy, and the cache splits. No magus run needs a clean tree; run from the workspace and name the project. If you genuinely need a pristine tree, use a throwaway git worktree add, not a copy.

Seeing it

A verdict names its rule in brackets, which is how you got here:

deny [throwaway-copy]: ...

magus describe rule throwaway-copy prints the same entry at a terminal, and magus describe rules lists every rule this workspace enforces.

See also

  • All rules - what this workspace enforces, deny first
  • The guard - how a verdict is reached and wired
guardrulesthrowaway-copydeny
Last updated (d966bfce)
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.

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.

Cache

The content-addressed store magus consults before running a target, so unchanged work is skipped. See cache.

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.