No target, no score
10.04 is the first Topic10 module allowed to score, and it scores only explicit local alignment targets.
reject, never numeric penalty
explicit fit component
localAlignmentFit composite
Signed offset or maximum spread
Targets bind to an exact upstream evidence ref.
| Model | Observed evidence | Target |
|---|---|---|
| SIGNED_OFFSET_TARGET | 10.01/10.02 measurementRef | explicit signed delta |
| MAX_SPREAD_TARGET | 10.03 sharedAxisRef | explicit maximum spread |
Deadband + falloff
Visual tolerance is explicit and separate from numerical EPS.
Hard mismatch is not score 0
HARD constraints are evaluated before local soft aggregation.
Explicit evidence only
10.04 may consume an optical target adjustment but never invent one.
OpticalTargetHook {
opticalHookRef,
ownerRef,
targetDeltaAdjustmentRaw,
sourceUnit,
confidence,
provenance,
mutationAllowed: false
}
Required vs optional is explicit
Optional N/A can leave the denominator only because the profile explicitly says optional.
AlignmentEvaluationProfile {
profileRef,
requiredTargetRefs[],
optionalTargetRefs[],
weightsByTargetRef,
confidencePolicy
}
One independent Topic10 vote
Target components are already part of the composite.
INVALID > REJECT > N_A > KEEP
Status is not inferred from a numeric score.
Same context only
Ranking is only meaningful inside one explicit profile and target set.
Local conservative policy, not universal law
10.04 records an explicit local policy rather than silently claiming a project-wide confidence theorem.
Request, never mutate
Scoring may identify mismatch but cannot move foreign-owned geometry.
AlignmentCorrectionRequest {
correctionRequestRef,
resultRef,
targetRef,
reasonCode,
targetOwnerRef,
evidenceRefs[],
suggestedDeltaRaw?,
mutationAllowed: false
}Evaluation context becomes dataset evidence
Profile, optical evidence and human disagreement remain replayable.
Disagreement is useful data
Human feedback can challenge target, tolerance, optical hook or ranking without auto-changing CANON.
Same geometry, different explicit targets
Zero offset is only one possible target.
10.04 scoring regression
Tests cover explicit targets, hard/soft separation, optical hooks, N/A semantics, component ownership and comparison guards.
DATA FOR LAYOUT ENGINE
Machine-readable 10.04 contract.
{
"module": "Compo 10.04",
"name": "tolerance_optical_hooks_scoring_tests",
"version": "1.0-canonical",
"canonical_main_title": "Tolerance, optical hooks, scoring/tests",
"topic": "10_БАЗОВЫЕ_ЛИНИИ_И_ВЫРАВНИВАНИЕ",
"scope": "EXPLICIT_TOPIC10_TARGET_TOLERANCE_OPTICAL_HOOK_HARD_FILTER_LOCAL_SCORING_REPAIR_AND_COMPARISON",
"review_basis": {
"previous_modules": [
"Compo10.00 Alignment taxonomy",
"Compo10.01 pairwise geometric relations",
"Compo10.02 baseline/text alignment",
"Compo10.03 multi-object shared axes"
],
"cross_cutting_instruction": "COMPO project instruction v2.0"
},
"consumes": [
"Compo10.01/10.02 pairwise measurement records",
"Compo10.03 shared-axis evaluation records",
"AlignmentEvaluationProfile",
"AlignmentTargetSpec[]",
"optional owner-qualified OpticalTargetHook[]",
"optional opaque semanticConstraintRefs[]"
],
"provides": [
"AlignmentTargetEvaluation[]",
"AlignmentHardFilterResult",
"alignment.system.localAlignmentFit",
"AlignmentEvaluationResult",
"AlignmentCorrectionRequest",
"Topic10 comparison/ranking"
],
"owns_metrics": [
"alignment.system.localAlignmentFit",
"alignment.target.componentFit.<targetRef>"
],
"descriptors_only": [
"alignment.target.errorRaw",
"alignment.target.excessRaw",
"alignment.target.effectiveTargetDeltaRaw",
"alignment.target.hardDecision",
"alignment.evaluation.status",
"alignment.evaluation.targetSetFingerprint"
],
"target_models": {
"SIGNED_OFFSET_TARGET": {
"subject": "exact pairwise measurementRef",
"fields": [
"baseTargetDeltaRaw",
"deadbandRaw",
"falloffRaw for SOFT",
"opticalMode",
"opticalHookRef?"
],
"hard_pass": "abs(observedSignedDelta-effectiveTargetDelta)<=deadbandRaw"
},
"MAX_SPREAD_TARGET": {
"subject": "exact sharedAxisRef",
"fields": [
"maxSpreadRaw",
"falloffRaw for SOFT"
],
"hard_pass": "observedSpreadRaw<=maxSpreadRaw"
}
},
"optical_hook_schema": {
"opticalHookRef": "stable ref",
"ownerRef": "explicit evidence owner",
"targetDeltaAdjustmentRaw": "finite signed value",
"sourceUnit": "must match measurement sourceUnit",
"confidence": "0..1",
"provenance": "DERIVED|EMPIRICAL|INITIAL_HEURISTIC|STYLE_PRESET",
"mutationAllowed": false
},
"profile_schema": {
"profileRef": "stable explicit profile ref",
"requiredTargetRefs": "set-like unique refs",
"optionalTargetRefs": "set-like unique refs",
"weightsByTargetRef": "positive weights for SOFT targets only",
"confidencePolicy": "MIN_INCLUDED_COMPONENTS_LOCAL",
"semanticConstraintRefs": "opaque optional refs"
},
"metric_contract": {
"composite": {
"key": "alignment.system.localAlignmentFit",
"owner": "Compo10.04",
"composite": true,
"componentOf": null,
"scoringGroup": "alignment-local",
"independentVoteAllowed": true
},
"component": {
"key": "alignment.target.componentFit.<targetRef>",
"owner": "Compo10.04",
"composite": false,
"componentOf": "alignment.system.localAlignmentFit",
"scoringGroup": "alignment-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_TOPIC10_TARGET_FIT_ONLY"
},
"confidence_policy": {
"component": "MIN_RELEVANT_INPUTS_LOCAL",
"composite": "MIN_INCLUDED_COMPONENTS_LOCAL",
"provenance": "IMPLEMENTATION_HEURISTIC",
"scope": "Compo10.04 local evaluation 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",
"beautyScore": "FORBIDDEN"
},
"hard_constraints": [
"10.04 owns explicit Topic10 target/tolerance interpretation, owner-qualified optical target hooks, hard filtering, local alignment component fits, the single independent Topic10 composite score, correction requests and comparison tests.",
"10.04 consumes raw pairwise measurements from 10.01, baseline measurements from 10.02 and shared-axis evaluations from 10.03; it does not recompute their geometry.",
"10.04 does not own source object/text/grid geometry.",
"10.04 does not own baseline extraction.",
"10.04 does not own shared-axis membership generation.",
"No AlignmentEvaluationProfile means local alignment composite is N_A.",
"Targets are explicit; 10.04 has no hidden assumption that zero offset or shared-axis coincidence is always preferred.",
"Supported target models are SIGNED_OFFSET_TARGET and MAX_SPREAD_TARGET.",
"SIGNED_OFFSET_TARGET requires an exact measurementRef and finite baseTargetDeltaRaw.",
"MAX_SPREAD_TARGET requires an exact sharedAxisRef and finite maxSpreadRaw>=0.",
"Each target declares HARD or SOFT mode.",
"HARD mismatch produces REJECT and no numeric component vote for that target.",
"SOFT target requires deadbandRaw>=0 and falloffRaw>0.",
"For SIGNED_OFFSET_TARGET, errorRaw = abs(observedSignedDeltaRaw-effectiveTargetDeltaRaw).",
"For MAX_SPREAD_TARGET, excessRaw = max(0, observedSpreadRaw-maxSpreadRaw).",
"SOFT signed fit: 1 inside deadband; outside, 1-clamp((errorRaw-deadbandRaw)/falloffRaw,0,1).",
"SOFT spread fit: 1 when excessRaw=0; otherwise 1-clamp(excessRaw/falloffRaw,0,1).",
"HARD signed pass requires errorRaw<=deadbandRaw.",
"HARD spread pass requires spreadRaw<=maxSpreadRaw.",
"Numerical EPS from 10.01/10.02/10.03 is not design tolerance and is never reused as deadbandRaw unless an explicit target literally supplies that same numeric value.",
"Optical shifts are never inferred by 10.04.",
"An optical hook must be explicit owner-qualified evidence.",
"Optical hook application requires opticalMode=APPLY_EXPLICIT and exact opticalHookRef.",
"effectiveTargetDeltaRaw = baseTargetDeltaRaw + targetDeltaAdjustmentRaw when explicit optical hook is applied.",
"Absent optical hook means adjustment 0 only because opticalMode=NONE is explicit, not because a hidden optical model was run.",
"Optical hook provenance must be a canonical provenance class.",
"Optical hook sourceUnit must match the consumed signed-offset measurement unit.",
"Optical hook does not mutate geometry; it only changes the explicit evaluation target.",
"Optical hook confidence remains evidence metadata and cannot silently upgrade source measurement confidence.",
"Target applicability is exact by measurementRef/sharedAxisRef; a target cannot evaluate another subject by kind similarity.",
"Target input order is irrelevant; targetSetFingerprint canonicalizes targetRef order.",
"Profile requiredTargetRefs and optionalTargetRefs are set-like, unique, disjoint and canonicalized.",
"Profile must explicitly include every evaluated targetRef in required or optional sets.",
"SOFT target weights are explicit positive finite values.",
"HARD targets do not receive numeric voting weight.",
"Required target N_A makes the composite N_A unless a higher-precedence INVALID or REJECT exists.",
"Optional target N_A may be excluded from the soft-score denominator only because it is explicitly optional.",
"INVALID > REJECT > N_A > KEEP is the status precedence.",
"Rejected, invalid and N_A evaluation bundles are not converted to numeric zero.",
"If no applicable SOFT components remain after explicit optional N_A exclusion, local composite score is N_A.",
"The only independent numeric Topic10 vote is alignment.system.localAlignmentFit.",
"alignment.system.localAlignmentFit is a composite owned by Compo10.04 with scoringGroup alignment-local.",
"Per-target component metrics use alignment.target.componentFit.<targetRef> and have componentOf=alignment.system.localAlignmentFit and independentVoteAllowed=false.",
"Raw offsets, spreads, numerical coincidence flags, relation classes and shared-axis statuses do not vote independently.",
"No universal beautyScore is introduced.",
"More alignment is not automatically better.",
"More zero offsets are not automatically better.",
"More grid adherence is not automatically better.",
"Intentional misalignment can be represented by an explicit non-zero SIGNED_OFFSET_TARGET.",
"Comparison/ranking requires same profileRef and same targetSetFingerprint.",
"Only KEEP results with score status OK participate in numeric ranking.",
"Ties share rank; lexical resultRef may be used only for deterministic display order.",
"Ranking means EXPLICIT_TOPIC10_TARGET_FIT_ONLY, not beauty, global quality or final acceptance.",
"Correction requests are mutationAllowed=false and owner-qualified.",
"10.04 never moves objects/text/grid itself.",
"SemanticConstraintRefs remain separate evidence; 10.04 cannot invent semantic priority.",
"Module order is not rule priority.",
"IDEA != CANON.",
"EXPERIMENT != CANON.",
"All profile/target/optical/scoring/filter/repair evidence must be serializable.",
"N/A != 0."
],
"hard_rules": [
"10.04 owns explicit Topic10 target/tolerance interpretation, owner-qualified optical target hooks, hard filtering, local alignment component fits, the single independent Topic10 composite score, correction requests and comparison tests.",
"10.04 consumes raw pairwise measurements from 10.01, baseline measurements from 10.02 and shared-axis evaluations from 10.03; it does not recompute their geometry.",
"10.04 does not own source object/text/grid geometry.",
"10.04 does not own baseline extraction.",
"10.04 does not own shared-axis membership generation.",
"No AlignmentEvaluationProfile means local alignment composite is N_A.",
"Targets are explicit; 10.04 has no hidden assumption that zero offset or shared-axis coincidence is always preferred.",
"Supported target models are SIGNED_OFFSET_TARGET and MAX_SPREAD_TARGET.",
"SIGNED_OFFSET_TARGET requires an exact measurementRef and finite baseTargetDeltaRaw.",
"MAX_SPREAD_TARGET requires an exact sharedAxisRef and finite maxSpreadRaw>=0.",
"Each target declares HARD or SOFT mode.",
"HARD mismatch produces REJECT and no numeric component vote for that target.",
"SOFT target requires deadbandRaw>=0 and falloffRaw>0.",
"For SIGNED_OFFSET_TARGET, errorRaw = abs(observedSignedDeltaRaw-effectiveTargetDeltaRaw).",
"For MAX_SPREAD_TARGET, excessRaw = max(0, observedSpreadRaw-maxSpreadRaw).",
"SOFT signed fit: 1 inside deadband; outside, 1-clamp((errorRaw-deadbandRaw)/falloffRaw,0,1).",
"SOFT spread fit: 1 when excessRaw=0; otherwise 1-clamp(excessRaw/falloffRaw,0,1).",
"HARD signed pass requires errorRaw<=deadbandRaw.",
"HARD spread pass requires spreadRaw<=maxSpreadRaw.",
"Numerical EPS from 10.01/10.02/10.03 is not design tolerance and is never reused as deadbandRaw unless an explicit target literally supplies that same numeric value.",
"Optical shifts are never inferred by 10.04.",
"An optical hook must be explicit owner-qualified evidence.",
"Optical hook application requires opticalMode=APPLY_EXPLICIT and exact opticalHookRef.",
"effectiveTargetDeltaRaw = baseTargetDeltaRaw + targetDeltaAdjustmentRaw when explicit optical hook is applied.",
"Absent optical hook means adjustment 0 only because opticalMode=NONE is explicit, not because a hidden optical model was run.",
"Optical hook provenance must be a canonical provenance class.",
"Optical hook sourceUnit must match the consumed signed-offset measurement unit.",
"Optical hook does not mutate geometry; it only changes the explicit evaluation target.",
"Optical hook confidence remains evidence metadata and cannot silently upgrade source measurement confidence.",
"Target applicability is exact by measurementRef/sharedAxisRef; a target cannot evaluate another subject by kind similarity.",
"Target input order is irrelevant; targetSetFingerprint canonicalizes targetRef order.",
"Profile requiredTargetRefs and optionalTargetRefs are set-like, unique, disjoint and canonicalized.",
"Profile must explicitly include every evaluated targetRef in required or optional sets.",
"SOFT target weights are explicit positive finite values.",
"HARD targets do not receive numeric voting weight.",
"Required target N_A makes the composite N_A unless a higher-precedence INVALID or REJECT exists.",
"Optional target N_A may be excluded from the soft-score denominator only because it is explicitly optional.",
"INVALID > REJECT > N_A > KEEP is the status precedence.",
"Rejected, invalid and N_A evaluation bundles are not converted to numeric zero.",
"If no applicable SOFT components remain after explicit optional N_A exclusion, local composite score is N_A.",
"The only independent numeric Topic10 vote is alignment.system.localAlignmentFit.",
"alignment.system.localAlignmentFit is a composite owned by Compo10.04 with scoringGroup alignment-local.",
"Per-target component metrics use alignment.target.componentFit.<targetRef> and have componentOf=alignment.system.localAlignmentFit and independentVoteAllowed=false.",
"Raw offsets, spreads, numerical coincidence flags, relation classes and shared-axis statuses do not vote independently.",
"No universal beautyScore is introduced.",
"More alignment is not automatically better.",
"More zero offsets are not automatically better.",
"More grid adherence is not automatically better.",
"Intentional misalignment can be represented by an explicit non-zero SIGNED_OFFSET_TARGET.",
"Comparison/ranking requires same profileRef and same targetSetFingerprint.",
"Only KEEP results with score status OK participate in numeric ranking.",
"Ties share rank; lexical resultRef may be used only for deterministic display order.",
"Ranking means EXPLICIT_TOPIC10_TARGET_FIT_ONLY, not beauty, global quality or final acceptance.",
"Correction requests are mutationAllowed=false and owner-qualified.",
"10.04 never moves objects/text/grid itself.",
"SemanticConstraintRefs remain separate evidence; 10.04 cannot invent semantic priority.",
"Module order is not rule priority.",
"IDEA != CANON.",
"EXPERIMENT != CANON.",
"All profile/target/optical/scoring/filter/repair evidence must be serializable.",
"N/A != 0."
],
"soft_constraints": [],
"preferences": [],
"overrides_allowed_by": [
"a different explicit profile/target set creates a different evaluation context",
"new upstream measurement/shared-axis evidence creates a new result lineage",
"new explicit optical hook creates new target evaluation lineage",
"future context/global owners may use the local metric but do not change 10.04 ownership"
],
"initial_heuristics": {
"confidence_policy": {
"value": "MIN_RELEVANT_INPUTS_LOCAL / MIN_INCLUDED_COMPONENTS_LOCAL",
"provenance": "IMPLEMENTATION_HEURISTIC",
"warning": "local conservative policy only; not universal confidence propagation"
}
},
"style_preset_values": [],
"candidate_generation": {
"none": "10.04 evaluates explicit measurements/shared-axis evidence; it does not generate layout candidates"
},
"correction_policy": {
"foreign_mutation": "FORBIDDEN",
"signed_offset_mismatch": "may request owner/context to shift/reselect anchor, mutationAllowed=false",
"spread_mismatch": "may request membership/geometry review, mutationAllowed=false",
"optical_missing": "N_A/INVALID according explicit target requirement, never infer",
"semantic_conflict": "defer; do not invent priority"
},
"deferred_inputs": [
"future semantic/context priority resolution",
"global composition aggregation outside Topic10"
],
"ideas_refs": [
"IDEA-01",
"IDEA-02",
"IDEA-03",
"IDEA-04",
"IDEA-05",
"IDEA-06",
"IDEA-07"
],
"data_capture": [
"profileRef",
"targetSetFingerprint",
"target refs/modes/models",
"raw measurement/sharedAxis refs",
"base/effective targets",
"optical hook refs/provenance",
"deadband/falloff",
"hard decisions",
"component fits",
"composite metric",
"required/optional N_A",
"repair refs",
"comparison context",
"human reasons"
],
"deferred_semantic_inputs": [
"semanticConstraintRefs[]",
"intentRef?",
"semanticSensitiveZoneRef?",
"readingOrderRef?"
],
"human_feedback_hooks": [
"ALIGNMENT_TARGET_WRONG",
"TOLERANCE_TOO_TIGHT",
"TOLERANCE_TOO_LOOSE",
"OPTICAL_HOOK_WRONG",
"OPTICAL_HOOK_MISSING",
"INTENTIONAL_MISALIGNMENT",
"SEMANTIC_CONFLICT",
"WRONG_RANKING_FOR_CONTEXT",
"OTHER"
],
"conflict_priority_assumptions": [
"module order is not priority",
"hard target constraints precede local soft score only within this explicit Topic10 evaluation pipeline",
"semantic constraints are not overridden by local alignment score",
"optical hook does not override hard semantic/context constraints",
"ranking is local explicit-target fit only"
],
"lab_hooks": [
"LAB: human calibration of deadband/falloff by relation type",
"LAB: optical target shift experiments",
"LAB: compare explicit non-zero intentional alignment targets",
"LAB: ranking disagreement capture",
"LAB: confidence-policy diagnostics",
"LAB: downstream text-to-graphic scoring experiment as EXPERIMENT only"
],
"recompute_when": [
"upstream measurement/sharedAxis evidence changes",
"profile changes",
"target changes",
"weight changes",
"optical hook changes",
"required/optional membership changes"
],
"tests": [
"target validation",
"profile validation",
"optical hook validation",
"hard vs soft separation",
"signed target fit",
"spread target fit",
"N_A precedence",
"optional denominator",
"one independent composite vote",
"componentOf/no double counting",
"target set fingerprint order invariance",
"comparison guards",
"tie ranks",
"repair mutation false",
"semantic/data/human/LAB hooks"
],
"finality": "TOPIC10_EXPLICIT_LOCAL_ALIGNMENT_TARGET_EVALUATION_AND_SCORE_ONLY"
}