Final Topic 9 evaluation layer
9.04 получает только уже существующие evidence refs. Он не создаёт новую геометрию и не генерирует скрытые combinations.
Explicit immutable evidence bundle.
Filter only, never penalty.
Explicit target fit only.
Refs, не копии child data
Variant описывает одну явно собранную конфигурацию Topic 9.
ModularGridVariant {
variantRef,
variantKind,
modularGridRef,
columnGeometryRef,
rowGeometryRef,
cellSetRef,
regionSetRef?,
forbiddenRegistryRef?,
occupancyMapRef?,
candidateSetRef?,
placementCandidateRef?,
confidence,
provenance,
mutationAllowed: false
}
Applicability explicit
Kind фиксирует, какой уровень Topic 9 реально присутствует.
| Kind | Required evidence |
|---|---|
| STRUCTURE_ONLY | 9.00 + 9.01 |
| WITH_REGIONS | + RegionSet |
| WITH_RUNTIME_STATE | + OccupancyMap |
| WITH_PLACEMENT_CANDIDATE | + CandidateSet + Candidate |
No target = no preference
Любая desired property приходит только explicit target contract.
ModularGridTargetSpec {
targetRef,
subjectKind,
observedSelector,
targetModel:
NUMERIC_INTERVAL |
CATEGORICAL_ALLOWED,
minValue?,
maxValue?,
tolerance?,
allowedValues[]?,
mismatchFit?,
constraintKind:
HARD |
SOFT,
missingEvidencePolicy:
N_A |
INVALID,
confidence,
provenance
}
Target adapters only
Raw Topic9 evidence не становится score автоматически.
INVALID > REJECT > N_A > KEEP
Hard decision существует отдельно от numeric fit.
SOFT targets only
Numeric interval и categorical allowed-list имеют явную семантику.
Explicit denominator
Profile перечисляет ровно те SOFT targets, которые должны составить local composite.
ModularGridScoringProfile {
profileRef,
requiredTargetRefs[],
optionalTargetRefs[],
weights: {
targetRef: positiveNumber
},
aggregate:
WEIGHTED_MEAN,
missingRequiredPolicy:
N_A,
confidence,
provenance
}
One independent Topic9 vote
Component target fits не голосуют отдельно.
Missing evidence is not zero
Required и optional components ведут себя по-разному только потому, что profile это явно объявил.
Same evaluation context only
Нельзя ранжировать варианты, рассчитанные по разным profiles или target sets.
Advice, not mutation
Hard mismatch или N/A evidence может породить только owner-qualified request.
ModularGridRepairRequest {
repairRequestRef,
variantRef,
reasonCode,
targetOwnerRef,
sourceEvidenceRefs[],
suggestedAction,
mutationAllowed: false,
provenance: DERIVED
}
Local fit ≠ final composition
9.04 закрывает Topic 9, но не захватывает global composition owners.
Visual Lab
Показываем hard/soft split, N/A и explicit ranking.
9.04 consolidated regression
Проверяем variant lineage, target applicability, hard filter, composite scoring, comparison guards, repairs и absence of double counting.
DATA FOR LAYOUT ENGINE
Machine-readable final Topic 9 contract.
{
"module": "Compo 9.04",
"name": "variants_scoring_tests",
"version": "1.1-corrective",
"canonical_main_title": "Variants, scoring и tests",
"topic": "09_МОДУЛЬНАЯ_СЕТКА_КОЛОНКИ_И_РЯДЫ",
"scope": "EXPLICIT_MODULARGRID_VARIANTS_HARD_FILTER_LOCAL_TARGET_SCORING_REPAIRS_COMPARISON_AND_CONSOLIDATED_TESTS",
"review_basis": {
"public_MAIN": "9.04 exact title confirmed and is final Topic9 file",
"public_Core_0.00": "canonical public Core link could not be opened; no Core content invented",
"previous_module": "Compo9.03 occupancy/collision/reflow/candidates",
"related_owners_reviewed": [
"Compo9.00 ModularGrid root + rows",
"Compo9.01 CellSet/atomic cells/addressing",
"Compo9.02 RegionSet/ForbiddenGridRegistry",
"Compo9.03 ModularGridOccupancyMap/GridPlacementCandidateSet"
]
},
"consumes": [
"Compo9.00.ModularGrid",
"Compo8.01.ResolvedColumnGeometry reference",
"Compo9.00.ResolvedRowGeometry",
"Compo9.01.CellSet",
"optional Compo9.02.RegionSet",
"optional Compo9.02.ForbiddenGridRegistry",
"optional Compo9.03.ModularGridOccupancyMap",
"optional Compo9.03.GridPlacementCandidateSet",
"optional Compo9.03.GridPlacementCandidate",
"explicit ModularGridTargetSpec[]",
"optional explicit ModularGridScoringProfile"
],
"provides": [
"ModularGridVariant",
"ModularGridVariantSet",
"ModularGridTargetSpec",
"ModularGridScoringProfile",
"TargetObservation",
"grid.modular.target.componentFit.<targetRef> MetricResult",
"grid.modular.system.localModularGridFit MetricResult",
"ModularGridVariantEvaluation",
"ModularGridRepairRequest[]",
"ModularGridVariantComparison",
"Topic9 consolidated regression tests"
],
"owns_metrics": [
"grid.modular.system.localModularGridFit"
],
"descriptors_only": [
"all observations adapted from 9.00–9.03",
"variantKind",
"target statuses",
"hardFilter",
"comparison rank"
],
"variant_schema": {
"variantRef": "stable explicit ref",
"variantKind": "STRUCTURE_ONLY|WITH_REGIONS|WITH_RUNTIME_STATE|WITH_PLACEMENT_CANDIDATE",
"modularGridRef": "required 9.00 root",
"columnGeometryRef": "required exact 8.01 geometry lineage",
"rowGeometryRef": "required exact 9.00 row lineage",
"cellSetRef": "required exact 9.01 set",
"regionSetRef": "optional by kind",
"forbiddenRegistryRef": "optional by kind",
"occupancyMapRef": "optional by kind",
"candidateSetRef": "required only for candidate kind",
"placementCandidateRef": "required only for candidate kind",
"confidence": "0..1",
"provenance": "STANDARD|EMPIRICAL|INITIAL_HEURISTIC|STYLE_PRESET|DERIVED",
"mutationAllowed": false
},
"variant_kind_contract": {
"STRUCTURE_ONLY": "no region/forbidden/occupancy/candidate refs",
"WITH_REGIONS": "requires regionSetRef; optional forbiddenRegistryRef; no occupancy/candidate",
"WITH_RUNTIME_STATE": "requires occupancyMapRef; optional region/forbidden; no placement candidate",
"WITH_PLACEMENT_CANDIDATE": "requires candidateSetRef+placementCandidateRef; matching runtime refs optional"
},
"target_spec_schema": {
"targetRef": "stable unique ref",
"subjectKind": "MODULAR_GRID_VARIANT|WITH_REGIONS|WITH_RUNTIME_STATE|WITH_PLACEMENT_CANDIDATE",
"observedSelector": "COLUMN_COUNT|ROW_COUNT|CELL_COUNT|REGION_COUNT|FORBIDDEN_CELL_FRACTION|OCCUPIED_CELL_FRACTION|FREE_CELL_FRACTION|UNKNOWN_CELL_FRACTION|MULTI_OCCUPIED_CELL_FRACTION|PLACEMENT_FOOTPRINT_CELL_COUNT|PLACEMENT_SOURCE_KIND|PLACEMENT_EVIDENCE_STATUS",
"targetModel": "NUMERIC_INTERVAL|CATEGORICAL_ALLOWED",
"minValue": "required numeric lower bound for NUMERIC_INTERVAL",
"maxValue": "required numeric upper bound >= minValue",
"allowedValues": "required unique non-empty values for CATEGORICAL_ALLOWED",
"constraintKind": "HARD|SOFT",
"mismatchFit": "required [0,1] only for SOFT categorical target",
"missingEvidencePolicy": "N_A|INVALID",
"confidence": "0..1",
"provenance": "STANDARD|EMPIRICAL|INITIAL_HEURISTIC|STYLE_PRESET"
},
"target_applicability": {
"MODULAR_GRID_VARIANT": "all variants",
"WITH_REGIONS": "WITH_REGIONS, WITH_RUNTIME_STATE and WITH_PLACEMENT_CANDIDATE only when matching regionSetRef exists",
"WITH_RUNTIME_STATE": "WITH_RUNTIME_STATE and WITH_PLACEMENT_CANDIDATE only when matching occupancyMapRef exists",
"WITH_PLACEMENT_CANDIDATE": "WITH_PLACEMENT_CANDIDATE only",
"mismatch": "resolve by explicit missingEvidencePolicy; do not silently evaluate"
},
"numeric_fit": {
"inside_interval": "1",
"below": "1-clamp((minValue-observed)/tolerance,0,1)",
"above": "1-clamp((observed-maxValue)/tolerance,0,1)",
"tolerance": "explicit target tolerance >0 for SOFT targets",
"HARD": "only pass/fail; tolerance may be zero or positive if explicitly supplied but never yields numeric penalty"
},
"categorical_fit": {
"allowed": "1",
"SOFT mismatch": "explicit mismatchFit",
"HARD mismatch": "REJECT",
"implicit mismatch default": "FORBIDDEN"
},
"scoring_profile_schema": {
"profileRef": "stable explicit ref",
"requiredTargetRefs": "explicit SOFT target refs",
"optionalTargetRefs": "explicit SOFT target refs disjoint from required",
"weights": "positive finite map covering exactly profile targets",
"aggregate": "WEIGHTED_MEAN",
"missingRequiredPolicy": "N_A",
"confidence": "0..1",
"provenance": "STANDARD|EMPIRICAL|INITIAL_HEURISTIC|STYLE_PRESET"
},
"hard_filter_semantics": {
"precedence": "INVALID > REJECT > N_A > KEEP",
"INVALID": "variant/target/evidence contract invalid",
"REJECT": "one or more evaluated HARD targets mismatch",
"N_A": "required HARD target evidence unavailable under N_A policy and no INVALID/REJECT",
"KEEP": "all applicable HARD targets satisfied",
"separate_from_score": "never threshold localModularGridFit to create hard decision"
},
"metric_result_policy": {
"component": {
"key": "grid.modular.target.componentFit.<targetRef>",
"owner": "Compo9.04",
"componentOf": "grid.modular.system.localModularGridFit",
"scoringGroup": "modular-grid-local",
"independentVoteAllowed": false
},
"composite": {
"key": "grid.modular.system.localModularGridFit",
"owner": "Compo9.04",
"composite": true,
"componentOf": null,
"scoringGroup": "modular-grid-local",
"independentVoteAllowed": true
},
"no_profile": "value=N_A; status=N_A; not zero",
"hard_targets": "never component fits"
},
"scoring_semantics": {
"aggregate": "weighted mean of evaluated SOFT target component fits",
"required_N_A": "composite N_A",
"optional_N_A": "drop only optional target from denominator",
"INVALID": "composite INVALID",
"not_global_quality": true,
"ranking_meaning": "EXPLICIT_TOPIC9_TARGET_FIT_ONLY"
},
"variant_comparison": {
"eligible": "hardFilter=KEEP and composite metric status=OK",
"profile_guard": "all evaluations must carry same profileRef",
"target_set_guard": "all evaluations must carry same deterministic targetSetFingerprint",
"tie": "same fit => same rank; variantRef lexical only for deterministic display order",
"committedVariantRef": "null; comparison does not commit layout",
"mutationAllowed": false
},
"repair_request_schema": {
"repairRequestRef": "stable derived ref",
"variantRef": "source variant",
"reasonCode": "HARD_TARGET_MISMATCH|TARGET_EVIDENCE_N_A|INVALID_VARIANT_LINEAGE|INVALID_TARGET|INVALID_PROFILE",
"targetOwnerRef": "Compo9.00|Compo9.01|Compo9.02|Compo9.03|profile_owner|target_owner|layout_orchestrator",
"sourceEvidenceRefs": "explicit refs",
"suggestedAction": "advisory string/code",
"mutationAllowed": false,
"provenance": "DERIVED"
},
"ownership_map": {
"9.00": "ModularGrid root and row geometry",
"9.01": "CellSet/Cell identity/address/geometry",
"9.02": "RegionSet and forbidden constraints",
"9.03": "occupancy/collision/reflow/candidates",
"9.04": "explicit variants, target scoring, hard filter, repairs/comparison, consolidated regression",
"future_global": "global balance/hierarchy/negative-space/eye-flow/typography/crop remain external"
},
"semantic_firewalls": {
"variant_vs_generation": "9.04 explicit variants only; no hidden Cartesian generator",
"hard_vs_score": "HARD mismatch rejects and never becomes numeric penalty",
"descriptor_vs_score": "9.00–9.03 descriptors only vote when explicitly adapted by a SOFT target",
"component_vs_independent_vote": "component fits independentVoteAllowed=false",
"candidate_vs_layout_commit": "placement candidate remains evidence, not accepted final layout",
"ranking_vs_beauty": "comparison rank means target fit only",
"repair_vs_mutation": "repair request never mutates foreign state"
},
"metric_policy": {
"primary_numeric_vote": "grid.modular.system.localModularGridFit only",
"direct_raw_descriptor_votes": "FORBIDDEN",
"hard_target_numeric_vote": "FORBIDDEN",
"beautyScore": "FORBIDDEN"
},
"hard_constraints": [
"9.04 owns explicit ModularGridVariant bundles, target observation adapters, Topic9 hard-filter interpretation, explicit-target local scoring, mutation-free repair requests, variant comparison and consolidated Topic9 regression.",
"9.04 does not generate row/column geometry, cells, regions, occupancy maps or placement candidates.",
"Variant construction is explicit only; no hidden Cartesian product over region sets, occupancy snapshots, candidates or style parameters.",
"Every variant must reference one exact ModularGrid root, one exact columnGeometryRef, one exact rowGeometryRef and one exact cellSetRef.",
"Optional regionSetRef, forbiddenRegistryRef, occupancyMapRef, candidateSetRef and placementCandidateRef must be lineage-consistent with the same CellSet.",
"Baseline variant kinds are STRUCTURE_ONLY, WITH_REGIONS, WITH_RUNTIME_STATE and WITH_PLACEMENT_CANDIDATE.",
"STRUCTURE_ONLY must not carry region, forbidden, occupancy or placement-candidate refs.",
"WITH_REGIONS requires regionSetRef and may optionally carry forbiddenRegistryRef but not occupancy/candidate refs.",
"WITH_RUNTIME_STATE requires occupancyMapRef and may carry regionSetRef/forbiddenRegistryRef but not placementCandidateRef.",
"WITH_PLACEMENT_CANDIDATE requires candidateSetRef and placementCandidateRef; it may also carry matching occupancy/forbidden/region refs.",
"Variant evidence is immutable and reference-based; child evidence is never copied into the variant as a new owner.",
"All target specs are explicit and versioned.",
"Target subjectKind is explicit and controls applicability.",
"Baseline subject kinds are MODULAR_GRID_VARIANT, WITH_REGIONS, WITH_RUNTIME_STATE and WITH_PLACEMENT_CANDIDATE.",
"A more specific subjectKind is N_A on a less specific variant rather than silently evaluated.",
"Baseline target selectors are COLUMN_COUNT, ROW_COUNT, CELL_COUNT, REGION_COUNT, FORBIDDEN_CELL_FRACTION, OCCUPIED_CELL_FRACTION, FREE_CELL_FRACTION, UNKNOWN_CELL_FRACTION, MULTI_OCCUPIED_CELL_FRACTION, PLACEMENT_FOOTPRINT_CELL_COUNT, PLACEMENT_SOURCE_KIND and PLACEMENT_EVIDENCE_STATUS.",
"Numeric target models use explicit inclusive interval [minValue,maxValue].",
"Categorical target models use explicit allowedValues.",
"SOFT categorical mismatch requires explicit mismatchFit in [0,1]; there is no implicit zero unless mismatchFit is explicitly zero.",
"HARD categorical or numeric mismatch yields REJECT and never a numeric penalty.",
"HARD target with missing evidence resolves by explicit missingEvidencePolicy INVALID or N_A; it never passes silently.",
"SOFT target with missing evidence resolves by explicit missingEvidencePolicy INVALID or N_A; it never becomes numeric zero.",
"No target means no score.",
"No scoring profile means grid.modular.system.localModularGridFit = N_A.",
"Only SOFT target components may enter the numeric profile.",
"HARD targets are forbidden from profile weights and cannot also vote numerically.",
"Scoring profile lists requiredTargetRefs and optionalTargetRefs explicitly.",
"Every scored targetRef must exist exactly once in the target set.",
"Weights must be explicit finite positive values for every required/optional target included by the profile.",
"Undeclared target weights are invalid rather than guessed.",
"Required target N_A makes local score N_A under baseline required-missing policy.",
"Optional target N_A may drop from the denominator only when declared optional.",
"INVALID component makes scoring INVALID.",
"Component fit MetricResults are componentOf grid.modular.system.localModularGridFit and independentVoteAllowed=false.",
"The only independent numeric Topic9 vote is grid.modular.system.localModularGridFit with scoringGroup modular-grid-local.",
"Raw descriptors from 9.00–9.03 do not vote separately.",
"Derived fractions sharing the same occupancy evidence are target observations; the profile controls their weights and no additional raw occupancy vote is added.",
"Hard-filter precedence is INVALID > REJECT > N_A > KEEP.",
"Hard filter and numeric scoring are separate channels.",
"A REJECT variant is excluded from ranking and never assigned score zero as a substitute.",
"N_A != 0.",
"Variant comparison is valid only when all compared evaluations use the same profileRef and the same deterministic targetSetFingerprint.",
"Variant comparison ranks only KEEP evaluations with OK local numeric metric.",
"Equal numeric fit produces tied rank; lexical variantRef is deterministic tie ordering only.",
"Ranking meaning is EXPLICIT_TOPIC9_TARGET_FIT_ONLY and is never beauty, global composition quality or final layout acceptance.",
"Repair requests are mutationAllowed=false and target the appropriate owner; 9.04 never mutates geometry, regions, occupancy, constraints, candidates or content.",
"No universal preferred row count, column count, cell count, region count, free fraction, occupied fraction, square-cell ratio or candidate footprint exists.",
"No beautyScore.",
"A WITH_PLACEMENT_CANDIDATE variant must reject mismatched candidateSet.modularGridRef when candidateSet carries that lineage.",
"If both variant and candidateSet carry regionSetRef, occupancyMapRef or forbiddenRegistryRef, the refs must match exactly.",
"Target-set fingerprinting must canonicalize set-like allowedValues so semantically identical categorical targets are order-invariant."
],
"hard_rules": [
"9.04 owns explicit ModularGridVariant bundles, target observation adapters, Topic9 hard-filter interpretation, explicit-target local scoring, mutation-free repair requests, variant comparison and consolidated Topic9 regression.",
"9.04 does not generate row/column geometry, cells, regions, occupancy maps or placement candidates.",
"Variant construction is explicit only; no hidden Cartesian product over region sets, occupancy snapshots, candidates or style parameters.",
"Every variant must reference one exact ModularGrid root, one exact columnGeometryRef, one exact rowGeometryRef and one exact cellSetRef.",
"Optional regionSetRef, forbiddenRegistryRef, occupancyMapRef, candidateSetRef and placementCandidateRef must be lineage-consistent with the same CellSet.",
"Baseline variant kinds are STRUCTURE_ONLY, WITH_REGIONS, WITH_RUNTIME_STATE and WITH_PLACEMENT_CANDIDATE.",
"STRUCTURE_ONLY must not carry region, forbidden, occupancy or placement-candidate refs.",
"WITH_REGIONS requires regionSetRef and may optionally carry forbiddenRegistryRef but not occupancy/candidate refs.",
"WITH_RUNTIME_STATE requires occupancyMapRef and may carry regionSetRef/forbiddenRegistryRef but not placementCandidateRef.",
"WITH_PLACEMENT_CANDIDATE requires candidateSetRef and placementCandidateRef; it may also carry matching occupancy/forbidden/region refs.",
"Variant evidence is immutable and reference-based; child evidence is never copied into the variant as a new owner.",
"All target specs are explicit and versioned.",
"Target subjectKind is explicit and controls applicability.",
"Baseline subject kinds are MODULAR_GRID_VARIANT, WITH_REGIONS, WITH_RUNTIME_STATE and WITH_PLACEMENT_CANDIDATE.",
"A more specific subjectKind is N_A on a less specific variant rather than silently evaluated.",
"Baseline target selectors are COLUMN_COUNT, ROW_COUNT, CELL_COUNT, REGION_COUNT, FORBIDDEN_CELL_FRACTION, OCCUPIED_CELL_FRACTION, FREE_CELL_FRACTION, UNKNOWN_CELL_FRACTION, MULTI_OCCUPIED_CELL_FRACTION, PLACEMENT_FOOTPRINT_CELL_COUNT, PLACEMENT_SOURCE_KIND and PLACEMENT_EVIDENCE_STATUS.",
"Numeric target models use explicit inclusive interval [minValue,maxValue].",
"Categorical target models use explicit allowedValues.",
"SOFT categorical mismatch requires explicit mismatchFit in [0,1]; there is no implicit zero unless mismatchFit is explicitly zero.",
"HARD categorical or numeric mismatch yields REJECT and never a numeric penalty.",
"HARD target with missing evidence resolves by explicit missingEvidencePolicy INVALID or N_A; it never passes silently.",
"SOFT target with missing evidence resolves by explicit missingEvidencePolicy INVALID or N_A; it never becomes numeric zero.",
"No target means no score.",
"No scoring profile means grid.modular.system.localModularGridFit = N_A.",
"Only SOFT target components may enter the numeric profile.",
"HARD targets are forbidden from profile weights and cannot also vote numerically.",
"Scoring profile lists requiredTargetRefs and optionalTargetRefs explicitly.",
"Every scored targetRef must exist exactly once in the target set.",
"Weights must be explicit finite positive values for every required/optional target included by the profile.",
"Undeclared target weights are invalid rather than guessed.",
"Required target N_A makes local score N_A under baseline required-missing policy.",
"Optional target N_A may drop from the denominator only when declared optional.",
"INVALID component makes scoring INVALID.",
"Component fit MetricResults are componentOf grid.modular.system.localModularGridFit and independentVoteAllowed=false.",
"The only independent numeric Topic9 vote is grid.modular.system.localModularGridFit with scoringGroup modular-grid-local.",
"Raw descriptors from 9.00–9.03 do not vote separately.",
"Derived fractions sharing the same occupancy evidence are target observations; the profile controls their weights and no additional raw occupancy vote is added.",
"Hard-filter precedence is INVALID > REJECT > N_A > KEEP.",
"Hard filter and numeric scoring are separate channels.",
"A REJECT variant is excluded from ranking and never assigned score zero as a substitute.",
"N_A != 0.",
"Variant comparison is valid only when all compared evaluations use the same profileRef and the same deterministic targetSetFingerprint.",
"Variant comparison ranks only KEEP evaluations with OK local numeric metric.",
"Equal numeric fit produces tied rank; lexical variantRef is deterministic tie ordering only.",
"Ranking meaning is EXPLICIT_TOPIC9_TARGET_FIT_ONLY and is never beauty, global composition quality or final layout acceptance.",
"Repair requests are mutationAllowed=false and target the appropriate owner; 9.04 never mutates geometry, regions, occupancy, constraints, candidates or content.",
"No universal preferred row count, column count, cell count, region count, free fraction, occupied fraction, square-cell ratio or candidate footprint exists.",
"No beautyScore.",
"A WITH_PLACEMENT_CANDIDATE variant must reject mismatched candidateSet.modularGridRef when candidateSet carries that lineage.",
"If both variant and candidateSet carry regionSetRef, occupancyMapRef or forbiddenRegistryRef, the refs must match exactly.",
"Target-set fingerprinting must canonicalize set-like allowedValues so semantically identical categorical targets are order-invariant."
],
"soft_constraints": [],
"preferences": [],
"overrides_allowed_by": [
"new explicit target set/profile creates a new evaluation context",
"new variant lineage creates a new variantRef/evaluation",
"historical evaluations remain immutable"
],
"initial_heuristics": {},
"style_preset_values": [],
"candidate_generation": {
"variant_cross_product": "FORBIDDEN",
"placement_candidate_generation": "owned by Compo9.03",
"9.04": "evaluates explicitly supplied variants only"
},
"correction_policy": {
"foreign_content_mutation": "FORBIDDEN",
"invalid geometry/cell lineage": "route to 9.00/9.01",
"invalid region/forbidden lineage": "route to 9.02",
"invalid occupancy/candidate lineage": "route to 9.03",
"invalid target/profile": "route to target/profile owner",
"hard mismatch": "emit repair request; never auto-adjust evidence"
},
"deferred_inputs": [
"global composition scoring/selection",
"multi-content global solver",
"style coherence integration outside Topic9"
],
"recompute_when": [
"any variant evidence ref changes",
"target set changes",
"scoring profile changes",
"explicit target confidence/provenance/model changes"
],
"tests": [
"variant kind/lineage validation",
"subject applicability",
"numeric/categorical target observation",
"hard filter precedence",
"HARD never numeric",
"SOFT interval/categorical fit",
"required/optional profile semantics",
"no profile N_A",
"component/composite MetricResult policy",
"same profile/target-set comparison guards",
"ties",
"rejected variant excluded",
"repair mutation false",
"determinism",
"no raw descriptor/double-count/global leakage"
],
"finality": "TOPIC9_EXPLICIT_VARIANT_HARD_FILTER_LOCAL_SCORING_COMPARISON_AND_REGRESSION_OWNER",
"corrective_lineage_rules": {
"candidate_variant_runtime_lineage": "when a candidate set records regionSetRef, occupancyMapRef or forbiddenRegistryRef and the variant also carries that ref, they must match exactly",
"candidate_modular_lineage": "candidateSet.modularGridRef must match variant.modularGridRef when present",
"targetSetFingerprint": "canonicalizes set-like allowedValues before hashing"
}
}