Markdown for LLMs
LDC-E1206 — Context profile extension cycle
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# LDC-E1206 — Context profile extension cycle
## What it means
Named context profiles form a single-parent chain: each profile may
extend at most one parent, and following those links must always reach
an end. When two profiles extend each other — directly or through a
longer loop — no evaluation order exists, so the compiler stops at the
link that closes the loop.
The repair is to break the loop: drop one of the two extensions, or
remove the profiles if the settings belong with the case instead. The
passing file below drops the profiles and keeps the package.
## Example
```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
context profile A extends B {
mode active;
}
context profile B extends A {
mode active;
}
```
## Fix
```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
entity Applicant;
```
## Engine message
The engine reports this in its own wording:
```text
example.law:5:17: error LDC-E1206: context profile extends cycle detected at "A"
```
## Related
- [LDC-E1205](/diagnostics/LDC-E1205/) — extending a profile that is not declared at all.
- [LDC-E1207](/diagnostics/LDC-E1207/) — setting the same profile field twice.