COMPO · 19.00 · HIERARCHY SIGNAL MODEL

Register signals.
Rank later.

19.00 задаёт root-модель наблюдаемой визуальной иерархии: какие элементы участвуют, какие owner-qualified SIZE / TONE / COLOR / ISOLATION / POSITION / SEMANTIC_PRIORITY signals к ним привязаны и какие зависимости между сигналами явно объявлены. Contribution, correlation-aware aggregation, composite rank и confidence здесь ещё не вычисляются.

ModuleCompo 19.00
TopicVisual hierarchy
Signals6 explicit kinds
Dependenciesexplicit only
Metricsnone
Next19.01

Signal identity before contribution

00 / contract
explicit subject eligibility + explicit owner-qualified signal binding + exact evidence snapshot → HierarchySignalObservation explicit signal↔signal dependency declaration → HierarchySignalDependency 19.00 stops here. NO contribution normalization NO channel weights NO correlation coefficient NO composite rank NO hierarchy confidence NO MetricResult

Root signal layer only

01 / ownership
OWNS

19.00

Explicit signal-subject eligibility, signal kinds, owner-qualified bindings, evidence/observation identity, dependency declarations, signal-set policy and immutable HierarchySignalSystemSeed.

DOES NOT OWN

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.

Boundary: Topic19 describes observed multi-signal visual hierarchy. It may compare later with Topic18 declared hierarchy, but it cannot rewrite Topic18 roles or relations.

Subjects are explicit

02 / subject set
HierarchySignalSubject {
  hierarchySignalSubjectRef,
  scopeRef,
  subjectRef,
  eligibilityResolutionRef,
  status,
  mutationAllowed: false
}

HierarchySignalSubjectSetPolicy {
  selectionMode: EXPLICIT_ELIGIBLE_SUBJECTS_ONLY,
  maxSubjects: 1..4096,
  overflowPolicy: N_A_NO_TRUNCATION,
  fullCartesianProductAllowed: false
}
No appearance-based admission.

Элемент не становится Topic19 subject автоматически из-за размера, центра кадра, контраста, z-index, Topic18 PRIMARY role или Compo13 dominance. Eligibility должна быть объявлена явно.

Six signal kinds, zero implicit priority

03 / taxonomy
Signal19.00 stores19.00 does not infer
SIZEowner-qualified size-related payloadvisual mass, scale class, contribution strength
TONEtone/luminance-related payloadcontrast importance or target desirability
COLORcolor-related payloadsalience, harmony or dominance
ISOLATIONisolation/separation payloadfocality or whitespace quality
POSITIONposition-related payloadcenter/top = important
SEMANTIC_PRIORITYexplicit semantic-priority payloadTopic18 role or semantic truth from appearance
No taxonomy order: SIZE before TONE in the enum is serialization only. It is not a weight, precedence rule or default ranking.

Bindings preserve foreign ownership

04 / channel contract
HierarchySignalBinding {
  signalKind,
  representationKind:
    SCALAR | VECTOR | CATEGORY | ORDINAL | BOOLEAN | OWNER_DEFINED,
  signalChannelRef,
  measurementMethodRef,
  unitRef,
  referenceFrameRef,
  measurementContextRef,
  signalSourceOwnerRef,
  bindingSourceRef,
  bindingSourceOwnerRef,
  provenance,
  mutationAllowed: false
}
same number + different owner/unit/frame/context ≠ same signal binding ≠ measurement owner transfer ≠ contribution definition ≠ normalization policy

Evidence stays evidence

05 / observation
VALID

Exact lineage

Subject, binding, snapshot, representation and owner-qualified source all match. Equal duplicate payloads may resolve to one observation.

NO GUESS

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
}
Confidence firewall: evidence confidence is diagnostic. It is not the future composite hierarchy confidence.

Declare dependency, do not estimate it

06 / anti-double-counting input
KindDirectionMeaning
DERIVED_FROMdirectedTarget signal explicitly derives from a source signal/evidence chain.
SHARED_RAW_EVIDENCEsymmetricTwo observations reuse raw evidence lineage.
SHARED_MEASUREMENT_BASISsymmetricTwo signals depend on the same measurement basis/transform.
OWNER_DECLARED_CORRELATIONsymmetricSource owner explicitly declares correlation; 19.00 stores no coefficient.
AUTHOR_DECLARED_DEPENDENCYexplicitProject/brief dependency declaration with no numeric strength.
dependencyStrength = null correlationCoefficient = null deduplicationWeight = null 19.04 owns numeric correlation handling. 19.00 only preserves dependency topology + lineage.

Explicit set, no channel explosion

07 / bounded registry
SIGNALS

Explicit only

Only explicit observations enter HierarchySignalSet.

DEPENDENCIES

Explicit only

No automatic correlation discovery or dependency guessing.

NO CARTESIAN

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

08 / status
CaseStatusMeaning
Missing subject eligibilityN_ACannot include subject without guessing.
Eligibility conflictN_AExplicit sources disagree.
Missing signal evidenceN_ASignal observation is unavailable, not zero.
Conflicting signal evidenceN_ANo averaging or confidence winner in 19.00.
Representation mismatchINVALIDPayload violates its explicit binding.
Dependency self-edgeINVALIDDependency relation is structurally invalid.
Legitimate scalar payload 0OKZero may be a valid raw observation if binding semantics allow it.

Contribution owners remain downstream

09 / owners
19.00Signal subjects, bindings, observations, dependency declarations, signal-set identity.
19.01SIZE contribution.
19.02TONE / COLOR contribution.
19.03ISOLATION / POSITION / SEMANTIC_PRIORITY contribution.
19.04Correlation-aware aggregation, anti-double-counting, composite rank, confidence and tests.
Topic18Declared generic hierarchy / subordination remains foreign-owned.
Compo13Dominance / focal ranking remains foreign-owned.
Compo4Visual mass remains foreign-owned.

No hidden rank in the root layer

10 / firewalls
HierarchySignalObservation != contribution score signal evidence confidence != hierarchy confidence dependency declaration != correlation coefficient dependency declaration != penalty missing signal != zero contribution Topic18 declared hierarchy != Topic19 observed visual hierarchy SEMANTIC_PRIORITY signal != Topic18 PRIMARY role SIZE signal != Topic16 scale ratio/class TONE/COLOR signal != dominance score ISOLATION/POSITION signal != focal ranking 19.00 owns_metrics = [] 19.00 independent numeric votes = 0 19.00 composite rank = null

CANON → LAB → DATA → IDEAS

11 / mandatory hooks
IDEAS_REFS[]Observed-vs-declared hierarchy studies.
DATA_CAPTURE[]Subjects, bindings, evidence, observations and dependencies.
DEFERRED_SEMANTIC_INPUTS[]Contributions, correlation-aware rank and confidence.
HUMAN_FEEDBACK_HOOKS[]Signal/dependency corrections are preserved.
CONFLICT_PRIORITY_ASSUMPTIONS[]No source-order or confidence winner.
LAB_HOOKS[]Redundancy and missing-channel studies.

19.00 regression suite

12 / deterministic tests

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.

Tests not run yet.

DATA FOR LAYOUT ENGINE

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