Dominance is measured later
13.00 does not declare a visual winner. It only defines who is in the measurement domain and why. A subject may be an explicit focal candidate and still lose later when attention factors, rank and dominance margin are evaluated.
Which subjects are being compared?
What explicit source says about focal eligibility.
Eligible for later measurement, not yet dominant.
No attention or dominance vote here.
Root model only
13.00 owns the stable envelope and evidence contracts. Every downstream measurement remains with its planned owner.
Domain
DominanceScope, role evidence/resolution, candidate policy and focal candidate set.
Seed
Immutable descriptor seed that downstream modules derive from without mutating 13.00 state.
13.01–13.04
Attention factors, rank, margin, co-dominance, target profiles and scoring.
owns_metrics=[]. Role confidence, candidate count and lexical order are descriptors only.
DominanceScope
“Main focus” is meaningless without a comparison domain. Scope is explicit and snapshot-bound.
DominanceScope {
dominanceScopeRef,
scopeSourceRef,
scopeSourceOwnerRef,
scopeMode:
CANVAS
REGION
EXPLICIT_SUBJECT_SET,
canvasRef,
snapshotRef,
regionRef?,
subjectRefs[],
coordinateFrame,
status,
provenance,
mutationAllowed: false
}
EXPLICIT_SUBJECT_SET requires a non-empty distinct subject list.
Membership in a scope does not mean focal importance. Scope only says “these subjects are in the comparison domain”.
Role taxonomy is not dominance ranking
| Role | Meaning | Not equivalent to |
|---|---|---|
| FOCAL_CANDIDATE | Explicit source allows subject into focal measurement pool. | rank 1 / dominant / score 1 |
| NON_FOCAL | Explicit source excludes subject from candidate pool in this scope. | attention score 0 |
| UNSPECIFIED | Explicit source makes no focal-role commitment. | missing role evidence |
DominanceRoleEvidence
Role claims require an explicit source and owner. Confidence reports evidence quality only.
DominanceRoleEvidence {
roleEvidenceRef,
dominanceScopeRef,
subjectRef,
roleKind:
FOCAL_CANDIDATE
NON_FOCAL
UNSPECIFIED,
roleSourceRef,
roleSourceOwnerRef,
semanticIntentRefs[],
evidenceRefs[],
confidence,
provenance,
status,
mutationAllowed: false
}
confidence=.99 means the role evidence is reliable. It does not mean the subject is visually dominant.
Conflicting roles stay conflicting
13.00 refuses hidden precedence. If two valid sources disagree about the same subject in the same scope, confidence or list order cannot choose a winner.
DominanceRoleResolution {
roleResolutionRef,
dominanceScopeRef,
subjectRef,
roleEvidenceRefs[],
status:
OK
N_A
INVALID,
decision:
FOCAL_CANDIDATE
NON_FOCAL
UNSPECIFIED
CONFLICT,
confidence,
reasonCode,
mutationAllowed: false
}
Candidate-set inclusion is explicit policy
A project may include only explicit focal candidates, or may intentionally include explicit UNSPECIFIED roles for later measurement. That choice is policy, not a universal law.
FocalCandidateSetPolicy {
candidateSetPolicyRef,
policySourceRef,
policySourceOwnerRef,
includedRoleKinds[],
maxCandidates,
overflowPolicy: "N_A",
requireResolutionForEveryScopedSubject: true,
provenance,
status,
mutationAllowed: false
}
FocalCandidate
A candidate is an immutable descriptor that binds one subject to one scope, one policy and one resolved role.
FocalCandidate {
focalCandidateRef,
dominanceScopeRef,
candidateSetPolicyRef,
subjectRef,
roleResolutionRef,
resolvedRoleKind,
confidence,
status: "OK",
provenance: "DERIVED",
derivedFrom[],
mutationAllowed: false
}
FocalCandidateSet
Candidate order is canonicalized for deterministic identity only. It is never a ranking.
FocalCandidateSet {
focalCandidateSetRef,
dominanceScopeRef,
candidateSetPolicyRef,
candidateRefs[],
subjectRefs[],
status,
reasonCode,
mutationAllowed: false
}
N_A. It is not “dominance = 0”.
Valid candidate set. Later 13.02 may still return N_A for a margin requiring at least two comparable candidates.
DominanceDescriptorSeed
13.00 exports a seed with downstream slots intentionally empty. Later modules create derived artifacts rather than mutating this object.
DominanceDescriptorSeed {
descriptorSeedRef,
dominanceScopeRef,
focalCandidateSetRef,
candidateRefs[],
attentionFactorSetRef: null,
focalRankingRef: null,
dominanceMarginRef: null,
dominanceProfileRef: null,
dominanceEvaluationRef: null,
status,
mutationAllowed: false
}
Identity is scope + evidence + policy
Confidence and presentation labels do not alter identity. Set-like refs are canonicalized.
Do not smuggle 13.01 into 13.00
Size, contrast, isolation and position are deliberately absent from candidate eligibility unless an external role source explicitly makes a role claim.
largest → focal; highest contrast → focal; isolated → focal; centered → focal; first candidate → dominant; high confidence → stronger attention.
candidate != dominant; descriptor != score; local != global; N_A != 0; module order != priority; no beautyScore.
Topic13 chain stays separated
| Module | Canonical role |
|---|---|
| 13.00 | scope, role evidence/resolution, focal candidate model |
| 13.01 | attention factors: size, contrast, isolation, position |
| 13.02 | focal rank, dominance margin, competing/co-dominant cases |
| 13.03 | target dominance profiles |
| 13.04 | scoring, correction and final Topic13 tests |
Wrong evidence → correction request
13.00 never edits foreign scope, subject or role sources.
DominanceCandidateCorrectionRequest {
requestRef,
targetOwnerRef,
reasonCode,
evidenceRefs[],
suggestedAction,
status,
mutationAllowed: false
}
CANON → LAB → DATA → IDEAS
Role/candidate eligibility is captured as evidence now so later human studies can compare intended focal roles with measured visual dominance.
Preserve why the candidate pool was wrong
| Reason | Meaning |
|---|---|
| SUBJECT_SHOULD_BE_FOCAL_CANDIDATE | Important subject was excluded from later measurement. |
| SUBJECT_SHOULD_NOT_BE_FOCAL_CANDIDATE | Subject should not enter focal competition. |
| ROLE_EVIDENCE_WRONG | Source/claim itself is wrong. |
| ROLE_CONFLICT_SHOULD_BE_RESOLVED_EXTERNALLY | Conflict needs explicit owner decision. |
| SCOPE_TOO_BROAD | Comparison domain contains unrelated subjects. |
| SCOPE_TOO_NARROW | Comparison domain misses relevant subjects. |
| CANDIDATE_SET_TOO_BROAD | Too many subjects enter later attention analysis. |
| CANDIDATE_SET_TOO_NARROW | Potential focal competitors are missing. |
| UNSPECIFIED_ROLE_HANDLED_WRONG | Explicit UNSPECIFIED role policy is inappropriate. |
| MAIN_FOCUS_MISSING_FROM_CANDIDATE_SET | Later human main focus was never eligible. |
| NON_FOCAL_INCLUDED_AS_CANDIDATE | Explicit exclusion firewall was violated. |
Visual laboratory hook
The illustration shows candidate eligibility without implying any rank or winner.
13.00 regression suite
Tests cover scope identity, explicit UNSPECIFIED vs missing evidence, role conflict preservation, candidate policy, non-focal exclusion, bounded set assembly, deterministic identity, descriptor seed immutability and all Topic13.00 firewalls.
DATA FOR LAYOUT ENGINE
Machine-readable 13.00 canonical contract.
{
"module": "Compo 13.00",
"name": "dominant_role_focal_candidate_model",
"version": "1.0-canonical",
"canonical_main_title": "Dominant role / focal candidate model",
"topic": "13_ДОМИНАНТА_И_ГЛАВНЫЙ_ФОКУС",
"scope": "DOMINANCE_SCOPE_ROLE_EVIDENCE_ROLE_RESOLUTION_AND_FOCAL_CANDIDATE_ROOT_MODEL_ONLY",
"main_topic_contract": {
"topic_title": "Доминанта и главный фокус",
"topic_goal": "Define dominance as a measurable leader of attention through focal candidates, dominance margin and competing/co-dominant cases without assuming a universal mandatory single focal center.",
"expected_output": "DominanceDescriptor, focal rank, dominance margin, target profiles",
"planned_files": [
"13.00 Dominant role / focal candidate model",
"13.01 Attention factors: size, contrast, isolation, position",
"13.02 Dominance margin и competing dominants",
"13.03 Target dominance profiles",
"13.04 Scoring, correction и tests"
]
},
"ownership": {
"owner": "Compo13.00",
"owns": [
"DominanceScope",
"DominanceRoleEvidence",
"DominanceRoleResolution",
"FocalCandidateSetPolicy",
"FocalCandidate",
"FocalCandidateSet",
"DominanceDescriptorSeed",
"identity/status/provenance rules for the Topic13 root model",
"non-mutating correction request for role/candidate-source evidence"
],
"does_not_own": [
"attention factors size/contrast/isolation/position — Compo13.01",
"attention-factor normalization or weighting — Compo13.01 or later explicit owner",
"focal ranking and dominance margin — Compo13.02",
"competing/co-dominant classification — Compo13.02",
"target dominance profiles — Compo13.03",
"dominance scoring/correction synthesis — Compo13.04",
"global hierarchy semantics",
"semantic interpretation of opaque semantic refs",
"foreign geometry or layout mutation"
]
},
"consumes": [
"explicit canvas/snapshot/domain identity",
"explicit subject refs in one dominance scope",
"owner-qualified DominanceRoleEvidence[]",
"explicit FocalCandidateSetPolicy",
"optional opaque semanticIntentRefs[]",
"optional human feedback reason codes"
],
"provides": [
"DominanceScope",
"DominanceRoleEvidence",
"DominanceRoleResolution",
"FocalCandidateSetPolicy",
"FocalCandidate[]",
"FocalCandidateSet",
"DominanceDescriptorSeed",
"Topic13.00 observation record"
],
"owns_metrics": [],
"metric_ownership_note": "13.00 owns no attention score, focal rank, dominance margin, target profile score or independent numeric vote.",
"dominance_scope_schema": {
"dominanceScopeRef": "stable identity",
"scopeSourceRef": "explicit source of scope declaration",
"scopeSourceOwnerRef": "owner of scope declaration",
"scopeMode": "CANVAS|REGION|EXPLICIT_SUBJECT_SET",
"canvasRef": "required",
"snapshotRef": "required immutable scene/layout snapshot identity",
"regionRef": "required iff REGION, null otherwise",
"subjectRefs": "explicit distinct subject set; required non-empty for EXPLICIT_SUBJECT_SET; optional explicit set for CANVAS/REGION",
"coordinateFrame": "required",
"status": "OK|INVALID",
"provenance": "canonical provenance class",
"mutationAllowed": false,
"firewall": "scope identity does not imply focal importance"
},
"role_taxonomy": {
"FOCAL_CANDIDATE": "explicit source says subject may participate in dominance measurement",
"NON_FOCAL": "explicit source excludes subject from the focal-candidate pool in this scope",
"UNSPECIFIED": "explicit source makes no focal-role commitment; this is not the same as missing evidence"
},
"dominance_role_evidence_schema": {
"roleEvidenceRef": "stable identity",
"dominanceScopeRef": "exact scope ref",
"subjectRef": "exact canonical subject",
"roleKind": "FOCAL_CANDIDATE|NON_FOCAL|UNSPECIFIED",
"roleSourceRef": "explicit source",
"roleSourceOwnerRef": "source owner",
"semanticIntentRefs": "optional opaque refs; 13.00 does not interpret semantics",
"evidenceRefs": "one or more owner-qualified refs",
"confidence": "0..1 evidence quality only",
"provenance": "canonical provenance class",
"status": "OK|N_A|INVALID",
"mutationAllowed": false
},
"role_resolution": {
"same_subject_scope_only": true,
"decision": "FOCAL_CANDIDATE|NON_FOCAL|UNSPECIFIED|CONFLICT",
"missingEvidence": "N_A",
"allUsableEvidenceSameRole": "OK + that role",
"disagreement": "OK + CONFLICT; confidence/order cannot break the tie",
"confidencePolicy": "minimum evidence confidence for audit only; never role strength",
"firewall": "CONFLICT is not resolved by confidence, source order, module order or lexical order"
},
"candidate_set_policy_schema": {
"candidateSetPolicyRef": "stable identity",
"policySourceRef": "explicit policy source",
"policySourceOwnerRef": "owner",
"includedRoleKinds": "explicit non-empty subset of FOCAL_CANDIDATE|UNSPECIFIED; NON_FOCAL forbidden",
"maxCandidates": "integer 1..4096 implementation safety bound; not a composition recommendation",
"overflowPolicy": "N_A",
"requireResolutionForEveryScopedSubject": true,
"provenance": "canonical provenance class",
"status": "OK|INVALID",
"mutationAllowed": false,
"default": "NONE — no implicit assumption that every visible subject is focal"
},
"focal_candidate_schema": {
"focalCandidateRef": "stable identity",
"dominanceScopeRef": "exact scope ref",
"candidateSetPolicyRef": "exact policy ref",
"subjectRef": "canonical subject",
"roleResolutionRef": "exact role resolution",
"resolvedRoleKind": "FOCAL_CANDIDATE|UNSPECIFIED",
"confidence": "resolution evidence quality only",
"status": "OK",
"provenance": "DERIVED",
"derivedFrom": "explicit refs",
"mutationAllowed": false,
"forbiddenInterpretations": [
"candidate is dominant",
"candidate has attention rank",
"candidate has attention score",
"candidate is preferred",
"candidate is final focal point"
]
},
"focal_candidate_set_schema": {
"focalCandidateSetRef": "stable identity",
"dominanceScopeRef": "exact scope",
"candidateSetPolicyRef": "exact policy",
"candidateRefs": "canonical distinct set",
"subjectRefs": "canonical candidate subject set",
"status": "OK|N_A|INVALID",
"reasonCode": "explicit",
"mutationAllowed": false,
"emptySet": "N_A, not a valid zero-dominance claim",
"singleCandidate": "valid candidate set; 13.02 may later return N_A for dominance margin",
"ordering": "lexical canonicalization for identity only; not focal rank"
},
"dominance_descriptor_seed_schema": {
"descriptorSeedRef": "stable identity",
"dominanceScopeRef": "scope",
"focalCandidateSetRef": "candidate set",
"candidateRefs": "canonical refs",
"attentionFactorSetRef": null,
"focalRankingRef": null,
"dominanceMarginRef": null,
"dominanceProfileRef": null,
"dominanceEvaluationRef": null,
"status": "OK|N_A|INVALID",
"mutationAllowed": false,
"firewall": "seed is a root envelope only; downstream modules create derived artifacts instead of mutating it"
},
"identity_policy": {
"dominanceScopeRef": "hash(scope source/owner, mode, canvas, snapshot, region?, canonical subject refs, frame, provenance)",
"roleEvidenceRef": "hash(scope, subject, role kind, source/owner, canonical semantic/evidence refs, provenance)",
"roleResolutionRef": "hash(scope, subject, canonical usable role evidence refs, decision)",
"candidateSetPolicyRef": "hash(policy source/owner, canonical included role kinds, maxCandidates, overflow policy, resolution requirement, provenance)",
"focalCandidateRef": "hash(scope, policy, subject, roleResolutionRef, resolvedRoleKind)",
"focalCandidateSetRef": "hash(scope, policy, canonical candidate refs)",
"descriptorSeedRef": "hash(scope, candidate set, canonical candidate refs)",
"set_semantics": "all set-like arrays canonicalized lexically",
"excluded_from_identity": [
"display label",
"display color",
"free-form comment",
"confidence"
]
},
"status_policy": {
"roleEvidence": "OK|N_A|INVALID",
"roleResolution": "OK with role/CONFLICT | N_A | INVALID",
"candidateSet": "OK | N_A | INVALID",
"missingRoleEvidence": "N_A, not UNSPECIFIED",
"explicitUnspecified": "valid explicit role state, distinct from missing evidence",
"emptyCandidateSet": "N_A, not score 0",
"candidateOverflow": "N_A under canonical overflowPolicy=N_A",
"N_A_not_zero": true
},
"critical_firewalls": [
"focal candidate != dominant",
"dominance role evidence != measured dominance",
"explicit FOCAL_CANDIDATE role != focal rank 1",
"NON_FOCAL != attention score 0",
"UNSPECIFIED != missing evidence",
"missing role evidence != UNSPECIFIED",
"candidate set lexical order != focal rank",
"candidate set size != dominance strength",
"single candidate != proven dominant",
"empty candidate set != zero dominance",
"role confidence != attention strength",
"role confidence != conflict priority",
"role evidence order != priority",
"module execution order != rule priority",
"scope membership != focal importance",
"canvas center != automatic focal candidate",
"large object != automatic focal candidate in 13.00",
"high contrast != automatic focal candidate in 13.00",
"isolation != automatic focal candidate in 13.00",
"position != automatic focal candidate in 13.00",
"attention factors are deferred to 13.01",
"focal rank and dominance margin are deferred to 13.02",
"target dominance profiles are deferred to 13.03",
"dominance scoring is deferred to 13.04",
"candidate != final focal point",
"descriptor seed != final DominanceDescriptor",
"local != global",
"descriptor != score",
"correction request != foreign mutation",
"N_A != 0",
"no universal beautyScore",
"IDEA != CANON",
"EXPERIMENT != CANON"
],
"correction_request_schema": {
"requestRef": "stable identity",
"targetOwnerRef": "owner whose scope/role/policy evidence should be reviewed",
"reasonCode": "explicit",
"evidenceRefs": "canonicalized refs",
"suggestedAction": "non-mutating suggestion",
"status": "OPEN|INVALID",
"mutationAllowed": false
},
"deferred_downstream": {
"13.01": [
"attention factor descriptors for size",
"attention factor descriptors for contrast",
"attention factor descriptors for isolation",
"attention factor descriptors for position",
"factor evidence normalization/context"
],
"13.02": [
"focal rank",
"dominance margin",
"competing dominants",
"co-dominant classification"
],
"13.03": [
"target dominance profiles",
"desired dominance structures",
"profile applicability"
],
"13.04": [
"dominance scoring",
"correction synthesis",
"final Topic13 tests",
"independent Topic13 vote if canonically justified"
]
},
"IDEAS_REFS": [
"IDEA-01 full human test after all 72 topics; collect where humans disagree on the main focal leader",
"IDEA-02 semantics required before placement; semanticIntentRefs remain opaque/deferred here",
"IDEA-03 explicit rule priorities; candidate order and confidence must not become hidden priority",
"IDEA-04 collect structured data for future composition model",
"IDEA-05 preserve reasons for human corrections",
"IDEA-06 structured machine-readable layer for website",
"IDEA-07 graphics-for-post-text research remains downstream/separate"
],
"DATA_CAPTURE": [
"sceneRef",
"dominanceScopeRef",
"scopeMode",
"scopedSubjectRefs[]",
"roleEvidenceRefs[]",
"roleResolutionRefs[]",
"roleDecisions[]",
"candidateSetPolicyRef",
"focalCandidateRefs[]",
"focalCandidateSubjectRefs[]",
"candidateSetStatus",
"candidateSetReasonCode",
"humanReasonCodes[]",
"future attentionFactorSetRef",
"future focalRankingRef",
"future dominanceMarginRef",
"future dominanceProfileRef",
"future dominanceEvaluationRef"
],
"DEFERRED_SEMANTIC_INPUTS": [
"semanticIntentRefs[]",
"semantic meaning of focal importance",
"content hierarchy meaning",
"editorial/brand focal rationale",
"future global conflict-priority policy refs"
],
"HUMAN_FEEDBACK_HOOKS": [
"SUBJECT_SHOULD_BE_FOCAL_CANDIDATE",
"SUBJECT_SHOULD_NOT_BE_FOCAL_CANDIDATE",
"ROLE_EVIDENCE_WRONG",
"ROLE_CONFLICT_SHOULD_BE_RESOLVED_EXTERNALLY",
"SCOPE_TOO_BROAD",
"SCOPE_TOO_NARROW",
"CANDIDATE_SET_TOO_BROAD",
"CANDIDATE_SET_TOO_NARROW",
"UNSPECIFIED_ROLE_HANDLED_WRONG",
"MAIN_FOCUS_MISSING_FROM_CANDIDATE_SET",
"NON_FOCAL_INCLUDED_AS_CANDIDATE"
],
"CONFLICT_PRIORITY_ASSUMPTIONS": [
"module execution order is not priority",
"role evidence list order is non-semantic",
"confidence cannot resolve conflicting role claims",
"lexical candidate order is identity-only and not focal rank",
"13.00 does not own global hierarchy priority",
"future reviewed global conflict-priority owner remains authoritative"
],
"LAB_HOOKS": [
"human labeling: which subjects should enter the focal-candidate pool",
"compare explicit candidate-set policies with/without UNSPECIFIED roles",
"collect disagreement reasons for focal eligibility",
"measure candidate-pool recall before attention scoring",
"test single-focus vs multi-focus scenes without writing a universal one-focus law",
"collect cases where intended focal role and measured visual dominance later diverge"
],
"observation_record": {
"moduleRef": "Compo13.00",
"metricResults": [],
"attentionFactorRefs": [],
"focalRankRefs": [],
"dominanceMarginRefs": [],
"dominanceProfileRefs": [],
"dominanceEvaluationRefs": []
},
"stop_condition": "STOP after 13.00. Do not create 13.01 in this module."
}