COMPO · 23.00 · RADIAL SYSTEM SCHEMA

System first.
Center later.

23.00 создаёт root-схему радиальной композиции: explicit subjects, единая owner-qualified 2D coordinate frame, точные position bindings и явные membership intents в одну radial system. Hub, polar coordinates, rings, radius bands, sectors и оценка качества здесь не вычисляются.

ModuleCompo 23.00
Membershipexplicit only
Hubdeferred 23.01
Ringsdeferred 23.02
Metricsnone
NextSTOP

Root schema before polar geometry

00 / contract
explicit subject eligibility → RadialSubjectSet explicit owner-qualified 2D frame + one exact position binding per subject + one explicit membership intent per subject → RadialSystemSchema → RadialSystemSeed NO hub detection NO radius / angle NO rings / radius bands NO angular sectors NO score / generator

One owner for radial identity

01 / ownership
OWNS

Identity + lineage

Subject eligibility, bounded subject set, coordinate-frame binding, per-subject position binding, explicit radial membership intent, root schema and immutable system seed.

DOES NOT OWN

Interpretation + scoring

Hub detection, polar coordinates, rings, radius bands, orbital groups, sectors, angular spacing, occupancy, symmetry, centroid/moments, scoring, MetricResult or candidate generation.

Subjects are explicit

02 / subject set
EVIDENCE

Eligibility declaration

Evidence is bound to exact scope + snapshot + subject. Missing evidence → N_A. Contradictory eligible=true/false → N_A; confidence never selects a winner.

POLICY

Bounded selection

EXPLICIT_SUBJECTS_ONLY, 1..4096. Overflow → N_A without truncation. No discovery from geometry, DOM order, hierarchy or visual mass.

FIREWALL

Participation ≠ role

Inclusion in a radial system does not imply hub, ring, sector, focal, decorative, hierarchy or balance role.

Coordinate frame is only a frame

03 / coordinates
RadialCoordinateFrameBinding { scopeRef, snapshotRef, coordinateFrameRef, coordinateFrameOwnerRef, unitRef, frameContextRef, dimensionality: 2, provenance, status, mutationAllowed: false } coordinate-frame origin != hub frame center != radial center viewport center != radial center

Positions stay foreign-owned

04 / position adapter
STORES

Exact position lineage

subjectRef + coordinateFrameRef + foreign positionRef + positionOwnerRef + optional context/provenance. No copied geometry is required.

NO POLAR DERIVATION

No radius or angle yet

23.00 does not compute distance to a center, polar angle, side, ring, orbit, sector, spoke or angular neighbor.

Membership intent is declarative

05 / membership
RadialMembershipIntent { scopeRef, snapshotRef, radialSystemRef, subjectRef, membershipContextRef, sourceRef, sourceOwnerRef, provenance, status, mutationAllowed: false } membership intent != ring membership membership intent != sector membership membership intent != evidence of a hub

Complete lineage or N_A

06 / root schema
OK

One position + one intent

Every included subject has exactly one valid position binding in the declared frame and exactly one membership intent for the same radialSystemRef.

N_A

Missing lineage

Missing position or membership intent does not become zero, center, empty ring or inferred membership.

N_A

Conflicting lineage

Duplicate exact subject assignments are unresolved. No confidence-based winner and no silent deduplication.

INVALID

Malformed record

Invalid taxonomy, malformed refs or illegal policy bounds remain INVALID and never enter geometry.

Immutable downstream anchor

07 / seed
RadialSystemSeed {
  radialSystemSchemaRef,
  hubAttachmentRef: null,
  radiusBandAttachmentRef: null,
  sectorAttachmentRef: null,
  scoringAttachmentRef: null,
  metricResultRefs: [],
  status,
  mutationAllowed: false
}

Downstream modules attach new records. They do not rewrite 23.00 root identity.

Downstream ownership stays explicit

08 / deferrals
23.01Hub/center detection and explicit hub descriptor attachment.
23.02Polar radius derivation, radius bands, rings and orbital groups.
23.03Polar angle, angular spacing, sector occupancy and related descriptors.
23.04Target fit, scoring, bounded generator and final regression tests.

Topic22 / Topic23 firewall

09 / neighboring topic
Topic22 asymmetric balance: visual mass + positions → centroid / moment / counterweight Topic23 radial systems: explicit system membership + positions → hub / radius bands / sectors downstream centroid != hub by default counterweight != radial membership moment arm != ring radius regional mass sector != angular sector

Schema is not interpretation

10 / critical firewalls
Canonical now

Explicit identities, owner-qualified frame and position refs, explicit membership intents, bounded root schema, immutable seed.

Forbidden defaults

Canvas center as hub, automatic ring count, equal-angle target, equal-radius target, symmetry assumption, golden-angle target, radial beauty score.

subject near frame center != hub same distance from unknown center != ring same angular spacing != automatically desirable radial membership != symmetric balance radial membership != semantic importance N_A != 0 INVALID != 0 descriptor != score local != global geometry != interpretation

CANON → LAB → DATA → IDEAS

11 / mandatory hooks
IDEAS_REFS[]Radial synthesis, nested systems, hub ambiguity, ring perception, angular rhythm, intentional asymmetry, multi-center composition.
DATA_CAPTURE[]Eligibility, frame lineage, position bindings, membership intents and root identity.
DEFERRED_SEMANTIC_INPUTS[]Hub evidence, ring/sector tolerances, style intent and target fit.
HUMAN_FEEDBACK_HOOKS[]Subject, frame, position and membership corrections.
CONFLICT_PRIORITY_ASSUMPTIONS[]Confidence, frame origin and array order carry no hidden priority.
LAB_HOOKS[]Perceived center, ring grouping and sector occupancy studies.

23.00 regression suite

12 / deterministic tests

Tests cover eligibility conflict preservation, bounded explicit subject selection, exact 2D frame/position lineage, explicit radial membership, missing/duplicate/foreign binding semantics, immutable seed, zero metrics and strict 23.01–23.04 / Topic21–22 ownership firewalls.

Tests not run yet.

DATA FOR LAYOUT ENGINE

13 / machine contract
{
  "module": "Compo 23.00",
  "name": "radial_system_schema",
  "version": "1.0-canonical",
  "canonical_main_title": "Radial system schema",
  "topic": "23_РАДИАЛЬНЫЙ_БАЛАНС_И_ЦЕНТРАЛЬНЫЕ_СИСТЕМЫ",
  "scope": "EXPLICIT_RADIAL_SYSTEM_SUBJECTS_OWNER_QUALIFIED_2D_POSITION_BINDINGS_MEMBERSHIP_INTENTS_ROOT_SCHEMA_AND_IMMUTABLE_SEED_ONLY_WITHOUT_HUB_DETECTION_POLAR_COORDINATES_RADIUS_BANDS_OR_SECTOR_SCORING",
  "main_topic_contract": {
    "topic_title": "Радиальный баланс и центральные системы",
    "topic_goal": "Формализует радиальные композиции: hub, rings, radius bands, angular sectors и распределение элементов вокруг центра.",
    "expected_output": "RadialGroupDescriptor, hub, rings, sectors",
    "planned_files": [
      "23.00 Radial system schema",
      "23.01 Hub/center detection",
      "23.02 Radius bands and orbital groups",
      "23.03 Angular spacing / sector occupancy",
      "23.04 Scoring, generator and tests"
    ]
  },
  "ownership": {
    "owner": "Compo23.00",
    "owns": [
      "RadialSubjectEligibilityEvidence",
      "RadialSubjectEligibilityResolution",
      "RadialSubject",
      "RadialSubjectSetPolicy",
      "RadialSubjectSet",
      "RadialCoordinateFrameBinding",
      "RadialPositionBinding",
      "RadialMembershipIntent",
      "RadialSystemPolicy",
      "RadialSystemSchema",
      "RadialSystemSeed root identity",
      "explicit subject-to-system membership lineage",
      "identity/status/provenance rules for Topic23 root schema",
      "non-mutating correction request for eligibility/frame/position/membership/schema errors"
    ],
    "does_not_own": [
      "raw geometry or point measurement — upstream geometry owners",
      "hub/center detection or hub descriptor — Compo23.01",
      "polar radius/angle derivation — Compo23.02/23.03",
      "radius bands, rings and orbital groups — Compo23.02",
      "angular spacing and sector occupancy — Compo23.03",
      "approximation/scoring/generator/MetricResult — Compo23.04",
      "symmetric balance / mirror correspondence — Topic21",
      "asymmetric centroid/moments/counterweights — Topic22",
      "dominance / hierarchy / beautyScore / final-layout ranking",
      "foreign geometry/style/semantic mutation"
    ]
  },
  "consumes": [
    "explicit foreign object/element identities",
    "explicit radial-system subject eligibility evidence",
    "explicit owner-qualified 2D coordinate-frame binding",
    "explicit owner-qualified subject position refs in that frame",
    "explicit radial membership intents",
    "optional source/provenance metadata"
  ],
  "provides": [
    "RadialSubjectSet",
    "RadialCoordinateFrameBinding",
    "RadialPositionBinding[]",
    "RadialMembershipIntent[]",
    "RadialSystemSchema",
    "RadialSystemSeed"
  ],
  "owns_metrics": [],
  "independent_numeric_votes": 0,
  "status_semantics": {
    "OK": "valid explicit schema lineage",
    "N_A": "missing/conflicting/not-applicable evidence; never numeric zero",
    "INVALID": "malformed or impossible record; never numeric zero"
  },
  "policy": {
    "selectionMode": "EXPLICIT_SUBJECTS_ONLY",
    "membershipMode": "EXPLICIT_INTENTS_ONLY",
    "maxSubjects": [
      1,
      4096
    ],
    "maxMembershipIntents": [
      1,
      4096
    ],
    "overflow": "N_A_WITHOUT_TRUNCATION",
    "autoHubDetection": false,
    "autoRingDiscovery": false,
    "autoSectorDiscovery": false,
    "autoScoring": false
  },
  "root_seed_contract": {
    "radialSystemSchemaRef": "exact",
    "hubAttachmentRef": null,
    "radiusBandAttachmentRef": null,
    "sectorAttachmentRef": null,
    "scoringAttachmentRef": null,
    "metricResultRefs": [],
    "mutationAllowed": false
  },
  "firewalls": [
    "radial membership != geometric ring membership",
    "radial membership != semantic importance",
    "coordinate-frame origin != hub",
    "position binding != polar radius/angle",
    "subject near frame center != hub",
    "equal radius is not inferred in 23.00",
    "angular sector is not inferred in 23.00",
    "radial system != symmetric balance",
    "radial system != asymmetric balance",
    "N_A != 0",
    "INVALID != 0",
    "descriptor != score",
    "local != global",
    "geometry != interpretation"
  ],
  "hooks": {
    "IDEAS_REFS[]": [
      "radial-layout synthesis",
      "nested radial systems",
      "hub ambiguity studies",
      "ring perception",
      "angular rhythm",
      "intentional asymmetry around hubs",
      "multi-center composition"
    ],
    "DATA_CAPTURE[]": [
      "eligibility",
      "frame lineage",
      "position-binding lineage",
      "membership intents",
      "root-schema identity"
    ],
    "DEFERRED_SEMANTIC_INPUTS[]": [
      "hub evidence",
      "ring tolerance",
      "sector tolerance",
      "style intent",
      "target fit"
    ],
    "HUMAN_FEEDBACK_HOOKS[]": [
      "subject inclusion correction",
      "frame correction",
      "position binding correction",
      "membership correction"
    ],
    "CONFLICT_PRIORITY_ASSUMPTIONS[]": [
      "confidence does not choose winners",
      "frame origin has no hub priority",
      "membership order has no radial priority"
    ],
    "LAB_HOOKS[]": [
      "perceived center vs geometric center",
      "ring grouping thresholds",
      "sector occupancy perception"
    ]
  },
  "topic23ProgressAfterThisModule": "1/5 local",
  "next_module": "Compo 23.01 — Hub/center detection",
  "hard_stop": "No 23.01–23.04 implementation in this file"
}
VISITS / ...