Exact family first. Tolerance later.
Family and repetition owner
Families
Exact family identity, explicit family definitions and memberships.
Repetition
Distinct-relation occurrence counts and repeated-system descriptors.
Judgement
Tolerance, deviation, desirability, scoring and repair stay in 17.04.
Only valid upstream observations
| Source | Observation | Preserved semantics |
|---|---|---|
| 17.01 | ShapeAspectRatioDescriptor | ordered numerator/denominator aspect ratio |
| 17.02 | PartToWholeRatioDescriptor | ordered part/whole ratio |
RatioFamilyDefinition
RatioFamilyDefinition {
familyContextRef,
familyKind,
allowedRelationKinds[],
orderedRatioValues[],
membershipBasis: EXACT_ORDERED_RATIO_ONLY,
reciprocalEquivalent: false,
nearEqualEquivalent: false,
toleranceRef: null
}Exact means exact
Membership is descriptive
Member
Context matches, relation kind is allowed, and ordered ratio equals an explicit family value exactly.
Not member
Near-equal or reciprocal ratios do not silently enter the family. 17.04 may later evaluate tolerance.
Repeated means distinct relations
System descriptor ≠ quality
Exact ordered ratio identity.
Explicit comparison context.
Distinct relation occurrences.
Policy-qualified boolean only.
No silent cross-kind family
Immutable downstream attachment
RatioFamilyAttachment {
proportionSystemSeedRef,
repeatedProportionalSystemSetRef,
status,
mutationAllowed: false
}17.04 remains separate
| 17.03 | Exact family membership and repeated-system descriptors. |
| 17.04 | Tolerance, near-equal matching, deviation, target fit, MetricResult scoring and repairs. |
Repetition ≠ desirability
CANON → LAB → DATA → IDEAS
17.03 regression suite
Tests cover exact family identity, reciprocal preservation, context/kind isolation, membership, duplicate suppression, repeated-system counts, immutable attachment, zero metrics and 17.04 ownership boundaries.
DATA FOR LAYOUT ENGINE
{
"module": "Compo 17.03",
"name": "repeated_proportional_systems",
"version": "1.0-canonical",
"canonical_main_title": "Repeated proportional systems",
"topic": "17_ПРОПОРЦИИ_ФОРМ_И_ЧАСТЕЙ_К_ЦЕЛОМУ",
"scope": "EXACT_ORDERED_RATIO_FAMILY_MEMBERSHIP_AND_REPEATED_PROPORTIONAL_SYSTEM_DESCRIPTORS_WITHOUT_TOLERANCE_SCORING_OR_REPAIR",
"main_topic_contract": {
"topic_title": "Пропорции форм и частей к целому",
"topic_goal": "Формализует пропорции формы и part-to-whole relations: aspect ratios, повторяемые ratio families, допустимые отклонения и style-specific пропорциональные системы.",
"expected_output": "ProportionRelation[], ratio families, tolerance profiles",
"planned_files": [
"17.00 Proportion schema and reference ratios",
"17.01 Shape aspect ratios",
"17.02 Part-to-whole ratios",
"17.03 Repeated proportional systems",
"17.04 Tolerance, scoring and tests"
]
},
"ownership": {
"owner": "Compo17.03",
"owns": [
"RatioObservationAdapter",
"RatioFamilyDefinition",
"RatioFamilyMembership",
"ExactObservedRatioFamily",
"RepeatedProportionalSystemDescriptor",
"RepeatedProportionalSystemSet",
"RatioFamilyAttachment",
"exact ordered-ratio family grouping under explicit context",
"repeated proportional system detection from distinct relation occurrences",
"identity/status/provenance rules for Topic17 ratio-family layer",
"non-mutating correction request for family/context/membership/system evidence"
],
"does_not_own": [
"ProportionSubject / ProportionMeasureBinding / ProportionRelation identity — Compo17.00",
"reference-ratio declaration — Compo17.00",
"shape-axis measurements / observed shape aspect ratios — Compo17.01",
"part/whole membership / observed part-to-whole ratios — Compo17.02",
"tolerance profiles / near-equal matching / deviation evaluation — Compo17.04",
"MetricResult ownership / scoring / repair generation — Compo17.04",
"raw geometry measurement — upstream geometry/measurement owners",
"object-to-object scale differentiation — Topic16",
"transform scale parameter — Compo3.05",
"visual mass — Compo4",
"format normalization / global scale invariance — Compo6.03",
"dominance / focal ranking — Compo13",
"microdetail size/contrast role envelopes — Topic15",
"generic hierarchy/subordination — Compo18",
"semantic importance / global balance / final-layout ranking"
]
},
"consumes": [
"valid Compo17.01 ShapeAspectRatioDescriptor observations",
"valid Compo17.02 PartToWholeRatioDescriptor observations",
"explicit ratio-family context metadata",
"explicit RatioFamilyDefinition declarations when supplied",
"explicit RepeatedProportionalSystemPolicy"
],
"provides": [
"RatioObservationAdapter[]",
"RatioFamilyDefinition[]",
"RatioFamilyMembership[]",
"ExactObservedRatioFamily[]",
"RepeatedProportionalSystemDescriptor[]",
"RepeatedProportionalSystemSet",
"RatioFamilyAttachment",
"Topic17.03 observation record"
],
"owns_metrics": [],
"metric_ownership_note": "17.03 produces descriptive exact ratio-family and repetition records only. It owns no MetricResult and contributes no independent numeric vote.",
"ratio_observation_adapter_schema": {
"ratioObservationRef": "stable identity",
"sourceModule": "Compo17.01|Compo17.02",
"sourceDescriptorRef": "exact upstream descriptor",
"proportionRelationRef": "exact Compo17.00 relation",
"relationKind": "SHAPE_ASPECT|PART_TO_WHOLE",
"orderedRatio": "finite > 0; direction preserved from upstream",
"ratioContextRef": "explicit family-comparison context",
"comparisonSignatureRef": "upstream comparison signature",
"status": "OK",
"mutationAllowed": false
},
"ratio_family_definition_schema": {
"ratioFamilyRef": "stable identity",
"familyContextRef": "explicit context",
"familyKind": "EXPLICIT_EXACT_RATIO_SET|EXACT_OBSERVED_VALUE_FAMILY|EXPLICIT_REFERENCE_FAMILY|CUSTOM_OWNER_DECLARED",
"allowedRelationKinds": "explicit non-empty set",
"orderedRatioValues": "explicit finite positive exact values[]",
"referenceRatioRefs": "explicit refs[]; lineage only",
"membershipBasis": "EXACT_ORDERED_RATIO_ONLY",
"reciprocalEquivalent": false,
"nearEqualEquivalent": false,
"toleranceRef": null,
"status": "OK",
"mutationAllowed": false
},
"exact_family_identity_contract": {
"keyFields": [
"ratioContextRef",
"relationKind",
"orderedRatio"
],
"exactOnly": true,
"nearEqualMerge": false,
"reciprocalCollapse": false,
"crossRelationKindMerge": false,
"lexicalOrderDefinesOrientation": false,
"ratioMayBeBelowOne": true,
"ratioMayEqualOne": true,
"ratioMayBeAboveOne": true
},
"family_membership_contract": {
"selectionMode": "EXPLICIT_OBSERVATIONS_ONLY",
"membershipMode": "EXACT_ORDERED_RATIO_ONLY",
"contextMustMatch": true,
"relationKindMustBeAllowed": true,
"toleranceMatchingAllowed": false,
"implicitReferenceDesirabilityAllowed": false,
"confidenceArbitrationAllowed": false,
"membershipIsDescriptorNotScore": true
},
"repeated_system_contract": {
"basis": "DISTINCT_PROPORTION_RELATIONS_IN_ONE_EXACT_FAMILY",
"minOccurrences": "explicit integer >=2",
"duplicateObservationPolicy": "DEDUP_BY_RATIO_OBSERVATION_IDENTITY",
"distinctRelationPolicy": "COUNT_UNIQUE_PROPORTION_RELATION_REFS",
"sameRelationRepeatedEvidenceCountsOnce": true,
"repeated": "distinctRelationCount >= minOccurrences",
"moreOccurrencesAutomaticallyBetter": false,
"uniformRepetitionAutomaticallyBetter": false,
"systemDescriptorIsScore": false
},
"policy_schema": {
"observationSelectionMode": "EXPLICIT_OBSERVATIONS_ONLY",
"familyDiscoveryMode": "EXACT_ORDERED_RATIO_WITHIN_CONTEXT_AND_RELATION_KIND_ONLY",
"familyDefinitionSelectionMode": "EXPLICIT_DEFINITIONS_ONLY",
"membershipMode": "EXACT_ORDERED_RATIO_ONLY",
"minOccurrences": "2..4096 explicit",
"nearEqualClusteringAllowed": false,
"reciprocalCollapseAllowed": false,
"crossRelationKindAutomaticMergeAllowed": false,
"toleranceEvaluationAllowed": false,
"scoringAllowed": false,
"repairGenerationAllowed": false,
"overflowPolicy": "N_A_NO_TRUNCATION",
"mutationAllowed": false
},
"critical_firewalls": [
"ordered ratio direction from 17.01/17.02 is preserved",
"ratio below one is preserved",
"ratio equal one is preserved",
"ratio above one is preserved",
"no auto-invert to >=1",
"ratio r and reciprocal 1/r are not the same family by default",
"lexical order does not determine ratio orientation",
"exact equality is the only automatic family equality in 17.03",
"near-equal ratios remain separate",
"no epsilon in 17.03",
"no tolerance threshold in 17.03",
"no approximate clustering in 17.03",
"no golden-ratio neighborhood matching",
"no implicit 1.618 family",
"no universal 4:3 family preference",
"no universal 3:2 family preference",
"no universal square family preference",
"reference ratio lineage does not imply desirability",
"reference ratio lineage does not imply membership without exact declared basis",
"family membership is descriptive, not a score",
"repetition count is descriptive, not a score",
"more repeated occurrences do not automatically mean better composition",
"single occurrence is a valid non-repeated family observation",
"minOccurrences is explicit policy, not hidden constant",
"duplicate evidence for one relation does not inflate distinct relation count",
"same proportionRelationRef counts once per repeated-system descriptor",
"cross relation-kind automatic merge is forbidden",
"SHAPE_ASPECT and PART_TO_WHOLE are not silently one family",
"cross-context automatic merge is forbidden",
"family context must be explicit",
"comparison signature remains lineage and does not create hidden conversions",
"silent unit conversion remains forbidden upstream",
"silent measurement-frame conversion remains forbidden upstream",
"17.03 does not recompute shape measurements",
"17.03 does not recompute part/whole measurements",
"17.03 does not mutate upstream ratio descriptors",
"17.03 does not mutate ProportionSystemSeed",
"family attachment is downstream and immutable",
"system attachment is downstream and immutable",
"correction request is non-mutating",
"17.04 owns tolerance",
"17.04 owns deviation from reference",
"17.04 owns target fit",
"17.04 owns MetricResult scoring",
"17.04 owns independent vote budget",
"17.04 owns repair candidates",
"Topic16 ScaleRatioDescriptor is not reused",
"Topic16 larger-to-smaller canonicalization is not imported",
"Topic16 scale classes are not Topic17 ratio families",
"Topic16 scale ladder is not a repeated proportional system",
"transform scale factor ownership remains Compo3.05",
"visual mass ownership remains Compo4",
"format normalization ownership remains Compo6.03",
"dominance ownership remains Compo13",
"microdetail role-envelope ownership remains Topic15",
"generic hierarchy/subordination remains Compo18 territory",
"semantic importance remains foreign-owned",
"global balance remains foreign-owned",
"final-layout ranking remains foreign-owned",
"N_A != 0",
"INVALID != 0",
"local != global",
"geometry != interpretation",
"descriptor != score",
"heuristic != law",
"one metric = one owner",
"module execution order != rule priority",
"no universal beautyScore",
"IDEA != CANON",
"EXPERIMENT != CANON"
],
"correction_request_schema": {
"ratioFamilyCorrectionRequestRef": "stable identity",
"targetOwnerRef": "family/context/upstream observation owner",
"reasonCode": "OBSERVATION_WRONG|RATIO_CONTEXT_WRONG|FAMILY_DEFINITION_WRONG|FAMILY_MEMBERSHIP_WRONG|SYSTEM_MEMBERSHIP_WRONG|RELATION_KIND_WRONG|UPSTREAM_DESCRIPTOR_WRONG",
"ratioObservationRef": "exact observation or null",
"ratioFamilyRef": "exact family or null",
"repeatedProportionalSystemRef": "exact system or null",
"evidenceRefs": "actual lineage refs",
"suggestedAction": "non-mutating review request",
"status": "OPEN|INVALID",
"mutationAllowed": false
},
"deferred_downstream": {
"17.04": [
"tolerance profiles",
"near-equal family matching",
"reference deviation",
"target fit",
"MetricResult scoring",
"independent vote budget",
"bounded deterministic repair candidates",
"final Topic17 regression tests"
]
},
"topic16_firewall": {
"Topic16": "unordered object-to-object scale differentiation; larger-to-smaller ratio and scale ladders",
"Topic17_03": "ordered proportion ratio families and repeated proportional systems",
"reusedScaleRatioDescriptor": false,
"largerToSmallerCanonicalizationImported": false,
"scaleClassesImported": false,
"scaleLaddersImported": false
},
"foreign_ownership": {
"Compo3.05": "transform scale factor",
"Compo4": "visual mass",
"Compo6.03": "format normalization / global scale invariance",
"Compo13": "dominance / focal ranking",
"Topic15": "microdetail size/contrast role envelopes",
"Topic16": "object-to-object scale differentiation",
"Compo17.01": "shape aspect ratios",
"Compo17.02": "part-to-whole ratios",
"Compo17.04": "tolerance / deviation / scoring / repair",
"Compo18": "generic hierarchy / subordination",
"foreign": "raw geometry measurement, semantic importance, global balance, final-layout ranking"
},
"hook_families": {
"IDEAS_REFS": [
"ratio-family-perception",
"cross-context-family-study",
"repetition-rhythm-study",
"style-specific-ratio-systems",
"reciprocal-family-semantics",
"reference-family-language",
"ratio-system-visualization"
],
"DATA_CAPTURE": [
"ratio observations",
"exact family keys",
"family memberships",
"repeated system descriptors",
"distinct relation counts",
"context/kind lineage"
],
"DEFERRED_SEMANTIC_INPUTS": [
"near-equal tolerance",
"ratio desirability",
"reference closeness",
"target fit",
"global quality",
"repair preference"
],
"HUMAN_FEEDBACK_HOOKS": [
"family correction",
"context correction",
"membership correction",
"system correction",
"upstream ratio correction"
],
"CONFLICT_PRIORITY_ASSUMPTIONS": [
"family source owner does not imply global priority",
"module order is not priority",
"repetition count is not priority"
],
"LAB_HOOKS": [
"perceived repeated proportion studies",
"exact-vs-near family studies",
"cross-kind family perception",
"style-conditioned ratio systems",
"repetition density studies"
]
},
"data_for_layout_engine": {
"status": "CANONICAL_LOCAL",
"owner": "Compo17.03",
"observational": true,
"scoring": false,
"independentNumericVotes": 0,
"nextOwner": "Compo17.04",
"stopAfterThisModule": true
}
}