COMPO · 7.05 · PLATFORM OVERLAYS / DYNAMIC SAFE ZONES

Platform overlays &
dynamic
safe zones.

Stateful platform-geometry layer Topic 7: explicit overlay descriptors, ACTIVE/INACTIVE/UNKNOWN snapshots, explicit unknown-state policy, owner-qualified overlay geometry, exact rectangle-union subtraction and immutable DynamicSafeZoneSnapshot outputs. Без visual-effect inference, hard-safe enforcement, clearance ownership, role inference, reflow или scoring.

ModuleCompo 7.05
Scopeplatform overlays
Stateversioned snapshot
Safe geometrydynamic
Topic7 · EDGE ZONES
Next7.06

Dynamic safe zone = stateful geometry snapshot

00 / module api

7.05 отвечает за то, какие platform overlays сейчас активны и какую exclusion geometry они создают. Enforcement остаётся downstream.

INPUT

Platform overlays + state snapshot + geometry snapshots.

OUTPUT

Versioned DynamicSafeZoneSnapshot.

METRICS

None.

OVERLAY EXISTS ≠ OVERLAY ACTIVE. Наличие descriptor в platform profile не означает, что overlay участвует в текущем UI-state.

От чего вычитаются overlays

01 / base safe region

Dynamic safe geometry всегда строится относительно explicit base region, а не content occupancy.

BaseSafeRegionSnapshot {
  baseSafeRef,
  canvasRef,
  platformRef,
  surfaceRef,

  geometryType:
    RECT |
    REGION_REF,

  rect? | regionRef?,

  unit,
  coordinateFrame,
  sourceOwner,
  confidence,
  provenance
}

OverlayDescriptor не содержит текущего state

02 / overlay descriptor

Descriptor описывает тип и safe-effect, но activation хранится отдельно.

PlatformOverlayDescriptor {
  overlayRef,
  platformRef,
  surfaceRef,
  canvasRef,

  overlayKind:
    SYSTEM_CHROME |
    NAVIGATION |
    COMPOSER |
    CAPTION_AREA |
    ACTION_CLUSTER |
    KEYBOARD |
    NOTCH_OR_CUTOUT |
    CUSTOM,

  lifecycleMode:
    ALWAYS_ACTIVE |
    STATE_DRIVEN,

  safeEffect:
    EXCLUDE_FROM_SAFE |
    NO_SAFE_EFFECT,

  geometryRef?,
  confidence,
  provenance
}
NO VISUAL INFERENCE. `overlayKind`, opacity, z-index или размер не определяют `safeEffect` автоматически.

ACTIVE / INACTIVE / UNKNOWN

03 / state snapshot

State — versioned evidence текущего platform/application context.

PlatformOverlayStateSnapshot {
  snapshotRef,
  platformRef,
  surfaceRef,
  canvasRef,
  evaluationContextRef,

  stateRecords: [{
    overlayRef,
    state:
      ACTIVE |
      INACTIVE |
      UNKNOWN,

    stateVersion,
    sourceRef,
    confidence,
    provenance
  }],

  confidence,
  provenance
}

UNKNOWN нельзя молча считать INACTIVE

04 / unknown-state policy

Поведение при неполном platform state задаётся отдельным explicit resolution policy.

RETURN_PARTIAL

Overlay остаётся unresolved; dynamic safe snapshot получает PARTIAL.

CONSERVATIVE ACTIVE

UNKNOWN исключается из safe region, если geometry уже разрешена.

EXPLICIT IGNORE

UNKNOWN не вычитается, но его ref сохраняется в ignoredUnknownOverlayRefs.

NO UNIVERSAL DEFAULT. Каждая стратегия допустима только как явно выбранный integration policy.

ALWAYS_ACTIVE — отдельная семантика

05 / lifecycle modes

Отсутствие state record у ALWAYS_ACTIVE не делает overlay неизвестным.

ALWAYS_ACTIVE + no state record → ACTIVE ALWAYS_ACTIVE + ACTIVE → ACTIVE ALWAYS_ACTIVE + INACTIVE → INVALID_STATE_CONFLICT STATE_DRIVEN + no record → UNKNOWN → explicit unknown policy

State и geometry версионируются независимо

06 / OverlayGeometrySnapshot

Geometry snapshot обязан совпадать с overlay/canvas coordinate context.

OverlayGeometrySnapshot {
  geometrySnapshotRef,
  overlayRef,
  canvasRef,

  geometryType:
    RECT |
    POLYGON_REF |
    MASK_REF |
    CUSTOM_REGION,

  rect? | geometryRef?,

  unit,
  coordinateFrame,
  confidence,
  provenance
}
NON-RECT STAYS OWNER-QUALIFIED. 7.05 не растеризует mask/polygon сам. Без adapter такой exclusion сохраняется как external geometry и делает materialized safe set PARTIAL.

NO_SAFE_EFFECT не вычитается

07 / safe effect

Overlay может быть активен и визуально занимать место, но policy может явно сказать, что он не ограничивает композиционный safe region.

EXCLUDE_FROM_SAFE

Active geometry включается в exclusion set.

NO_SAFE_EFFECT

State сохраняется для provenance, но geometry не участвует в safe-region difference.

BASE − UNION(overlays)

08 / rect materialization

Для axis-aligned rect overlays 7.05 даёт exact baseline materialization без зависимости от порядка входов.

Dynamic safe set: S = BaseSafeRect Union( active effective overlay rects ) Rect materialization: 1. clip exclusions to base 2. collect all x boundaries 3. collect all y boundaries 4. form arrangement cells 5. retain cells outside union 6. canonical sort
NO BOUNDING-BOX COLLAPSE. Две раздельные safe islands нельзя заменить одним прямоугольником, который захватит excluded UI между ними.

Safe region может распасться или исчезнуть

09 / disconnected & empty

Это допустимые geometry states, а не автоматические violations.

DISCONNECTED

safeRectCells[] может содержать несколько непересекающихся fragments/cells.

EMPTY

Если union exclusions покрывает весь base region, snapshot получает EMPTY.

EMPTY ≠ VIOLATION. 7.01/7.06 позже определят, что означает такая geometry для конкретного protected content/target.

Immutable resolved snapshot

10 / DynamicSafeZoneSnapshot

Любое изменение state/geometry создаёт новую lineage, а не переписывает старый результат.

DynamicSafeZoneSnapshot {
  dynamicSafeZoneRef,

  baseSafeRef,
  platformRef,
  surfaceRef,
  canvasRef,

  overlaySetRef,
  stateSnapshotRef,
  resolutionPolicyRef,

  activeOverlayRefs[],
  inactiveOverlayRefs[],
  unresolvedOverlayRefs[],
  ignoredUnknownOverlayRefs[],

  effectiveExclusionRefs[],
  externalExclusionRefs[],

  safeRegionExpression:
    BASE_MINUS_UNION,

  safeRectCells[]?,

  status:
    OK |
    PARTIAL |
    EMPTY |
    INVALID,

  confidence,
  provenance
}

Geometry source, не enforcement owner

11 / downstream consumers

Один resolved snapshot может кормить несколько downstream owners.

7.01

Использует dynamic safe region для protected-content containment.

7.03

Использует resolved reference geometry для clearance adapter.

7.04

Может выбирать dynamic ref по role policy, но не меняет active state.

7.06

Строит violations/repair/scoring из downstream evidence.

Dynamic update = invalidation, не reflow

12 / change set

7.05 может сообщить, что safe geometry изменилась, но не двигает content.

DynamicSafeZoneChangeSet { fromDynamicSafeZoneRef, toDynamicSafeZoneRef, changedFamilies[], safeRegionChanged, recomputeTargets: [ Compo7.01, Compo7.03, Compo7.06 ], mutationAllowed: false }
RECOMPUTE ≠ REFLOW. Layout owner может позже решить, что нужен adaptation request. 7.05 такого решения не принимает.

Platform-aware, но не universal edge engine

13 / ownership firewall

Dynamic UI-state не меняет границы ownership Topic 7.

QuestionOwner
Neutral zone shells?7.00
Hard protected-content containment?7.01
Bleed/intentional exit?7.02
Signed clearance/tension?7.03
Role → edge policy?7.04
Overlay lifecycle + dynamic safe geometry?7.05
Violation / repair / score?7.06

Visual Lab

14 / visual lab

Один base safe region меняется только из-за explicit platform-state snapshot.

A · OVERLAY INACTIVE state=INACTIVE base safe region unchanged B · OVERLAY ACTIVE state=ACTIVE bottom exclusion subtracted C · TWO ACTIVE OVERLAYS top + bottom exclusions dynamic safe geometry remains between UNKNOWN != INACTIVE · handling is explicit resolution policy active overlay + NO_SAFE_EFFECT does not subtract geometry rect exclusions are clipped and union-subtracted in canonical arrangement dynamic safe region may be disconnected or EMPTY geometry update invalidates 7.01 / 7.03 / 7.06 evidence 7.05 never performs reflow or scoring

Platform/dynamic-safe regression

15 / deterministic tests

Проверяем lifecycle, UNKNOWN policies, safeEffect, identity consistency, rectangle-union materialization, disconnected/empty states, non-rect partials, diff/invalidation и ownership barriers.

Tests not run yet.

DATA FOR LAYOUT ENGINE

16 / machine contract

Machine-readable 7.05 contract.

{
  "module": "Compo 7.05",
  "name": "platform_overlays_and_dynamic_safe_zones",
  "version": "1.1-final",
  "canonical_main_title": "Platform overlays и динамические safe zones",
  "topic": "07_ПОЛЯ_SAFE_ZONES_И_BLEED",
  "scope": "PLATFORM_OVERLAY_LIFECYCLE_ACTIVE_EXCLUSION_RESOLUTION_DYNAMIC_SAFE_REGION_SNAPSHOTS_AND_INVALIDATION",
  "consumes": [
    "Compo7.00 PLATFORM_RESERVED_SHELL / SAFE_ZONE_SHELL geometry refs as optional source geometry",
    "explicit BaseSafeRegionSnapshot",
    "PlatformOverlaySet",
    "PlatformOverlayStateSnapshot",
    "owner-qualified OverlayGeometrySnapshot[]",
    "explicit PlatformSafeResolutionPolicy",
    "optional Compo6.00 CanvasDescriptor for identity/frame checks"
  ],
  "provides": [
    "PlatformOverlayDescriptor",
    "PlatformOverlaySet",
    "PlatformOverlayStateRecord",
    "PlatformOverlayStateSnapshot",
    "OverlayGeometrySnapshot",
    "PlatformSafeResolutionPolicy",
    "ResolvedPlatformOverlay",
    "DynamicSafeZoneSnapshot",
    "DynamicSafeZoneChangeSet",
    "PlatformSafeInvalidationRequest[]",
    "dynamicSafeZoneRef for Compo7.01 / Compo7.03 / Compo7.04 / Compo7.06"
  ],
  "owns_metrics": [],
  "descriptors_only": [
    "edge.platform.platformRef",
    "edge.platform.surfaceRef",
    "edge.platform.overlayRef",
    "edge.platform.overlayKind",
    "edge.platform.lifecycleMode",
    "edge.platform.state",
    "edge.platform.safeEffect",
    "edge.platform.geometryRef",
    "edge.platform.dynamicSafeZoneRef",
    "edge.platform.activeOverlayRefs",
    "edge.platform.unresolvedOverlayRefs",
    "edge.platform.ignoredUnknownOverlayRefs",
    "edge.platform.safeRectCells",
    "edge.platform.status",
    "edge.platform.confidence"
  ],
  "base_safe_region_schema": {
    "baseSafeRef": "stable versioned ref",
    "canvasRef": "canvas identity",
    "platformRef": "platform identity",
    "surfaceRef": "surface/layout context identity",
    "geometryType": "RECT|REGION_REF",
    "rect": "required for RECT; x1>x0, y1>y0",
    "regionRef": "required for REGION_REF",
    "unit": "PX|CANVAS_UNIT|MM",
    "coordinateFrame": "CANVAS_TOP_LEFT_Y_DOWN",
    "sourceOwner": "Compo7.00 / Compo6.00 / explicit external owner",
    "confidence": "0..1",
    "provenance": "object",
    "important": "7.05 never infers the base safe region from content occupancy"
  },
  "platform_overlay_descriptor_schema": {
    "overlayRef": "stable unique ref",
    "platformRef": "platform identity",
    "surfaceRef": "surface identity",
    "canvasRef": "canvas identity",
    "overlayKind": "SYSTEM_CHROME|NAVIGATION|COMPOSER|CAPTION_AREA|ACTION_CLUSTER|KEYBOARD|NOTCH_OR_CUTOUT|CUSTOM",
    "lifecycleMode": "ALWAYS_ACTIVE|STATE_DRIVEN",
    "safeEffect": "EXCLUDE_FROM_SAFE|NO_SAFE_EFFECT",
    "geometryRef": "required when safeEffect=EXCLUDE_FROM_SAFE",
    "confidence": "0..1",
    "provenance": "STANDARD|EMPIRICAL|STYLE_PRESET|IMPLEMENTATION_HEURISTIC|INITIAL_HEURISTIC",
    "important": "overlayKind and visual appearance do not imply safeEffect",
    "sourceRef": "optional explicit custom/external platform source; provenance class remains canonical"
  },
  "platform_overlay_state_record_schema": {
    "overlayRef": "descriptor ref",
    "state": "ACTIVE|INACTIVE|UNKNOWN",
    "stateVersion": "version token",
    "sourceRef": "state provider / platform snapshot source",
    "confidence": "0..1",
    "provenance": "object"
  },
  "platform_overlay_state_snapshot_schema": {
    "snapshotRef": "stable versioned ref",
    "platformRef": "must match overlay set",
    "surfaceRef": "must match overlay set",
    "canvasRef": "must match overlay set",
    "stateRecords": "PlatformOverlayStateRecord[]",
    "evaluationContextRef": "explicit UI/application state context ref",
    "confidence": "0..1",
    "provenance": "object",
    "duplicateOverlayState": "INVALID"
  },
  "overlay_geometry_snapshot_schema": {
    "geometrySnapshotRef": "stable versioned ref",
    "overlayRef": "descriptor ref",
    "canvasRef": "same canvas",
    "geometryType": "RECT|POLYGON_REF|MASK_REF|CUSTOM_REGION",
    "rect": "required for RECT; finite positive-area rectangle",
    "geometryRef": "required for non-RECT",
    "unit": "must match base region unit unless explicit adapter is supplied",
    "coordinateFrame": "CANVAS_TOP_LEFT_Y_DOWN for baseline rect resolution",
    "confidence": "0..1",
    "provenance": "object"
  },
  "platform_safe_resolution_policy_schema": {
    "policyRef": "stable explicit ref",
    "unknownStatePolicy": "RETURN_PARTIAL|CONSERVATIVE_ACTIVE_IF_GEOMETRY_KNOWN|EXPLICIT_IGNORE_UNKNOWN",
    "geometryFailurePolicy": "RETURN_PARTIAL|INVALID",
    "materializeRectCells": "boolean",
    "confidence": "0..1",
    "provenance": "STANDARD|STYLE_PRESET|EMPIRICAL|IMPLEMENTATION_HEURISTIC",
    "no_hidden_default": "resolver must not invent a policy when this object is absent"
  },
  "state_resolution": {
    "ALWAYS_ACTIVE + no state record": "ACTIVE",
    "ALWAYS_ACTIVE + ACTIVE": "ACTIVE",
    "ALWAYS_ACTIVE + INACTIVE": "INVALID_STATE_CONFLICT",
    "ALWAYS_ACTIVE + UNKNOWN": "ACTIVE_WITH_STATE_DIAGNOSTIC",
    "STATE_DRIVEN + ACTIVE": "ACTIVE",
    "STATE_DRIVEN + INACTIVE": "INACTIVE",
    "STATE_DRIVEN + UNKNOWN or missing": "follow unknownStatePolicy",
    "NO_SAFE_EFFECT": "state may still be resolved for provenance, but geometry is never subtracted"
  },
  "unknown_state_policy": {
    "RETURN_PARTIAL": "leave overlay unresolved; safe snapshot status PARTIAL",
    "CONSERVATIVE_ACTIVE_IF_GEOMETRY_KNOWN": "treat UNKNOWN as active only when exclusion geometry is resolved; otherwise PARTIAL",
    "EXPLICIT_IGNORE_UNKNOWN": "do not subtract unknown overlay; record it in ignoredUnknownOverlayRefs",
    "important": "none of these is a universal default"
  },
  "rect_exclusion_materialization": {
    "base": "one explicit rectangular base safe region",
    "overlay_rect": "active EXCLUDE_FROM_SAFE rectangle clipped to base rect",
    "operation": "BASE_RECT minus UNION(active clipped exclusion rects)",
    "algorithm": "canonical x/y arrangement: collect base/exclusion x/y boundaries, partition into non-overlapping cells, retain cells whose midpoint is not inside any exclusion",
    "order_independence": "output safeRectCells sorted canonically; overlay input order cannot change the represented safe set",
    "disconnected": "allowed",
    "empty": "safeRectCells=[] and status EMPTY when all baseline area is excluded",
    "no_bbox_collapse": "multiple cells/fragments must not be replaced by one enclosing bbox"
  },
  "dynamic_safe_zone_snapshot_schema": {
    "dynamicSafeZoneRef": "stable ref derived from baseSafeRef + overlaySetRef + stateSnapshotRef + resolutionPolicyRef",
    "baseSafeRef": "source base safe region",
    "platformRef": "string",
    "surfaceRef": "string",
    "canvasRef": "string",
    "overlaySetRef": "string",
    "stateSnapshotRef": "string",
    "resolutionPolicyRef": "string",
    "activeOverlayRefs": "sorted refs",
    "inactiveOverlayRefs": "sorted refs",
    "unresolvedOverlayRefs": "sorted refs",
    "ignoredUnknownOverlayRefs": "sorted refs",
    "effectiveExclusionRefs": "sorted refs",
    "safeRegionExpression": "BASE_MINUS_UNION(EXCLUSIONS)",
    "safeRectCells": "exact baseline materialization when all effective exclusions are RECT and base is RECT",
    "externalExclusionRefs": "non-rect geometry refs requiring owner adapter",
    "status": "OK|PARTIAL|EMPTY|N_A|INVALID",
    "confidence": "minimum relevant evidence confidence",
    "provenance": "DERIVED"
  },
  "dynamic_change_semantics": {
    "changeSet": "compare two resolved snapshots for the same platform/surface/canvas/base policy lineage",
    "changedFamilies": "ACTIVE_OVERLAY_SET|OVERLAY_GEOMETRY|UNRESOLVED_STATE|BASE_SAFE_REGION|RESOLUTION_POLICY",
    "safeRegionChanged": "true when active/effective exclusions or base geometry/version changed",
    "recomputeHints": [
      "Compo7.01 hard-safe containment consumers",
      "Compo7.03 clearance/reference consumers",
      "Compo7.06 violation/scoring consumers",
      "integration/layout owner may decide whether to request adaptation"
    ],
    "mutationAllowed": false,
    "important": "7.05 emits invalidation/recompute evidence, not a reflow"
  },
  "ownership_map": {
    "7.00": "neutral margin/safe/bleed/platform-reserved shells",
    "7.01": "hard-safe protected-content containment",
    "7.02": "bleed and intentional edge exit",
    "7.03": "continuous edge clearance/tension",
    "7.04": "role-dependent edge policy routing",
    "7.05": "platform overlay lifecycle/state and resolved dynamic safe geometry",
    "7.06": "violations, repair, target-aware scoring and Topic7 regression"
  },
  "semantic_firewalls": {
    "overlay_exists_vs_active": "descriptor existence does not imply current activation",
    "unknown_vs_inactive": "UNKNOWN is not INACTIVE",
    "visual_overlay_vs_safe_effect": "opacity/z-order/overlay kind do not imply exclusion",
    "dynamic_geometry_vs_hard_safe": "7.05 supplies geometry; 7.01 enforces protected-content containment",
    "dynamic_geometry_vs_clearance": "7.05 supplies reference snapshot; 7.03 owns numeric clearance",
    "role_policy_vs_lifecycle": "7.04 can choose refs but cannot toggle overlay state",
    "empty_safe_region_vs_violation": "EMPTY is geometry state; violation construction remains 7.06",
    "recompute_vs_reflow": "change event can invalidate downstream evidence but cannot mutate layout"
  },
  "metric_policy": {
    "overlay_count": "descriptor only",
    "safe_cell_count": "implementation/geometry descriptor only",
    "direct_scoring": "FORBIDDEN in 7.05",
    "fewer_overlays_is_better": "FORBIDDEN",
    "larger_dynamic_safe_region_is_better": "FORBIDDEN",
    "platform_without_overlays_is_better": "FORBIDDEN"
  },
  "hard_constraints": [
    "7.05 owns platform-overlay lifecycle snapshots, active exclusion geometry resolution and dynamic safe-region snapshots only; no design-quality score.",
    "Platform/surface/canvas identity must be explicit and consistent across overlay set, state snapshot, geometry snapshot and base safe region.",
    "Overlay existence is not the same as overlay active state.",
    "UNKNOWN state is not INACTIVE; handling UNKNOWN requires an explicit PlatformSafeResolutionPolicy.",
    "ALWAYS_ACTIVE descriptors resolve active regardless of absent state records; a contradictory explicit INACTIVE state record is INVALID.",
    "STATE_DRIVEN overlays without a state record resolve UNKNOWN and follow the explicit unknownStatePolicy.",
    "NO_SAFE_EFFECT overlays never subtract geometry from the dynamic safe region even when active.",
    "EXCLUDE_FROM_SAFE overlays require owner-qualified geometry; missing geometry is PARTIAL or INVALID according explicit geometryFailurePolicy.",
    "Overlay visual opacity, z-order, label, role or size must not be used to infer safe effect.",
    "Baseline rectangular exclusion materialization clips exclusion rectangles to the base safe rectangle and subtracts their union exactly.",
    "Dynamic safe geometry may be disconnected; 7.05 must not collapse multiple safe fragments into one bounding box.",
    "An empty resolved safe region is a geometry state, not yet a content violation.",
    "Non-rect polygon/mask/custom regions remain owner-qualified external geometry unless an explicit adapter resolves them.",
    "A dynamic safe-region snapshot may be consumed by 7.01 for hard containment, but 7.05 does not enforce protected content.",
    "A dynamic reference may be consumed by 7.03 for clearance, but 7.05 does not own clearance metrics or tension classification.",
    "7.04 may reference a 7.05 dynamic region/ref, but 7.04 cannot activate/deactivate overlays.",
    "Dynamic safe-region changes emit invalidation/recompute hints only; no content/layout mutation is permitted.",
    "7.05 does not construct canonical Violation, repair or scoring objects; 7.06 owns them.",
    "Unknown/partial geometry must not be silently treated as a fully resolved safe region.",
    "N/A != 0.",
    "No beautyScore."
  ],
  "hard_rules": [
    "7.05 owns platform-overlay lifecycle snapshots, active exclusion geometry resolution and dynamic safe-region snapshots only; no design-quality score.",
    "Platform/surface/canvas identity must be explicit and consistent across overlay set, state snapshot, geometry snapshot and base safe region.",
    "Overlay existence is not the same as overlay active state.",
    "UNKNOWN state is not INACTIVE; handling UNKNOWN requires an explicit PlatformSafeResolutionPolicy.",
    "ALWAYS_ACTIVE descriptors resolve active regardless of absent state records; a contradictory explicit INACTIVE state record is INVALID.",
    "STATE_DRIVEN overlays without a state record resolve UNKNOWN and follow the explicit unknownStatePolicy.",
    "NO_SAFE_EFFECT overlays never subtract geometry from the dynamic safe region even when active.",
    "EXCLUDE_FROM_SAFE overlays require owner-qualified geometry; missing geometry is PARTIAL or INVALID according explicit geometryFailurePolicy.",
    "Overlay visual opacity, z-order, label, role or size must not be used to infer safe effect.",
    "Baseline rectangular exclusion materialization clips exclusion rectangles to the base safe rectangle and subtracts their union exactly.",
    "Dynamic safe geometry may be disconnected; 7.05 must not collapse multiple safe fragments into one bounding box.",
    "An empty resolved safe region is a geometry state, not yet a content violation.",
    "Non-rect polygon/mask/custom regions remain owner-qualified external geometry unless an explicit adapter resolves them.",
    "A dynamic safe-region snapshot may be consumed by 7.01 for hard containment, but 7.05 does not enforce protected content.",
    "A dynamic reference may be consumed by 7.03 for clearance, but 7.05 does not own clearance metrics or tension classification.",
    "7.04 may reference a 7.05 dynamic region/ref, but 7.04 cannot activate/deactivate overlays.",
    "Dynamic safe-region changes emit invalidation/recompute hints only; no content/layout mutation is permitted.",
    "7.05 does not construct canonical Violation, repair or scoring objects; 7.06 owns them.",
    "Unknown/partial geometry must not be silently treated as a fully resolved safe region.",
    "N/A != 0.",
    "No beautyScore."
  ],
  "soft_constraints": [],
  "preferences": [],
  "overrides_allowed_by": [
    "a newer explicit platform state snapshot may supersede an older snapshot for future resolutions",
    "a newer geometry snapshot may supersede prior geometry for the same overlayRef",
    "historical DynamicSafeZoneSnapshot remains immutable and tied to original refs"
  ],
  "initial_heuristics": {},
  "style_preset_values": [],
  "candidate_generation": {
    "layout_candidates": "NONE",
    "region_candidates": "NONE",
    "reason": "7.05 resolves explicit overlay state/geometry deterministically; uncertain states become PARTIAL or follow explicit policy rather than branching hidden candidates"
  },
  "correction_policy": {
    "foreign_content_mutation": "FORBIDDEN",
    "missing_base_safe_region": "route to Compo7.00/Compo6.00/platform source owner",
    "missing_overlay_state": "apply explicit unknownStatePolicy or request state source",
    "missing_overlay_geometry": "apply explicit geometryFailurePolicy or request geometry owner",
    "platform_surface_canvas_mismatch": "request source correction; do not coerce refs",
    "hard_safe_evaluation": "route to Compo7.01",
    "clearance_evaluation": "route to Compo7.03",
    "role_policy": "route to Compo7.04",
    "violation_repair_scoring": "route to Compo7.06"
  },
  "deferred_inputs": [
    "Compo7.06 violations/repair/scoring/tests",
    "future platform adapters producing polygon/mask/custom overlay geometry",
    "future layout solver deciding adaptation after dynamic safe-zone change"
  ],
  "recompute_when": [
    "base safe region geometry/version changes",
    "overlay set membership/descriptor changes",
    "overlay state snapshot changes",
    "overlay geometry snapshot changes",
    "resolution policy changes",
    "platform/surface/canvas context changes"
  ],
  "tests": [
    "always active",
    "state driven active/inactive/unknown",
    "unknown policies",
    "NO_SAFE_EFFECT",
    "identity mismatch",
    "rect clipping",
    "overlap union/order invariance",
    "disconnected safe region",
    "empty safe region",
    "non-rect partial",
    "deterministic snapshot",
    "snapshot diff/invalidation",
    "no hard-safe/clearance/scoring/reflow leakage"
  ],
  "finality": "PLATFORM_OVERLAY_LIFECYCLE_AND_DYNAMIC_SAFE_GEOMETRY_ONLY"
}
ARCHITECTURE CHECKPOINT · 7.05 OWNS PLATFORM OVERLAY LIFECYCLE/STATE AND RESOLVED DYNAMIC SAFE GEOMETRY ONLY — NO DESIGN METRICS. OVERLAY EXISTS != ACTIVE; UNKNOWN != INACTIVE AND REQUIRES EXPLICIT RESOLUTION POLICY. SAFE_EFFECT IS EXPLICIT AND NOT INFERRED FROM OPACITY/Z-ORDER/KIND. RECT EXCLUSIONS ARE CLIPPED TO THE BASE REGION AND UNION-SUBTRACTED IN AN ORDER-INDEPENDENT CANONICAL ARRANGEMENT; DISCONNECTED/EMPTY SAFE REGIONS ARE VALID GEOMETRY STATES. 7.01 ENFORCES PROTECTED CONTENT, 7.03 MEASURES CLEARANCE, 7.04 SELECTS ROLE POLICY, 7.06 OWNS VIOLATIONS/REPAIR/SCORING. CHANGE EVENTS INVALIDATE DOWNSTREAM EVIDENCE BUT NEVER REFLOW CONTENT. NO BEAUTYSCORE.
VISITS / ...