Skip to content
docs
Arxo ↗

LDC-E1109 — Manifest diverging from the header

For LLMs5 sections

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.

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"}
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}

The engine reports this in its own wording:

Output
$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)

Documentation for Arxo. Writings — blog.arxo.io.

Anonymous visit counts on stats.arxo.io, no cookies.