# 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.