COMPO · 16.03 · SCALE LADDERS / DISTRIBUTIONS

Observed ladder.
No ideal ladder.

16.03 строит scale ladder из exact 16.02 basis ratios и описывает class-frequency и level-occupancy distributions. Уровни и шаги наблюдаются, а не оцениваются: больше уровней, широкий span или равномерность сами по себе не считаются преимуществом.

ModuleCompo 16.03
Levelsexact ratios
Stepsadjacent
Distributionsdescriptive
Metricsnone
NextSTOP

Observed levels, not preferred levels

00 / contract
16.02 assignment set + explicit selection policy → selected subjects exact basisRatio equality → occupied ladder levels adjacent levels → step ratios same selection → class-frequency distribution → level-occupancy distribution NO desirability NO regularity score NO target profile NO repair generator

Ladder structure is descriptive

01 / ownership
OWNS

Exact levels

Unique observed class-basis ratios become ascending scale levels.

OWNS

Distributions

Class frequencies and exact-level occupancy over one explicit selection.

NO SCORE

Structure only

owns_metrics=[]. More levels and even distributions are not preferred.

Selection is explicit

02 / denominator provenance
ScaleLadderDistributionPolicy {
  scaleClassAssignmentSetRef,
  scaleClassProfileRef,

  selectionMode:
    ALL_ASSIGNMENT_SUBJECTS
    or
    EXPLICIT_SUBJECT_REFS,

  explicitSubjectRefs[],

  subjectMultiplicityPolicy:
    REQUIRE_UNIQUE_OK_ASSIGNMENT_PER_SUBJECT,

  zeroSelectedPolicy:
    N_A,

  maxSelectedSubjects: 1..4096,

  overflowPolicy:
    N_A_NO_TRUNCATION
}
duplicate subject assignments → N_A → no silent double count selectedSubjectCount = denominator provenance != diversity != score

Exact basis ratios define levels

03 / exact merge only
levelMergeMode: EXACT_BASIS_RATIO_ONLY same exact basisRatio → same level near-equal but unequal ratios → different levels 16.01 NEAR_EQUAL does NOT collapse 16.03 exact levels
No hidden tolerance.

No epsilon, clustering or near-equal merge is introduced in 16.03.

ScaleLadderLevelDescriptor

04 / occupied size level
ScaleLadderLevelDescriptor {
  levelIndex,
  basisRatio,
  classKind,

  subjectRefs[],
  assignmentRefs[],
  basisDescriptorRefs[],

  subjectCount,

  status: OK,
  provenance: DERIVED,
  mutationAllowed: false
}
levelIndex = ascending size order only NOT: hierarchy rank dominance rank importance rank quality rank

Adjacent scale steps

05 / observed spacing
higherToLowerStepRatio
  = higherBasisRatio
    / lowerBasisRatio
  > 1

stepRatioDeltaFromEquality
  = higherToLowerStepRatio - 1
  > 0
step ratio != preferred progression != hierarchy strength != score equal step ratios != automatically good irregular step ratios != automatically bad

ScaleLadderDescriptor

06 / ladder summary
occupiedLevelCount
selectedSubjectCount

minBasisRatio
maxBasisRatio

overallSpanRatio
  = max / min

isSingleLevel

levelRefs[]
stepRefs[]
more levels != better fewer levels != worse larger span != better smaller span != worse single level: stepCount = 0 spanRatio = 1 status = OK

Class-frequency distribution

07 / S M L frequencies
ClassFields
SMALLcount, proportion, subjectRefs[]
MEDIUMcount, proportion, subjectRefs[]
LARGEcount, proportion, subjectRefs[]
sum(count) = selectedSubjectCount sum(proportion) = 1 zero class count = valid numeric 0 != N_A

Exact-level occupancy distribution

08 / occupancy
for every occupied level: count = subjects on exact level proportion = count / selectedSubjectCount sum counts = selectedSubjectCount sum proportions = 1
Distribution is not quality.

Even occupancy is not automatically good; concentrated occupancy is not automatically bad.

Scale distribution ≠ spatial distribution

09 / semantic firewall
scale distribution != spatial distribution != density map != salience map != attention map scale ladder level != hierarchy level != semantic importance level ladder span != visual mass range != dominance range

No hidden target progression

10 / no defaults
Not canonical here

Golden ratio, 1.618 step, modular scale, logarithmic regularity, preferred number of levels, ideal class balance.

Canonical here

Exact occupied ratios, ascending order, adjacent observed steps, counts and proportions.

Immutable downstream attachment

11 / lineage
ScaleSystemLadderDistributionAttachment {
  scaleSystemClassAttachmentRef,
  scaleLadderDistributionSetRef,

  status,
  mutationAllowed: false
}
16.00 root seed 16.01 ratio set 16.02 assignment set remain immutable.

Scoring remains 16.04

12 / next owner
16.00Relation identity and measurement binding.
16.01Magnitude resolution, pairwise ratios, near-equal descriptors.
16.02Profile-relative SMALL/MEDIUM/LARGE classes.
16.03Observed ladders, steps and distributions.
16.04Explicit target fit, MetricResult ownership and bounded repair candidates.

Descriptor ≠ target fit

13 / critical firewalls
occupiedLevelCount != quality overallSpanRatio != expressiveness score stepRatio != ideal progression class proportion != target fit level occupancy != balance score NO: entropy score diversity score regularity score hierarchy vote independent numeric vote

CANON → LAB → DATA → IDEAS

14 / mandatory hooks
IDEAS_REFS[]7 project directions preserved.
DATA_CAPTURE[]Selection, exact levels, steps, class and level distributions.
DEFERRED_SEMANTIC_INPUTS[]Desired ladder/distribution semantics remain 16.04/downstream.
HUMAN_FEEDBACK_HOOKS[]Level merge, span, step and distribution corrections.
CONFLICT_PRIORITY_ASSUMPTIONS[]Size order is not global priority.
LAB_HOOKS[]Perceived ladder-level and distribution studies.

16.03 regression suite

15 / deterministic tests

Tests cover explicit selection, duplicate-subject N_A, exact-ratio level grouping, near-equal non-merging, ascending ladder order, adjacent step math, single-level semantics, class and level distribution invariants, immutable attachments and no-score firewalls.

Tests not run yet.

DATA FOR LAYOUT ENGINE

16 / machine contract
{
  "module": "Compo 16.03",
  "name": "scale_ladders_and_distributions",
  "version": "1.0-canonical",
  "canonical_main_title": "Scale ladders and distributions",
  "topic": "16_МАСШТАБ_И_ОТНОШЕНИЕ_РАЗМЕРОВ",
  "scope": "EXPLICIT_SUBJECT_SELECTION_EXACT_BASIS_RATIO_LEVELS_ADJACENT_SCALE_LADDER_STEPS_AND_NONSCORING_CLASS_LEVEL_DISTRIBUTIONS_ONLY",
  "main_topic_contract": {
    "topic_title": "Масштаб и отношение размеров",
    "topic_goal": "Считает отношения размеров между объектами и масштабные ступени. Нужна для выразительной дифференциации, scale ladders и контроля почти-равных размеров.",
    "expected_output": "ScaleRelation[], size-ratio descriptors, scale classes",
    "planned_files": [
      "16.00 Scale relation model",
      "16.01 Pairwise size ratios",
      "16.02 Large/medium/small classes",
      "16.03 Scale ladders and distributions",
      "16.04 Candidates, scoring and tests"
    ]
  },
  "ownership": {
    "owner": "Compo16.03",
    "owns": [
      "ScaleLadderDistributionSelectionMode taxonomy",
      "ScaleLadderDistributionPolicy",
      "ScaleDistributionSelection",
      "ScaleClassFrequencyEntry",
      "ScaleClassDistributionDescriptor",
      "ScaleLadderLevelDescriptor",
      "ScaleLadderStepDescriptor",
      "ScaleLadderDescriptor",
      "ScaleLevelOccupancyEntry",
      "ScaleLevelDistributionDescriptor",
      "ScaleLadderDistributionSet",
      "ScaleSystemLadderDistributionAttachment",
      "exact-basis-ratio ladder-level construction",
      "adjacent higher-to-lower ladder-step ratios",
      "class-frequency and exact-level occupancy distributions",
      "identity/status/provenance rules for Topic16 ladder/distribution layer",
      "non-mutating correction request for selection / ladder-distribution policy / upstream class lineage"
    ],
    "does_not_own": [
      "ScaleSubject eligibility / ScaleRelation identity — Compo16.00",
      "raw magnitude evidence / magnitude resolution — Compo16.01",
      "pairwise numeric size ratios — Compo16.01",
      "near-equal policy / near-equal bands — Compo16.01",
      "ScaleClassProfile / SMALL-MEDIUM-LARGE assignment — Compo16.02",
      "class boundaries — Compo16.02",
      "raw geometry measurement — upstream geometry/measurement owners",
      "measurement binding definition — Compo16.00",
      "transform scale parameter — Compo3.05",
      "format normalization / global scale invariance — Compo6.03",
      "visual mass — Compo4",
      "dominance / focal ranking — Compo13",
      "microdetail size/contrast role-envelope semantics — Topic15",
      "target desirability of ladder steps / class distributions — Compo16.04",
      "MetricResult ownership / independent vote / repair generation — Compo16.04",
      "aspect ratio / part-to-whole proportions — Topic17",
      "generic hierarchy/subordination — Compo18",
      "semantic importance",
      "global balance",
      "foreign geometry/style/semantic mutation"
    ]
  },
  "consumes": [
    "valid Compo16.02 ScaleClassAssignmentSet",
    "valid Compo16.02 ScaleClassProfile lineage",
    "ScaleClassBasisDescriptor records referenced by assignments",
    "ScaleClassAssignment records",
    "explicit ScaleLadderDistributionPolicy"
  ],
  "provides": [
    "ScaleDistributionSelection",
    "ScaleClassDistributionDescriptor",
    "ScaleLadderLevelDescriptor[]",
    "ScaleLadderStepDescriptor[]",
    "ScaleLadderDescriptor",
    "ScaleLevelDistributionDescriptor",
    "ScaleLadderDistributionSet",
    "ScaleSystemLadderDistributionAttachment",
    "Topic16.03 observation record"
  ],
  "owns_metrics": [],
  "metric_ownership_note": "16.03 owns descriptive distributions and ladder structure only. Counts, proportions, occupied-level count, span ratio and adjacent-step ratios are descriptors, not MetricResult values, scores, quality judgments or independent numeric votes.",
  "selection_mode_taxonomy": {
    "ALL_ASSIGNMENT_SUBJECTS": "Use every unique OK assignment subject in the exact 16.02 assignment set.",
    "EXPLICIT_SUBJECT_REFS": "Use exactly the explicit subject refs supplied by the policy."
  },
  "scale_ladder_distribution_policy_schema": {
    "scaleLadderDistributionPolicyRef": "stable identity",
    "scopeRef": "Topic16 scope",
    "scaleClassAssignmentSetRef": "exact Compo16.02 assignment set",
    "scaleClassProfileRef": "exact Compo16.02 class profile",
    "selectionMode": "ALL_ASSIGNMENT_SUBJECTS|EXPLICIT_SUBJECT_REFS",
    "explicitSubjectRefs": "empty for ALL_ASSIGNMENT_SUBJECTS; unique non-empty refs for EXPLICIT_SUBJECT_REFS",
    "subjectMultiplicityPolicy": "REQUIRE_UNIQUE_OK_ASSIGNMENT_PER_SUBJECT",
    "zeroSelectedPolicy": "N_A",
    "levelMergeMode": "EXACT_BASIS_RATIO_ONLY",
    "stepMode": "ADJACENT_HIGHER_TO_LOWER_RATIO",
    "maxSelectedSubjects": "integer 1..4096",
    "maxLevels": "integer 1..4096",
    "overflowPolicy": "N_A_NO_TRUNCATION",
    "levelOrdering": "BASIS_RATIO_ASCENDING",
    "subjectOrderingWithinLevel": "LEXICAL_SERIALIZATION_ONLY",
    "policySourceRef": "explicit source",
    "policySourceOwnerRef": "owner",
    "provenance": "canonical provenance",
    "status": "OK|INVALID",
    "mutationAllowed": false,
    "default": "NONE — no implicit distribution policy",
    "firewall": "Selection and level construction are explicit. Near-equal values are not merged in v1; class labels do not define ladder levels; lexical subject order never defines scale order."
  },
  "scale_distribution_selection_schema": {
    "scaleDistributionSelectionRef": "stable identity",
    "scaleLadderDistributionPolicyRef": "exact policy",
    "scaleClassAssignmentSetRef": "exact assignment set",
    "selectedSubjectRefs": "canonical unique refs",
    "selectedAssignmentRefs": "one exact assignment per selected subject",
    "selectedBasisDescriptorRefs": "one exact basis descriptor per selected subject",
    "selectedSubjectCount": "integer >0 when OK",
    "status": "OK|N_A|INVALID",
    "reasonCode": "explicit",
    "mutationAllowed": false,
    "firewall": "Selection count is denominator provenance only. It is not scale diversity, hierarchy quality or composition score."
  },
  "scale_class_frequency_entry_schema": {
    "scaleClassFrequencyEntryRef": "stable identity",
    "scaleClassDistributionDescriptorRef": "parent descriptor identity context",
    "classKind": "SMALL|MEDIUM|LARGE",
    "count": "integer >=0",
    "proportion": "finite [0,1]",
    "subjectRefs": "canonical refs in this class",
    "status": "OK",
    "mutationAllowed": false,
    "firewall": "Class count/proportion is descriptive only. Zero count is valid numeric zero, not N_A."
  },
  "scale_class_distribution_descriptor_schema": {
    "scaleClassDistributionDescriptorRef": "stable identity",
    "scaleDistributionSelectionRef": "exact selection",
    "scaleClassProfileRef": "exact profile",
    "selectedSubjectCount": "positive denominator",
    "entries": "exactly SMALL, MEDIUM, LARGE entries",
    "occupiedClassKinds": "classes with count >0",
    "occupiedClassCount": "integer 1..3",
    "status": "OK|N_A|INVALID",
    "provenance": "DERIVED",
    "mutationAllowed": false,
    "invariants": [
      "sum(count) = selectedSubjectCount",
      "sum(proportion) = 1 within numeric tolerance",
      "count == subjectRefs.length for every class"
    ],
    "firewall": "Uniform class proportions are not automatically good; skewed proportions are not automatically bad. No class-balance score is owned here."
  },
  "scale_ladder_level_descriptor_schema": {
    "scaleLadderLevelDescriptorRef": "stable identity",
    "scaleDistributionSelectionRef": "exact selection",
    "scaleClassProfileRef": "exact profile",
    "levelIndex": "1-based ascending by exact basisRatio",
    "basisRatio": "finite strictly positive exact observed class-basis ratio",
    "classKind": "SMALL|MEDIUM|LARGE",
    "subjectRefs": "all selected subjects with exactly this basisRatio",
    "assignmentRefs": "matching assignment refs",
    "basisDescriptorRefs": "matching basis refs",
    "subjectCount": "integer >=1",
    "status": "OK",
    "provenance": "DERIVED",
    "mutationAllowed": false,
    "firewall": "A ladder level is an exact observed size level under one class profile. Same class may contain multiple levels. Near-equal-but-not-equal basis ratios remain distinct levels."
  },
  "scale_ladder_step_descriptor_schema": {
    "scaleLadderStepDescriptorRef": "stable identity",
    "lowerLevelRef": "exact lower adjacent level",
    "higherLevelRef": "exact higher adjacent level",
    "lowerBasisRatio": "finite >0",
    "higherBasisRatio": "finite > lowerBasisRatio",
    "higherToLowerStepRatio": "higherBasisRatio / lowerBasisRatio, finite >1",
    "stepRatioDeltaFromEquality": "higherToLowerStepRatio - 1, finite >0",
    "lowerClassKind": "class at lower level",
    "higherClassKind": "class at higher level",
    "crossesClassBoundary": "boolean",
    "status": "OK",
    "provenance": "DERIVED",
    "mutationAllowed": false,
    "firewall": "Adjacent step ratio describes spacing between occupied exact levels. It is not an ideal progression, preferred modular scale, quality score or hierarchy vote."
  },
  "scale_ladder_descriptor_schema": {
    "scaleLadderDescriptorRef": "stable identity",
    "scaleDistributionSelectionRef": "exact selection",
    "scaleClassProfileRef": "exact profile",
    "levelRefs": "ascending exact observed levels",
    "stepRefs": "adjacent steps; count=max(levelCount-1,0)",
    "occupiedLevelCount": "integer >=1",
    "selectedSubjectCount": "integer >=1",
    "minBasisRatio": "lowest level ratio",
    "maxBasisRatio": "highest level ratio",
    "overallSpanRatio": "maxBasisRatio/minBasisRatio, finite >=1",
    "isSingleLevel": "boolean",
    "status": "OK|N_A|INVALID",
    "provenance": "DERIVED",
    "mutationAllowed": false,
    "firewall": "Occupied-level count and span ratio are descriptive. More levels != better; fewer levels != worse; span ratio != expressiveness score."
  },
  "scale_level_occupancy_entry_schema": {
    "scaleLevelOccupancyEntryRef": "stable identity",
    "scaleLevelDistributionDescriptorRef": "parent descriptor identity context",
    "scaleLadderLevelRef": "exact level",
    "basisRatio": "exact level basis ratio",
    "classKind": "level class",
    "count": "level subject count",
    "proportion": "count / selectedSubjectCount",
    "subjectRefs": "exact occupants",
    "status": "OK",
    "mutationAllowed": false,
    "firewall": "Level occupancy is a distribution statistic, not salience, attention, importance or quality."
  },
  "scale_level_distribution_descriptor_schema": {
    "scaleLevelDistributionDescriptorRef": "stable identity",
    "scaleLadderDescriptorRef": "exact ladder",
    "scaleDistributionSelectionRef": "exact selection",
    "selectedSubjectCount": "positive denominator",
    "entries": "one entry per occupied ladder level",
    "occupiedLevelCount": "same as ladder",
    "status": "OK|N_A|INVALID",
    "provenance": "DERIVED",
    "mutationAllowed": false,
    "invariants": [
      "sum(count) = selectedSubjectCount",
      "sum(proportion) = 1 within numeric tolerance",
      "entries ordered by basisRatio ascending"
    ],
    "firewall": "Even level occupancy is not automatically good and concentrated occupancy is not automatically bad. No entropy, regularity, diversity or balance score is owned here."
  },
  "scale_ladder_distribution_set_schema": {
    "scaleLadderDistributionSetRef": "stable identity",
    "scopeRef": "scope",
    "scaleClassAssignmentSetRef": "exact upstream assignment set",
    "scaleClassProfileRef": "exact class profile",
    "scaleLadderDistributionPolicyRef": "exact explicit policy",
    "scaleDistributionSelectionRef": "exact selection",
    "scaleClassDistributionDescriptorRef": "class distribution",
    "scaleLadderLevelRefs": "canonical ordered levels",
    "scaleLadderStepRefs": "canonical ordered steps",
    "scaleLadderDescriptorRef": "exact ladder",
    "scaleLevelDistributionDescriptorRef": "level occupancy distribution",
    "status": "OK|N_A|INVALID",
    "reasonCode": "explicit",
    "mutationAllowed": false,
    "firewall": "This set is descriptive only. It does not select a target distribution, evaluate ladder regularity, score differentiation or generate repairs."
  },
  "scale_system_ladder_distribution_attachment_schema": {
    "scaleSystemLadderDistributionAttachmentRef": "stable identity",
    "scaleSystemClassAttachmentRef": "exact 16.02 system class attachment",
    "scaleLadderDistributionSetRef": "exact 16.03 set",
    "status": "OK|N_A|INVALID",
    "mutationAllowed": false,
    "firewall": "16.00 ScaleSystemSeed.scaleLadderAttachmentRef remains null. 16.03 attaches derived ladder/distribution data without mutating 16.00–16.02 records."
  },
  "comparability_contract": {
    "ladder_or_distribution_comparison_requires": [
      "same exact ScaleClassProfileRef",
      "same exact ScaleLadderDistributionPolicyRef",
      "same exact scaleMeasurementBindingRef through the class profile",
      "same exact referenceSubjectRef through the class profile",
      "compatible assignment/magnitude snapshot lineage"
    ],
    "forbids": [
      "cross-profile occupied-level-count ranking",
      "cross-policy distribution comparison",
      "cross-reference-subject span comparison",
      "cross-binding ladder-step comparison",
      "near-equal-band merging into exact ladder levels",
      "class count comparison as hierarchy comparison",
      "distribution comparison as global quality comparison"
    ],
    "firewall": "Different profile/policy ladders are not canonically rank-comparable. A larger occupiedLevelCount under another profile is not evidence of better differentiation."
  },
  "ladder_math_contract": {
    "levelMerge": "exact numeric basisRatio equality only",
    "levelOrder": "strictly ascending basisRatio",
    "adjacentStep": "higherBasisRatio / lowerBasisRatio",
    "stepDelta": "higherToLowerStepRatio - 1",
    "overallSpan": "maxBasisRatio / minBasisRatio",
    "singleLevel": {
      "stepCount": 0,
      "overallSpanRatio": 1
    },
    "domains": {
      "basisRatio": "(0,+∞)",
      "higherToLowerStepRatio": "(1,+∞)",
      "stepRatioDeltaFromEquality": "(0,+∞)",
      "overallSpanRatio": "[1,+∞)"
    },
    "firewall": "No logarithmic-step regularity score, no modular-scale target, no golden-ratio target, no preferred occupied-level count and no distribution desirability transform."
  },
  "status_policy": {
    "invalidPolicy": "INVALID",
    "invalidAssignmentSet": "INVALID",
    "policyAssignmentSetMismatch": "N_A",
    "policyProfileMismatch": "N_A",
    "zeroSelectedSubjects": "N_A",
    "selectedSubjectMissing": "N_A",
    "selectedSubjectDuplicateAssignment": "N_A",
    "selectedAssignmentN_A": "N_A",
    "selectedAssignmentInvalid": "INVALID",
    "selectedBasisMissing": "N_A",
    "selectedBasisN_A": "N_A",
    "selectedBasisInvalid": "INVALID",
    "selectedBasisProfileMismatch": "N_A",
    "selectedSubjectOverflow": "N_A; no truncation",
    "levelOverflow": "N_A; no truncation",
    "zeroClassCount": "valid numeric 0",
    "singleOccupiedLevel": "OK ladder with zero steps and span ratio 1",
    "validDistributionSet": "OK",
    "N_A_not_zero": true
  },
  "identity_policy": {
    "scaleLadderDistributionPolicyRef": "hash(scope, assignment set, profile, selection mode/refs, multiplicity/zero/merge/step/max/overflow/order policies, source/owner, provenance, status)",
    "scaleDistributionSelectionRef": "hash(policy, assignment set, canonical selected subject/assignment/basis refs, selected count, status)",
    "scaleClassFrequencyEntryRef": "hash(parent distribution identity context, class, count, proportion, canonical subject refs, status)",
    "scaleClassDistributionDescriptorRef": "hash(selection, profile, denominator, class counts/proportions/subjects, occupied classes, status)",
    "scaleLadderLevelDescriptorRef": "hash(selection, profile, level index, exact basis ratio, class, canonical subject/assignment/basis refs, count, status)",
    "scaleLadderStepDescriptorRef": "hash(lower/higher levels, exact ratios, step ratio/delta, classes, boundary-cross flag, status)",
    "scaleLadderDescriptorRef": "hash(selection, profile, ordered level/step refs, counts, min/max/span/single flag, status)",
    "scaleLevelOccupancyEntryRef": "hash(parent level-distribution context, level, ratio, class, count/proportion/subjects, status)",
    "scaleLevelDistributionDescriptorRef": "hash(ladder, selection, denominator, ordered occupancy entries, occupied count, status)",
    "scaleLadderDistributionSetRef": "hash(scope, assignment set, profile, policy, selection, class distribution, ordered levels/steps, ladder, level distribution, status)",
    "scaleSystemLadderDistributionAttachmentRef": "hash(system class attachment, ladder-distribution set, status)",
    "excluded_from_identity": [
      "display label",
      "display color",
      "UI ordering outside canonical basis/lexical serialization",
      "free-form comment"
    ]
  },
  "critical_firewalls": [
    "16.03 consumes Compo16.02 assignments; it does not redefine class assignment ownership",
    "16.03 consumes Compo16.02 basis ratios; it does not redefine class-basis ownership",
    "16.03 owns descriptive scale ladders and distributions only",
    "16.03 owns no MetricResult",
    "16.03 owns no independent numeric vote",
    "ladder/distribution policy must be explicit",
    "no implicit distribution policy",
    "selection mode must be explicit",
    "explicit subset subject refs must be unique",
    "zero selected subjects => N_A",
    "selected subject must have exactly one OK assignment",
    "duplicate subject assignments are not silently counted twice",
    "duplicate subject assignments => N_A",
    "selection count is denominator provenance only",
    "selection count != scale diversity",
    "selection count != score",
    "level merge mode = EXACT_BASIS_RATIO_ONLY",
    "exact basis-ratio equality may share one ladder level",
    "near-equal-but-not-equal basis ratios remain distinct levels",
    "near-equal policy from 16.01 does not merge ladder levels",
    "class labels do not define ladder levels",
    "same class may occupy multiple exact ladder levels",
    "different classes cannot share one exact level under one valid deterministic class profile",
    "ladder level order comes from basisRatio ascending",
    "ladder level order != hierarchy order",
    "ladder level order != dominance order",
    "ladder level order != importance order",
    "ladder level order != quality order",
    "subject lexical order != scale order",
    "subject lexical order within level is serialization only",
    "occupiedLevelCount != scale quality",
    "more occupied levels != better",
    "fewer occupied levels != worse",
    "single occupied level != failure",
    "single occupied level has zero steps",
    "single occupied level has overallSpanRatio 1",
    "overallSpanRatio != expressiveness score",
    "larger overallSpanRatio != automatically better",
    "smaller overallSpanRatio != automatically worse",
    "adjacent ladder step uses higherBasisRatio/lowerBasisRatio",
    "adjacent ladder step ratio > 1",
    "step ratio != preferred progression",
    "step ratio != hierarchy strength",
    "step ratio != score",
    "step delta != penalty",
    "equal adjacent step ratios != automatically good",
    "irregular adjacent step ratios != automatically bad",
    "no logarithmic regularity score in 16.03",
    "no modular scale target in 16.03",
    "no golden-ratio ladder target",
    "no implicit 1.618 ladder step",
    "no preferred occupied-level count",
    "class distribution denominator = selectedSubjectCount",
    "class count sum = selectedSubjectCount",
    "class proportions sum = 1",
    "zero class count is valid numeric 0",
    "zero class count != N_A",
    "uniform class distribution != automatically good",
    "skewed class distribution != automatically bad",
    "class proportion != target fit",
    "class distribution != score",
    "class distribution != hierarchy",
    "level occupancy denominator = selectedSubjectCount",
    "level occupancy count sum = selectedSubjectCount",
    "level occupancy proportions sum = 1",
    "even level occupancy != automatically good",
    "concentrated level occupancy != automatically bad",
    "level occupancy != salience",
    "level occupancy != attention",
    "level occupancy != importance",
    "level occupancy != score",
    "no entropy score in 16.03",
    "no diversity score in 16.03",
    "no balance score in 16.03",
    "no ladder regularity score in 16.03",
    "no target scoring in 16.03",
    "no repair generator in 16.03",
    "ScaleClassDistributionDescriptor != MetricResult",
    "ScaleLadderDescriptor != MetricResult",
    "ScaleLevelDistributionDescriptor != MetricResult",
    "ScaleSubject/ScaleRelation ownership remains Compo16.00",
    "magnitude/ratio/near-equal ownership remains Compo16.01",
    "ScaleClassProfile/class assignment ownership remains Compo16.02",
    "scoring/generator ownership remains Compo16.04",
    "visual mass ownership remains Compo4",
    "dominance ownership remains Compo13",
    "microdetail role-envelope ownership remains Topic15",
    "aspect ratio / part-to-whole ownership remains Topic17",
    "generic hierarchy/subordination remains Compo18 territory",
    "transform scale factor ownership remains Compo3.05",
    "format normalization / global scale invariance ownership remains Compo6.03",
    "raw geometry measurement remains foreign-owned",
    "ladder span != visual mass range",
    "ladder span != dominance range",
    "ladder level != hierarchy level",
    "ladder level != semantic importance level",
    "scale distribution != spatial distribution",
    "scale distribution != density map",
    "scale ladder != typographic modular scale target",
    "ladder/distribution attachment != upstream mutation",
    "system ladder attachment != ScaleSystemSeed mutation",
    "system ladder attachment != ratio-set mutation",
    "system ladder attachment != class-assignment-set 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": {
    "scaleLadderDistributionCorrectionRequestRef": "stable identity",
    "targetOwnerRef": "selection-policy / class-assignment / class-profile / basis-lineage owner",
    "reasonCode": "SELECTION_POLICY_WRONG|SUBJECT_SELECTION_WRONG|DUPLICATE_SUBJECT_ASSIGNMENT_WRONG|CLASS_ASSIGNMENT_WRONG|BASIS_RATIO_WRONG|CLASS_PROFILE_WRONG|LADDER_LEVEL_CONSTRUCTION_WRONG|CLASS_DISTRIBUTION_WRONG|LEVEL_DISTRIBUTION_WRONG",
    "scaleLadderDistributionPolicyRef": "exact policy or null",
    "subjectRefs": "canonical refs[]",
    "evidenceRefs": "canonical refs[]",
    "suggestedAction": "non-mutating review request",
    "status": "OPEN|INVALID",
    "mutationAllowed": false
  },
  "deferred_downstream": {
    "16.04": [
      "explicit target scale-relation / class / ladder / distribution profile",
      "target desirability of near-equal relations",
      "target desirability of class proportions",
      "target desirability of occupied level count / ladder span / step pattern",
      "component/composite MetricResult ownership",
      "exact independent-vote budget for Topic16",
      "bounded deterministic repair candidates",
      "final Topic16 regression tests"
    ]
  },
  "IDEAS_REFS": [
    "IDEA-01 full human test after all 72 topics; compare perceived scale hierarchy/differentiation with ladder descriptors without promoting perception to canon automatically",
    "IDEA-02 semantics before placement; subject selection and profile lineage remain explicit",
    "IDEA-03 explicit priorities; ladder order is size order only and never hidden global priority",
    "IDEA-04 collect structured ladder/distribution data for future composition model",
    "IDEA-05 preserve reasons for human corrections to ladder levels, distributions and selected subjects",
    "IDEA-06 structured machine-readable data layer for website",
    "IDEA-07 graphics-for-post-text research remains downstream/separate"
  ],
  "DATA_CAPTURE": [
    "sceneRef",
    "scopeRef",
    "snapshotRef",
    "scaleClassAssignmentSetRef",
    "scaleClassProfileRef",
    "scaleMeasurementBindingRef",
    "referenceSubjectRef",
    "scaleLadderDistributionPolicyRef",
    "selectionMode",
    "explicitSubjectRefs[]",
    "selectedSubjectRefs[]",
    "selectedAssignmentRefs[]",
    "selectedBasisDescriptorRefs[]",
    "selectedSubjectCount",
    "scaleDistributionSelectionRef",
    "scaleClassDistributionDescriptorRef",
    "classCountByKind",
    "classProportionByKind",
    "occupiedClassKinds[]",
    "occupiedClassCount",
    "scaleLadderLevelRefs[]",
    "basisRatioByLevel",
    "classKindByLevel",
    "subjectRefsByLevel",
    "subjectCountByLevel",
    "scaleLadderStepRefs[]",
    "higherToLowerStepRatioByStep",
    "stepRatioDeltaByStep",
    "crossesClassBoundaryByStep",
    "scaleLadderDescriptorRef",
    "occupiedLevelCount",
    "minBasisRatio",
    "maxBasisRatio",
    "overallSpanRatio",
    "isSingleLevel",
    "scaleLevelDistributionDescriptorRef",
    "levelOccupancyCountByLevel",
    "levelOccupancyProportionByLevel",
    "scaleLadderDistributionSetRef",
    "scaleSystemLadderDistributionAttachmentRef",
    "humanReasonCodes[]",
    "futureMetricResultRefs[]"
  ],
  "DEFERRED_SEMANTIC_INPUTS": [
    "whether more or fewer occupied scale levels are desirable",
    "desired class-frequency distribution",
    "desired level-occupancy distribution",
    "desired ladder span",
    "desired adjacent-step pattern",
    "whether equal step ratios are desirable",
    "whether near-equal occupied levels should be discouraged",
    "global hierarchy consequences of ladder structure",
    "final Topic16 target profile"
  ],
  "HUMAN_FEEDBACK_HOOKS": [
    "SUBJECT_SELECTION_WRONG",
    "SUBJECT_SHOULD_BE_INCLUDED",
    "SUBJECT_SHOULD_BE_EXCLUDED",
    "DUPLICATE_SUBJECT_ASSIGNMENT_REAL",
    "DUPLICATE_SUBJECT_ASSIGNMENT_SHOULD_RESOLVE",
    "LADDER_LEVEL_SHOULD_MERGE",
    "LADDER_LEVEL_SHOULD_REMAIN_DISTINCT",
    "EXACT_LEVEL_GROUPING_WRONG",
    "LADDER_ORDER_WRONG",
    "STEP_RATIO_WRONG",
    "SPAN_RATIO_WRONG",
    "CLASS_DISTRIBUTION_WRONG",
    "LEVEL_DISTRIBUTION_WRONG",
    "CLASS_PROPORTIONS_FEEL_TOO_EVEN",
    "CLASS_PROPORTIONS_FEEL_TOO_SKEWED",
    "LEVEL_OCCUPANCY_FEELS_TOO_EVEN",
    "LEVEL_OCCUPANCY_FEELS_TOO_CONCENTRATED",
    "LADDER_FEELS_TOO_COMPRESSED",
    "LADDER_FEELS_TOO_EXPANDED",
    "TOO_MANY_SCALE_LEVELS",
    "TOO_FEW_SCALE_LEVELS",
    "STEP_PATTERN_FEELS_TOO_REGULAR",
    "STEP_PATTERN_FEELS_TOO_IRREGULAR",
    "NEAR_EQUAL_LEVELS_FEEL_SAME",
    "NEAR_EQUAL_LEVELS_FEEL_DISTINCT"
  ],
  "CONFLICT_PRIORITY_ASSUMPTIONS": [
    "module execution order is not priority",
    "basis-ratio ascending order is size order only",
    "ladder level index is not global hierarchy priority",
    "class order is size order only",
    "subject lexical order is serialization only",
    "policy list order is not desirability priority",
    "distribution proportions are not rule priority",
    "future reviewed global conflict-priority owner remains authoritative"
  ],
  "LAB_HOOKS": [
    "human study: perceived number of scale levels versus exact occupied basis-ratio levels",
    "study whether near-equal exact levels are perceived as one level",
    "study preferred ladder spans by style without canonizing preference",
    "study regular versus irregular adjacent-step perception",
    "compare class-frequency and perceived differentiation",
    "compare level occupancy and perceived balance",
    "collect successful compositions with one occupied scale level",
    "collect successful compositions with highly skewed class distributions",
    "collect cases where scale ladder and semantic hierarchy diverge"
  ],
  "observation_record": {
    "moduleRef": "Compo16.03",
    "metricResults": [],
    "scaleClassDistributionDescriptorRefs": [],
    "scaleLadderDescriptorRefs": [],
    "scaleLevelDistributionDescriptorRefs": [],
    "futureMetricResultRefs": []
  },
  "stop_condition": "STOP after 16.03. Do not create 16.04 in this module."
}
VISITS / ...