COMPO · 17.02 · PART-TO-WHOLE RATIOS

Part over whole.
Membership first.

17.02 разрешает только explicit PART_TO_WHOLE relations: сначала подтверждает owner-qualified part→whole semantics, затем использует совместимые measurements и вычисляет ordered part/whole ratio. Никаких скрытых containment-инференсов, tolerance, family discovery или score.

ModuleCompo 17.02
Membershipexplicit only
Ratiopart / whole
Inferenceforbidden
Metricsnone
NextSTOP

Membership before numeric ratio

00 / contract
17.00 PART_TO_WHOLE relation + explicit membership evidence + owner-qualified part measurement + owner-qualified whole measurement → membership resolution → measurement resolutions → orderedPartToWholeRatio = part / whole NO: containment guessing ratio family tolerance score

Part-to-whole observation only

01 / ownership
OWNS

Membership resolution

Explicit semantic alignment of numerator subject as part and denominator subject as whole.

OWNS

Ordered ratio

partValue / wholeValue. No larger-to-smaller canonicalization.

NO SCORE

Descriptor only

owns_metrics=[]. Families and scoring remain downstream.

Explicit part → whole semantics

02 / membership
PartWholeMembershipEvidence {
  proportionRelationRef,
  partProportionSubjectRef,
  wholeProportionSubjectRef,
  membershipKind,
  membershipContextRef,
  membershipSourceRef,
  membershipSourceOwnerRef,
  confidence,
  status,
  mutationAllowed: false
}
NO inference from: overlap geometric containment DOM/tree parenthood size proximity name z-order

Owner-qualified measurements

03 / evidence
PartWholeMeasurementEvidence {
  proportionRelationRef,
  proportionTermRef,
  semanticMeasureRole: PART_VALUE | WHOLE_VALUE,
  value: finite > 0,
  exact unit / method / frame / context / owner,
  evidence source,
  confidence,
  mutationAllowed: false
}

No conflict arbitration

04 / resolution
one valid membership declaration → OK identical membership declarations → OK conflicting membership declarations → N_A + CONFLICT one valid measurement value → OK duplicate exact-equal values → OK conflicting values → N_A + CONFLICT NO average NO median NO confidence winner NO reconstruction

Ordered part-to-whole ratio

05 / math
orderedPartToWholeRatio
  = partValue / wholeValue

inverseWholeToPartRatio
  = wholeValue / partValue
ratio may be: < 1 = 1 > 1 17.02 never auto-inverts to force ratio >= 1.

Membership ≠ universal numeric bound

06 / semantic firewall
Important.

«Part» и «whole» задают semantic order. Они не доказывают универсально, что любой owner-qualified quantity обязан удовлетворять partValue ≤ wholeValue. Для area/share-like quantity такой bound может существовать, но только как explicit quantity-specific contract.

ratio > 1 != automatically INVALID != automatically bad ratio < 1 != automatically good

Reference links remain lineage

07 / no target fit
referenceRatioRefs[] copied from 17.00 relation 17.02 does NOT compute: reference distance tolerance match style desirability quality score

Topic16 ratio is not reused

08 / Topic16 boundary
Topic16: unordered object-to-object scale larger / smaller ratio >= 1 Topic17.02: ordered semantic relation part / whole ratio may be <1, =1 or >1 These are NOT interchangeable.

Immutable downstream attachment

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

Downstream remains separate

10 / next owners
17.00Root schema, ordered relation identity, reference declarations.
17.01Observed shape aspect ratios.
17.02Explicit part/whole membership and observed ratios.
17.03Ratio families and repeated proportional systems.
17.04Tolerance, reference deviation, scoring and repair candidates.

Descriptor ≠ quality

11 / firewalls
partToWholeRatio != score != hierarchy != dominance != visual mass != semantic importance != final-layout rank membership != geometric inference local descriptor != global quality

CANON → LAB → DATA → IDEAS

12 / mandatory hooks
IDEAS_REFS[]7 project directions preserved.
DATA_CAPTURE[]Membership, measurements, resolutions, ratios and lineage.
DEFERRED_SEMANTIC_INPUTS[]Tolerance, desirability, family membership and quantity-specific bounds.
HUMAN_FEEDBACK_HOOKS[]Membership/order/measurement corrections.
CONFLICT_PRIORITY_ASSUMPTIONS[]Confidence and module order do not resolve conflicts.
LAB_HOOKS[]Part-whole perception and nested-membership studies.

17.02 regression suite

13 / deterministic tests

Tests cover explicit membership, ordered part/whole alignment, owner-qualified positive measurements, conflict preservation, ratio math, ratio-below/above-one preservation, immutable attachment and Topic16/17.03–17.04 ownership boundaries.

Tests not run yet.

DATA FOR LAYOUT ENGINE

14 / machine contract
{
  "module": "Compo 17.02",
  "name": "part_to_whole_ratios",
  "version": "1.0-canonical",
  "canonical_main_title": "Part-to-whole ratios",
  "topic": "17_ПРОПОРЦИИ_ФОРМ_И_ЧАСТЕЙ_К_ЦЕЛОМУ",
  "scope": "EXPLICIT_PART_WHOLE_MEMBERSHIP_OWNER_QUALIFIED_MEASUREMENTS_AND_ORDERED_OBSERVED_PART_TO_WHOLE_RATIO_DESCRIPTORS_ONLY",
  "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.02",
    "owns": [
      "PartWholeMembershipKind taxonomy",
      "PartWholeMembershipEvidence",
      "PartWholeMembershipResolution",
      "PartWholeMeasurementEvidence",
      "PartWholeMeasurementResolution",
      "PartToWholeRatioDescriptor",
      "PartWholeObservationPolicy",
      "PartWholeObservationSet",
      "PartWholeAttachment",
      "explicit part/whole semantic alignment for PART_TO_WHOLE relations",
      "owner-qualified part/whole measurement resolution",
      "ordered observed part-to-whole ratio computation",
      "identity/status/provenance rules for Topic17 part-to-whole layer",
      "non-mutating correction request for membership / measurement / ordered relation evidence"
    ],
    "does_not_own": [
      "ProportionSubject / ProportionMeasureBinding / ProportionRelation identity — Compo17.00",
      "reference-ratio declaration — Compo17.00",
      "shape aspect ratios / shape orientation — Compo17.01",
      "ratio family discovery / repeated proportional systems — Compo17.03",
      "tolerance profiles / deviation evaluation — Compo17.04",
      "MetricResult ownership / scoring / repair generation — Compo17.04",
      "raw geometry measurement — upstream geometry/measurement owners",
      "geometric containment inference — foreign geometry/semantic owners",
      "DOM/tree parenthood as universal part/whole truth",
      "object-to-object scale differentiation — Topic16",
      "Topic16 ScaleRatioDescriptor / scale classes / scale ladders",
      "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",
      "foreign geometry/style/semantic mutation"
    ]
  },
  "consumes": [
    "valid Compo17.00 PART_TO_WHOLE ProportionRelation",
    "valid Compo17.00 NUMERATOR and DENOMINATOR ProportionTerms",
    "valid Compo17.00 compatible ProportionMeasureBinding comparison signatures",
    "explicit owner-qualified part/whole membership evidence",
    "owner-qualified part and whole measurement evidence",
    "explicit PartWholeObservationPolicy"
  ],
  "provides": [
    "PartWholeMembershipResolution[]",
    "PartWholeMeasurementResolution[]",
    "PartToWholeRatioDescriptor[]",
    "PartWholeObservationSet",
    "PartWholeAttachment",
    "Topic17.02 observation record"
  ],
  "owns_metrics": [],
  "metric_ownership_note": "17.02 owns explicit part/whole membership resolution and observed ordered part-to-whole ratio descriptors only. It does not score reference fit, proportional quality, hierarchy or desirability.",
  "part_whole_membership_kind_taxonomy": {
    "DIRECT_PART_OF": "Explicit source declares the numerator subject as a direct part/component of the denominator subject.",
    "NESTED_PART_OF": "Explicit source declares the numerator subject as a nested descendant part of the denominator subject; transitivity is not inferred by 17.02.",
    "DECLARED_SHARE_OF": "Explicit source declares a share/subset relation suitable for the bound quantity; no visual containment is inferred.",
    "CUSTOM_OWNER_DECLARED": "Owner-qualified membership semantics supplied by an explicit foreign source."
  },
  "part_whole_membership_evidence_schema": {
    "partWholeMembershipEvidenceRef": "stable identity",
    "scopeRef": "Topic17 scope",
    "proportionRelationRef": "exact PART_TO_WHOLE relation",
    "partProportionSubjectRef": "must equal relation NUMERATOR subject",
    "wholeProportionSubjectRef": "must equal relation DENOMINATOR subject",
    "membershipKind": "one PartWholeMembershipKind",
    "membershipContextRef": "explicit context",
    "membershipSourceRef": "explicit source",
    "membershipSourceOwnerRef": "owner-qualified semantic owner",
    "confidence": "finite [0,1] or null; diagnostic only",
    "status": "OK|INVALID",
    "provenance": "canonical provenance",
    "mutationAllowed": false,
    "firewall": "17.02 never infers membership from overlap, containment, z-order, size, DOM parenthood, proximity or naming alone."
  },
  "part_whole_membership_resolution_schema": {
    "partWholeMembershipResolutionRef": "stable identity",
    "proportionRelationRef": "exact relation",
    "partProportionSubjectRef": "ordered numerator subject",
    "wholeProportionSubjectRef": "ordered denominator subject",
    "membershipKind": "resolved exact kind or null",
    "membershipContextRef": "resolved exact context or null",
    "evidenceRefs": "actual membership evidence lineage",
    "resolutionPolicy": "EXACT_SINGLE_DECLARATION_OR_CONSENSUS_EQUAL_ONLY",
    "status": "OK|N_A|INVALID",
    "reasonCode": "explicit",
    "provenance": "DERIVED",
    "mutationAllowed": false,
    "firewall": "Conflicting membership declarations do not average or use confidence voting. Missing membership remains N_A."
  },
  "part_whole_measurement_evidence_schema": {
    "partWholeMeasurementEvidenceRef": "stable identity",
    "scopeRef": "Topic17 scope",
    "proportionRelationRef": "exact PART_TO_WHOLE relation",
    "proportionTermRef": "exact NUMERATOR part term or DENOMINATOR whole term",
    "proportionMeasureBindingRef": "exact 17.00 binding",
    "semanticMeasureRole": "PART_VALUE|WHOLE_VALUE",
    "value": "finite strictly positive scalar",
    "measurementUnitRef": "must exactly match binding unit",
    "measurementFrameRef": "must exactly match binding frame",
    "measurementReferenceContextRef": "must exactly match binding context",
    "measurementMethodRef": "must exactly match binding method",
    "measurementOwnerRef": "must exactly match binding owner",
    "measurementEvidenceSourceRef": "foreign evidence source",
    "confidence": "finite [0,1] or null; diagnostic only",
    "status": "OK|INVALID",
    "provenance": "canonical provenance",
    "mutationAllowed": false,
    "firewall": "No silent conversion, remeasurement, geometry fallback, whole reconstruction or part subtraction."
  },
  "part_whole_measurement_resolution_schema": {
    "partWholeMeasurementResolutionRef": "stable identity",
    "proportionRelationRef": "exact relation",
    "proportionTermRef": "exact ordered term",
    "semanticMeasureRole": "PART_VALUE|WHOLE_VALUE",
    "resolvedValue": "finite >0 when OK, null when N_A/INVALID",
    "measurementUnitRef": "exact unit",
    "evidenceRefs": "actual evidence lineage",
    "resolutionPolicy": "EXACT_SINGLE_VALUE_OR_CONSENSUS_EQUAL_ONLY",
    "status": "OK|N_A|INVALID",
    "reasonCode": "explicit",
    "provenance": "DERIVED",
    "mutationAllowed": false,
    "firewall": "Identical duplicates may resolve; conflicting numeric evidence remains N_A + CONFLICT."
  },
  "part_to_whole_ratio_descriptor_schema": {
    "partToWholeRatioDescriptorRef": "stable identity",
    "proportionRelationRef": "exact PART_TO_WHOLE relation",
    "partTermRef": "exact NUMERATOR term",
    "wholeTermRef": "exact DENOMINATOR term",
    "membershipResolutionRef": "exact OK membership resolution",
    "partMeasurementResolutionRef": "exact resolved part value",
    "wholeMeasurementResolutionRef": "exact resolved whole value",
    "comparisonSignatureRef": "exact shared signature from 17.00",
    "partValue": "finite >0",
    "wholeValue": "finite >0",
    "orderedPartToWholeRatio": "partValue / wholeValue, finite >0",
    "inverseWholeToPartRatio": "wholeValue / partValue, finite >0",
    "ratioDirection": "PART_OVER_WHOLE",
    "referenceRatioRefs": "copied explicit references from 17.00 relation; no fit evaluated",
    "status": "OK|N_A|INVALID",
    "provenance": "DERIVED",
    "mutationAllowed": false,
    "firewall": "Ratio preserves semantic order and is never larger-to-smaller normalized. Membership alone does not impose a universal ratio <=1 rule for every quantity kind."
  },
  "part_whole_observation_policy_schema": {
    "partWholeObservationPolicyRef": "stable identity",
    "relationSelectionMode": "EXPLICIT_PART_TO_WHOLE_RELATIONS_ONLY",
    "membershipResolutionMode": "EXACT_SINGLE_DECLARATION_OR_CONSENSUS_EQUAL_ONLY",
    "measurementResolutionMode": "EXACT_SINGLE_VALUE_OR_CONSENSUS_EQUAL_ONLY",
    "duplicateEvidencePolicy": "IDENTICAL_VALUES_MAY_COLLAPSE",
    "conflictPolicy": "N_A_NO_ARBITRATION",
    "membershipInferenceAllowed": false,
    "ratioCanonicalization": "ORDERED_PART_OVER_WHOLE_ONLY",
    "maxRelations": "integer 1..4096",
    "maxMembershipEvidencePerRelation": "integer 1..4096",
    "maxMeasurementEvidencePerTerm": "integer 1..4096",
    "overflowPolicy": "N_A_NO_TRUNCATION",
    "policySourceRef": "explicit source",
    "policySourceOwnerRef": "owner",
    "provenance": "canonical provenance",
    "status": "OK|INVALID",
    "mutationAllowed": false,
    "firewall": "No auto-discovery, no transitive closure, no inverse relation generation, no implicit whole=parent, no full Cartesian product."
  },
  "part_whole_observation_set_schema": {
    "partWholeObservationSetRef": "stable identity",
    "scopeRef": "scope",
    "snapshotRef": "snapshot",
    "proportionSchemaRef": "exact 17.00 schema",
    "partWholeObservationPolicyRef": "exact policy",
    "relationRefs": "explicit PART_TO_WHOLE relations",
    "membershipResolutionRefs": "resolved explicit memberships",
    "measurementResolutionRefs": "resolved part and whole measurements",
    "partToWholeRatioDescriptorRefs": "observed ordered ratios",
    "status": "OK|N_A|INVALID",
    "reasonCode": "explicit",
    "mutationAllowed": false,
    "firewall": "Observation set is descriptive. Missing/conflicting membership or measurements stay N_A and never become zero or inferred relations."
  },
  "part_whole_attachment_schema": {
    "partWholeAttachmentRef": "stable identity",
    "proportionSystemSeedRef": "exact immutable 17.00 seed",
    "partWholeObservationSetRef": "exact 17.02 set",
    "status": "OK|N_A|INVALID",
    "mutationAllowed": false,
    "firewall": "Attachment is downstream and does not mutate the 17.00 ProportionSystemSeed in place."
  },
  "ratio_math_contract": {
    "orderedPartToWholeRatio": "partValue / wholeValue",
    "inverseWholeToPartRatio": "wholeValue / partValue",
    "reciprocalInvariant": "orderedPartToWholeRatio * inverseWholeToPartRatio = 1 within numeric precision",
    "domain": "(0,+∞)",
    "orientation": "PART_OVER_WHOLE",
    "ratioMayBeLessThanOne": true,
    "ratioMayEqualOne": true,
    "ratioMayExceedOne": true,
    "universalUpperBoundAtOne": false,
    "firewall": "A universal <=1 rule is not inferred from the words part/whole because the compared owner-qualified quantity may not be additive containment measure. Any such bound requires an explicit quantity-specific contract outside this generic descriptor."
  },
  "status_policy": {
    "invalidRelationKind": "INVALID",
    "membershipMissing": "N_A",
    "membershipConflict": "N_A + CONFLICT",
    "membershipOrderMismatch": "INVALID",
    "invalidMeasurement": "INVALID",
    "nonPositiveMeasurement": "INVALID",
    "unitMismatch": "N_A",
    "methodMismatch": "N_A",
    "frameMismatch": "N_A",
    "contextMismatch": "N_A",
    "ownerMismatch": "N_A",
    "missingPartEvidence": "N_A",
    "missingWholeEvidence": "N_A",
    "duplicateEqualEvidence": "OK",
    "duplicateConflictingEvidence": "N_A + CONFLICT",
    "relationOverflow": "N_A; no truncation",
    "membershipEvidenceOverflow": "N_A; no truncation",
    "measurementEvidenceOverflow": "N_A; no truncation",
    "validObservedPartWholeRatio": "OK",
    "N_A_not_zero": true
  },
  "identity_policy": {
    "partWholeMembershipEvidenceRef": "hash(scope, relation, ordered subjects, kind/context, source/owner, provenance, status)",
    "partWholeMembershipResolutionRef": "hash(relation, ordered subjects, resolved kind/context, canonical evidence refs, policy, status)",
    "partWholeMeasurementEvidenceRef": "hash(scope, relation, term, binding, semantic role, value, exact unit/method/frame/context/owner, source, provenance, status)",
    "partWholeMeasurementResolutionRef": "hash(relation, term, role, resolved value/unit, canonical evidence refs, resolution policy, status)",
    "partToWholeRatioDescriptorRef": "hash(relation, ordered terms, membership resolution, measurement resolutions, signature, numeric ratio/inverse, reference refs, status)",
    "partWholeObservationPolicyRef": "hash(selection/membership/measurement/duplicate/conflict/inference/canonicalization/max/overflow policies, source/owner, provenance, status)",
    "partWholeObservationSetRef": "hash(scope, snapshot, schema, policy, relation/membership/measurement/ratio refs, status)",
    "partWholeAttachmentRef": "hash(seed, observation set, status)",
    "excluded_from_identity": [
      "display label",
      "UI color",
      "free-form comment",
      "confidence when not used by resolution policy"
    ]
  },
  "critical_firewalls": [
    "17.02 owns explicit part/whole membership resolution and observed part-to-whole ratios only",
    "17.02 owns no MetricResult",
    "17.02 owns no independent numeric vote",
    "ProportionSubject / binding / relation identity remains Compo17.00",
    "reference-ratio declaration ownership remains Compo17.00",
    "only PART_TO_WHOLE relations are eligible in 17.02",
    "part is the NUMERATOR subject from 17.00",
    "whole is the DENOMINATOR subject from 17.00",
    "relation order is semantic and cannot be lexically swapped",
    "membership must be explicit and owner-qualified",
    "no membership inference from overlap",
    "no membership inference from geometric containment",
    "no membership inference from DOM/tree parenthood",
    "no membership inference from size",
    "no membership inference from proximity",
    "no transitive closure unless explicitly declared as evidence",
    "confidence cannot arbitrate conflicting membership evidence",
    "conflicting membership evidence => N_A + CONFLICT",
    "measurement evidence must be owner-qualified",
    "measurement value must be finite and strictly positive",
    "zero measurement = INVALID",
    "negative measurement = INVALID",
    "measurement unit must exactly match binding",
    "measurement method must exactly match binding",
    "measurement frame must exactly match binding",
    "measurement context must exactly match binding",
    "measurement owner must exactly match binding",
    "no silent unit conversion",
    "no silent method conversion",
    "no silent frame conversion",
    "no silent context conversion",
    "no silent owner substitution",
    "no raw geometry fallback",
    "no whole reconstruction from sibling sums",
    "no part value reconstruction by subtraction",
    "duplicate equal measurement evidence may resolve",
    "duplicate conflicting measurement evidence => N_A + CONFLICT",
    "no averaging conflicting evidence",
    "no median conflicting evidence",
    "no confidence winner",
    "orderedPartToWholeRatio = partValue/wholeValue",
    "inverseWholeToPartRatio = wholeValue/partValue",
    "17.02 does not normalize ratio to >=1",
    "ordered part-to-whole ratio may be <1, =1 or >1",
    "membership alone does not impose a universal <=1 numeric law",
    "ratio >1 is not automatically INVALID without an explicit quantity-specific bound",
    "ratio closer to any reference is not automatically better",
    "referenceRatioRefs are lineage only in 17.02",
    "17.02 does not evaluate reference-ratio closeness",
    "17.02 does not evaluate tolerance",
    "17.02 does not assign ratio family membership",
    "17.02 does not infer repeated proportional systems",
    "17.02 does not score proportions",
    "shape-aspect ownership remains Compo17.01",
    "ratio family / repeated system ownership remains Compo17.03",
    "tolerance / deviation fit / scoring ownership remains Compo17.04",
    "repair generator ownership remains Compo17.04",
    "object-to-object scale differentiation remains Topic16",
    "Topic16 ScaleRatioDescriptor is not reused",
    "Topic16 larger-to-smaller canonicalization is not imported",
    "Topic16 scale classes are not part-to-whole classes",
    "Topic16 scale ladder is not a ratio family",
    "transform scale factor ownership remains Compo3.05",
    "visual mass ownership remains Compo4",
    "format normalization / global scale invariance 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",
    "part/whole attachment != ProportionSystemSeed mutation",
    "correction request != foreign mutation",
    "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": {
    "partWholeCorrectionRequestRef": "stable identity",
    "targetOwnerRef": "membership / measurement / binding / relation owner",
    "reasonCode": "MEMBERSHIP_MISSING|MEMBERSHIP_CONFLICT|MEMBERSHIP_ORDER_WRONG|MEASUREMENT_MISSING|MEASUREMENT_CONFLICT|MEASUREMENT_VALUE_WRONG|BINDING_WRONG|RELATION_ORDER_WRONG|RELATION_KIND_WRONG|REFERENCE_LINK_WRONG",
    "proportionRelationRef": "exact relation",
    "proportionTermRef": "exact term or null",
    "partToWholeRatioDescriptorRef": "exact descriptor or null",
    "evidenceRefs": "actual lineage refs",
    "suggestedAction": "non-mutating review request",
    "status": "OPEN|INVALID",
    "mutationAllowed": false
  },
  "deferred_downstream": {
    "17.03": [
      "ratio family membership",
      "repeated proportional system detection",
      "family/system attachments"
    ],
    "17.04": [
      "tolerance profiles",
      "reference deviation",
      "target fit",
      "MetricResult scoring",
      "bounded deterministic repair candidates",
      "final Topic17 regression tests"
    ]
  },
  "topic16_firewall": {
    "Topic16": "unordered object-to-object scale differentiation; larger-to-smaller ratio",
    "Topic17_02": "ordered semantic part/whole relation; part divided by whole",
    "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.03": "ratio families / repeated proportional systems",
    "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": [
      "part-whole-perception",
      "share-ratio-language",
      "nested-component-proportion",
      "quantity-specific-upper-bound-study",
      "ratio-family-bridge",
      "semantic-membership-confidence",
      "part-whole-visualization"
    ],
    "DATA_CAPTURE": [
      "membership evidence",
      "membership resolutions",
      "part/whole measurement evidence",
      "measurement resolutions",
      "observed ordered ratios",
      "status/reason lineage"
    ],
    "DEFERRED_SEMANTIC_INPUTS": [
      "ratio desirability",
      "reference closeness",
      "tolerance",
      "ratio family membership",
      "quantity-specific upper-bound semantics",
      "global quality"
    ],
    "HUMAN_FEEDBACK_HOOKS": [
      "membership correction",
      "part/whole order correction",
      "measurement source correction",
      "binding correction",
      "relation-kind correction"
    ],
    "CONFLICT_PRIORITY_ASSUMPTIONS": [
      "membership source owner does not imply global priority",
      "confidence does not resolve conflict",
      "module order is not priority"
    ],
    "LAB_HOOKS": [
      "perceptual part-whole ratio studies",
      "nested-membership studies",
      "share-vs-containment semantics",
      "ratio>1 interpretation",
      "reference-family perception"
    ]
  },
  "data_for_layout_engine": {
    "status": "CANONICAL_LOCAL",
    "owner": "Compo17.02",
    "observational": true,
    "scoring": false,
    "independentNumericVotes": 0,
    "nextOwner": "Compo17.03",
    "stopAfterThisModule": true
  }
}
VISITS / ...