Signal identity before contribution
Root signal layer only
19.00
Explicit signal-subject eligibility, signal kinds, owner-qualified bindings, evidence/observation identity, dependency declarations, signal-set policy and immutable HierarchySignalSystemSeed.
Downstream + foreign
19.01–19.03 contribution math; 19.04 correlation-aware aggregation, composite rank/confidence; Topic18 subordination; Compo13 dominance; Compo4 visual mass; final-layout ranking.
Subjects are explicit
HierarchySignalSubject {
hierarchySignalSubjectRef,
scopeRef,
subjectRef,
eligibilityResolutionRef,
status,
mutationAllowed: false
}
HierarchySignalSubjectSetPolicy {
selectionMode: EXPLICIT_ELIGIBLE_SUBJECTS_ONLY,
maxSubjects: 1..4096,
overflowPolicy: N_A_NO_TRUNCATION,
fullCartesianProductAllowed: false
}Элемент не становится Topic19 subject автоматически из-за размера, центра кадра, контраста, z-index, Topic18 PRIMARY role или Compo13 dominance. Eligibility должна быть объявлена явно.
Six signal kinds, zero implicit priority
| Signal | 19.00 stores | 19.00 does not infer |
|---|---|---|
| SIZE | owner-qualified size-related payload | visual mass, scale class, contribution strength |
| TONE | tone/luminance-related payload | contrast importance or target desirability |
| COLOR | color-related payload | salience, harmony or dominance |
| ISOLATION | isolation/separation payload | focality or whitespace quality |
| POSITION | position-related payload | center/top = important |
| SEMANTIC_PRIORITY | explicit semantic-priority payload | Topic18 role or semantic truth from appearance |
Bindings preserve foreign ownership
HierarchySignalBinding {
signalKind,
representationKind:
SCALAR | VECTOR | CATEGORY | ORDINAL | BOOLEAN | OWNER_DEFINED,
signalChannelRef,
measurementMethodRef,
unitRef,
referenceFrameRef,
measurementContextRef,
signalSourceOwnerRef,
bindingSourceRef,
bindingSourceOwnerRef,
provenance,
mutationAllowed: false
}
Evidence stays evidence
Exact lineage
Subject, binding, snapshot, representation and owner-qualified source all match. Equal duplicate payloads may resolve to one observation.
Conflict / missing
Conflicting compatible evidence → N_A. Missing evidence → N_A. Confidence cannot silently choose a winner.
HierarchySignalObservation {
hierarchySignalSubjectRef,
hierarchySignalBindingRef,
signalKind,
evidenceRefs[],
observationPayloadRef,
contributionRef: null,
normalizedContribution: null,
rankContribution: null,
status,
reasonCode,
mutationAllowed: false
}
Declare dependency, do not estimate it
| Kind | Direction | Meaning |
|---|---|---|
| DERIVED_FROM | directed | Target signal explicitly derives from a source signal/evidence chain. |
| SHARED_RAW_EVIDENCE | symmetric | Two observations reuse raw evidence lineage. |
| SHARED_MEASUREMENT_BASIS | symmetric | Two signals depend on the same measurement basis/transform. |
| OWNER_DECLARED_CORRELATION | symmetric | Source owner explicitly declares correlation; 19.00 stores no coefficient. |
| AUTHOR_DECLARED_DEPENDENCY | explicit | Project/brief dependency declaration with no numeric strength. |
Explicit set, no channel explosion
Explicit only
Only explicit observations enter HierarchySignalSet.
Explicit only
No automatic correlation discovery or dependency guessing.
Subject × channel
A missing channel is not synthesized for every subject.
HierarchySignalSystemSeed {
hierarchySignalSubjectSetRef,
hierarchySignalSetRef,
sizeContributionAttachmentRef: null,
toneColorContributionAttachmentRef: null,
isolationPositionSemanticContributionAttachmentRef: null,
correlationAwareHierarchyAttachmentRef: null,
compositeRankRef: null,
confidenceRef: null,
metricResultRefs: [],
mutationAllowed: false
}N_A, INVALID and zero stay different
| Case | Status | Meaning |
|---|---|---|
| Missing subject eligibility | N_A | Cannot include subject without guessing. |
| Eligibility conflict | N_A | Explicit sources disagree. |
| Missing signal evidence | N_A | Signal observation is unavailable, not zero. |
| Conflicting signal evidence | N_A | No averaging or confidence winner in 19.00. |
| Representation mismatch | INVALID | Payload violates its explicit binding. |
| Dependency self-edge | INVALID | Dependency relation is structurally invalid. |
| Legitimate scalar payload 0 | OK | Zero may be a valid raw observation if binding semantics allow it. |
Contribution owners remain downstream
| 19.00 | Signal subjects, bindings, observations, dependency declarations, signal-set identity. |
| 19.01 | SIZE contribution. |
| 19.02 | TONE / COLOR contribution. |
| 19.03 | ISOLATION / POSITION / SEMANTIC_PRIORITY contribution. |
| 19.04 | Correlation-aware aggregation, anti-double-counting, composite rank, confidence and tests. |
| Topic18 | Declared generic hierarchy / subordination remains foreign-owned. |
| Compo13 | Dominance / focal ranking remains foreign-owned. |
| Compo4 | Visual mass remains foreign-owned. |
No hidden rank in the root layer
CANON → LAB → DATA → IDEAS
19.00 regression suite
Tests cover explicit eligibility, six signal kinds, representation validation, exact owner/binding lineage, evidence conflict preservation, explicit dependency orientation, symmetric dependency identity, no auto-correlation, bounded signal sets, immutable root seed, zero metrics and Topic18/19.01–19.04 ownership firewalls.
DATA FOR LAYOUT ENGINE
{
"module": "Compo 19.00",
"name": "hierarchy_signal_model",
"version": "1.0-canonical",
"canonical_main_title": "Hierarchy signal model",
"topic": "19_ВИЗУАЛЬНАЯ_ИЕРАРХИЯ_ПО_РАЗМЕРУ_ТОНУ_И_ЦВЕТУ",
"scope": "EXPLICIT_HIERARCHY_SIGNAL_SUBJECTS_OWNER_QUALIFIED_SIGNAL_BINDINGS_OBSERVATIONS_AND_DEPENDENCY_DECLARATIONS_ONLY_WITHOUT_CONTRIBUTION_AGGREGATION_OR_RANKING",
"main_topic_contract": {
"topic_title": "Визуальная иерархия по размеру, тону и цвету",
"topic_goal": "Объединяет size, tone, color, isolation, position и semantic priority в многоканальную иерархию с защитой от double-counting коррелированных сигналов.",
"expected_output": "HierarchySignal[], composite rank, confidence, dependencies",
"planned_files": [
"19.00 Hierarchy signal model",
"19.01 Size contribution",
"19.02 Tone/color contribution",
"19.03 Isolation/position/semantic contribution",
"19.04 Correlation-aware hierarchy and tests"
]
},
"ownership": {
"owner": "Compo19.00",
"owns": [
"HierarchySignalKind taxonomy",
"HierarchySignalRepresentationKind taxonomy",
"HierarchySignalSubjectEligibilityEvidence",
"HierarchySignalSubjectEligibilityResolution",
"HierarchySignalSubject",
"HierarchySignalSubjectSetPolicy",
"HierarchySignalSubjectSet",
"HierarchySignalBinding",
"HierarchySignalEvidence",
"HierarchySignalObservation",
"HierarchySignalDependencyKind taxonomy",
"HierarchySignalDependency",
"HierarchySignalSetPolicy",
"HierarchySignalSet",
"HierarchySignalSystemSeed root identity",
"explicit dependency declarations used later for anti-double-counting",
"identity/status/provenance rules for Topic19 root signal layer",
"non-mutating correction request for subject/binding/evidence/dependency declarations"
],
"does_not_own": [
"raw size measurement semantics — foreign measurement owners / Topic16 where applicable",
"visual mass — Compo4",
"dominance / focal ranking — Compo13",
"generic hierarchy / subordination graph — Topic18",
"size contribution — Compo19.01",
"tone/color contribution — Compo19.02",
"isolation/position/semantic contribution — Compo19.03",
"correlation estimation / de-duplication weights / composite rank / confidence — Compo19.04",
"global beautyScore",
"final-layout ranking",
"foreign geometry/style/semantic mutation"
]
},
"consumes": [
"explicit foreign subject identities",
"explicit subject eligibility evidence",
"explicit owner-qualified signal bindings",
"owner-qualified signal evidence",
"explicit dependency declarations and provenance",
"optional Topic18 relation/role refs only as foreign context, never as Topic19-owned truth"
],
"provides": [
"HierarchySignalSubjectSet",
"HierarchySignalBinding[]",
"HierarchySignalObservation[]",
"HierarchySignalDependency[]",
"HierarchySignalSet",
"HierarchySignalSystemSeed"
],
"owns_metrics": [],
"metric_ownership_note": "19.00 owns no MetricResult, no contribution score, no composite rank and no independent numeric vote. It only registers explicit signal/evidence/dependency structure for downstream Topic19 modules.",
"signal_kind_taxonomy": {
"SIZE": "Size-related owner-qualified visual signal. 19.00 does not define how size is measured or normalized.",
"TONE": "Tone/luminance-related owner-qualified visual signal. 19.00 does not define contrast or perceptual tone contribution.",
"COLOR": "Color-related owner-qualified visual signal. 19.00 does not define color distance, salience or harmony.",
"ISOLATION": "Isolation/separation-related owner-qualified visual signal. 19.00 does not define whitespace quality or focality.",
"POSITION": "Position-related owner-qualified visual signal. 19.00 does not infer importance from center/top/reading order.",
"SEMANTIC_PRIORITY": "Explicit owner-qualified semantic-priority signal. It is not inferred from appearance and is not Topic18 role identity."
},
"representation_kind_taxonomy": {
"SCALAR": "Finite numeric payload under an explicit unit/context.",
"VECTOR": "Finite numeric vector with explicit dimensional semantics owned elsewhere.",
"CATEGORY": "Explicit categorical token owned by the source domain.",
"ORDINAL": "Explicit ordered token or finite ordinal value with declared order semantics.",
"BOOLEAN": "Explicit boolean observation.",
"OWNER_DEFINED": "Opaque payload referenced by a foreign owner; 19.00 preserves identity but does not interpret it."
},
"subject_eligibility_evidence_schema": {
"hierarchySignalSubjectEligibilityEvidenceRef": "stable identity",
"scopeRef": "Topic19 scope",
"subjectRef": "foreign-owned element identity",
"eligible": "boolean",
"eligibilitySourceRef": "explicit source",
"eligibilitySourceOwnerRef": "owner",
"snapshotRef": "explicit snapshot",
"provenance": "canonical provenance",
"status": "OK|INVALID",
"mutationAllowed": false,
"firewall": "DOM membership, Topic18 role, z-index, size or salience do not automatically make a subject eligible."
},
"subject_resolution_schema": {
"hierarchySignalSubjectEligibilityResolutionRef": "stable identity",
"scopeRef": "scope",
"subjectRef": "subject",
"evidenceRefs": "unique evidence refs",
"eligible": "true|false|null",
"status": "OK|N_A|INVALID",
"reasonCode": "CONSENSUS|CONFLICT|NO_VALID_EVIDENCE|INVALID_EVIDENCE",
"mutationAllowed": false,
"firewall": "Conflicting eligibility remains N_A; confidence or source order cannot silently pick a winner."
},
"subject_schema": {
"hierarchySignalSubjectRef": "stable identity",
"scopeRef": "scope",
"subjectRef": "foreign identity",
"eligibilityResolutionRef": "exact resolution",
"status": "OK",
"mutationAllowed": false
},
"subject_set_policy_schema": {
"selectionMode": "EXPLICIT_ELIGIBLE_SUBJECTS_ONLY",
"duplicatePolicy": "IDENTITY_DEDUPLICATE",
"conflictPolicy": "EXCLUDE_N_A_NO_GUESS",
"maxSubjects": "1..4096",
"overflowPolicy": "N_A_NO_TRUNCATION",
"ordering": "CANONICAL_REF_ORDER",
"fullCartesianProductAllowed": false
},
"signal_binding_schema": {
"hierarchySignalBindingRef": "stable identity",
"scopeRef": "scope",
"signalKind": "SIZE|TONE|COLOR|ISOLATION|POSITION|SEMANTIC_PRIORITY",
"representationKind": "SCALAR|VECTOR|CATEGORY|ORDINAL|BOOLEAN|OWNER_DEFINED",
"signalChannelRef": "explicit channel identity",
"measurementMethodRef": "owner-qualified method or null when not applicable",
"unitRef": "explicit unit or owner-defined unit token",
"referenceFrameRef": "explicit frame/context",
"measurementContextRef": "explicit measurement context",
"signalSourceOwnerRef": "foreign owner",
"bindingSourceRef": "explicit declaration source",
"bindingSourceOwnerRef": "owner",
"provenance": "canonical provenance",
"status": "OK|INVALID",
"mutationAllowed": false,
"firewall": "Binding declares how to interpret an incoming payload. It does not compute contribution, salience, dominance or hierarchy rank."
},
"signal_evidence_schema": {
"hierarchySignalEvidenceRef": "stable identity",
"scopeRef": "scope",
"snapshotRef": "snapshot",
"subjectRef": "exact eligible subject",
"hierarchySignalBindingRef": "exact binding",
"payload": "representation-compatible explicit payload or opaque owner-defined token",
"evidenceSourceRef": "source",
"evidenceSourceOwnerRef": "owner",
"confidence": "finite [0,1] or null; diagnostic only",
"provenance": "canonical provenance",
"status": "OK|INVALID",
"mutationAllowed": false,
"firewall": "Evidence confidence does not become signal weight, hierarchy confidence or rank."
},
"signal_observation_schema": {
"hierarchySignalObservationRef": "stable identity",
"scopeRef": "scope",
"snapshotRef": "snapshot",
"hierarchySignalSubjectRef": "exact subject",
"hierarchySignalBindingRef": "exact binding",
"signalKind": "copied from binding",
"evidenceRefs": "one or more exact compatible evidence refs",
"observationPayloadRef": "stable payload identity; 19.00 does not normalize across channels",
"contributionRef": null,
"normalizedContribution": null,
"rankContribution": null,
"status": "OK|N_A|INVALID",
"reasonCode": "EXACT_SINGLE_VALUE|CONSENSUS_EQUAL|CONFLICT|MISSING_EVIDENCE|INVALID_EVIDENCE",
"mutationAllowed": false
},
"dependency_kind_taxonomy": {
"DERIVED_FROM": "Directed dependency: target signal is explicitly derived from source signal/evidence.",
"SHARED_RAW_EVIDENCE": "Symmetric dependency declaration: signals reuse some raw evidence lineage.",
"SHARED_MEASUREMENT_BASIS": "Symmetric dependency declaration: signals depend on the same measurement basis or transform.",
"OWNER_DECLARED_CORRELATION": "Symmetric dependency declared by an authoritative source; no coefficient is inferred here.",
"AUTHOR_DECLARED_DEPENDENCY": "Explicit project/brief dependency declaration; no numeric strength is assigned here."
},
"dependency_schema": {
"hierarchySignalDependencyRef": "stable identity",
"scopeRef": "scope",
"dependencyKind": "one taxonomy value",
"sourceSignalObservationRef": "exact observation",
"targetSignalObservationRef": "exact observation",
"symmetric": "true for shared/correlation kinds; false for DERIVED_FROM",
"dependencyStrength": null,
"correlationCoefficient": null,
"deduplicationWeight": null,
"dependencySourceRef": "explicit declaration source",
"dependencySourceOwnerRef": "owner",
"provenance": "canonical provenance",
"status": "OK|INVALID",
"mutationAllowed": false,
"firewall": "19.00 records dependency topology only. Numeric correlation and anti-double-counting weights belong to 19.04."
},
"signal_set_policy_schema": {
"signalSelectionMode": "EXPLICIT_SIGNAL_OBSERVATIONS_ONLY",
"dependencySelectionMode": "EXPLICIT_DEPENDENCIES_ONLY",
"duplicateSignalPolicy": "IDENTITY_DEDUPLICATE",
"duplicateDependencyPolicy": "IDENTITY_DEDUPLICATE",
"maxSignals": "1..16384",
"maxDependencies": "0..32768",
"overflowPolicy": "N_A_NO_TRUNCATION",
"fullCartesianProductAllowed": false,
"autoCorrelationDiscovery": false,
"autoMissingChannelSynthesis": false
},
"signal_system_seed_schema": {
"hierarchySignalSystemSeedRef": "stable identity",
"scopeRef": "scope",
"snapshotRef": "snapshot",
"hierarchySignalSubjectSetRef": "subject set",
"hierarchySignalSetRef": "signal set",
"sizeContributionAttachmentRef": null,
"toneColorContributionAttachmentRef": null,
"isolationPositionSemanticContributionAttachmentRef": null,
"correlationAwareHierarchyAttachmentRef": null,
"compositeRankRef": null,
"confidenceRef": null,
"metricResultRefs": [],
"status": "OK|N_A|INVALID",
"mutationAllowed": false
},
"status_policy": {
"missingEligibilityEvidence": "N_A",
"eligibilityConflict": "N_A",
"invalidBinding": "INVALID",
"missingSignalEvidence": "N_A",
"conflictingSignalEvidence": "N_A",
"representationMismatch": "INVALID",
"dependencySelfEdge": "INVALID",
"dependencyUnknownSignal": "N_A",
"dependencySymmetryMismatch": "INVALID",
"signalOverflow": "N_A; no truncation",
"dependencyOverflow": "N_A; no truncation",
"validSignalObservation": "OK",
"N_A_not_zero": true
},
"identity_policy": {
"hierarchySignalSubjectEligibilityEvidenceRef": "hash(scope, subject, eligible, source/owner, snapshot, provenance, status)",
"hierarchySignalSubjectEligibilityResolutionRef": "hash(scope, subject, canonical evidence refs, eligible, status, reason)",
"hierarchySignalSubjectRef": "hash(scope, subject, eligibility resolution)",
"hierarchySignalSubjectSetRef": "hash(scope, policy, canonical subject refs, status)",
"hierarchySignalBindingRef": "hash(scope, kind, representation, channel, method, unit, frame, context, source owner, declaration source/owner, provenance, status)",
"hierarchySignalEvidenceRef": "hash(scope, snapshot, subject, binding, stable payload, source/owner, provenance, status)",
"hierarchySignalObservationRef": "hash(scope, snapshot, subject, binding, canonical evidence refs, stable payload, status, reason)",
"hierarchySignalDependencyRef": "hash(scope, dependency kind, oriented/canonical signal pair, symmetric flag, source/owner, provenance, status)",
"hierarchySignalSetRef": "hash(scope, snapshot, subject set, set policy, canonical signal refs, canonical dependency refs, status)",
"hierarchySignalSystemSeedRef": "hash(scope, snapshot, subject set, signal set, null downstream attachments, status)"
},
"critical_firewalls": [
"19.00 owns no MetricResult and no independent numeric vote",
"HierarchySignal != contribution score",
"signal evidence confidence != hierarchy confidence",
"signal kind order != channel priority",
"dependency declaration != correlation coefficient",
"dependency declaration != penalty",
"missing channel != zero contribution",
"N_A != 0",
"Topic18 declared hierarchy != Topic19 observed visual hierarchy",
"Topic19 semantic-priority signal != Topic18 PRIMARY/SECONDARY/TERTIARY/DECORATIVE role",
"size signal != Topic16 scale class or ratio unless explicitly adapted from that owner",
"tone/color signal != dominance score",
"isolation/position signal != focal ranking",
"no automatic Cartesian subject×channel expansion",
"no automatic correlation discovery in 19.00",
"no composite rank in 19.00",
"no global beautyScore",
"no final-layout ranking"
],
"IDEAS_REFS": [
"IDEA-01 compare declared Topic18 hierarchy with observed Topic19 hierarchy without collapsing ownership",
"IDEA-02 study cross-channel perceptual dominance while preserving source ownership",
"IDEA-03 study dependency declarations that best predict double-counting risk",
"IDEA-04 collect owner-qualified multi-channel evidence snapshots",
"IDEA-05 study missing-channel robustness before defining any default imputation"
],
"DATA_CAPTURE": [
"sceneRef",
"scopeRef",
"snapshotRef",
"hierarchySignalSubjectRefs[]",
"hierarchySignalBindingRefs[]",
"hierarchySignalEvidenceRefs[]",
"hierarchySignalObservationRefs[]",
"signalKindByObservation",
"representationKindByBinding",
"evidenceOwnerByObservation",
"dependencyRefs[]",
"dependencyKindByRef",
"dependencyEndpointsByRef",
"hierarchySignalSetRef",
"hierarchySignalSystemSeedRef",
"status",
"reasonCode"
],
"DEFERRED_SEMANTIC_INPUTS": [
"19.01 size contribution math/normalization",
"19.02 tone/color contribution math/normalization",
"19.03 isolation/position/semantic contribution math/normalization",
"19.04 correlation estimation and anti-double-counting",
"19.04 composite rank/confidence/dependency-aware aggregation",
"global composition quality and final-layout ranking"
],
"HUMAN_FEEDBACK_HOOKS": [
"correct subject eligibility",
"correct signal kind",
"correct signal binding owner",
"correct representation kind",
"correct evidence payload/source",
"mark evidence conflict real",
"mark dependency missing",
"mark dependency extraneous",
"correct dependency orientation",
"explain owner-declared correlation"
],
"CONFLICT_PRIORITY_ASSUMPTIONS": [
"signal kind serialization order has no priority",
"source order has no priority",
"evidence confidence is diagnostic and cannot silently win conflicts",
"dependency declaration order has no priority",
"Topic18 role does not override Topic19 signal evidence",
"module execution order does not imply hierarchy priority"
],
"LAB_HOOKS": [
"declared-vs-observed hierarchy study",
"cross-channel signal redundancy study",
"dependency false-positive/false-negative study",
"missing-channel robustness study",
"human correction reason taxonomy",
"correlation-aware ranking study deferred to 19.04"
],
"next_module": "Compo 19.01 — Size contribution",
"hard_stop": "Do not implement 19.01, 19.02, 19.03 or 19.04 in this file."
}