No universal rule-of-thirds
11.03 is where a landmark can become relevant, irrelevant, attractive or intentionally avoided — but only through explicit owner-qualified policy.
explicit role policy
categorical only
11.04 later
Role is evidence, not inference
11.03 never guesses whether a subject is a title, face, CTA, image focal point or decorative element.
SubjectRoleEvidence {
roleEvidenceRef,
subjectEvidenceRef?,
subjectRef,
subjectRoleRef,
sourceOwnerRef,
contextTagRefs[],
confidence,
status,
provenance,
semanticConstraintRefs[]?,
mutationAllowed: false
}
Exact token matching
Rules select subject and landmark scopes without semantic inference.
Explicit applicability policy
Without an explicit matching policy rule, the correct result is N_A.
LandmarkApplicabilityPolicy {
policyRef,
policyVersion,
ownerRef,
rules[],
specificityPolicy:
LANDMARK_THEN_SUBJECT,
defaultDecision:
N_A,
status,
provenance
}
A rule can allow, exclude or direct use
The rule carries applicability and optional categorical use intent.
LandmarkApplicabilityRule {
ruleRef,
policyRef,
ownerRef,
subjectSelector,
landmarkSelector,
requiredContextTagRefs[],
applicabilityDecision:
APPLICABLE |
NOT_APPLICABLE,
useIntent:
ATTRACT |
NEUTRAL |
AVOID |
null,
directiveMode:
SOFT |
HARD |
null,
reasonCode,
confidence,
provenance,
mutationAllowed: false
}
Avoidance is first-class
Intentional non-use of a landmark is not treated as a mistake.
Specificity, not input order
The same set of policy rules yields the same result regardless of array order.
Never choose silently
Equal-specificity rules that disagree are a policy conflict, not an invitation to pick the first one.
Distance is attached evidence only
11.02 proximity cannot silently drive 11.03 applicability.
LandmarkApplicabilityEvaluation
The evaluation records both the decision and why a particular rule set won.
LandmarkApplicabilityEvaluation {
evaluationRef,
roleEvidenceRef,
landmarkRef,
policyRef,
matchedRuleRefs[],
selectedRuleRefs[],
rejectedRuleRefs[],
decision,
useIntent,
directiveMode,
conflictCode?,
confidence,
status,
score: null,
candidateRef: null,
mutationAllowed: false
}
Interpretation still isn't scoring
11.04 may later convert explicit SOFT/HARD directives into candidate filtering or local fits.
No leakage
Topic 11 remains split cleanly.
| Responsibility | Owner |
|---|---|
| FieldLandmark schema | 11.00 |
| standard landmark families | 11.01 |
| distance descriptors | 11.02 |
| role applicability + controlled avoidance | 11.03 |
| candidate generation + scoring/tests | 11.04 |
Fix policy evidence, not layout
Wrong role or rule creates an owner-qualified request.
LandmarkApplicabilityCorrectionRequest {
correctionRequestRef,
evaluationRef?,
reasonCode,
targetOwnerRef,
evidenceRefs[],
suggestedAction,
mutationAllowed: false,
provenance: DERIVED
}
Policy decisions become evidence
The data layer can later learn where canonical heuristics help or hurt without silently changing canon.
Capture disagreement
Human review can identify wrong role evidence, wrong applicability or wrong avoidance mode.
Same landmark, different role policy
Geometry stays identical while explicit role/context policy changes the interpretation.
11.03 policy regression
Tests cover role evidence, selectors, specificity, conflict handling, controlled avoidance validity, N/A defaults and ownership firewalls.
DATA FOR LAYOUT ENGINE
Machine-readable 11.03 contract.
{
"module": "Compo 11.03",
"name": "role_applicability_and_controlled_avoidance",
"version": "1.0-canonical",
"canonical_main_title": "Role applicability and controlled avoidance",
"topic": "11_СИЛЬНЫЕ_ТОЧКИ_ПОЛЯ_И_ПРАВИЛО_ТРЕТЕЙ",
"scope": "EXPLICIT_ROLE_CONTEXT_APPLICABILITY_AND_CATEGORICAL_LANDMARK_USE_INTENT",
"review_basis": {
"previous_modules": [
"Compo11.00 FieldLandmark schema",
"Compo11.01 Thirds/quarters/center/edge landmarks",
"Compo11.02 Distance-to-landmark descriptors"
],
"related_owners_reviewed": [
"Topic10 explicit-target philosophy and no-hidden-preference firewall",
"Compo11.02 distance-is-not-fit firewall"
],
"cross_cutting_instruction": "COMPO project instruction v2.0 IDEAS/LAB/DATA-aware"
},
"consumes": [
"Compo11.00.FieldLandmark",
"Compo11.01 concrete family metadata",
"optional Compo11.02.LandmarkDistanceDescriptor as attached evidence only",
"owner-qualified SubjectRoleEvidence",
"owner-qualified LandmarkApplicabilityPolicy",
"explicit contextTagRefs[]",
"optional opaque semanticConstraintRefs[]"
],
"provides": [
"SubjectRoleEvidence",
"LandmarkApplicabilityRule",
"LandmarkApplicabilityPolicy",
"LandmarkApplicabilityEvaluation",
"LandmarkUseDirective",
"LandmarkPolicyConflictDiagnostic",
"LandmarkApplicabilityCorrectionRequest",
"serializable role/applicability observation"
],
"owns_metrics": [],
"descriptors_only": [
"landmark.applicability.status",
"landmark.applicability.decision",
"landmark.applicability.useIntent",
"landmark.applicability.directiveMode",
"landmark.applicability.selectedRuleRefs",
"landmark.applicability.matchedRuleRefs",
"landmark.applicability.conflictCode",
"landmark.applicability.confidence"
],
"subject_role_schema": {
"roleEvidenceRef": "stable owner-qualified evidence identity",
"subjectEvidenceRef": "exact subject geometry/evidence identity when available",
"subjectRef": "subject identity",
"subjectRoleRef": "explicit role token",
"sourceOwnerRef": "role/semantic owner",
"contextTagRefs": "explicit context tokens",
"confidence": "0..1 evidence confidence",
"status": "OK|N_A|INVALID",
"provenance": "canonical provenance class",
"semanticConstraintRefs": "optional opaque refs",
"mutationAllowed": false
},
"selector_schema": {
"subjectSelector": {
"selectorKind": "EXACT_SUBJECT_EVIDENCE|SUBJECT|ROLE|ANY_SUBJECT",
"selectorRef": "required except ANY_SUBJECT",
"specificity_order": [
"EXACT_SUBJECT_EVIDENCE",
"SUBJECT",
"ROLE",
"ANY_SUBJECT"
]
},
"landmarkSelector": {
"selectorKind": "EXACT_LANDMARK|FAMILY_MEMBER|FAMILY|SOURCE_RULE|ANY_LANDMARK",
"selectorRef": "required except ANY_LANDMARK",
"specificity_order": [
"EXACT_LANDMARK",
"FAMILY_MEMBER",
"FAMILY",
"SOURCE_RULE",
"ANY_LANDMARK"
]
},
"requiredContextTagRefs": "all must be present; empty means no context restriction"
},
"rule_schema": {
"ruleRef": "stable rule identity",
"policyRef": "parent policy identity",
"ownerRef": "rule owner",
"subjectSelector": "explicit selector",
"landmarkSelector": "explicit selector",
"requiredContextTagRefs": "set-like required tokens",
"applicabilityDecision": "APPLICABLE|NOT_APPLICABLE",
"useIntent": "ATTRACT|NEUTRAL|AVOID|null",
"directiveMode": "SOFT|HARD|null",
"reasonCode": "structured reason",
"confidence": "0..1",
"provenance": "canonical provenance class",
"mutationAllowed": false
},
"policy_schema": {
"policyRef": "stable identity",
"policyVersion": "version token",
"ownerRef": "policy owner",
"rules": "set-like rules; array order non-semantic",
"specificityPolicy": "LANDMARK_THEN_SUBJECT lexicographic precedence in v1.0",
"defaultDecision": "N_A",
"status": "OK|INVALID",
"provenance": "canonical provenance class"
},
"evaluation_schema": {
"evaluationRef": "stable hash of role/landmark/policy/context lineage",
"roleEvidenceRef": "exact role evidence",
"landmarkRef": "exact FieldLandmark",
"policyRef": "exact policy",
"matchedRuleRefs": "all matching valid rules",
"selectedRuleRefs": "highest-specificity compatible rule set",
"rejectedRuleRefs": "matched but lower-specificity rules",
"decision": "APPLICABLE|NOT_APPLICABLE|N_A|INVALID",
"useIntent": "ATTRACT|NEUTRAL|AVOID|null",
"directiveMode": "SOFT|HARD|null",
"conflictCode": "null or explicit conflict",
"confidence": "minimum relevant evidence confidence",
"status": "OK|N_A|INVALID",
"score": "not owned",
"candidateRef": "not owned",
"mutationAllowed": false
},
"specificity_policy": {
"landmark": {
"EXACT_LANDMARK": 5,
"FAMILY_MEMBER": 4,
"FAMILY": 3,
"SOURCE_RULE": 2,
"ANY_LANDMARK": 1
},
"subject": {
"EXACT_SUBJECT_EVIDENCE": 4,
"SUBJECT": 3,
"ROLE": 2,
"ANY_SUBJECT": 1
},
"comparison": "lexicographic landmark specificity first, then subject specificity",
"input_rule_order": "ignored"
},
"controlled_avoidance_policy": {
"useIntent": [
"ATTRACT",
"NEUTRAL",
"AVOID"
],
"directiveMode": [
"SOFT",
"HARD"
],
"valid_pairs": [
"APPLICABLE + ATTRACT + SOFT",
"APPLICABLE + NEUTRAL + SOFT",
"APPLICABLE + AVOID + SOFT",
"APPLICABLE + AVOID + HARD",
"NOT_APPLICABLE + null + HARD|SOFT|null"
],
"forbidden": [
"HARD ATTRACT",
"HARD NEUTRAL",
"useIntent on NOT_APPLICABLE",
"implicit ATTRACT from closeness",
"implicit AVOID from distance"
]
},
"metric_policy": {
"direct_scoring": "FORBIDDEN in 11.03",
"APPLICABLE_means_score_1": "FORBIDDEN",
"NOT_APPLICABLE_means_score_0": "FORBIDDEN",
"ATTRACT_means_positive_score": "FORBIDDEN",
"AVOID_means_negative_score": "FORBIDDEN",
"confidence_as_strength": "FORBIDDEN",
"beautyScore": "FORBIDDEN"
},
"hard_constraints": [
"11.03 owns explicit role/context applicability decisions and explicit categorical landmark-use intent, including controlled avoidance, for FieldLandmark evidence.",
"11.03 consumes FieldLandmark from 11.00/11.01 and optional distance descriptors from 11.02 without redefining their geometry or measurement.",
"11.03 does not generate placement candidates and does not score landmark fit; Compo11.04 owns those responsibilities.",
"11.03 does not infer a subject role from geometry, text content, image appearance or object class.",
"SubjectRoleEvidence must be explicit and owner-qualified.",
"Role applicability must be driven by an explicit LandmarkApplicabilityPolicy.",
"Without an applicable explicit policy decision, applicability is N_A; there is no universal default.",
"Supported applicability decisions are APPLICABLE, NOT_APPLICABLE, N_A and INVALID.",
"APPLICABLE does not mean preferred.",
"NOT_APPLICABLE does not mean globally forbidden for every subject or context.",
"Controlled use intent is categorical only: ATTRACT, NEUTRAL or AVOID.",
"ATTRACT does not create a numeric reward in 11.03.",
"AVOID does not create a numeric penalty in 11.03.",
"NEUTRAL does not create a zero score.",
"Use intent must be explicit; 11.03 never infers ATTRACT from proximity or AVOID from distance.",
"A LandmarkUseDirective may be SOFT or HARD, but numeric strength is not owned by 11.03.",
"SOFT describes a downstream preference direction only.",
"HARD describes a downstream exclusion requirement only.",
"11.03 does not resolve cross-module priority between a HARD landmark directive and foreign hard constraints.",
"Module execution order is not rule priority.",
"Landmark selectors may target exact landmarkRef, familyRef, familyMemberRef or sourceRuleRef.",
"Subject selectors may target exact subjectEvidenceRef, subjectRef or subjectRoleRef.",
"Context selectors may require explicit contextTagRefs; 11.03 compares tokens but does not infer their semantics.",
"Policy matching is exact token matching only.",
"More specific matching wins only if the policy explicitly defines specificity precedence.",
"Canonical specificity precedence in 11.03 v1.0 is EXACT_LANDMARK > FAMILY_MEMBER > FAMILY > SOURCE_RULE > ANY_LANDMARK.",
"Canonical subject specificity precedence is EXACT_SUBJECT_EVIDENCE > SUBJECT > ROLE > ANY_SUBJECT.",
"Context match is set inclusion of requiredContextTagRefs in provided contextTagRefs.",
"Policy rule order in the input array must not affect decision.",
"Policy rules with equal specificity that produce conflicting applicability decisions are INVALID.",
"Policy rules with equal specificity that produce conflicting use intents are INVALID.",
"Policy rules with equal specificity that differ only in reason metadata may coexist if their decision/intents are identical.",
"A rule can specify applicability without use intent.",
"A rule can specify use intent only when applicability is APPLICABLE.",
"Use intent on NOT_APPLICABLE is INVALID because downstream use is already excluded by applicability.",
"A HARD directive is allowed only for NOT_APPLICABLE or AVOID; HARD ATTRACT is INVALID in 11.03 v1.0.",
"A SOFT directive may be ATTRACT, NEUTRAL or AVOID.",
"NEUTRAL with HARD mode is INVALID.",
"Role applicability and controlled avoidance are interpretation descriptors, not MetricResult.",
"Distance evidence from 11.02 may be attached as evidence but does not alter policy matching unless a future reviewed policy type explicitly owns threshold semantics.",
"11.03 v1.0 does not own numeric distance thresholds.",
"Nearest-landmark diagnostics from 11.02 do not imply applicability or attraction.",
"FieldLandmark confidence does not determine applicability.",
"Role evidence confidence does not become preference strength.",
"Applicability confidence is the minimum confidence of the selected policy rule, role evidence, landmark evidence and optional context evidence used.",
"Confidence remains evidence confidence only.",
"A policy rule must have stable ruleRef, policyRef, provenance and ownerRef.",
"A policy must have stable policyRef and policyVersion.",
"Rule applicability may be scoped to exact family/source/member/landmark without changing landmark identity.",
"A controlled avoidance directive never mutates the landmark or subject.",
"A controlled avoidance directive never deletes landmarks from the canonical landmark set.",
"11.03 may provide an EvaluationResult with selectedRuleRefs, rejectedRuleRefs and conflict diagnostics.",
"A NOT_APPLICABLE result is not score 0.",
"An APPLICABLE result is not score 1.",
"An AVOID intent is not score -1.",
"An ATTRACT intent is not score +1.",
"No universal rule says THIRDS attract, CENTER attracts, EDGE avoids or QUARTERS are neutral.",
"No universal rule says one content role should use one landmark family.",
"A human or style policy may explicitly encode such choices, but provenance must remain visible.",
"SemanticConstraintRefs remain separate evidence; 11.03 may bind explicit tokens but cannot infer semantic anatomy.",
"Hard safe-zone/semantic constraints from foreign owners may override downstream candidate use; 11.03 does not silently resolve that conflict.",
"Intentional landmark avoidance is a valid explicit outcome and must not be treated as an error.",
"Controlled avoidance may deliberately prefer non-landmark placement downstream.",
"11.03 owns no placement candidate.",
"11.03 owns no numeric score.",
"11.03 owns no global composition score.",
"11.03 does not snap, move, crop or reflow.",
"Correction requests are owner-qualified and mutationAllowed=false.",
"Policy conflict diagnostics must be serializable.",
"Human feedback reasons must be structured.",
"IDEA != CANON.",
"EXPERIMENT != CANON.",
"N/A != 0.",
"No beautyScore."
],
"hard_rules": [
"11.03 owns explicit role/context applicability decisions and explicit categorical landmark-use intent, including controlled avoidance, for FieldLandmark evidence.",
"11.03 consumes FieldLandmark from 11.00/11.01 and optional distance descriptors from 11.02 without redefining their geometry or measurement.",
"11.03 does not generate placement candidates and does not score landmark fit; Compo11.04 owns those responsibilities.",
"11.03 does not infer a subject role from geometry, text content, image appearance or object class.",
"SubjectRoleEvidence must be explicit and owner-qualified.",
"Role applicability must be driven by an explicit LandmarkApplicabilityPolicy.",
"Without an applicable explicit policy decision, applicability is N_A; there is no universal default.",
"Supported applicability decisions are APPLICABLE, NOT_APPLICABLE, N_A and INVALID.",
"APPLICABLE does not mean preferred.",
"NOT_APPLICABLE does not mean globally forbidden for every subject or context.",
"Controlled use intent is categorical only: ATTRACT, NEUTRAL or AVOID.",
"ATTRACT does not create a numeric reward in 11.03.",
"AVOID does not create a numeric penalty in 11.03.",
"NEUTRAL does not create a zero score.",
"Use intent must be explicit; 11.03 never infers ATTRACT from proximity or AVOID from distance.",
"A LandmarkUseDirective may be SOFT or HARD, but numeric strength is not owned by 11.03.",
"SOFT describes a downstream preference direction only.",
"HARD describes a downstream exclusion requirement only.",
"11.03 does not resolve cross-module priority between a HARD landmark directive and foreign hard constraints.",
"Module execution order is not rule priority.",
"Landmark selectors may target exact landmarkRef, familyRef, familyMemberRef or sourceRuleRef.",
"Subject selectors may target exact subjectEvidenceRef, subjectRef or subjectRoleRef.",
"Context selectors may require explicit contextTagRefs; 11.03 compares tokens but does not infer their semantics.",
"Policy matching is exact token matching only.",
"More specific matching wins only if the policy explicitly defines specificity precedence.",
"Canonical specificity precedence in 11.03 v1.0 is EXACT_LANDMARK > FAMILY_MEMBER > FAMILY > SOURCE_RULE > ANY_LANDMARK.",
"Canonical subject specificity precedence is EXACT_SUBJECT_EVIDENCE > SUBJECT > ROLE > ANY_SUBJECT.",
"Context match is set inclusion of requiredContextTagRefs in provided contextTagRefs.",
"Policy rule order in the input array must not affect decision.",
"Policy rules with equal specificity that produce conflicting applicability decisions are INVALID.",
"Policy rules with equal specificity that produce conflicting use intents are INVALID.",
"Policy rules with equal specificity that differ only in reason metadata may coexist if their decision/intents are identical.",
"A rule can specify applicability without use intent.",
"A rule can specify use intent only when applicability is APPLICABLE.",
"Use intent on NOT_APPLICABLE is INVALID because downstream use is already excluded by applicability.",
"A HARD directive is allowed only for NOT_APPLICABLE or AVOID; HARD ATTRACT is INVALID in 11.03 v1.0.",
"A SOFT directive may be ATTRACT, NEUTRAL or AVOID.",
"NEUTRAL with HARD mode is INVALID.",
"Role applicability and controlled avoidance are interpretation descriptors, not MetricResult.",
"Distance evidence from 11.02 may be attached as evidence but does not alter policy matching unless a future reviewed policy type explicitly owns threshold semantics.",
"11.03 v1.0 does not own numeric distance thresholds.",
"Nearest-landmark diagnostics from 11.02 do not imply applicability or attraction.",
"FieldLandmark confidence does not determine applicability.",
"Role evidence confidence does not become preference strength.",
"Applicability confidence is the minimum confidence of the selected policy rule, role evidence, landmark evidence and optional context evidence used.",
"Confidence remains evidence confidence only.",
"A policy rule must have stable ruleRef, policyRef, provenance and ownerRef.",
"A policy must have stable policyRef and policyVersion.",
"Rule applicability may be scoped to exact family/source/member/landmark without changing landmark identity.",
"A controlled avoidance directive never mutates the landmark or subject.",
"A controlled avoidance directive never deletes landmarks from the canonical landmark set.",
"11.03 may provide an EvaluationResult with selectedRuleRefs, rejectedRuleRefs and conflict diagnostics.",
"A NOT_APPLICABLE result is not score 0.",
"An APPLICABLE result is not score 1.",
"An AVOID intent is not score -1.",
"An ATTRACT intent is not score +1.",
"No universal rule says THIRDS attract, CENTER attracts, EDGE avoids or QUARTERS are neutral.",
"No universal rule says one content role should use one landmark family.",
"A human or style policy may explicitly encode such choices, but provenance must remain visible.",
"SemanticConstraintRefs remain separate evidence; 11.03 may bind explicit tokens but cannot infer semantic anatomy.",
"Hard safe-zone/semantic constraints from foreign owners may override downstream candidate use; 11.03 does not silently resolve that conflict.",
"Intentional landmark avoidance is a valid explicit outcome and must not be treated as an error.",
"Controlled avoidance may deliberately prefer non-landmark placement downstream.",
"11.03 owns no placement candidate.",
"11.03 owns no numeric score.",
"11.03 owns no global composition score.",
"11.03 does not snap, move, crop or reflow.",
"Correction requests are owner-qualified and mutationAllowed=false.",
"Policy conflict diagnostics must be serializable.",
"Human feedback reasons must be structured.",
"IDEA != CANON.",
"EXPERIMENT != CANON.",
"N/A != 0.",
"No beautyScore."
],
"soft_constraints": [],
"preferences": [],
"overrides_allowed_by": [
"a more specific matching rule within the same explicit policy under the canonical specificity policy",
"a reviewed policy version change",
"foreign hard constraints may block downstream use without changing 11.03 ownership",
"11.04 may interpret SOFT/HARD directives for candidate filtering/scoring without mutating 11.03 decisions"
],
"initial_heuristics": {
"specificity_precedence": {
"value": "landmark specificity first, then subject specificity",
"provenance": "IMPLEMENTATION_HEURISTIC",
"warning": "canonical v1.0 conflict-resolution policy local to 11.03, not global COMPO priority law"
}
},
"style_preset_values": [],
"candidate_generation": {
"placement_candidates": "NONE",
"candidate_filtering": "NONE",
"deferred_to": "Compo11.04"
},
"correction_policy": {
"foreign_mutation": "FORBIDDEN",
"wrong_subject_role": "correction request to role evidence owner",
"wrong_policy_rule": "correction request to policy owner",
"policy_conflict": "INVALID diagnostic; do not choose silently",
"wrong_use_intent": "correction request to policy owner",
"downstream candidate disagreement": "defer to 11.04"
},
"deferred_inputs": [
"Compo11.04 candidate generation, hard filtering and local scoring",
"future canonical global priority/relaxation owner"
],
"ideas_refs": [
"IDEA-01",
"IDEA-02",
"IDEA-03",
"IDEA-04",
"IDEA-05",
"IDEA-06",
"IDEA-07"
],
"ideas_impact": {
"IDEA-01": "human tests can calibrate whether explicit role policies match perception",
"IDEA-02": "semantic meaning enters only as explicit owner-qualified role/context evidence",
"IDEA-03": "local specificity is not global rule priority",
"IDEA-04": "applicability/use-intent outcomes become structured dataset evidence",
"IDEA-05": "human corrections capture why a policy decision was wrong",
"IDEA-06": "policy/evaluation records are serialization-ready",
"IDEA-07": "future post-text composition may experiment with role-specific landmark use through LAB"
},
"data_capture": [
"roleEvidenceRef/subjectRef/subjectRoleRef/sourceOwnerRef",
"contextTagRefs",
"policyRef/policyVersion/ruleRefs",
"subject and landmark selectors",
"matched/selected/rejected rule refs",
"specificity tuple",
"applicability decision",
"useIntent/directiveMode",
"conflict code",
"confidence/status",
"attached distance evidence refs without interpretation",
"semanticConstraintRefs presence",
"human feedback reason codes"
],
"deferred_semantic_inputs": [
"semanticObjectRef?",
"semanticPartRef?",
"semanticSensitiveZoneRef?",
"semanticConstraintRefs[]",
"intentRef?",
"contentRoleRef?",
"readingOrderRef?"
],
"human_feedback_hooks": [
"ROLE_EVIDENCE_WRONG",
"APPLICABILITY_POLICY_WRONG",
"LANDMARK_SHOULD_APPLY",
"LANDMARK_SHOULD_NOT_APPLY",
"ATTRACT_INTENT_WRONG",
"AVOID_INTENT_WRONG",
"CONTROLLED_AVOIDANCE_SHOULD_BE_HARD",
"CONTROLLED_AVOIDANCE_SHOULD_BE_SOFT",
"POLICY_CONFLICT_EXPECTED",
"POLICY_CONFLICT_UNEXPECTED",
"SEMANTIC_CONFLICT",
"OTHER"
],
"conflict_priority_assumptions": [
"module execution order is not priority",
"11.03 specificity policy is local rule-selection logic, not global COMPO rule priority",
"foreign hard safe-zone constraints may block downstream use",
"semantic sensitive-zone constraints remain separate evidence",
"APPLICABLE does not override foreign hard constraints",
"HARD AVOID does not silently outrank foreign hard constraints; unresolved conflict is deferred",
"intentional avoidance is not an error"
],
"lab_hooks": [
"LAB: human role-to-landmark applicability calibration",
"LAB: ATTRACT versus AVOID judgments by content role",
"LAB: hard versus soft avoidance disagreements",
"LAB: specificity conflict counterexamples",
"LAB: intentional non-use of rule-of-thirds",
"LAB: semantic cases where nearest landmark is correctly ignored"
],
"recompute_when": [
"role evidence changes",
"landmark identity/family/source rule changes",
"policy or rule version changes",
"contextTagRefs change",
"policy specificity logic changes"
],
"tests": [
"role validation",
"policy/rule validation",
"subject selector matching",
"landmark selector matching",
"context inclusion",
"specificity precedence",
"input order invariance",
"equal-specificity conflict invalidation",
"N_A default behavior",
"controlled avoidance validity",
"no score/candidate/distance-threshold leakage",
"IDEAS/DATA/semantic/human/LAB hooks",
"N_A != 0",
"no beautyScore"
],
"finality": "EXPLICIT_ROLE_APPLICABILITY_AND_CONTROLLED_LANDMARK_USE_INTENT_ONLY"
}