---
title: "MGS3044: a regenerated output outside the write paths"
description: Fires when a job's write paths cover sources whose generated outputs they do not cover, so regenerating them would write outside the job. The record is refused unless it adds the output or waives the problem with a reason.
tags: [MGS3044, jobs, leases, write paths, generated, fork, apply, agents, waivers, validation]
---

# MGS3044: a regenerated output outside the write paths

`magus job fork`, `magus job apply` and `magus\job.put` refused a job record
because a target regenerates an output from sources inside its write paths, and
the output itself is outside them:

```text
[MGS3044] internal/job/gen/job.schema.json is regenerated by .:job-generate from
  types/job.go, and no write path covers it: add it to write_paths, or waive it
  if the root regenerates it
```

Nothing was written to the job store.

## Why

A generated output changes with its sources. A job that edits the sources and
cannot write the output either leaves it stale or hand-edits around the guard,
and either way the next gate fails on a diff nobody owns.

## What to do

- If the job regenerates the output, add it to the write paths.
- If the root regenerates it after integration, waive the problem with the
  output as its subject:

```json
"waivers": [
  { "code": "MGS3044", "subject": "internal/job/gen/job.schema.json", "reason": "the root regenerates it" }
]
```

`magus describe job <id>` lists every output regenerated outside the write paths.

## See also

- [MGS3045](MGS3045.md): a ci gate over the write paths that nothing runs.
- [Leases](../../../guides/integrations/agents/leases.md): write paths and waivers.
