Hard constraints are not low scores
A candidate is scored only after all required Topic12 evidence exists and every required hard gate passes. This prevents a high local fit from “averaging away” a protected-relation break, exhausted budget or insufficient explicit justification.
Malformed or contradictory contract.
Hard gate or hard deviation bound fails.
Required evidence unavailable.
Only then may numeric fit vote.
One independent Topic12 vote
12.04 owns local aggregation, not the upstream facts being aggregated.
ruleBreak.system.localControlledBreakFit
Owner Compo12.04, composite=true, scoringGroup=rule-break-local, independentVoteAllowed=true.
ruleBreak.deviationTarget.componentFit.*
Owner Compo12.04, componentOf composite, same scoring group, independentVoteAllowed=false.
Upstream facts
Intent, magnitude, protection, budget and justification keep their 12.00–12.03 owners.
Deviation-fit target is explicit policy
There is no universal “ideal” amount of rule breaking. A scoring target declares an explicit preferred band, soft falloff and optional hard bounds.
RuleBreakDeviationFitTarget {
targetRef,
targetSourceRef,
targetSourceOwnerRef,
valueKind:
METRIC_MAGNITUDE
NORMALIZED_MAGNITUDE,
metricContextRef?,
metricUnit?,
normalizationRef?,
preferredMin,
preferredMax,
lowerFalloff,
upperFalloff,
hardMin?,
hardMax?,
weight,
required,
provenance,
status,
mutationAllowed: false
}
12.04 does not derive a preferred band from candidate count, family identity, remaining budget, confidence, module order or the observed value itself.
RuleBreakOverrideScoringProfile
The profile explicitly says when a set of deviation targets is applicable. Different profiles are not rank-compatible.
RuleBreakOverrideScoringProfile {
overrideScoringProfileRef,
profileSourceRef,
profileSourceOwnerRef,
appliesToIntentModes[],
appliesToTargetFamilies[],
deviationTargetRefs[],
aggregation:
WEIGHTED_MEAN,
requireProtectionPass: true,
requireBudgetPass: true,
requireJustificationSufficient: true,
requiredTargetNAHandling:
N_A,
optionalTargetNAHandling:
DROP_EXPLICIT_OPTIONAL_ONLY,
provenance,
status,
mutationAllowed: false
}
Gate synthesis before numeric evaluation
Every required upstream result remains categorical. Pass is permission to continue, not a score contribution.
| Evidence | Required state | If failed |
|---|---|---|
| 12.00 intent resolution | controlledTensionEligible=true | N_A / INVALID by lineage |
| 12.02 protection gate | PASS | REJECT |
| 12.02 budget bundle | PASS | REJECT |
| 12.03 justification | SUFFICIENT | REJECT if explicit profile requires it |
| 12.04 hard magnitude bound | inside explicit bounds | REJECT |
Soft fit around an explicit preferred band
Inside the preferred band fit is 1. Outside it, fit falls linearly according to explicit falloff distances. Optional hard bounds reject rather than emit zero.
Canonical MetricResult
Components and composite carry explicit dependency, lineage and vote-family metadata.
MetricResult {
key,
owner,
value,
applicability,
confidence,
status,
provenance,
composite,
componentOf,
dependsOn[],
derivedFrom[],
scoringGroup,
independentVoteAllowed,
evidence,
repairHints[]
}
ruleBreak.system.localControlledBreakFit is the only independent Topic12 numeric vote.
ruleBreak.deviationTarget.componentFit.<targetRef> cannot vote independently.
Composite-first weighted mean
Weights are explicit within one local profile. They are not global rule priority and are never inferred from target family or evidence count.
Status cannot be hidden inside a number
The evaluation outcome remains explicit even when a numeric composite exists.
| Outcome | Composite value | Meaning |
|---|---|---|
| INVALID | null | Contract or lineage contradiction. |
| REJECT | null | Hard protection/budget/justification/bound failed. |
| N_A | null | Required evidence or applicable target unavailable. |
| KEEP | 0..1 | All hard gates passed; explicit local deviation fit calculated. |
RuleBreakOverrideEvaluation
This is still local Topic12 evidence, not final layout acceptance.
RuleBreakOverrideEvaluation {
overrideEvaluationRef,
candidateRef,
overrideScoringProfileRef,
targetSetFingerprint,
hardGateSynthesisRef,
componentMetricResults[],
compositeMetricResult,
outcome:
INVALID
REJECT
N_A
KEEP,
reasonCode,
confidence,
provenance,
derivedFrom[],
mutationAllowed: false
}
A candidate with KEEP may still lose to other local/global constraints owned elsewhere. 12.04 does not mutate layout or declare universal quality.
Local comparison only inside the same profile
Two KEEP evaluations may be compared only when their scoring contract is identical.
Identity follows explicit policy and lineage
Band parameters, source/context refs and candidate evidence are identity-bearing; confidence and display metadata are not.
Scoring cannot erase structure
The final Topic12 local score is deliberately narrow and protected by hard semantic firewalls.
hard reject → 0; N_A → 0; REQUEST_BREAK bonus; family hidden weight; candidate-count vote; evidence-count vote; cross-profile rank; high score overriding protection/budget.
one metric = one owner; composite-first; descriptor != score; local != global; N_A != 0; module order != priority; no beautyScore.
Topic12 ownership chain
12.04 integrates outputs without re-owning them.
| Module | Canonical role |
|---|---|
| 12.00 | Grid-break taxonomy, explicit target and intent. |
| 12.01 | Owner-qualified deviation magnitude descriptors. |
| 12.02 | Hard-protected relations and explicit exception budgets. |
| 12.03 | Bounded candidates and explicit justification evidence. |
| 12.04 | Hard-gate synthesis + explicit deviation-target local fit + tests. |
CANON → LAB → DATA → IDEAS
Preferred bands are explicit policy, not universal law. LAB may study perceptual thresholds, but experiment results do not auto-mutate the canonical targets.
Capture why the score felt wrong
Human corrections remain reason-coded evidence.
| Reason | Meaning |
|---|---|
| CONTROLLED_BREAK_FIT_TOO_HIGH | Local fit overstates perceived controlled quality. |
| CONTROLLED_BREAK_FIT_TOO_LOW | Local fit understates perceived controlled quality. |
| PREFERRED_DEVIATION_BAND_WRONG | Explicit preferred interval is inappropriate. |
| HARD_DEVIATION_BOUND_WRONG | Explicit reject bound is inappropriate. |
| TARGET_WEIGHT_WRONG | Local within-group aggregation weight is inappropriate. |
| REQUIRED_TARGET_SHOULD_BE_OPTIONAL | Required N_A policy is too strict. |
| OPTIONAL_TARGET_SHOULD_BE_REQUIRED | Optional denominator-drop is too permissive. |
| HARD_GATE_DECISION_WRONG | Protection/budget/justification gate evidence is wrong. |
| BREAK_READS_ACCIDENTAL | Score passes but break still reads accidental. |
| BREAK_READS_INTENTIONAL_BUT_WEAK | Tension is intentional but perceptually weak. |
| BREAK_READS_OVERDONE | Tension is excessive despite local scoring. |
| TENSION_READS_AS_ERROR | Controlled tension fails perceptually. |
Visual laboratory hook
The diagram separates hard rejection from soft target fit.
12.04 consolidated regression suite
Tests cover explicit fit targets, profile applicability, hard-gate precedence, hard-bound rejects, required/optional N_A semantics, MetricResult ownership, composite-first aggregation, comparison, determinism, no foreign mutation and the complete Topic12 local chain.
DATA FOR LAYOUT ENGINE
Machine-readable 12.04 canonical contract.
{
"module": "Compo 12.04",
"name": "override_scoring_and_tests",
"version": "1.0-canonical",
"canonical_main_title": "Override scoring and tests",
"topic": "12_НАРУШЕНИЕ_СЕТКИ_И_КОНТРОЛИРУЕМОЕ_НАПРЯЖЕНИЕ",
"scope": "FINAL_LOCAL_TOPIC12_HARD_GATE_SYNTHESIS_EXPLICIT_DEVIATION_TARGET_FIT_SCORING_AND_CONSOLIDATED_TESTS",
"main_topic_contract": {
"topic_title": "Нарушение сетки и контролируемое напряжение",
"topic_goal": "formalize intentional breaking of grid and alignment: deviation magnitude, protected relations, exception budget and justification so controlled tension is distinguishable from error",
"expected_output": "RuleBreakIntent, deviation metrics, exception budget, evidence",
"planned_files": [
"12.00 Grid-break taxonomy and intent",
"12.01 Deviation magnitude",
"12.02 Protected relations and exception budgets",
"12.03 Rule-break candidates and justification",
"12.04 Override scoring and tests"
]
},
"ownership": {
"owner": "Compo12.04",
"owns": [
"RuleBreakDeviationFitTarget",
"RuleBreakOverrideScoringProfile",
"RuleBreakHardGateSynthesis",
"per-target deviation fit components",
"ruleBreak.system.localControlledBreakFit",
"RuleBreakOverrideEvaluation",
"same-profile local comparison semantics",
"Topic12 consolidated local status precedence",
"Topic12.04 regression contract"
],
"does_not_own": [
"RuleBreakIntent target/taxonomy/source — Compo12.00",
"deviation geometry/measurement — Compo12.01",
"protected relations or exception-budget accounting — Compo12.02",
"candidate generation or justification evidence — Compo12.03",
"upstream grid/alignment geometry — Topics8/9/10",
"global composition quality",
"global rule/conflict priority",
"final layout placement",
"foreign state mutation"
]
},
"consumes": [
"valid Compo12.00 RuleBreakTargetEvidence",
"valid Compo12.00 RuleBreakIntent",
"valid Compo12.00 RuleBreakIntentResolution",
"valid Compo12.03 RuleBreakCandidate",
"valid Compo12.01 RuleBreakDeviationMeasurement",
"valid Compo12.02 ProtectedRelationGateEvaluation",
"valid Compo12.02 ExceptionBudgetBundleEvaluation",
"valid Compo12.03 RuleBreakJustificationEvaluation",
"valid Compo12.03 RuleBreakCandidateEvidenceBundle",
"explicit RuleBreakOverrideScoringProfile"
],
"provides": [
"RuleBreakDeviationFitTarget",
"RuleBreakOverrideScoringProfile",
"RuleBreakHardGateSynthesis",
"MetricResult components ruleBreak.deviationTarget.componentFit.<targetRef>",
"MetricResult composite ruleBreak.system.localControlledBreakFit",
"RuleBreakOverrideEvaluation",
"same-profile diagnostic/local ranking relation",
"Topic12.04 observation record"
],
"independent_numeric_vote": {
"key": "ruleBreak.system.localControlledBreakFit",
"owner": "Compo12.04",
"composite": true,
"componentOf": null,
"scoringGroup": "rule-break-local",
"independentVoteAllowed": true,
"meaning": "EXPLICIT_TOPIC12_CONTROLLED_BREAK_TARGET_FIT_ONLY"
},
"component_metric": {
"keyPattern": "ruleBreak.deviationTarget.componentFit.<targetRef>",
"owner": "Compo12.04",
"composite": false,
"componentOf": "ruleBreak.system.localControlledBreakFit",
"scoringGroup": "rule-break-local",
"independentVoteAllowed": false
},
"deviation_fit_target_schema": {
"targetRef": "stable identity",
"targetSourceRef": "explicit source of target band",
"targetSourceOwnerRef": "owner of band policy",
"valueKind": "METRIC_MAGNITUDE|NORMALIZED_MAGNITUDE",
"metricContextRef": "required for METRIC_MAGNITUDE; null otherwise",
"metricUnit": "required for METRIC_MAGNITUDE; null otherwise",
"normalizationRef": "required for NORMALIZED_MAGNITUDE; null otherwise",
"preferredMin": "finite >=0",
"preferredMax": "finite >= preferredMin",
"lowerFalloff": "finite >0",
"upperFalloff": "finite >0",
"hardMin": "optional finite >=0 and <= preferredMin",
"hardMax": "optional finite >= preferredMax",
"weight": "finite >0 explicit local aggregation weight",
"required": "boolean",
"provenance": "canonical provenance class",
"status": "OK|INVALID",
"mutationAllowed": false
},
"fit_formula": {
"withinPreferredBand": "fit=1",
"belowPreferredBand": "fit=1-clamp((preferredMin-value)/lowerFalloff,0,1)",
"abovePreferredBand": "fit=1-clamp((value-preferredMax)/upperFalloff,0,1)",
"hardMin": "value < hardMin => REJECT, no numeric component for this target",
"hardMax": "value > hardMax => REJECT, no numeric component for this target",
"firewall": "hard reject is not numeric zero"
},
"scoring_profile_schema": {
"overrideScoringProfileRef": "stable identity",
"profileSourceRef": "explicit profile source",
"profileSourceOwnerRef": "owner of scoring policy",
"appliesToIntentModes": "non-empty explicit subset of ALLOW_EXCEPTION|EXPLORE_BREAK|REQUEST_BREAK",
"appliesToTargetFamilies": "non-empty explicit subset of Topic12 target families",
"deviationTargetRefs": "one or more unique target refs",
"aggregation": "WEIGHTED_MEAN",
"requireProtectionPass": true,
"requireBudgetPass": true,
"requireJustificationSufficient": true,
"requiredTargetNAHandling": "N_A",
"optionalTargetNAHandling": "DROP_EXPLICIT_OPTIONAL_ONLY",
"provenance": "canonical provenance class",
"status": "OK|INVALID",
"mutationAllowed": false,
"default": "NONE — no universal ideal deviation band"
},
"hard_gate_synthesis": {
"preconditions": [
"intent resolution controlledTensionEligible=true",
"candidate is explicit and lineage-compatible",
"candidate evidence bundle binds required upstream results"
],
"precedence": [
"INVALID",
"REJECT",
"N_A",
"KEEP"
],
"invalid": [
"malformed/incompatible lineage",
"bundle contradiction",
"profile/target contract invalid"
],
"reject": [
"protected relation gate REJECT",
"exception budget bundle REJECT",
"justification evaluation INSUFFICIENT when profile requires sufficient justification",
"explicit hard deviation bound violated"
],
"na": [
"required upstream gate/evidence unavailable",
"profile not applicable to explicit intent mode or target family",
"required deviation target value unavailable"
],
"keep": "all required hard gates pass and all required target values are available"
},
"metric_result_contract": {
"minimumFields": [
"key",
"owner",
"value",
"applicability",
"confidence",
"status",
"provenance",
"composite",
"componentOf",
"dependsOn",
"derivedFrom",
"scoringGroup",
"independentVoteAllowed",
"evidence",
"repairHints"
],
"compositeKey": "ruleBreak.system.localControlledBreakFit",
"componentPattern": "ruleBreak.deviationTarget.componentFit.<targetRef>",
"compositeAggregation": "weighted mean of available explicit target components",
"requiredNA": "any required target N_A => composite N_A unless INVALID/REJECT precedence",
"optionalNA": "may drop denominator only because optionality is explicit",
"confidence": "minimum evidence confidence among contributing inputs; never tension strength",
"provenance": "DERIVED"
},
"comparison_policy": {
"requires": [
"both evaluations outcome KEEP",
"same overrideScoringProfileRef",
"same targetSetFingerprint",
"same scoringGroup rule-break-local"
],
"relations": [
"LESS",
"EQUAL_WITHIN_EPS",
"GREATER",
"INCOMPARABLE"
],
"meaning": "EXPLICIT_TOPIC12_CONTROLLED_BREAK_TARGET_FIT_ONLY",
"firewalls": [
"comparison is not beauty/global quality",
"higher localControlledBreakFit is not automatic final-layout winner",
"cross-profile ranking is forbidden"
]
},
"status_policy": {
"evaluationOutcome": "INVALID|REJECT|N_A|KEEP",
"precedence": "INVALID > REJECT > N_A > KEEP",
"hardReject": "value=null; no conversion to numeric zero",
"requiredNA": "value=null; N_A != 0",
"keep": "numeric composite may be 0..1 inclusive",
"zeroScore": "legal only as an actual soft fit outcome under KEEP; not a proxy for REJECT or N_A"
},
"identity_policy": {
"targetRef": "hash(source/owner, value kind/context, preferred band, falloffs, hard bounds, weight, required, provenance)",
"overrideScoringProfileRef": "hash(profile source/owner, canonical intent modes, target families, canonical target refs, fixed aggregation/gate policies)",
"targetSetFingerprint": "hash(canonical target refs and target identities)",
"hardGateSynthesisRef": "hash(candidate/upstream gate refs and categorical decisions)",
"overrideEvaluationRef": "hash(candidateRef, profileRef, targetSetFingerprint, hardGateSynthesisRef, component metric refs, composite result status/value)",
"set_semantics": "set-like refs are canonicalized",
"excluded_from_identity": [
"display label",
"display color",
"free-form comment",
"confidence"
]
},
"critical_firewalls": [
"RuleBreakIntent != override permission",
"candidate != placement",
"deviation magnitude != score",
"larger deviation != better",
"smaller deviation != safer by default",
"preferred band must be explicit; no universal ideal tension",
"hard protection REJECT != score 0",
"budget REJECT != score 0",
"justification INSUFFICIENT != score 0",
"required N_A != score 0",
"optional N_A may drop denominator only when optionality is explicit",
"protection PASS != score 1",
"budget PASS != score 1",
"justification SUFFICIENT != score 1",
"evidence confidence != fit",
"candidate ordinal != rank",
"candidate count != vote",
"target count != vote",
"explicit target weight != global rule priority",
"family identity != hidden weight",
"REQUEST_BREAK != priority",
"module execution order != rule priority",
"localControlledBreakFit != global composition quality",
"localControlledBreakFit != beautyScore",
"only one independent Topic12 numeric vote",
"component metrics cannot vote independently",
"correction request != foreign mutation",
"N_A != 0",
"IDEA != CANON",
"EXPERIMENT != CANON"
],
"IDEAS_REFS": [
"IDEA-01 full human test after all 72 topics; validate controlled-tension fit bands empirically",
"IDEA-02 semantics required before placement; semantic refs remain external to 12.04 scoring",
"IDEA-03 explicit rule priorities; local target weights and module order must not become global priority",
"IDEA-04 collect structured data for future composition model",
"IDEA-05 preserve reasons for human corrections",
"IDEA-06 structured machine-readable layer",
"IDEA-07 graphics-for-post-text research remains downstream/separate"
],
"DATA_CAPTURE": [
"sceneRef",
"candidateRef",
"overrideScoringProfileRef",
"targetSetFingerprint",
"hardGateSynthesisRef",
"protectionGateDecision",
"budgetBundleDecision",
"justificationDecision",
"deviationMeasurementRef",
"targetRefs[]",
"componentMetricKeys[]",
"componentValues[]",
"compositeMetricKey",
"compositeValue",
"evaluationOutcome",
"evaluationReasonCode",
"humanReasonCodes[]"
],
"DEFERRED_SEMANTIC_INPUTS": [
"semanticIntentRefs[]",
"perceptual meaning of preferred band",
"role-specific controlled-tension tolerance",
"brand/editorial rationale interpretation",
"future global conflict-priority policy refs"
],
"HUMAN_FEEDBACK_HOOKS": [
"CONTROLLED_BREAK_FIT_TOO_HIGH",
"CONTROLLED_BREAK_FIT_TOO_LOW",
"PREFERRED_DEVIATION_BAND_WRONG",
"HARD_DEVIATION_BOUND_WRONG",
"TARGET_WEIGHT_WRONG",
"REQUIRED_TARGET_SHOULD_BE_OPTIONAL",
"OPTIONAL_TARGET_SHOULD_BE_REQUIRED",
"HARD_GATE_DECISION_WRONG",
"BREAK_READS_ACCIDENTAL",
"BREAK_READS_INTENTIONAL_BUT_WEAK",
"BREAK_READS_OVERDONE",
"TENSION_READS_AS_ERROR"
],
"CONFLICT_PRIORITY_ASSUMPTIONS": [
"module execution order is not priority",
"hard-gate precedence is local Topic12 evaluation semantics, not universal COMPO priority",
"profile target weights aggregate only within rule-break-local scoring group",
"REQUEST_BREAK has no priority bonus",
"higher localControlledBreakFit cannot override a foreign hard constraint",
"future reviewed global conflict-priority owner remains authoritative"
],
"LAB_HOOKS": [
"human A/B: equal localControlledBreakFit under different semantic roles",
"human A/B: preferred-band center vs soft-falloff edge",
"compare metric vs normalized target bands across formats",
"estimate useful hard bounds empirically without auto-writing them into canon",
"collect cases where score fits but humans still read accidental/error-like",
"test target-weight sensitivity as lab-only evidence"
],
"observation_record": {
"moduleRef": "Compo12.04",
"candidateRefs": [],
"metricResults": [
"ruleBreak.system.localControlledBreakFit",
"ruleBreak.deviationTarget.componentFit.<targetRef>"
]
},
"topic12_local_chain": [
"12.00 explicit intent",
"12.01 explicit deviation magnitude",
"12.02 hard protection + exception budget",
"12.03 bounded candidates + explicit justification",
"12.04 hard-gate synthesis + explicit local target fit"
],
"stop_condition": "STOP after 12.04. Do not create closing audit in this file."
}