COMPO · 17.03 · REPEATED PROPORTIONAL SYSTEMS

Repeat exact ratios.
Judge later.

17.03 объединяет valid ordered ratio observations из 17.01 и 17.02 в exact ratio families внутри явного контекста и фиксирует повторяющиеся proportional systems по distinct relations. Near-equal clustering, tolerance, desirability, scoring и repair здесь запрещены.

ModuleCompo 17.03
Familiesexact only
Repetitiondistinct relations
Tolerancedeferred 17.04
Metricsnone
NextSTOP

Exact family first. Tolerance later.

00 / contract
17.01 / 17.02 ordered ratio observations + explicit ratio context → exact ratio families → repeated proportional system descriptors 17.03 stops here. NO tolerance NO near-equal merge NO score NO repair

Family and repetition owner

01 / ownership
OWNS

Families

Exact family identity, explicit family definitions and memberships.

OWNS

Repetition

Distinct-relation occurrence counts and repeated-system descriptors.

DOES NOT OWN

Judgement

Tolerance, deviation, desirability, scoring and repair stay in 17.04.

Only valid upstream observations

02 / inputs
SourceObservationPreserved semantics
17.01ShapeAspectRatioDescriptorordered numerator/denominator aspect ratio
17.02PartToWholeRatioDescriptorordered part/whole ratio
No recomputation. 17.03 adapts valid ratio descriptors; geometry and measurement resolution remain upstream-owned.

RatioFamilyDefinition

03 / explicit family
RatioFamilyDefinition {
  familyContextRef,
  familyKind,
  allowedRelationKinds[],
  orderedRatioValues[],
  membershipBasis: EXACT_ORDERED_RATIO_ONLY,
  reciprocalEquivalent: false,
  nearEqualEquivalent: false,
  toleranceRef: null
}

Exact means exact

04 / equality
family key = ratioContextRef + relationKind + orderedRatio 1.3333333333333333 == 1.3333333333333333 → same exact key 1.3333333333333333 != 1.3334 → separate 4/3 orientation != 3/4 orientation NO reciprocal collapse

Membership is descriptive

05 / membership

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

06 / detection
occurrenceCount = unique ratioObservationRef count distinctRelationCount = unique proportionRelationRef count repeated = distinctRelationCount >= explicit minOccurrences duplicate evidence from one relation != extra repeated occurrence

System descriptor ≠ quality

07 / system
Family

Exact ordered ratio identity.

Context

Explicit comparison context.

Count

Distinct relation occurrences.

Repeated

Policy-qualified boolean only.

No silent cross-kind family

08 / semantics
SHAPE_ASPECT 0.5 != automatically same family as PART_TO_WHOLE 0.5 Exact numeric equality alone does not erase relation semantics. Automatic family discovery includes relationKind in identity.

Immutable downstream attachment

09 / root preserved
RatioFamilyAttachment {
  proportionSystemSeedRef,
  repeatedProportionalSystemSetRef,
  status,
  mutationAllowed: false
}
17.00 ProportionSystemSeed remains unchanged.

17.04 remains separate

10 / next owner
17.03Exact family membership and repeated-system descriptors.
17.04Tolerance, near-equal matching, deviation, target fit, MetricResult scoring and repairs.

Repetition ≠ desirability

11 / firewalls
more occurrences != better exact family != ideal family reference family != preferred family repetition != hierarchy repetition != dominance repetition != beautyScore

CANON → LAB → DATA → IDEAS

12 / mandatory hooks
IDEAS_REFS[]Ratio-family and repetition research.
DATA_CAPTURE[]Exact family keys, memberships and counts.
DEFERRED_SEMANTIC_INPUTS[]Tolerance and desirability deferred.
HUMAN_FEEDBACK_HOOKS[]Family/context corrections.
CONFLICT_PRIORITY_ASSUMPTIONS[]Repetition count is not priority.
LAB_HOOKS[]Exact-vs-near and style-family studies.

17.03 regression suite

13 / deterministic tests

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.

Tests not run yet.

DATA FOR LAYOUT ENGINE

14 / machine contract
{
  "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
  }
}
VISITS / ...