Five conditions → one local composite vote
Composite-first scoring
Evidence-bearing
Role envelope, density, communication, technical noise and hierarchy protection.
Local target fit
Only microdetail.system.localTargetProfileFit may vote independently.
Local only
Higher Topic15 fit does not select the final layout.
MicroDetailTargetProfile
MicroDetailTargetProfile {
microDetailTargetProfileRef,
scopeRef,
microDetailCandidateSetRef,
roleEnvelopeTarget,
densityTarget,
communicationTarget,
technicalNoiseTarget,
hierarchyProtectionTarget,
profileSourceRef,
profileSourceOwnerRef,
selectionMode: EXPLICIT_ONLY,
provenance,
status,
mutationAllowed: false
}
Five target conditions
| Condition | Observed owner | Target form |
|---|---|---|
| ROLE_ENVELOPE_FIT | 15.01 | IGNORE / no-outside / all-profiled-within |
| DENSITY_FIT | 15.02 | Explicit range targets under exact policy lineage |
| COMMUNICATION_FIT | 15.03 | Explicit candidate communication/binding/function requirements |
| TECHNICAL_NOISE_FIT | 15.03 | Explicit allowed observed states per candidate |
| HIERARCHY_PROTECTION_FIT | upstream hierarchy owner | IGNORE / REQUIRE_PRESERVED |
Target N/A ≠ missing evidence
Explicit EvaluationProfile
MicroDetailEvaluationProfile {
componentWeights: {
ROLE_ENVELOPE_FIT,
DENSITY_FIT,
COMMUNICATION_FIT,
TECHNICAL_NOISE_FIT,
HIERARCHY_PROTECTION_FIT
},
aggregation: WEIGHTED_MEAN,
targetDeclaredNAHandling:
DROP_TARGET_DECLARED_NA_ONLY,
missingObservedHandling:
PROPAGATE_N_A,
comparisonEpsilon,
source / owner / provenance,
status,
mutationAllowed: false
}
Weights are explicit local aggregation parameters, not global rule priority.
Canonical MetricResult discipline
Evaluation outcome
| Outcome | Meaning |
|---|---|
| INVALID | Broken target/evaluation/input contract. |
| N_A | Required observed evidence or exact lineage unavailable. |
| KEEP | Evaluation complete; value may be anywhere from 0 to 1. |
Local comparison only
Comparable only if: both KEEP same targetProfileRef same evaluationProfileRef same scoringGroup Relations: LESS EQUAL_WITHIN_EPS GREATER INCOMPARABLE
Даже GREATER означает только большее соответствие одному и тому же explicit Topic15 target profile.
Bounded repair generator
Owner-routed repair kinds
| Failed component | Repair kind |
|---|---|
| ROLE_ENVELOPE_FIT | REQUEST_ROLE_ENVELOPE_REVIEW |
| DENSITY_FIT | REQUEST_DENSITY_REBALANCE_REVIEW |
| COMMUNICATION_FIT | REQUEST_COMMUNICATION_REVIEW |
| TECHNICAL_NOISE_FIT | REQUEST_TECHNICAL_NOISE_REDUCTION_REVIEW |
| HIERARCHY_PROTECTION_FIT | REQUEST_HIERARCHY_PROTECTION_REVIEW |
15.04 никогда не двигает объект, не меняет текст, не переписывает semantic binding и не редактирует upstream policy.
Repair candidate is not a repaired layout
MicroDetailRepairCandidate {
microDetailRepairCandidateRef,
generatorPolicyRef,
seed,
ordinal,
repairRequestRefs[1],
sourceFailedConditionKey,
status,
mutationAllowed: false
}
Local target fit stays local
mismatch→reject; N_A→0; component→independent vote; higher fit→global winner; generator→automatic repair.
Exact lineage, explicit target, explicit weights, one composite vote, bounded seeded generation, owner-routed non-mutating requests.
Topic15 closes its local ownership chain
| 15.00 | Eligibility, role/form taxonomy, candidates and seeds. |
| 15.01 | Size/contrast observations and role envelopes. |
| 15.02 | Distribution, density and nearest-neighbor observations. |
| 15.03 | Communication semantics and observed technical noise. |
| 15.04 | Explicit target fit, one local composite vote and bounded repair generator. |
Closing audit остаётся отдельным шагом после этого файла.
CANON → LAB → DATA → IDEAS
15.04 regression suite
Tests cover explicit target modes, exact lineage, target-declared N_A versus missing evidence, soft-zero mismatches, five non-independent components, exactly one independent composite vote, same-profile comparison, deterministic bounded generation, deduplication, diversity pruning and no-mutation firewalls.
DATA FOR LAYOUT ENGINE
{
"module": "Compo 15.04",
"name": "generator_scoring_and_tests",
"version": "1.0-canonical",
"canonical_main_title": "Generator, scoring and tests",
"topic": "15_МАЛЫЕ_ФОРМЫ_АКЦЕНТЫ_И_МИКРОДЕТАЛИ",
"scope": "EXPLICIT_MICRODETAIL_TARGET_PROFILE_COMPONENT_FIRST_LOCAL_TARGET_FIT_ONE_COMPOSITE_VOTE_OWNER_ROUTED_BOUNDED_REPAIR_GENERATOR_AND_TOPIC15_FINAL_REGRESSION_CONTRACT",
"main_topic_contract": {
"topic_title": "Малые формы, акценты и микродетали",
"topic_goal": "Управляет микродеталями, technical marks и мелкими акцентами: их плотностью, контрастом, размером и вкладом без разрушения основной иерархии.",
"expected_output": "MicroDetailDescriptor[], density maps, role envelopes",
"planned_files": [
"15.00 Microdetail taxonomy and roles",
"15.01 Size/contrast envelopes",
"15.02 Distribution and local density",
"15.03 Labels, legends, technical noise",
"15.04 Generator, scoring and tests"
]
},
"ownership": {
"owner": "Compo15.04",
"owns": [
"MicroDetailHierarchyProtectionEvidence adapter",
"MicroDetailRoleEnvelopeTarget",
"MicroDetailDensityMeasureKind taxonomy",
"MicroDetailDensityRangeTarget",
"MicroDetailCommunicationRequirement",
"MicroDetailCommunicationTarget",
"MicroDetailTechnicalNoiseStateTarget",
"MicroDetailHierarchyProtectionTarget",
"MicroDetailTargetProfile",
"MicroDetailEvaluationProfile",
"MicroDetailTargetConditionResult",
"five Topic15 component MetricResults",
"microdetail.system.localTargetProfileFit composite MetricResult",
"MicroDetailTargetEvaluation",
"same-target/same-evaluation-profile local comparison",
"MicroDetailRepairKind taxonomy",
"MicroDetailRepairRoutingPolicy",
"MicroDetailGeneratorPolicy",
"MicroDetailRepairRequest",
"MicroDetailRepairCandidate",
"MicroDetailRepairCandidateSet",
"non-mutating correction synthesis",
"Topic15 consolidated regression contract"
],
"does_not_own": [
"microdetail eligibility / form / role taxonomy — Compo15.00",
"MicroDetailCandidateSet / descriptor seeds / system seed — Compo15.00",
"size / contrast measurements and role-envelope fit — Compo15.01",
"distribution / local density / density maps — Compo15.02",
"communication / referent / technical-function semantics — Compo15.03",
"observed technical-noise classification — Compo15.03",
"subject geometry / positions / collisions — upstream geometry owners",
"semantic truth of labels/legends — semantic owner",
"visual mass calculation — Compo4",
"dominance / focal ranking — Compo13",
"attention-factor ownership — Compo13.01",
"secondary-mass support — Topic14",
"generic hierarchy/subordination graph — Compo18",
"global balance ownership",
"global hierarchy priority",
"foreign geometry/style/semantic mutation",
"universal beauty or global-quality score"
]
},
"consumes": [
"valid Compo15.00 MicroDetailCandidateSet",
"valid Compo15.01 MicroDetailSizeContrastSet when target component is applicable",
"valid Compo15.02 MicroDetailDistributionSet when target component is applicable",
"valid Compo15.03 MicroDetailLabelLegendNoiseSet when target component is applicable",
"owner-qualified MicroDetailHierarchyProtectionEvidence when hierarchy target is applicable",
"explicit MicroDetailTargetProfile",
"explicit MicroDetailEvaluationProfile",
"explicit MicroDetailRepairRoutingPolicy and MicroDetailGeneratorPolicy for generation"
],
"provides": [
"five component MicroDetailTargetConditionResult entries",
"five non-independent component MetricResults",
"one microdetail.system.localTargetProfileFit composite MetricResult",
"MicroDetailTargetEvaluation",
"same-target/same-profile comparison descriptor",
"bounded deterministic MicroDetailRepairCandidateSet",
"Topic15 observation record",
"Topic15 final regression contract"
],
"metric_ownership": {
"component_metric_keys": [
"microdetail.target.componentFit.roleEnvelope",
"microdetail.target.componentFit.density",
"microdetail.target.componentFit.communication",
"microdetail.target.componentFit.technicalNoise",
"microdetail.target.componentFit.hierarchyProtection"
],
"component_owner": "Compo15.04",
"component_independentVoteAllowed": false,
"composite_metric_key": "microdetail.system.localTargetProfileFit",
"composite_owner": "Compo15.04",
"composite": true,
"scoringGroup": "microdetail-local",
"composite_independentVoteAllowed": true,
"independent_vote_count_in_topic15": 1,
"firewall": "The composite is explicit Topic15 target-profile fit only. It is not global layout quality, beauty, hierarchy truth or automatic final-layout winner."
},
"canonical_metric_result_minimum": {
"key": "string",
"owner": "string",
"value": "finite [0,1] or null",
"applicability": "APPLICABLE|N_A",
"confidence": "finite [0,1] or null",
"status": "OK|N_A|INVALID",
"provenance": "canonical provenance",
"composite": "boolean",
"componentOf": "metric key or null",
"dependsOn": "refs[]",
"derivedFrom": "refs[]",
"scoringGroup": "microdetail-local",
"independentVoteAllowed": "boolean",
"evidence": "structured",
"repairHints": "structured[]"
},
"hierarchy_protection_evidence_schema": {
"microDetailHierarchyProtectionEvidenceRef": "stable identity",
"scopeRef": "Topic15 scope",
"microDetailCandidateSetRef": "exact 15.00 candidate set",
"preserved": "boolean",
"assessmentMethodRef": "explicit upstream hierarchy-assessment method",
"assessmentContextRef": "explicit context",
"evidenceSourceRef": "explicit source",
"evidenceSourceOwnerRef": "hierarchy owner / future Compo18-compatible adapter",
"confidence": "finite [0,1] source confidence only",
"provenance": "canonical provenance",
"snapshotRef": "exact snapshot",
"status": "OK|INVALID",
"mutationAllowed": false,
"firewall": "15.04 adapts an owner-qualified hierarchy-preservation judgment. It does not infer hierarchy from density, size, contrast, noise state or execution order."
},
"role_envelope_target_schema": {
"mode": "IGNORE|REQUIRE_NO_OUTSIDE|REQUIRE_ALL_PROFILED_WITHIN",
"requiredSizeContrastSetRef": "exact 15.01 ref when mode != IGNORE; null otherwise",
"firewall": "REQUIRE_NO_OUTSIDE permits NO_APPLICABLE_ENVELOPE but forbids OUTSIDE_ONE_OR_MORE. REQUIRE_ALL_PROFILED_WITHIN requires every candidate to be WITHIN_ALL_APPLICABLE."
},
"density_measure_kind_taxonomy": [
"LOCAL_DENSITY_VALUE",
"GRID_CELL_DENSITY_VALUE",
"NEAREST_NEIGHBOR_DISTANCE"
],
"density_range_target_schema": {
"microDetailDensityRangeTargetRef": "stable identity",
"measureKind": "one density-measure kind",
"selector": {
"groupKey": "explicit exact groupKey",
"subjectRef": "required for LOCAL_DENSITY_VALUE/NEAREST_NEIGHBOR_DISTANCE, null for GRID_CELL_DENSITY_VALUE",
"rowIndex": "required for GRID_CELL_DENSITY_VALUE, null otherwise",
"columnIndex": "required for GRID_CELL_DENSITY_VALUE, null otherwise"
},
"minInclusive": "finite >=0 or null",
"maxInclusive": "finite >=0 or null",
"atLeastOneBoundRequired": true,
"sourceDistributionSetRef": "exact 15.02 set",
"status": "OK|INVALID",
"mutationAllowed": false,
"firewall": "Density range is explicit target data under exact 15.02 policy lineage. It is not a universal density law."
},
"density_target_schema": {
"mode": "IGNORE|EXPLICIT_RANGES",
"requiredDistributionSetRef": "exact 15.02 set when mode != IGNORE; null otherwise",
"ranges": "non-empty unique targets when EXPLICIT_RANGES; empty when IGNORE",
"aggregation": "ALL_TARGET_RANGES_MUST_MATCH",
"firewall": "One missing required observation propagates N_A; one mismatch yields component fit 0 under KEEP, not hard reject."
},
"communication_requirement_schema": {
"microDetailCommunicationRequirementRef": "stable identity",
"microDetailCandidateRef": "exact candidate",
"communicationKind": "exact kind or null",
"bindingKind": "exact kind or null",
"targetSubjectRefs": "exact set when binding target identity is constrained, otherwise empty",
"technicalFunctionKind": "exact kind or null",
"atLeastOneConstraintRequired": true,
"status": "OK|INVALID",
"mutationAllowed": false,
"firewall": "Requirement checks explicit 15.03 resolutions only. It never infers semantics from position, role, density or typography."
},
"communication_target_schema": {
"mode": "IGNORE|EXPLICIT_REQUIREMENTS",
"requiredLabelLegendNoiseSetRef": "exact 15.03 set when applicable",
"requirements": "non-empty unique candidate requirements when EXPLICIT_REQUIREMENTS",
"aggregation": "ALL_REQUIREMENTS_MUST_MATCH",
"firewall": "Missing required semantic resolution propagates N_A; semantic mismatch is a soft fit 0."
},
"technical_noise_state_target_schema": {
"mode": "IGNORE|EXPLICIT_CANDIDATE_STATES",
"requiredLabelLegendNoiseSetRef": "exact 15.03 set when applicable",
"candidateStateTargets": "non-empty unique candidateRef -> non-empty allowedStates[]",
"allowedStates": "subset of CLEAR|SUSPECTED|NOISE_PRESENT",
"aggregation": "ALL_CANDIDATE_STATE_TARGETS_MUST_MATCH",
"firewall": "Observed noise state is not inherently good or bad. Only explicit allowed-state target determines fit."
},
"hierarchy_protection_target_schema": {
"mode": "IGNORE|REQUIRE_PRESERVED",
"requiredAssessmentMethodRef": "exact method when applicable",
"requiredAssessmentContextRef": "exact context when applicable",
"firewall": "Missing owner-qualified evidence propagates N_A. preserved=false is target mismatch 0, not automatic reject."
},
"target_profile_schema": {
"microDetailTargetProfileRef": "stable identity",
"scopeRef": "scope",
"microDetailCandidateSetRef": "exact 15.00 candidate set",
"roleEnvelopeTarget": "explicit",
"densityTarget": "explicit",
"communicationTarget": "explicit",
"technicalNoiseTarget": "explicit",
"hierarchyProtectionTarget": "explicit",
"profileSourceRef": "explicit source",
"profileSourceOwnerRef": "owner",
"selectionMode": "EXPLICIT_ONLY",
"provenance": "canonical provenance",
"status": "OK|INVALID",
"mutationAllowed": false,
"default": "NONE — no implicit microdetail target profile",
"firewall": "Observed state never selects a target profile. Target-profile choice is explicit and prior to scoring."
},
"evaluation_profile_schema": {
"microDetailEvaluationProfileRef": "stable identity",
"componentWeights": {
"ROLE_ENVELOPE_FIT": "finite >=0",
"DENSITY_FIT": "finite >=0",
"COMMUNICATION_FIT": "finite >=0",
"TECHNICAL_NOISE_FIT": "finite >=0",
"HIERARCHY_PROTECTION_FIT": "finite >=0"
},
"atLeastOnePositiveWeightRequired": true,
"aggregation": "WEIGHTED_MEAN",
"targetDeclaredNAHandling": "DROP_TARGET_DECLARED_NA_ONLY",
"missingObservedHandling": "PROPAGATE_N_A",
"comparisonEpsilon": "finite >=0",
"profileSourceRef": "explicit source",
"profileSourceOwnerRef": "owner",
"provenance": "canonical provenance",
"status": "OK|INVALID",
"mutationAllowed": false,
"default": "NONE — no implicit equal weights",
"firewall": "Evaluation weights are local Topic15 component-fit weights only. They are not global rule priority."
},
"target_condition_result_schema": {
"microDetailTargetConditionResultRef": "stable identity",
"conditionKey": "one of five component keys",
"fit": "0|1|null",
"applicability": "APPLICABLE|N_A",
"status": "OK|N_A|INVALID",
"reasonCode": "explicit",
"naKind": "TARGET_DECLARED_NA|MISSING_OBSERVED|LINEAGE_MISMATCH|null",
"dependsOn": "exact computational refs",
"derivedFrom": "actual evidence refs",
"repairHints": "structured non-mutating hints",
"mutationAllowed": false,
"firewall": "Applicable target mismatch returns fit 0 under KEEP. It does not hard reject the candidate/layout."
},
"component_metric_contract": {
"value": "same 0|1 as condition fit when applicable",
"composite": false,
"componentOf": "microdetail.system.localTargetProfileFit",
"scoringGroup": "microdetail-local",
"independentVoteAllowed": false,
"firewall": "Component metrics are evidence-bearing parts of one composite vote and cannot vote independently."
},
"composite_metric_contract": {
"key": "microdetail.system.localTargetProfileFit",
"owner": "Compo15.04",
"value": "weighted mean [0,1] under KEEP; null under N_A/INVALID",
"composite": true,
"componentOf": null,
"scoringGroup": "microdetail-local",
"independentVoteAllowed": true,
"evaluationOutcome": "KEEP|N_A|INVALID",
"outcomePrecedence": "INVALID > N_A > KEEP",
"mismatchPolicy": "SOFT_ZERO_UNDER_KEEP",
"firewall": "0 is a valid complete/weighted mismatch and is distinct from N_A/INVALID. Higher local fit is not automatic final-layout winner."
},
"comparison_contract": {
"comparableOnlyWhen": [
"both evaluationOutcome == KEEP",
"same MicroDetailTargetProfileRef",
"same MicroDetailEvaluationProfileRef",
"same scoringGroup == microdetail-local"
],
"relation": "LESS|EQUAL_WITHIN_EPS|GREATER|INCOMPARABLE",
"firewall": "Cross-target or cross-evaluation-profile values are not canonically comparable. Comparison does not select a global winner."
},
"repair_kind_taxonomy": [
"REQUEST_ROLE_ENVELOPE_REVIEW",
"REQUEST_DENSITY_REBALANCE_REVIEW",
"REQUEST_COMMUNICATION_REVIEW",
"REQUEST_TECHNICAL_NOISE_REDUCTION_REVIEW",
"REQUEST_HIERARCHY_PROTECTION_REVIEW"
],
"repair_routing_policy_schema": {
"microDetailRepairRoutingPolicyRef": "stable identity",
"routes": "exactly one explicit route per component key",
"route": {
"conditionKey": "component",
"repairKind": "matching repair kind",
"targetOwnerRef": "owner to receive non-mutating request"
},
"policySourceRef": "explicit source",
"policySourceOwnerRef": "owner",
"provenance": "canonical provenance",
"status": "OK|INVALID",
"mutationAllowed": false,
"firewall": "Routing chooses who receives a request. It does not grant 15.04 mutation ownership over upstream geometry, semantics or policies."
},
"generator_policy_schema": {
"microDetailGeneratorPolicyRef": "stable identity",
"seed": "explicit non-empty deterministic seed",
"maxCandidates": "integer 1..64",
"selectionMode": "FAILED_COMPONENT_SINGLE_REQUEST_V1",
"componentSelectionOrder": "explicit permutation of five component keys",
"deduplication": "BY_REPAIR_REQUEST_IDENTITY",
"diversityPruning": "ONE_PER_COMPONENT_REPAIR_KIND",
"hardFilter": "VALID_OWNER_ROUTE_AND_FAILED_COMPONENT_ONLY",
"fullCartesianProductAllowed": false,
"policySourceRef": "explicit source",
"policySourceOwnerRef": "owner",
"provenance": "canonical provenance",
"status": "OK|INVALID",
"mutationAllowed": false,
"firewall": "Component selection order is explicit local generator pruning priority only; it is not global rule priority or layout quality ordering."
},
"repair_request_schema": {
"microDetailRepairRequestRef": "stable identity",
"conditionKey": "failed component",
"repairKind": "routing-policy repair kind",
"targetOwnerRef": "explicit route owner",
"targetProfileRef": "exact target",
"evaluationRef": "exact evaluation",
"evidenceRefs": "source evidence",
"reasonCode": "component mismatch reason",
"requestedAction": "review/propose correction; never direct mutation",
"status": "OPEN|INVALID",
"mutationAllowed": false,
"firewall": "Repair request is advisory and owner-routed. It is never a geometry/style/semantic mutation."
},
"repair_candidate_schema": {
"microDetailRepairCandidateRef": "stable identity",
"generatorPolicyRef": "policy",
"seed": "same explicit seed",
"ordinal": "deterministic 1-based local generator order",
"repairRequestRefs": "exactly one in v1",
"sourceFailedConditionKey": "one failed component",
"status": "OK|INVALID",
"mutationAllowed": false,
"firewall": "Candidate ordinal is generator serialization/pruning order only. It is not score, perceptual rank or final-layout rank."
},
"repair_candidate_set_schema": {
"microDetailRepairCandidateSetRef": "stable identity",
"evaluationRef": "exact Topic15 evaluation",
"routingPolicyRef": "exact routing policy",
"generatorPolicyRef": "exact generator policy",
"candidateRefs": "bounded deterministic set",
"candidateCount": "0..maxCandidates",
"status": "OK|N_A|INVALID",
"reasonCode": "explicit",
"mutationAllowed": false,
"firewall": "No generation under N_A/INVALID evaluation. No full Cartesian product. Empty OK set means no failed applicable component or no repair needed."
},
"status_policy": {
"targetDeclaredIgnore": "component N_A with naKind TARGET_DECLARED_NA; droppable from composite denominator",
"missingObservedEvidence": "component N_A with naKind MISSING_OBSERVED; propagates composite N_A",
"lineageMismatch": "component N_A with naKind LINEAGE_MISMATCH; propagates composite N_A",
"targetMismatch": "component OK value 0; composite remains KEEP",
"targetMatch": "component OK value 1",
"invalidContract": "INVALID",
"allWeightedApplicableComponentsMismatch": "KEEP + composite value 0",
"generatorOnKEEPNoFailures": "OK empty candidate set",
"generatorOnKEEPFailures": "OK bounded candidate set",
"generatorOnNA": "N_A empty candidate set",
"generatorOnINVALID": "INVALID empty candidate set",
"N_A_not_zero": true
},
"critical_firewalls": [
"15.04 consumes explicit Compo15.00 candidates only",
"15.04 does not redefine microdetail eligibility",
"observed role-envelope fit != desired role-envelope target",
"observed density != desired density target",
"observed communication semantics != desired communication target",
"observed technical-noise state != desired technical-noise target",
"observed hierarchy evidence != desired hierarchy target",
"target profile selection is EXPLICIT_ONLY",
"no implicit microdetail target profile",
"no implicit equal evaluation weights",
"evaluation weights != global rule priority",
"target-declared IGNORE != missing observed evidence",
"TARGET_DECLARED_NA may drop denominator",
"MISSING_OBSERVED propagates N_A",
"LINEAGE_MISMATCH propagates N_A",
"N_A != 0",
"INVALID != 0",
"target mismatch != N_A",
"target mismatch != hard reject",
"target mismatch => valid fit 0 under KEEP",
"fit 0 != N_A",
"fit 0 != INVALID",
"component fit 1 != global quality",
"component fit 0 != global failure",
"role-envelope component != independent vote",
"density component != independent vote",
"communication component != independent vote",
"technical-noise component != independent vote",
"hierarchy-protection component != independent vote",
"all five components share scoringGroup microdetail-local",
"exactly one Topic15 independent numeric vote",
"only microdetail.system.localTargetProfileFit has independentVoteAllowed true",
"microdetail.system.localTargetProfileFit != beautyScore",
"microdetail.system.localTargetProfileFit != global layout quality",
"microdetail.system.localTargetProfileFit != generic hierarchy score",
"higher localTargetProfileFit != automatic final-layout winner",
"cross-target comparison forbidden",
"cross-evaluation-profile comparison forbidden",
"role-envelope target does not redefine 15.01 envelopes",
"density target does not redefine 15.02 density policy",
"communication target does not redefine 15.03 semantics",
"technical-noise target does not redefine 15.03 observed state",
"hierarchy target does not make 15.04 hierarchy owner",
"hierarchy evidence must be owner-qualified",
"density range target must use exact 15.02 lineage",
"communication requirement must use exact 15.03 lineage",
"noise state target must use exact 15.03 lineage",
"generator runs only from failed applicable components under KEEP",
"generator does not guess under N_A",
"generator does not guess under INVALID",
"generator full Cartesian product forbidden",
"generator maxCandidates explicit",
"generator seed explicit",
"generator component selection order explicit",
"generator component selection order != global rule priority",
"generator ordinal != score",
"generator ordinal != final-layout rank",
"repair candidate != repaired layout",
"repair request != foreign mutation",
"repair routing != mutation ownership",
"generator cannot mutate geometry",
"generator cannot mutate semantics",
"generator cannot mutate upstream policy",
"generator hard-filters invalid owner routes",
"generator deduplicates identity-equivalent requests",
"generator diversity-prunes by component/repair kind",
"component metric dependsOn != derivedFrom",
"dependsOn = computational dependency",
"derivedFrom = actual evidence lineage",
"descriptor != score",
"local != global",
"geometry != interpretation",
"heuristic != law",
"one metric = one owner",
"module execution order != rule priority",
"correction request != foreign mutation",
"no universal beautyScore",
"IDEA != CANON",
"EXPERIMENT != CANON",
"microdetail role ownership remains Compo15.00",
"size/contrast envelope ownership remains Compo15.01",
"distribution/density ownership remains Compo15.02",
"communication/noise observation ownership remains Compo15.03",
"visual mass ownership remains Compo4",
"dominance ownership remains Compo13",
"attention-factor ownership remains Compo13.01",
"secondary-mass support ownership remains Topic14",
"generic hierarchy/subordination graph remains Compo18 territory"
],
"identity_policy": {
"microDetailHierarchyProtectionEvidenceRef": "hash(scope, candidate set, preserved, method/context, source/owner, confidence, provenance, snapshot, status)",
"microDetailDensityRangeTargetRef": "hash(measure kind, selector, inclusive bounds, exact distribution set, status)",
"microDetailCommunicationRequirementRef": "hash(candidate, communication/binding/targets/function constraints, status)",
"microDetailTargetProfileRef": "hash(scope, candidate set, five target blocks, source/owner, provenance, status)",
"microDetailEvaluationProfileRef": "hash(exact five weights, aggregation/NA policies, epsilon, source/owner, provenance, status)",
"microDetailTargetConditionResultRef": "hash(condition, fit/applicability/status/naKind, dependsOn, derivedFrom, repair hints)",
"componentMetricResultIdentity": "hash(key, owner, value, applicability, status, provenance, componentOf, dependencies/evidence)",
"compositeMetricResultIdentity": "hash(key, owner, value, applicability, status, provenance, scoringGroup, component refs/evidence)",
"microDetailTargetEvaluationRef": "hash(target profile, evaluation profile, five condition refs, component metric refs, composite metric, outcome)",
"microDetailRepairRoutingPolicyRef": "hash(canonical routes, source/owner, provenance, status)",
"microDetailGeneratorPolicyRef": "hash(seed, maxCandidates, selection mode/order, dedup/diversity/hard-filter, source/owner, provenance, status)",
"microDetailRepairRequestRef": "hash(condition, repair kind, owner, target/evaluation, evidence refs, reason)",
"microDetailRepairCandidateRef": "hash(generator policy, seed, ordinal-independent request identity, source failed condition)",
"microDetailRepairCandidateSetRef": "hash(evaluation, routing policy, generator policy, canonical selected candidate refs, status)",
"excluded_from_identity": [
"display color",
"UI order outside explicit generator componentSelectionOrder",
"free-form comment"
]
},
"correction_request_schema": {
"microDetailScoringCorrectionRequestRef": "stable identity",
"targetOwnerRef": "target/evaluation/hierarchy/routing/generator owner",
"reasonCode": "TARGET_PROFILE_WRONG|EVALUATION_WEIGHTS_WRONG|HIERARCHY_EVIDENCE_WRONG|DENSITY_TARGET_WRONG|COMMUNICATION_TARGET_WRONG|NOISE_TARGET_WRONG|ROUTING_POLICY_WRONG|GENERATOR_POLICY_WRONG",
"evidenceRefs": "canonical refs",
"suggestedAction": "non-mutating review request",
"status": "OPEN|INVALID",
"mutationAllowed": false
},
"IDEAS_REFS": [
"IDEA-01 full human test after all 72 topics; compare Topic15 composite fit and generated repair requests with human judgments",
"IDEA-02 semantic inputs remain explicit and owner-qualified",
"IDEA-03 explicit priorities; evaluation weights and generator selection order never become hidden global priority",
"IDEA-04 collect component/outcome/generator data for future composition model",
"IDEA-05 preserve reasons for human corrections and accepted/rejected generated repair requests",
"IDEA-06 structured machine-readable layer for website",
"IDEA-07 graphics-for-post-text research remains downstream/separate"
],
"DATA_CAPTURE": [
"sceneRef",
"scopeRef",
"snapshotRef",
"candidateSetRef",
"sizeContrastSetRef",
"distributionSetRef",
"labelLegendNoiseSetRef",
"hierarchyProtectionEvidenceRef",
"hierarchyPreserved",
"targetProfileRef",
"roleEnvelopeTargetMode",
"densityRangeTargetRefs[]",
"communicationRequirementRefs[]",
"technicalNoiseStateTargets[]",
"hierarchyProtectionTargetMode",
"evaluationProfileRef",
"componentWeights",
"conditionResultRefs[]",
"conditionFitByKey",
"conditionStatusByKey",
"conditionNAKindByKey",
"componentMetricResultRefs[]",
"componentValuesByKey",
"compositeMetricResultRef",
"compositeValue",
"evaluationOutcome",
"comparisonRelation",
"repairRoutingPolicyRef",
"generatorPolicyRef",
"generatorSeed",
"generatorMaxCandidates",
"failedApplicableComponents[]",
"repairRequestRefs[]",
"repairCandidateRefs[]",
"repairCandidateCount",
"repairCandidateAcceptedByHuman[]",
"repairCandidateRejectedByHuman[]",
"humanReasonCodes[]"
],
"DEFERRED_SEMANTIC_INPUTS": [
"global final-layout ranking",
"cross-topic scoring budget arbitration",
"future canonical hierarchy owner implementation details",
"human acceptance policy for generated repair candidates",
"model-learned repair proposal ranking"
],
"HUMAN_FEEDBACK_HOOKS": [
"TARGET_PROFILE_WRONG",
"ROLE_ENVELOPE_TARGET_TOO_STRICT",
"ROLE_ENVELOPE_TARGET_TOO_PERMISSIVE",
"DENSITY_TARGET_TOO_STRICT",
"DENSITY_TARGET_TOO_PERMISSIVE",
"COMMUNICATION_TARGET_WRONG",
"NOISE_TARGET_TOO_STRICT",
"NOISE_TARGET_TOO_PERMISSIVE",
"HIERARCHY_TARGET_WRONG",
"HIERARCHY_EVIDENCE_WRONG",
"COMPONENT_WEIGHT_TOO_HIGH",
"COMPONENT_WEIGHT_TOO_LOW",
"COMPOSITE_FIT_FEELS_TOO_HIGH",
"COMPOSITE_FIT_FEELS_TOO_LOW",
"REPAIR_ROUTE_WRONG",
"REPAIR_REQUEST_USEFUL",
"REPAIR_REQUEST_NOT_USEFUL",
"GENERATOR_TOO_MANY_CANDIDATES",
"GENERATOR_TOO_FEW_CANDIDATES",
"GENERATOR_ORDER_WRONG",
"GENERATOR_CANDIDATE_ACCEPTED",
"GENERATOR_CANDIDATE_REJECTED",
"MISSING_EVIDENCE_SHOULD_STAY_NA",
"MISMATCH_SHOULD_STAY_SOFT_ZERO"
],
"CONFLICT_PRIORITY_ASSUMPTIONS": [
"module execution order is not priority",
"componentWeights are local score aggregation weights, not global rule priority",
"generator componentSelectionOrder is local bounded-selection priority only",
"repair candidate ordinal is not perceptual priority",
"higher Topic15 local fit is not automatic final-layout priority",
"future reviewed global conflict-priority owner remains authoritative"
],
"LAB_HOOKS": [
"human study: component weights versus perceived microdetail quality",
"human study: complete mismatch value 0 versus N_A distinction",
"collect cases with high local fit but poor global layout",
"collect cases with low local fit but intentionally successful exception",
"evaluate usefulness of single-component repair requests",
"measure acceptance of density-rebalance review requests",
"measure acceptance of technical-noise reduction requests",
"compare generator selection orders under fixed seed",
"collect hierarchy-preservation evidence disagreements"
],
"observation_record": {
"moduleRef": "Compo15.04",
"scoringGroup": "microdetail-local",
"independentVoteCount": 1,
"independentMetricKey": "microdetail.system.localTargetProfileFit"
},
"topic15_local_completion_rule": "After this file passes its own tests, Topic15 files are locally 5/5. Closing audit is a separate next step and is not performed by 15.04.",
"stop_condition": "STOP after 15.04. Do not perform Topic15 closing audit in this module."
}