COMPO · 15.00 · MICRODETAIL TAXONOMY AND ROLES

Small is not
a role.

15.00 создаёт корневую модель Topic15. Microdetail появляется только из explicit owner-qualified taxonomy/role evidence и привязывается к защищаемой основной иерархии. Размер, контраст, плотность и «шумность» здесь ещё не измеряются: маленький объект, точка, подпись или яркая метка не становятся microdetail автоматически.

ModuleCompo 15.00
Eligibilityexplicit
Taxonomyowner-qualified
Hierarchybind only
Metricsnone
NextSTOP

Microdetail starts with explicit identity

00 / contract

15.00 не выводит «микродеталь» из пиксельного размера, bbox area, font-size или контраста. Он принимает owner-qualified evidence, разрешает taxonomy/role identity и создаёт immutable root descriptors для последующих 15.01–15.04.

explicit taxonomy/role evidence + explicit hierarchy-protection binding + explicit candidate-set policy → MicroDetailTaxonomyResolution[] → MicroDetailCandidateSet → MicroDetailDescriptorSeed[] → MicroDetailSystemSeed NOT YET: size / contrast envelopes → 15.01 distribution / local density → 15.02 labels / legends / noise → 15.03 generator / scoring / tests → 15.04

Taxonomy root only

01 / ownership
OWNS

Eligibility + taxonomy

Explicit eligibility, form kind, role kind, evidence and conservative resolution.

OWNS

Root identities

Candidate set, descriptor seeds and system seed bound to an explicit protected hierarchy.

DEFERS

15.01–15.04

Size, contrast, density, labels/noise, scoring and generation remain downstream.

No MetricResult.

owns_metrics=[]. 15.00 owns descriptors and root identity only.

Eligibility is not geometric smallness

02 / eligibility
EligibilityMeaning
MICRODETAIL_CANDIDATEExplicit source allows the subject into Topic15 analysis.
NON_MICRODETAILExplicit source excludes the subject from Topic15 analysis.
UNSPECIFIEDSource explicitly makes no commitment. This is not missing evidence.
Do not infer candidate status.

Small bbox, tiny font, low mass, isolated dot, bright mark or repeated unit are not enough to create a microdetail candidate.

MicroDetailFormKind

03 / form taxonomy
FormIdentity only
POINT_MARKPoint/dot-like microform. No size threshold is implied.
LINE_MARKLine/stroke-like microform. No length threshold is implied.
SHAPE_MARKShape-like microform; geometry remains foreign-owned.
ICON_GLYPHIcon/glyph identity without semantic interpretation.
TEXT_FRAGMENTText-bearing microform. Label/legend/noise semantics wait for 15.03.
RULE_OR_TICKRule, tick or registration-like mark; technical meaning is not inferred.
REPEATING_UNITDeclared repeat unit. Density remains 15.02 territory.
OTHER_EXPLICITExplicitly classified form outside the closed v1 taxonomy.
UNSPECIFIEDExplicit no-commitment form value, distinct from missing evidence.

MicroDetailRoleKind

04 / role taxonomy
RoleMeaning
MICRO_ACCENTDeclared small attention cue. Not proof of attention strength, focal rank or dominance.
SUPPORT_DETAILMicro-level support intent. Not a Topic14 SecondaryMassRelation.
TECHNICAL_MARKDeclared functional/technical mark. Label/legend/noise classification waits for 15.03.
ANNOTATIVE_DETAILAnnotation-like role; text meaning remains deferred.
DECORATIVE_MICROFORMOrnamental detail. Decorative does not automatically mean noise.
REPEATING_MICRO_UNITRepeated-detail role. Does not compute density.
UNSPECIFIEDExplicit no-commitment role. Exclusive if used.

Owner-qualified taxonomy evidence

05 / evidence
MicroDetailTaxonomyEvidence {
  microDetailTaxonomyEvidenceRef,

  scopeRef,
  subjectRef,

  eligibilityKind,
  formKind,
  roleKinds[],

  evidenceSourceRef,
  evidenceSourceOwnerRef,

  confidence,
  provenance,
  snapshotRef?,

  status,
  mutationAllowed: false
}
MICRODETAIL_CANDIDATE: roleKinds[] must be non-empty NON_MICRODETAIL: roleKinds[] must be empty UNSPECIFIED: roleKinds[] must be empty UNSPECIFIED role: must be exclusive confidence: source confidence only NOT role importance NOT conflict priority

Consensus or explicit conflict

06 / resolution
MicroDetailTaxonomyResolution {
  microDetailTaxonomyResolutionRef,

  scopeRef,
  subjectRef,

  evidenceRefs[],

  resolvedEligibilityKind,
  resolvedFormKind,
  resolvedRoleKinds[],

  resolutionState:
    RESOLVED | CONFLICT,

  confidence: null,

  status,
  reasonCode,
  mutationAllowed: false
}
no usable evidence → N_A all usable evidence agrees exactly on: eligibility form canonical role set → OK + RESOLVED any disagreement → OK + CONFLICT confidence cannot break conflict missing evidence != UNSPECIFIED

Bind to hierarchy, do not own it

07 / protection binding
HierarchyProtectionBinding {
  hierarchyProtectionBindingRef,

  scopeRef,

  protectedHierarchyRef,
  protectedHierarchyOwnerRef,

  protectedSubjectRefs[],
  protectedRelationRefs[],

  snapshotRef,

  status,
  reasonCode,
  mutationAllowed: false
}
15.00 may bind to: observed dominance secondary support structure generic hierarchy structure But it may NOT: recompute rank infer levels change protected relations claim global hierarchy ownership prove that hierarchy is preserved

Candidate set policy is explicit

08 / policy
MicroDetailCandidateSetPolicy {
  microDetailCandidateSetPolicyRef,

  policySourceRef,
  policySourceOwnerRef,

  allowedFormKinds[],
  allowedRoleKinds[],

  roleMatchMode:
    ANY_OF | ALL_OF,

  conflictPolicy:
    EXCLUDE,

  unspecifiedEligibilityPolicy:
    EXCLUDE,

  maxCandidates:
    1..4096,

  candidateOrder:
    SUBJECT_REF_LEXICAL_FOR_SERIALIZATION_ONLY,

  provenance,
  status,
  mutationAllowed: false
}
No default policy.

Нет универсального перечня microdetail roles, размера, contrast threshold или density threshold. maxCandidates — только safety bound.

Eligibility for analysis, not quality

09 / candidates
MicroDetailCandidate {
  microDetailCandidateRef,

  scopeRef,
  subjectRef,

  microDetailTaxonomyResolutionRef,

  formKind,
  roleKinds[],

  hierarchyProtectionBindingRef,

  status,
  mutationAllowed: false
}

MicroDetailCandidateSet {
  microDetailCandidateSetRef,

  scopeRef,
  hierarchyProtectionBindingRef,
  microDetailCandidateSetPolicyRef,

  candidateRefs[],
  subjectRefs[],

  status,
  reasonCode,
  mutationAllowed: false
}
candidate != visually small proof candidate != harmless-to-hierarchy proof candidate != score candidate count != density lexical subject order != attention order != hierarchy order

MicroDetailDescriptorSeed

10 / immutable root
MicroDetailDescriptorSeed {
  microDetailDescriptorSeedRef,

  scopeRef,
  microDetailCandidateSetRef,
  microDetailCandidateRef,

  subjectRef,
  formKind,
  roleKinds[],

  hierarchyProtectionBindingRef,

  sizeContrastEnvelopeAttachmentRef: null,
  distributionDensityAttachmentRef: null,
  labelLegendNoiseAttachmentRef: null,
  evaluationAttachmentRef: null,

  status: OK,
  mutationAllowed: false
}

Downstream modules create derived attachments. They do not mutate the 15.00 seed.

MicroDetailSystemSeed

11 / topic root
MicroDetailSystemSeed {
  microDetailSystemSeedRef,

  scopeRef,
  hierarchyProtectionBindingRef,
  microDetailCandidateSetRef,

  microDetailDescriptorSeedRefs[],
  subjectRefs[],

  sizeContrastEnvelopeSetAttachmentRef: null,
  distributionDensitySetAttachmentRef: null,
  labelLegendNoiseSetAttachmentRef: null,
  evaluationAttachmentRef: null,

  status,
  reasonCode,
  mutationAllowed: false
}

Identity preserves evidence and role sets

12 / deterministic lineage
evidenceRef = hash( scope + subject + eligibility + form + canonical roles + source/owner + confidence + provenance + snapshot ) resolutionRef = hash( scope + subject + canonical evidence refs + resolved eligibility/form/roles + resolution state + status ) candidateRef = hash( scope + subject + exact resolution + form + roles + hierarchy binding ) descriptorSeedRef = hash( scope + candidate set + candidate + subject + form + roles + hierarchy binding )

N_A is not UNSPECIFIED

13 / status semantics
CaseResult
No taxonomy evidenceN_A
Exact evidence agreementOK + RESOLVED
Eligibility/form/role disagreementOK + CONFLICT
Invalid evidenceINVALID
UNSPECIFIED eligibilityExplicit state; excluded by v1 candidate policy
No eligible candidatesOK empty set
Candidate overflowN_A; no truncation
Missing hierarchy bindingN_A for candidate/system construction

Do not smuggle 15.01–15.04 into 15.00

14 / firewalls
Forbidden shortcuts

small→microdetail; bright→micro accent; technical mark→noise; candidate count→density; role→score; protected hierarchy binding→hierarchy-preserved proof.

Preserved

explicit identity, foreign ownership, N_A != 0, immutable seeds, no MetricResult, no density/size/contrast scoring, no generator.

Topic15 ownership chain

15 / integration
OwnerRole
Compo4Visual mass stays upstream.
Compo13Observed dominance / focal leadership stays upstream.
Topic14Secondary-mass support stays separate from microdetail support role.
Compo18Generic hierarchy/subordination graph remains separate.
15.00Microdetail eligibility, form/role taxonomy, protected-hierarchy binding and root seeds.
15.01Size/contrast envelopes.
15.02Distribution and local density.
15.03Labels, legends, technical noise.
15.04Generator, scoring and final tests.

Correction routes to the owner

16 / non-mutating request
MicroDetailCorrectionRequest {
  microDetailCorrectionRequestRef,

  targetOwnerRef,
  reasonCode,

  subjectRef?,
  evidenceRefs[],

  suggestedAction,

  status,
  mutationAllowed: false
}

CANON → LAB → DATA → IDEAS

17 / mandatory hooks
IDEAS_REFS[]7 R&D directions retained.
DATA_CAPTURE[]Taxonomy evidence, role sets, candidates and protected hierarchy lineage.
DEFERRED_SEMANTIC_INPUTS[]Noise, labels, envelopes and style desirability remain downstream.
HUMAN_FEEDBACK_HOOKS[]Microdetail identity and role corrections.
CONFLICT_PRIORITY_ASSUMPTIONS[]Confidence/order never become hidden priority.
LAB_HOOKS[]Human microdetail perception studies.

Visual laboratory hook

18 / same size, different role
SAME GEOMETRIC SIZE · DIFFERENT EXPLICIT ROLE EVIDENCE Source A: MICRO_ACCENT Source B: TECHNICAL_MARK No evidence: N_A · NOT AUTO-CLASSIFIED Geometry alone does not create taxonomy, role, density, hierarchy safety or score.

15.00 regression suite

19 / deterministic tests

Tests cover evidence validation, exact-set consensus, conflict preservation, hierarchy binding, explicit candidate policies, immutable descriptor/system seeds, N_A semantics, foreign ownership and hard deferrals to 15.01–15.04.

Tests not run yet.

DATA FOR LAYOUT ENGINE

20 / machine contract
{
  "module": "Compo 15.00",
  "name": "microdetail_taxonomy_and_roles",
  "version": "1.0-canonical",
  "canonical_main_title": "Microdetail taxonomy and roles",
  "topic": "15_МАЛЫЕ_ФОРМЫ_АКЦЕНТЫ_И_МИКРОДЕТАЛИ",
  "scope": "EXPLICIT_MICRODETAIL_ELIGIBILITY_FORM_TAXONOMY_ROLE_EVIDENCE_HIERARCHY_PROTECTION_BINDING_CANDIDATE_AND_DESCRIPTOR_ROOT_MODEL_ONLY",
  "main_topic_contract": {
    "topic_title": "Малые формы, акценты и микродетали",
    "topic_goal": "Управляет микродеталями, technical marks и мелкими акцентами: их плотностью, контрастом, размером и вкладом без разрушения основной иерархии.",
    "expected_output": "MicroDetailDescriptor[], density maps, role envelopes",
    "planned_files": [
      "15.00 Microdetail taxonomy and roles",
      "15.01 Size/contrast envelopes",
      "15.02 Distribution and local density",
      "15.03 Labels, legends, technical noise",
      "15.04 Generator, scoring and tests"
    ]
  },
  "ownership": {
    "owner": "Compo15.00",
    "owns": [
      "MicroDetailEligibilityKind taxonomy",
      "MicroDetailFormKind taxonomy",
      "MicroDetailRoleKind taxonomy",
      "MicroDetailTaxonomyEvidence",
      "MicroDetailTaxonomyResolution",
      "HierarchyProtectionBinding adapter",
      "MicroDetailCandidateSetPolicy",
      "MicroDetailCandidate",
      "MicroDetailCandidateSet",
      "MicroDetailDescriptorSeed",
      "MicroDetailSystemSeed",
      "identity/status/provenance rules for Topic15 root model",
      "non-mutating correction request for microdetail taxonomy/role evidence and hierarchy binding"
    ],
    "does_not_own": [
      "subject geometry / bounding boxes / positions — upstream geometry owners",
      "visual mass calculation — Compo4",
      "focal candidate eligibility / dominance measurement — Compo13",
      "secondary-mass support relations — Topic14",
      "generic hierarchy/subordination graph — Compo18",
      "microdetail size measurement / size envelopes — Compo15.01",
      "microdetail contrast measurement / contrast envelopes — Compo15.01",
      "role envelope numerical limits — Compo15.01",
      "distribution / local density / density maps — Compo15.02",
      "clustering / spacing density evaluation — Compo15.02",
      "labels / legends / technical-noise evaluation — Compo15.03",
      "text semantics of labels or legends — semantic owner / Compo15.03 adapter",
      "microdetail target scoring — Compo15.04",
      "microdetail generator / repair candidates — Compo15.04",
      "global hierarchy priority",
      "global balance ownership",
      "foreign layout mutation"
    ]
  },
  "consumes": [
    "explicit scope identity",
    "owner-qualified microdetail taxonomy/role evidence",
    "explicit hierarchy-protection reference from its canonical owner",
    "subject identities from upstream scene/object layer",
    "optional upstream snapshot lineage"
  ],
  "provides": [
    "MicroDetailTaxonomyResolution",
    "HierarchyProtectionBinding",
    "MicroDetailCandidateSet",
    "MicroDetailDescriptorSeed[]",
    "MicroDetailSystemSeed",
    "Topic15.00 observation record"
  ],
  "owns_metrics": [],
  "metric_ownership_note": "15.00 owns taxonomy/role descriptors and immutable root seeds only. It owns no MetricResult, no density metric, no size/contrast fit, no hierarchy-damage score and no independent numeric vote.",
  "microdetail_eligibility_kind_taxonomy": {
    "MICRODETAIL_CANDIDATE": "Explicit source allows the subject into the Topic15 microdetail candidate pool.",
    "NON_MICRODETAIL": "Explicit source excludes the subject from the Topic15 microdetail candidate pool.",
    "UNSPECIFIED": "Explicit source makes no eligibility commitment. This is not missing evidence."
  },
  "microdetail_form_kind_taxonomy": {
    "POINT_MARK": "Point-like or dot-like microform declared by its source; no size threshold is implied.",
    "LINE_MARK": "Short line/stroke-like microform declared by its source; no length threshold is implied.",
    "SHAPE_MARK": "Small shape-like mark declared by its source; geometry is not re-measured here.",
    "ICON_GLYPH": "Iconic or glyph-like mark; semantic interpretation is not owned here.",
    "TEXT_FRAGMENT": "Text-bearing microform identity only; label/legend/noise semantics are deferred to 15.03.",
    "RULE_OR_TICK": "Rule, tick, registration-like or ruler-like mark; technical meaning is not inferred from geometry.",
    "REPEATING_UNIT": "A declared micro-unit participating in repetition; density is deferred to 15.02.",
    "OTHER_EXPLICIT": "Explicitly classified microform not represented by the current closed taxonomy.",
    "UNSPECIFIED": "Explicit source does not commit to a form kind. This is not missing evidence."
  },
  "microdetail_role_kind_taxonomy": {
    "MICRO_ACCENT": "Declared small attention cue. It is intent/role evidence, not proof of high attention, focal rank or dominance.",
    "SUPPORT_DETAIL": "Declared micro-level supporting detail. It is not a Topic14 SecondaryMassRelation and not a score.",
    "TECHNICAL_MARK": "Declared functional/technical mark. Label/legend/noise semantics are deferred to 15.03.",
    "ANNOTATIVE_DETAIL": "Declared annotation-like detail. Text meaning and label behavior remain deferred.",
    "DECORATIVE_MICROFORM": "Declared ornamental microform. Decorative does not mean noise.",
    "REPEATING_MICRO_UNIT": "Declared repeated micro-unit. Repetition role does not compute density.",
    "UNSPECIFIED": "Explicit source makes no role commitment. This value must be exclusive inside a role set."
  },
  "taxonomy_evidence_schema": {
    "microDetailTaxonomyEvidenceRef": "stable identity",
    "scopeRef": "Topic15 observation scope",
    "subjectRef": "subject identity",
    "eligibilityKind": "MICRODETAIL_CANDIDATE|NON_MICRODETAIL|UNSPECIFIED",
    "formKind": "one MicroDetailFormKind",
    "roleKinds": "canonical non-empty role set only for MICRODETAIL_CANDIDATE; otherwise empty",
    "evidenceSourceRef": "explicit source",
    "evidenceSourceOwnerRef": "owner-qualified source",
    "confidence": "finite [0,1] source confidence only",
    "provenance": "canonical provenance class",
    "snapshotRef": "optional source snapshot lineage",
    "status": "OK|INVALID",
    "mutationAllowed": false,
    "firewall": "Evidence may declare taxonomy/role identity only. It may not infer size, contrast, density, attention strength, hierarchy damage or noise score."
  },
  "taxonomy_resolution_schema": {
    "microDetailTaxonomyResolutionRef": "stable identity",
    "scopeRef": "scope",
    "subjectRef": "subject",
    "evidenceRefs": "canonical evidence refs",
    "resolvedEligibilityKind": "MICRODETAIL_CANDIDATE|NON_MICRODETAIL|UNSPECIFIED|CONFLICT",
    "resolvedFormKind": "MicroDetailFormKind|null when conflict/N_A",
    "resolvedRoleKinds": "canonical role set; empty when non-candidate/conflict/N_A",
    "resolutionState": "RESOLVED|CONFLICT",
    "confidence": "null in v1; no implicit confidence aggregation",
    "status": "OK|N_A|INVALID",
    "reasonCode": "explicit",
    "mutationAllowed": false,
    "firewall": "All usable evidence must agree on eligibility, form and exact role set. Confidence cannot break conflict; no evidence is N_A, not UNSPECIFIED."
  },
  "hierarchy_protection_binding_schema": {
    "hierarchyProtectionBindingRef": "stable identity",
    "scopeRef": "same Topic15 scope",
    "protectedHierarchyRef": "exact upstream hierarchy/dominance structure identity",
    "protectedHierarchyOwnerRef": "canonical foreign owner",
    "protectedSubjectRefs": "explicit non-empty canonical set of major hierarchy subjects",
    "protectedRelationRefs": "optional canonical relation refs",
    "snapshotRef": "exact lineage snapshot",
    "status": "OK|N_A|INVALID",
    "reasonCode": "explicit",
    "mutationAllowed": false,
    "firewall": "15.00 binds to protected hierarchy but does not rank it, score it, infer hierarchy levels or mutate it."
  },
  "candidate_set_policy_schema": {
    "microDetailCandidateSetPolicyRef": "stable identity",
    "policySourceRef": "explicit source",
    "policySourceOwnerRef": "owner",
    "allowedFormKinds": "explicit non-empty unique set from MicroDetailFormKind taxonomy",
    "allowedRoleKinds": "explicit non-empty unique set from MicroDetailRoleKind taxonomy excluding UNSPECIFIED",
    "roleMatchMode": "ANY_OF|ALL_OF",
    "conflictPolicy": "EXCLUDE",
    "unspecifiedEligibilityPolicy": "EXCLUDE",
    "maxCandidates": "integer 1..4096 implementation safety bound",
    "candidateOrder": "SUBJECT_REF_LEXICAL_FOR_SERIALIZATION_ONLY",
    "provenance": "canonical provenance class",
    "status": "OK|INVALID",
    "mutationAllowed": false,
    "default": "NONE — there is no implicit candidate policy and no geometric smallness threshold"
  },
  "candidate_schema": {
    "microDetailCandidateRef": "stable identity",
    "scopeRef": "scope",
    "subjectRef": "candidate subject",
    "microDetailTaxonomyResolutionRef": "exact resolution",
    "formKind": "resolved form kind",
    "roleKinds": "resolved role set",
    "hierarchyProtectionBindingRef": "exact protection binding",
    "status": "OK|INVALID",
    "mutationAllowed": false,
    "firewall": "Candidate means eligible for Topic15 analysis only. It does not prove the subject is visually small, low-priority, harmless to hierarchy or desirable."
  },
  "candidate_set_schema": {
    "microDetailCandidateSetRef": "stable identity",
    "scopeRef": "scope",
    "hierarchyProtectionBindingRef": "binding",
    "microDetailCandidateSetPolicyRef": "policy",
    "candidateRefs": "canonical candidate refs",
    "subjectRefs": "canonical subject refs",
    "status": "OK|N_A|INVALID",
    "reasonCode": "explicit",
    "mutationAllowed": false,
    "firewall": "Candidate count is not density. Lexical candidate order is deterministic serialization only and never visual priority."
  },
  "descriptor_seed_schema": {
    "microDetailDescriptorSeedRef": "stable identity",
    "scopeRef": "scope",
    "microDetailCandidateSetRef": "candidate set",
    "microDetailCandidateRef": "candidate",
    "subjectRef": "subject",
    "formKind": "resolved form kind",
    "roleKinds": "resolved role set",
    "hierarchyProtectionBindingRef": "binding",
    "sizeContrastEnvelopeAttachmentRef": null,
    "distributionDensityAttachmentRef": null,
    "labelLegendNoiseAttachmentRef": null,
    "evaluationAttachmentRef": null,
    "status": "OK",
    "mutationAllowed": false,
    "firewall": "The seed is immutable. Downstream 15.01–15.04 create attachments rather than mutating these null placeholders."
  },
  "system_seed_schema": {
    "microDetailSystemSeedRef": "stable identity",
    "scopeRef": "scope",
    "hierarchyProtectionBindingRef": "binding",
    "microDetailCandidateSetRef": "candidate set",
    "microDetailDescriptorSeedRefs": "one per candidate",
    "subjectRefs": "canonical set",
    "sizeContrastEnvelopeSetAttachmentRef": null,
    "distributionDensitySetAttachmentRef": null,
    "labelLegendNoiseSetAttachmentRef": null,
    "evaluationAttachmentRef": null,
    "status": "OK|N_A|INVALID",
    "reasonCode": "explicit",
    "mutationAllowed": false,
    "firewall": "System seed is a root identity only; it owns no density map, role envelope, label/noise result, generator output or score."
  },
  "identity_policy": {
    "microDetailTaxonomyEvidenceRef": "hash(scope, subject, eligibility, form, canonical roles, source/owner, confidence, provenance, snapshot)",
    "microDetailTaxonomyResolutionRef": "hash(scope, subject, canonical evidence refs, resolved eligibility/form/roles, resolution state, status)",
    "hierarchyProtectionBindingRef": "hash(scope, hierarchy ref/owner, protected subjects/relations, snapshot, status)",
    "microDetailCandidateSetPolicyRef": "hash(source/owner, allowed forms/roles, match mode, conflict/unspecified policies, maxCandidates, provenance)",
    "microDetailCandidateRef": "hash(scope, subject, exact resolution, form, roles, hierarchy binding)",
    "microDetailCandidateSetRef": "hash(scope, hierarchy binding, policy, canonical candidate refs/subjects, status)",
    "microDetailDescriptorSeedRef": "hash(scope, candidate set, candidate, subject, form, roles, hierarchy binding)",
    "microDetailSystemSeedRef": "hash(scope, hierarchy binding, candidate set, descriptor seeds, subjects, status)",
    "excluded_from_identity": [
      "display label",
      "display color",
      "free-form comment",
      "UI order except canonical serialization"
    ]
  },
  "status_policy": {
    "noTaxonomyEvidence": "N_A",
    "allUsableEvidenceExactAgreement": "OK + RESOLVED",
    "eligibilityDisagreement": "OK + CONFLICT",
    "formDisagreement": "OK + CONFLICT",
    "roleSetDisagreement": "OK + CONFLICT",
    "invalidEvidence": "INVALID",
    "candidateResolutionConflict": "excluded by policy; not coerced to NON_MICRODETAIL",
    "eligibilityUnspecified": "excluded by policy; not treated as missing evidence",
    "candidateSetNoEligibleCandidates": "OK empty set",
    "candidateSetOverflow": "N_A; no truncation",
    "missingHierarchyProtectionBinding": "N_A for system/candidate construction",
    "N_A_not_zero": true
  },
  "candidate_build_rules": {
    "eligibilityRequired": "resolvedEligibilityKind must equal MICRODETAIL_CANDIDATE",
    "conflict": "EXCLUDE",
    "unspecified": "EXCLUDE",
    "form": "must be explicitly allowed by policy",
    "roles": "must satisfy explicit ANY_OF or ALL_OF policy",
    "protectedSubjectOverlap": "candidate subject must not be one of protectedSubjectRefs in v1 root model",
    "maxCandidates": "1..4096 safety bound; overflow N_A, no truncation",
    "order": "lexical subjectRef serialization only; never role rank, attention rank or hierarchy priority"
  },
  "critical_firewalls": [
    "microdetail eligibility must be explicit",
    "microdetail candidate != any geometrically small object",
    "small size != microdetail",
    "small area != microdetail",
    "short line != microdetail",
    "small font != microdetail",
    "low visual mass != microdetail",
    "low contrast != microdetail",
    "high contrast != micro accent",
    "isolated small object != micro accent",
    "repeated small object != repeating micro unit without explicit role evidence",
    "MICRO_ACCENT is declared role, not measured attention strength",
    "MICRO_ACCENT != focal candidate",
    "MICRO_ACCENT != dominant",
    "SUPPORT_DETAIL != Topic14 SecondaryMassRelation",
    "TECHNICAL_MARK != label",
    "TECHNICAL_MARK != legend",
    "TECHNICAL_MARK != technical noise",
    "ANNOTATIVE_DETAIL != semantic label meaning",
    "DECORATIVE_MICROFORM != noise",
    "REPEATING_MICRO_UNIT != density",
    "UNSPECIFIED != missing evidence",
    "missing evidence => N_A, not UNSPECIFIED",
    "confidence cannot break taxonomy conflict",
    "confidence != role importance",
    "form kind != role kind",
    "role kind != score",
    "candidate != descriptor score",
    "candidate count != density",
    "role count != density",
    "candidate count != hierarchy pressure",
    "candidate order != visual priority",
    "lexical order != hierarchy order",
    "no universal microdetail size threshold",
    "no universal microdetail area threshold",
    "no universal microdetail contrast threshold",
    "no universal microdetail density threshold",
    "no automatic size envelope in 15.00",
    "no automatic contrast envelope in 15.00",
    "no density map in 15.00",
    "no local density score in 15.00",
    "no label/legend/noise evaluation in 15.00",
    "no hierarchy-damage score in 15.00",
    "no microdetail target score in 15.00",
    "no generator in 15.00",
    "15.00 owns no MetricResult",
    "15.00 owns no independent numeric vote",
    "visual mass ownership remains Compo4",
    "dominance ownership remains Compo13",
    "secondary-mass support ownership remains Topic14",
    "generic hierarchy/subordination graph remains Compo18 territory",
    "hierarchy protection binding != hierarchy ownership",
    "protected hierarchy ref != inferred hierarchy level",
    "protected hierarchy subject != microdetail candidate in v1",
    "hierarchy protection != automatic hierarchy preservation proof",
    "descriptor seed != completed MicroDetailDescriptor",
    "null downstream attachment != zero",
    "N_A != 0",
    "INVALID != 0",
    "local != global",
    "geometry != interpretation",
    "descriptor != score",
    "heuristic != law",
    "one metric = one owner",
    "module execution order != rule priority",
    "correction request != foreign mutation",
    "no universal beautyScore",
    "IDEA != CANON",
    "EXPERIMENT != CANON"
  ],
  "correction_request_schema": {
    "microDetailCorrectionRequestRef": "stable identity",
    "targetOwnerRef": "taxonomy/role evidence owner, hierarchy owner or candidate-policy owner",
    "reasonCode": "ELIGIBILITY_WRONG|FORM_KIND_WRONG|ROLE_SET_WRONG|TAXONOMY_CONFLICT|HIERARCHY_BINDING_WRONG|CANDIDATE_POLICY_WRONG|PROTECTED_SUBJECT_OVERLAP_WRONG",
    "subjectRef": "subject or null for policy/binding issue",
    "evidenceRefs": "canonical refs",
    "suggestedAction": "non-mutating review request",
    "status": "OPEN|INVALID",
    "mutationAllowed": false
  },
  "deferred_downstream": {
    "15.01": [
      "owner-qualified size measurement adapters",
      "owner-qualified contrast measurement adapters",
      "role-specific size envelopes",
      "role-specific contrast envelopes",
      "envelope fit descriptors"
    ],
    "15.02": [
      "distribution descriptors",
      "local density calculation",
      "density maps",
      "clustering/spacing descriptors",
      "density target semantics"
    ],
    "15.03": [
      "labels and legends classification",
      "technical-mark overload / technical-noise descriptors",
      "annotation readability/noise relations",
      "text-semantic adapters"
    ],
    "15.04": [
      "explicit target profiles",
      "hierarchy-protection fit",
      "microdetail scoring",
      "generator / bounded repair candidates",
      "final Topic15 regression tests"
    ]
  },
  "IDEAS_REFS": [
    "IDEA-01 full human test after all 72 topics; collect human judgments of what counts as a microdetail versus a small primary element",
    "IDEA-02 semantics needed before placement; label/legend meaning remains deferred to explicit semantic owners",
    "IDEA-03 explicit rule priorities; role or candidate ordering never becomes hidden global 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",
    "scopeRef",
    "snapshotRef",
    "protectedHierarchyRef",
    "protectedHierarchyOwnerRef",
    "protectedSubjectRefs[]",
    "protectedRelationRefs[]",
    "hierarchyProtectionBindingRef",
    "microDetailTaxonomyEvidenceRefs[]",
    "taxonomyEvidenceBySubject",
    "resolvedEligibilityBySubject",
    "resolvedFormKindBySubject",
    "resolvedRoleKindsBySubject",
    "taxonomyResolutionStateBySubject",
    "microDetailTaxonomyResolutionRefs[]",
    "microDetailCandidateSetPolicyRef",
    "allowedFormKinds[]",
    "allowedRoleKinds[]",
    "roleMatchMode",
    "candidateRefs[]",
    "candidateSubjectRefs[]",
    "microDetailCandidateSetRef",
    "microDetailDescriptorSeedRefs[]",
    "microDetailSystemSeedRef",
    "humanReasonCodes[]",
    "futureSizeContrastEnvelopeRefs[]",
    "futureDensityDescriptorRefs[]",
    "futureLabelLegendNoiseRefs[]",
    "futureEvaluationRefs[]"
  ],
  "DEFERRED_SEMANTIC_INPUTS": [
    "whether a declared technical mark is functionally necessary",
    "whether a text fragment is a label, legend, annotation or decorative text",
    "whether a decorative microform is acceptable or noisy",
    "desired role-specific size/contrast envelopes",
    "desired density by role/region",
    "acceptable hierarchy disturbance",
    "global hierarchy priority",
    "style-specific microdetail target profile"
  ],
  "HUMAN_FEEDBACK_HOOKS": [
    "NOT_A_MICRODETAIL",
    "SHOULD_BE_MICRODETAIL",
    "FORM_KIND_WRONG",
    "ROLE_KIND_WRONG",
    "ROLE_SET_INCOMPLETE",
    "ROLE_SET_TOO_BROAD",
    "MICRO_ACCENT_READS_AS_PRIMARY",
    "TECHNICAL_MARK_READS_AS_DECORATION",
    "DECORATIVE_DETAIL_READS_AS_NOISE",
    "REPEATING_UNIT_CLASSIFICATION_WRONG",
    "UNSPECIFIED_SHOULD_BE_RESOLVED",
    "TAXONOMY_CONFLICT_REAL",
    "TAXONOMY_CONFLICT_SHOULD_RESOLVE",
    "PROTECTED_HIERARCHY_WRONG",
    "PROTECTED_SUBJECT_SET_WRONG",
    "CANDIDATE_POLICY_TOO_PERMISSIVE",
    "CANDIDATE_POLICY_TOO_RESTRICTIVE",
    "PROTECTED_SUBJECT_OVERLAP_ALLOWED",
    "MICRODETAIL_COUNT_FEELS_DENSE",
    "MICRODETAIL_COUNT_FEELS_SPARSE",
    "SIZE_ENVELOPE_NEEDED",
    "CONTRAST_ENVELOPE_NEEDED",
    "LABEL_LEGEND_CLASSIFICATION_NEEDED",
    "NOISE_EVALUATION_NEEDED"
  ],
  "CONFLICT_PRIORITY_ASSUMPTIONS": [
    "module execution order is not priority",
    "evidence confidence is not role priority",
    "candidate lexical order is not visual priority",
    "role taxonomy order is not hierarchy order",
    "protected subject ordering is not hierarchy ranking",
    "future evaluation weights are not inferred from role order",
    "future reviewed global conflict-priority owner remains authoritative"
  ],
  "LAB_HOOKS": [
    "human study: identify microdetails without revealing element size",
    "human study: distinguish micro accent from focal/dominant element",
    "human study: distinguish technical mark from decorative microform",
    "measure inter-rater agreement on form taxonomy",
    "measure inter-rater agreement on multi-role assignments",
    "collect cases where tiny elements are intentionally primary and therefore not microdetails",
    "collect cases where large-looking marks are still semantically microdetails",
    "test whether protected-hierarchy binding predicts later hierarchy-disturbance judgments"
  ],
  "observation_record": {
    "moduleRef": "Compo15.00",
    "metricResults": [],
    "futureMicroDetailEvaluationRefs": []
  },
  "stop_condition": "STOP after 15.00. Do not create 15.01 in this module."
}
VISITS / ...