docs← Back to article

Markdown for LLMs

LDC-E1109 — Manifest diverging from the header

The source Markdown for this article. Copy it into your assistant or download it as a text file.

Download this articlePlain text ↗
# LDC-E1109 — Manifest diverging from the header

## What it means

The manifest at the package root names the package: its name, version,
language line, and namespace. The source header names them too, and the
two must agree — the manifest is the root marker the tooling navigates
by, so a file that calls itself one thing under a manifest that calls
it another cannot be placed. The compiler stops at the header line that
disagrees.

The repair is to spell the header and the manifest the same way. Which
side is wrong depends on the rename: fix the drifting side, and keep the
side the rest of the package already follows.

## Example

```run
{"argv": ["check", "$ROOT"], "files": {"law.toml": "[package]\nname = \"demo.other\"\nversion = \"0.1.0\"\nlanguage = \"0.2\"\nnamespace = \"urn:law:demo:diagnostics\"\n", "a.law": "language \"law.core\" version \"0.2\";\npackage demo.diagnostics version \"0.1.0\";\nnamespace \"urn:law:demo:diagnostics\";\n\nentity A;\n"}, "expect": "LDC-E1109"}
```

## Fix

```run
{"argv": ["check", "$ROOT"], "files": {"law.toml": "[package]\nname = \"demo.diagnostics\"\nversion = \"0.1.0\"\nlanguage = \"0.2\"\nnamespace = \"urn:law:demo:diagnostics\"\n", "a.law": "language \"law.core\" version \"0.2\";\npackage demo.diagnostics version \"0.1.0\";\nnamespace \"urn:law:demo:diagnostics\";\n\nentity A;\n"}, "expect": null}
```

## Engine message

The engine reports this in its own wording:

```text
$ROOT/a.law:2:1: error LDC-E1109: manifest $ROOT/law.toml diverges from the §22 header: package — manifest has "demo.other version 0.1.0", package has "demo.diagnostics version 0.1.0" (§10, DECISION-0033: law.toml is the package-root marker and must match the header)
```

## Related

- [LDC-E1111](/diagnostics/LDC-E1111/) — the manifest disagreeing about a dependency instead.
- [LDC-E1116](/diagnostics/LDC-E1116/) — the authoring mode the same manifest selects.