Candidate + target + local fit
11.04 is the only Topic11 module allowed to generate candidate anchors and numeric landmark-fit votes.
seeded candidate anchors
avoidance filter first
localLandmarkFit
Eligible references only
Candidate anchors are exact references to applicable non-AVOID landmarks. They are not moved positions or final layout choices.
Preserve source geometry
Point stays point, line stays line, boundary stays boundary.
LandmarkCandidateAnchor {
candidateAnchorRef,
generationProfileRef,
landmarkRef,
familyRef,
familyMemberRef,
geometryKind,
anchorGeometry,
sourceEvaluationRefs[],
sourcePolicyRefs[],
roleEvidenceRef,
confidence,
candidateMeaning:
LANDMARK_REFERENCE_ONLY,
score: null,
mutationAllowed: false
}Deduplicate, then prune
If a budget is exceeded, pruning is deterministic and family-diverse rather than based on hidden quality.
Intent determines target mode
11.04 never invents a numeric target from the family name.
| 11.03 intent | 11.04 target | Effect |
|---|---|---|
| ATTRACT / SOFT | ATTRACT_DISTANCE | soft fit |
| AVOID / SOFT | AVOID_DISTANCE_SOFT | soft fit |
| AVOID / HARD | AVOID_CLEARANCE_HARD | hard reject/pass |
| NEUTRAL / null | none | no numeric vote |
Explicit near-target fit
Nearness becomes desirable only because an explicit target says so.
Soft clearance or hard exclusion
Controlled avoidance uses explicit clearance.
One common metric context
Canonical scoring v1.0 does not mix raw axis fractions.
Required and optional are explicit
A missing required target remains N_A.
LandmarkFitProfile {
profileRef,
requiredTargetRefs[],
optionalTargetRefs[],
weightsByTargetRef,
requiredMetricContextRef,
requiredDistanceSpaceRef,
requiredMetricUnitRef,
confidencePolicy:
MIN_INCLUDED_COMPONENTS_LOCAL,
semanticConstraintRefs[]?
}One independent Topic11 vote
Per-target numeric fits are already components of the composite.
INVALID > REJECT > N_A > KEEP
Status is never synthesized from numeric zero.
Same target context only
Ranking is local explicit landmark-target fit, nothing more.
No hidden thirds bias
Family names never become weights.
Request, never mutate
Candidate or target disagreement creates a linked correction record.
LandmarkCorrectionRequest {
correctionRequestRef,
resultRef?,
candidateAnchorRef?,
targetRef?,
reasonCode,
targetOwnerRef,
evidenceRefs[],
suggestedAction,
mutationAllowed: false
}Candidates, rejects and scores become evidence
Topic11 now emits enough structured evidence for future human calibration and model training.
Same landmark, opposite explicit intent
Geometry does not change; explicit policy/target changes how local fit is interpreted.
11.04 regression
Tests cover bounded candidate generation, dedupe/diversity pruning, explicit target modes, hard filtering, N/A semantics, single-vote ownership and comparison guards.
DATA FOR LAYOUT ENGINE
Machine-readable 11.04 contract.
{
"module": "Compo 11.04",
"name": "candidate_generation_scoring_tests",
"version": "1.0-canonical",
"canonical_main_title": "Candidate generation, scoring/tests",
"topic": "11_СИЛЬНЫЕ_ТОЧКИ_ПОЛЯ_И_ПРАВИЛО_ТРЕТЕЙ",
"scope": "BOUNDED_CANDIDATE_ANCHORS_EXPLICIT_DISTANCE_TARGETS_HARD_FILTER_LOCAL_LANDMARK_SCORING_COMPARISON_AND_TESTS",
"review_basis": {
"previous_modules": [
"Compo11.00 FieldLandmark schema",
"Compo11.01 Thirds/quarters/center/edge landmarks",
"Compo11.02 Distance-to-landmark descriptors",
"Compo11.03 Role applicability and controlled avoidance"
],
"cross_cutting_instruction": "COMPO project instruction v2.0 IDEAS/LAB/DATA-aware"
},
"consumes": [
"Compo11.00/11.01 FieldLandmark evidence",
"Compo11.02 LandmarkDistanceDescriptor",
"Compo11.03 LandmarkApplicabilityEvaluation",
"LandmarkCandidateGenerationProfile",
"LandmarkFitProfile",
"LandmarkFitTargetSpec[]",
"optional opaque semanticConstraintRefs[]"
],
"provides": [
"LandmarkCandidateAnchor[]",
"LandmarkCandidateGenerationResult",
"LandmarkFitTargetEvaluation[]",
"LandmarkHardFilterResult",
"landmark.system.localLandmarkFit",
"LandmarkFitEvaluationResult",
"LandmarkCorrectionRequest",
"same-context Topic11 comparison/ranking"
],
"owns_metrics": [
"landmark.system.localLandmarkFit",
"landmark.target.componentFit.<targetRef>"
],
"descriptors_only": [
"landmark.candidate.candidateAnchorRef",
"landmark.candidate.pruningStatus",
"landmark.candidate.sourceEvaluationRefs",
"landmark.target.errorDistance",
"landmark.target.deficitDistance",
"landmark.target.hardDecision",
"landmark.evaluation.status",
"landmark.evaluation.targetSetFingerprint"
],
"candidate_generation_profile_schema": {
"generationProfileRef": "stable explicit profile",
"includeUseIntents": "non-empty subset of ATTRACT|NEUTRAL|UNSPECIFIED",
"familyAllowlist": "optional exact familyRef set; empty/null means no family restriction",
"maxCandidateAnchors": "positive integer",
"seed": "integer",
"dedupeKey": "landmarkRef",
"diversityPruning": "SEEDED_FAMILY_ROUND_ROBIN",
"mutationAllowed": false
},
"candidate_anchor_schema": {
"candidateAnchorRef": "stable identity from generation profile + landmarkRef + canonical anchor geometry",
"generationProfileRef": "exact profile",
"landmarkRef": "exact source landmark",
"familyRef": "source family",
"familyMemberRef": "source member",
"geometryKind": "POINT_UV|U_CONST_LINE|V_CONST_LINE|BOUNDARY_FEATURE_REF",
"anchorGeometry": "exact source geometry; no conversion",
"sourceEvaluationRefs": "all compatible applicability evaluation refs merged by dedupe",
"sourcePolicyRefs": "policy lineage",
"roleEvidenceRef": "coherent subject-role context",
"confidence": "minimum source evidence confidence",
"candidateMeaning": "LANDMARK_REFERENCE_ONLY",
"score": "not owned by candidate record",
"mutationAllowed": false
},
"target_modes": {
"ATTRACT_DISTANCE": {
"requiresUseIntent": "ATTRACT",
"requiresDirectiveMode": "SOFT",
"fields": [
"deadbandDistance",
"falloffDistance"
],
"formula": "1-clamp(max(0,distance-deadbandDistance)/falloffDistance,0,1)"
},
"AVOID_DISTANCE_SOFT": {
"requiresUseIntent": "AVOID",
"requiresDirectiveMode": "SOFT",
"fields": [
"clearanceDistance",
"falloffDistance"
],
"formula": "1 if distance>=clearance; else 1-clamp((clearance-distance)/falloffDistance,0,1)"
},
"AVOID_CLEARANCE_HARD": {
"requiresUseIntent": "AVOID",
"requiresDirectiveMode": "HARD",
"fields": [
"clearanceDistance"
],
"hardPass": "metricDistance>=clearanceDistance"
}
},
"fit_profile_schema": {
"profileRef": "stable explicit scoring profile",
"requiredTargetRefs": "unique set-like refs",
"optionalTargetRefs": "unique set-like refs",
"weightsByTargetRef": "positive finite weights for SOFT numeric targets only",
"requiredMetricContextRef": "exact metric context",
"requiredDistanceSpaceRef": "exact distance space",
"requiredMetricUnitRef": "exact common metric unit",
"confidencePolicy": "MIN_INCLUDED_COMPONENTS_LOCAL",
"semanticConstraintRefs": "opaque optional refs"
},
"metric_contract": {
"composite": {
"key": "landmark.system.localLandmarkFit",
"owner": "Compo11.04",
"composite": true,
"componentOf": null,
"scoringGroup": "landmark-local",
"independentVoteAllowed": true
},
"component": {
"key": "landmark.target.componentFit.<targetRef>",
"owner": "Compo11.04",
"composite": false,
"componentOf": "landmark.system.localLandmarkFit",
"scoringGroup": "landmark-local",
"independentVoteAllowed": false
}
},
"status_precedence": [
"INVALID",
"REJECT",
"N_A",
"KEEP"
],
"comparison_policy": {
"requires_same_profileRef": true,
"requires_same_targetSetFingerprint": true,
"rankable": "KEEP + composite MetricResult status=OK only",
"ties": "same numeric rank",
"lexical_order": "presentation only",
"meaning": "EXPLICIT_TOPIC11_LANDMARK_TARGET_FIT_ONLY"
},
"confidence_policy": {
"candidate": "MIN_SOURCE_EVIDENCE_LOCAL",
"component": "MIN_RELEVANT_INPUTS_LOCAL",
"composite": "MIN_INCLUDED_COMPONENTS_LOCAL",
"provenance": "IMPLEMENTATION_HEURISTIC",
"scope": "Compo11.04 only; not a universal COMPO confidence law"
},
"metric_policy": {
"no_profile": "composite N_A",
"hard_mismatch": "REJECT; no numeric target vote",
"required_N_A": "composite N_A unless INVALID/REJECT",
"optional_N_A": "drop denominator only because optional is explicit",
"no_soft_components": "composite N_A",
"family_auto_weights": "FORBIDDEN",
"candidate_count_vote": "FORBIDDEN",
"beautyScore": "FORBIDDEN"
},
"hard_constraints": [
"11.04 owns Topic11 candidate-anchor generation, explicit distance-target interpretation, hard filtering, local landmark-fit components, the single independent Topic11 composite score, same-context comparison and consolidated Topic11 scoring tests.",
"11.04 consumes FieldLandmark from 11.00/11.01, distance descriptors from 11.02 and applicability/use-intent evaluations from 11.03; it does not recompute their geometry, distance or policy matching.",
"11.04 does not redefine THIRDS, QUARTERS, CENTER or EDGE coordinates.",
"11.04 does not infer subject roles or semantic meaning.",
"11.04 does not mutate object/text/grid/canvas/domain geometry.",
"Candidate generation is bounded, deterministic, seeded, deduplicated, lineage-aware and diversity-pruned.",
"Candidate generation is O(number of supplied applicability evaluations); no Cartesian product is generated.",
"Candidate generation accepts only 11.03 evaluations with status OK and decision APPLICABLE.",
"NOT_APPLICABLE evaluations never generate candidate anchors.",
"AVOID evaluations never generate candidate anchors.",
"ATTRACT evaluations may generate candidate anchors only when the generation profile explicitly includes ATTRACT.",
"NEUTRAL evaluations may generate candidate anchors only when the generation profile explicitly includes NEUTRAL.",
"APPLICABLE evaluations with no useIntent may generate candidate anchors only when the generation profile explicitly includes UNSPECIFIED.",
"Candidate generation from a landmark is an exact reference candidate; it does not move a subject.",
"POINT_UV candidate anchor preserves exact landmark point geometry.",
"U_CONST_LINE and V_CONST_LINE candidate anchors preserve exact line-reference geometry and are not converted to points.",
"BOUNDARY_FEATURE_REF candidate anchors preserve exact boundary feature references and are not converted to numeric edges.",
"CandidateAnchor existence is not a score and does not imply final selection.",
"CandidateAnchor confidence is evidence confidence only.",
"Candidate generation profile must explicitly declare includeUseIntents and maxCandidateAnchors.",
"maxCandidateAnchors must be a positive integer.",
"If deduplicated candidate anchors exceed maxCandidateAnchors, 11.04 applies deterministic diversity pruning by family.",
"Diversity pruning uses family buckets and seeded stable-hash order within each bucket; round-robin family traversal does not imply family preference.",
"Family traversal order for pruning is seeded/deterministic and presentation-only; it is not a score.",
"Candidate anchors with the same canonical landmarkRef are deduplicated and aggregate evidence refs.",
"Candidate generation requires one coherent roleEvidenceRef and policyRef across supplied applicability evaluations.",
"Mixed roleEvidenceRef or policyRef in one generation request is INVALID.",
"Candidate generation profile familyAllowlist is optional; when present it is exact and explicit.",
"No default family is universally preferred.",
"11.04 scoring requires explicit LandmarkFitTargetSpec records.",
"No LandmarkFitProfile means local landmark composite is N_A.",
"A target binds to an exact applicabilityEvaluationRef and exact distanceDescriptorRef.",
"The applicability evaluation and distance descriptor must refer to the same landmarkRef and compatible subject evidence lineage.",
"Only 11.03 decision APPLICABLE can enter target scoring.",
"NOT_APPLICABLE target input is N_A/INVALID according to explicit profile policy and never numeric zero.",
"A target with useIntent ATTRACT must use ATTRACT_DISTANCE target mode.",
"A target with useIntent AVOID and directiveMode SOFT must use AVOID_DISTANCE_SOFT target mode.",
"A target with useIntent AVOID and directiveMode HARD must use AVOID_CLEARANCE_HARD target mode.",
"NEUTRAL or null useIntent produces no numeric target vote in v1.0.",
"11.04 does not silently invent a target for NEUTRAL or unspecified applicability.",
"All numeric target scoring requires distanceDescriptor.metricDistanceStatus=OK.",
"Axis-fraction-only distance descriptors are diagnostic but do not enter the canonical Topic11 composite score in v1.0.",
"All scored targets in one LandmarkFitProfile must share the same metricContextRef, distanceSpaceRef and metricUnitRef.",
"ATTRACT_DISTANCE requires deadbandDistance>=0 and falloffDistance>0.",
"ATTRACT_DISTANCE errorDistance = max(0, metricDistance - deadbandDistance).",
"ATTRACT_DISTANCE fit = 1 - clamp(errorDistance/falloffDistance,0,1).",
"AVOID_DISTANCE_SOFT requires clearanceDistance>=0 and falloffDistance>0.",
"AVOID_DISTANCE_SOFT deficitDistance = max(0, clearanceDistance - metricDistance).",
"AVOID_DISTANCE_SOFT fit = 1 when deficitDistance=0, otherwise 1-clamp(deficitDistance/falloffDistance,0,1).",
"AVOID_CLEARANCE_HARD requires clearanceDistance>=0.",
"AVOID_CLEARANCE_HARD passes when metricDistance>=clearanceDistance.",
"AVOID_CLEARANCE_HARD failure produces REJECT and no numeric component vote.",
"Hard rejection is not numeric score 0.",
"Distance zero under ATTRACT may score 1 only because an explicit target profile defines that target; zero is not universally good.",
"Distance zero under AVOID may score poorly or reject only because an explicit target profile defines avoidance clearance; zero is not universally bad.",
"Target weights are explicit positive finite values for SOFT numeric targets only.",
"HARD targets must not have voting weight.",
"Profile requiredTargetRefs and optionalTargetRefs are unique, disjoint and set-like.",
"Every target in an evaluation request must be explicitly listed as required or optional in the profile.",
"Required target N_A makes the composite N_A unless INVALID or REJECT has higher precedence.",
"Optional target N_A may be omitted from the numeric denominator only because optionality is explicit.",
"INVALID > REJECT > N_A > KEEP is the bundle status precedence.",
"Rejected, invalid and N_A results are never converted to numeric zero.",
"If no applicable SOFT numeric components remain, the local composite is N_A.",
"The only independent numeric Topic11 vote is landmark.system.localLandmarkFit.",
"landmark.system.localLandmarkFit is owned by Compo11.04 with scoringGroup landmark-local.",
"Per-target components use landmark.target.componentFit.<targetRef>.",
"Per-target components have componentOf=landmark.system.localLandmarkFit and independentVoteAllowed=false.",
"Raw distances, family identity, applicability, ATTRACT/AVOID labels, candidate counts and pruning outcomes do not vote independently.",
"No family gets an automatic multiplier because it is THIRDS, CENTER, QUARTERS or EDGE.",
"No universal rule says more landmark candidates are better.",
"No universal rule says fewer landmark candidates are better.",
"No universal rule says nearest landmark is better.",
"No universal rule says center is better.",
"No universal rule says thirds are better.",
"No universal beautyScore is introduced.",
"Comparison/ranking requires the same profileRef and same targetSetFingerprint.",
"Only KEEP results with composite MetricResult status OK participate in numeric ranking.",
"Ties share rank; lexical resultRef is display order only.",
"Ranking means EXPLICIT_TOPIC11_LANDMARK_TARGET_FIT_ONLY, not beauty, global quality or final acceptance.",
"Candidate anchors and local fit are local evidence; final layout selection remains outside Topic11.",
"Correction requests are owner-qualified and mutationAllowed=false.",
"SemanticConstraintRefs remain separate evidence and cannot be converted into hidden priority.",
"Module execution order is not rule priority.",
"IDEA != CANON.",
"EXPERIMENT != CANON.",
"All profiles, targets, candidate lineage, pruning decisions, hard decisions, components, composite metrics, corrections and human feedback hooks must be serializable.",
"N/A != 0."
],
"hard_rules": [
"11.04 owns Topic11 candidate-anchor generation, explicit distance-target interpretation, hard filtering, local landmark-fit components, the single independent Topic11 composite score, same-context comparison and consolidated Topic11 scoring tests.",
"11.04 consumes FieldLandmark from 11.00/11.01, distance descriptors from 11.02 and applicability/use-intent evaluations from 11.03; it does not recompute their geometry, distance or policy matching.",
"11.04 does not redefine THIRDS, QUARTERS, CENTER or EDGE coordinates.",
"11.04 does not infer subject roles or semantic meaning.",
"11.04 does not mutate object/text/grid/canvas/domain geometry.",
"Candidate generation is bounded, deterministic, seeded, deduplicated, lineage-aware and diversity-pruned.",
"Candidate generation is O(number of supplied applicability evaluations); no Cartesian product is generated.",
"Candidate generation accepts only 11.03 evaluations with status OK and decision APPLICABLE.",
"NOT_APPLICABLE evaluations never generate candidate anchors.",
"AVOID evaluations never generate candidate anchors.",
"ATTRACT evaluations may generate candidate anchors only when the generation profile explicitly includes ATTRACT.",
"NEUTRAL evaluations may generate candidate anchors only when the generation profile explicitly includes NEUTRAL.",
"APPLICABLE evaluations with no useIntent may generate candidate anchors only when the generation profile explicitly includes UNSPECIFIED.",
"Candidate generation from a landmark is an exact reference candidate; it does not move a subject.",
"POINT_UV candidate anchor preserves exact landmark point geometry.",
"U_CONST_LINE and V_CONST_LINE candidate anchors preserve exact line-reference geometry and are not converted to points.",
"BOUNDARY_FEATURE_REF candidate anchors preserve exact boundary feature references and are not converted to numeric edges.",
"CandidateAnchor existence is not a score and does not imply final selection.",
"CandidateAnchor confidence is evidence confidence only.",
"Candidate generation profile must explicitly declare includeUseIntents and maxCandidateAnchors.",
"maxCandidateAnchors must be a positive integer.",
"If deduplicated candidate anchors exceed maxCandidateAnchors, 11.04 applies deterministic diversity pruning by family.",
"Diversity pruning uses family buckets and seeded stable-hash order within each bucket; round-robin family traversal does not imply family preference.",
"Family traversal order for pruning is seeded/deterministic and presentation-only; it is not a score.",
"Candidate anchors with the same canonical landmarkRef are deduplicated and aggregate evidence refs.",
"Candidate generation requires one coherent roleEvidenceRef and policyRef across supplied applicability evaluations.",
"Mixed roleEvidenceRef or policyRef in one generation request is INVALID.",
"Candidate generation profile familyAllowlist is optional; when present it is exact and explicit.",
"No default family is universally preferred.",
"11.04 scoring requires explicit LandmarkFitTargetSpec records.",
"No LandmarkFitProfile means local landmark composite is N_A.",
"A target binds to an exact applicabilityEvaluationRef and exact distanceDescriptorRef.",
"The applicability evaluation and distance descriptor must refer to the same landmarkRef and compatible subject evidence lineage.",
"Only 11.03 decision APPLICABLE can enter target scoring.",
"NOT_APPLICABLE target input is N_A/INVALID according to explicit profile policy and never numeric zero.",
"A target with useIntent ATTRACT must use ATTRACT_DISTANCE target mode.",
"A target with useIntent AVOID and directiveMode SOFT must use AVOID_DISTANCE_SOFT target mode.",
"A target with useIntent AVOID and directiveMode HARD must use AVOID_CLEARANCE_HARD target mode.",
"NEUTRAL or null useIntent produces no numeric target vote in v1.0.",
"11.04 does not silently invent a target for NEUTRAL or unspecified applicability.",
"All numeric target scoring requires distanceDescriptor.metricDistanceStatus=OK.",
"Axis-fraction-only distance descriptors are diagnostic but do not enter the canonical Topic11 composite score in v1.0.",
"All scored targets in one LandmarkFitProfile must share the same metricContextRef, distanceSpaceRef and metricUnitRef.",
"ATTRACT_DISTANCE requires deadbandDistance>=0 and falloffDistance>0.",
"ATTRACT_DISTANCE errorDistance = max(0, metricDistance - deadbandDistance).",
"ATTRACT_DISTANCE fit = 1 - clamp(errorDistance/falloffDistance,0,1).",
"AVOID_DISTANCE_SOFT requires clearanceDistance>=0 and falloffDistance>0.",
"AVOID_DISTANCE_SOFT deficitDistance = max(0, clearanceDistance - metricDistance).",
"AVOID_DISTANCE_SOFT fit = 1 when deficitDistance=0, otherwise 1-clamp(deficitDistance/falloffDistance,0,1).",
"AVOID_CLEARANCE_HARD requires clearanceDistance>=0.",
"AVOID_CLEARANCE_HARD passes when metricDistance>=clearanceDistance.",
"AVOID_CLEARANCE_HARD failure produces REJECT and no numeric component vote.",
"Hard rejection is not numeric score 0.",
"Distance zero under ATTRACT may score 1 only because an explicit target profile defines that target; zero is not universally good.",
"Distance zero under AVOID may score poorly or reject only because an explicit target profile defines avoidance clearance; zero is not universally bad.",
"Target weights are explicit positive finite values for SOFT numeric targets only.",
"HARD targets must not have voting weight.",
"Profile requiredTargetRefs and optionalTargetRefs are unique, disjoint and set-like.",
"Every target in an evaluation request must be explicitly listed as required or optional in the profile.",
"Required target N_A makes the composite N_A unless INVALID or REJECT has higher precedence.",
"Optional target N_A may be omitted from the numeric denominator only because optionality is explicit.",
"INVALID > REJECT > N_A > KEEP is the bundle status precedence.",
"Rejected, invalid and N_A results are never converted to numeric zero.",
"If no applicable SOFT numeric components remain, the local composite is N_A.",
"The only independent numeric Topic11 vote is landmark.system.localLandmarkFit.",
"landmark.system.localLandmarkFit is owned by Compo11.04 with scoringGroup landmark-local.",
"Per-target components use landmark.target.componentFit.<targetRef>.",
"Per-target components have componentOf=landmark.system.localLandmarkFit and independentVoteAllowed=false.",
"Raw distances, family identity, applicability, ATTRACT/AVOID labels, candidate counts and pruning outcomes do not vote independently.",
"No family gets an automatic multiplier because it is THIRDS, CENTER, QUARTERS or EDGE.",
"No universal rule says more landmark candidates are better.",
"No universal rule says fewer landmark candidates are better.",
"No universal rule says nearest landmark is better.",
"No universal rule says center is better.",
"No universal rule says thirds are better.",
"No universal beautyScore is introduced.",
"Comparison/ranking requires the same profileRef and same targetSetFingerprint.",
"Only KEEP results with composite MetricResult status OK participate in numeric ranking.",
"Ties share rank; lexical resultRef is display order only.",
"Ranking means EXPLICIT_TOPIC11_LANDMARK_TARGET_FIT_ONLY, not beauty, global quality or final acceptance.",
"Candidate anchors and local fit are local evidence; final layout selection remains outside Topic11.",
"Correction requests are owner-qualified and mutationAllowed=false.",
"SemanticConstraintRefs remain separate evidence and cannot be converted into hidden priority.",
"Module execution order is not rule priority.",
"IDEA != CANON.",
"EXPERIMENT != CANON.",
"All profiles, targets, candidate lineage, pruning decisions, hard decisions, components, composite metrics, corrections and human feedback hooks must be serializable.",
"N/A != 0."
],
"soft_constraints": [],
"preferences": [],
"overrides_allowed_by": [
"a different explicit generation profile creates a different candidate context",
"a different explicit LandmarkFitProfile creates a different local scoring context",
"new upstream landmark/distance/applicability evidence creates new lineage",
"future global/context owners may consume the local score but do not change 11.04 ownership"
],
"initial_heuristics": {
"candidate_diversity_pruning": {
"value": "seeded family round-robin after dedupe when budget is exceeded",
"provenance": "IMPLEMENTATION_HEURISTIC",
"warning": "budget/diversity mechanism only; family traversal is not preference"
},
"confidence_policy": {
"value": "MIN_RELEVANT_INPUTS_LOCAL / MIN_INCLUDED_COMPONENTS_LOCAL",
"provenance": "IMPLEMENTATION_HEURISTIC",
"warning": "local conservative propagation only"
}
},
"style_preset_values": [],
"candidate_generation": {
"input_complexity": "O(n evaluations)",
"cartesian_generation": "FORBIDDEN",
"deduplication": "landmarkRef",
"bounded": true,
"seeded": true,
"diversity_pruned": true,
"lineage_aware": true,
"final_layout_selection": "NOT_OWNED"
},
"correction_policy": {
"foreign_mutation": "FORBIDDEN",
"candidate_disagreement": "owner-qualified correction request to generation profile/policy owner",
"wrong_target": "correction request to scoring profile owner",
"wrong_threshold": "correction request to scoring profile owner",
"wrong_upstream_distance": "correction request to 11.02 evidence owner",
"wrong_applicability": "correction request to 11.03 policy owner",
"semantic_conflict": "defer; do not invent priority"
},
"deferred_inputs": [
"global composition aggregation outside Topic11",
"future canonical cross-rule 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 compare candidate/scoring outputs against perception",
"IDEA-02": "semantic refs remain explicit inputs and can block downstream use through their owner",
"IDEA-03": "local hard filter is not global rule priority",
"IDEA-04": "candidate/reject/component/composite data becomes training evidence",
"IDEA-05": "human corrections preserve disagreement reasons",
"IDEA-06": "candidate/scoring results are serialization-ready",
"IDEA-07": "future graphics-for-post-text pipeline can consume Topic11 candidate anchors in LAB/downstream integration"
},
"data_capture": [
"generationProfileRef/includeUseIntents/familyAllowlist/maxCandidateAnchors/seed",
"eligible/deduped/pruned candidate refs",
"candidate sourceEvaluationRefs/policy refs/roleEvidenceRef",
"pruning bucket/family decisions and deterministic order evidence",
"fit profile/target refs/modes/weights",
"metric context/distance space/unit",
"distance descriptor refs and metricDistance",
"deadband/clearance/falloff",
"hard decisions",
"component fits",
"composite metric",
"required/optional N_A",
"comparison context/ranks",
"repair refs",
"human feedback reasons"
],
"deferred_semantic_inputs": [
"semanticConstraintRefs[]",
"semanticSensitiveZoneRef?",
"intentRef?",
"contentRoleRef?",
"readingOrderRef?"
],
"human_feedback_hooks": [
"CANDIDATE_ANCHOR_WRONG",
"CANDIDATE_MISSING",
"CANDIDATE_SHOULD_HAVE_BEEN_PRUNED",
"CANDIDATE_SHOULD_NOT_HAVE_BEEN_PRUNED",
"LANDMARK_TARGET_WRONG",
"ATTRACT_THRESHOLD_WRONG",
"AVOID_CLEARANCE_WRONG",
"TARGET_WEIGHT_WRONG",
"LOCAL_LANDMARK_SCORE_MISLEADING",
"WRONG_RANKING_FOR_CONTEXT",
"SEMANTIC_CONFLICT",
"OTHER"
],
"conflict_priority_assumptions": [
"module execution order is not priority",
"11.04 hard filtering precedes 11.04 soft aggregation only within the explicit Topic11 local pipeline",
"local landmark score does not override foreign hard safe-zone/semantic constraints",
"HARD AVOID does not establish global priority outside Topic11",
"candidate generation is not final layout selection",
"family identity does not create implicit weight"
],
"lab_hooks": [
"LAB: human calibration of attract deadband/falloff",
"LAB: human calibration of avoidance clearance/falloff",
"LAB: candidate diversity pruning experiments",
"LAB: compare thirds/quarters/center/edge under equal weights",
"LAB: intentional avoidance cases",
"LAB: local ranking disagreement capture",
"LAB: downstream text-to-graphic candidate experiments as EXPERIMENT only"
],
"recompute_when": [
"landmark evidence changes",
"distance descriptor changes",
"applicability/use-intent evaluation changes",
"generation profile/budget/seed changes",
"fit profile/targets/weights/thresholds change",
"metric context changes"
],
"tests": [
"candidate eligibility",
"candidate exact geometry",
"dedupe",
"seeded diversity pruning",
"candidate budget",
"mixed-context rejection",
"target validation",
"intent/mode compatibility",
"metric-context guards",
"attract soft fit",
"avoid soft fit",
"avoid hard reject/pass",
"N_A precedence",
"optional denominator",
"one independent composite vote",
"componentOf/no double counting",
"target-set fingerprint invariance",
"same-context comparison/ties",
"repair mutation false",
"semantic/data/human/LAB hooks",
"N_A != 0",
"no beautyScore"
],
"finality": "TOPIC11_CANDIDATE_ANCHORS_EXPLICIT_LOCAL_LANDMARK_TARGET_EVALUATION_AND_SCORE_ONLY"
}