COMPO · 10.01 · LEFT / RIGHT / CENTER / TOP / BOTTOM

Pairwise
alignment
offsets.

Concrete pairwise geometric relation layer for left, right, centerX, top, bottom, centerY and explicit X/Y grid-reference anchors. 10.01 measures deterministic raw offsets and numerical coincidence only. Baselines remain 10.02; shared axes remain 10.03; design tolerance, optical corrections and local alignment score remain 10.04. Missing coordinate is N/A, numerical EPS is not visual tolerance, zero offset is not automatically better, and no subject is ever auto-snapped.

ModuleCompo 10.01
Scopepairwise X/Y offsets
Tolerancedeferred 10.04
Baselinedeferred 10.02
Metricsnone
Next10.02

Pairwise geometry, not preference

00 / measurement

10.01 turns two explicit 10.00 anchor participants into a deterministic raw offset measurement. It never snaps subjects or decides whether the offset is desirable.

X

left / right / centerX / grid-X

Y

top / bottom / centerY / grid-Y

NO SCORE

raw relation evidence only

Allowed semantics

01 / geometric anchors

Baseline remains outside this module.

AxisAnchor semantics
XLEFT · RIGHT · CENTER_X · GRID_X
YTOP · BOTTOM · CENTER_Y · GRID_Y
BaselineDEFER → 10.02

Homonymous, cross-anchor, reference

02 / relation class

The class describes what is being compared; it is not a quality label.

HOMONYMOUS

LEFT↔LEFT, RIGHT↔RIGHT, CENTER_X↔CENTER_X, TOP↔TOP…

CROSS_ANCHOR

LEFT↔RIGHT, CENTER_X↔LEFT, TOP↔BOTTOM… on one axis.

REFERENCE

At least one GRID_X / GRID_Y or GRID_REFERENCE anchor.

INVALID

X↔Y, baseline here, same subject, incompatible lineage.

Canonical signed and absolute offset

03 / offset

Signed direction is based on canonical participantRef order so input order cannot change the result.

canonical participants: sort(participantRef) c0 = coordinate(first canonical participant) c1 = coordinate(second canonical participant) signedDeltaRaw = c1 - c0 absoluteOffsetRaw = abs(signedDeltaRaw)
SIGN ≠ PRIORITY. Sign is deterministic serialization direction only.

EPS is not design tolerance

04 / numerical policy

Numerical coincidence prevents floating-point noise from becoming a fake geometric distinction.

NumericalPolicy {
  policyRef,
  absEpsRaw,
  relEps,
  provenance
}
effectiveEpsRaw = max( absEpsRaw, relEps * max(1, |c0|, |c1|) ) numericallyCoincident = absoluteOffsetRaw <= effectiveEpsRaw
NUMERICAL EPS != DESIGN TOLERANCE. Visual/optical acceptance belongs to 10.04.

Missing is not zero

05 / N/A and invalid

Unknown coordinate and incompatible evidence are intentionally different outcomes.

coordinateRaw missing: N_A coordinateRaw non-finite: INVALID different canvas: INVALID different frame: INVALID different sourceUnit: INVALID mixed X / Y: INVALID TEXT_BASELINE: DEFER_TO_10.02

Grid is evidence, not re-owned topology

06 / grid reference

Objects/text can align to an explicit grid reference while Topic8/9 retain grid ownership.

object LEFT ↔ grid GRID_X = REFERENCE_ALIGNMENT object TOP ↔ grid GRID_Y = REFERENCE_ALIGNMENT 10.01 does NOT own: GridLine GridNode Cell Region node occupancy cell occupancy

Input order invariance

07 / identity

A↔B and B↔A are the same pairwise relation and the same measurement lineage.

relationRef: owned by 10.00 symmetric measurementRef: hash( relationRef, canonical anchor evidence refs, numericalPolicyRef ) reverse input: same relationRef same measurementRef same absoluteOffsetRaw same signedDeltaRaw because canonical order is unchanged

Child-module firewall

08 / ownership

10.01 does not consume future ownership just because raw geometry is available.

QuestionOwner
Alignment taxonomy / root identity10.00
Pairwise geometric X/Y offsets10.01
Text baseline relations10.02
Shared axes for 2+ subjects10.03
Tolerance / optical / local score10.04

New cross-cutting contract

09 / IDEAS + DATA

The raw measurement is preserved so future LAB/human/model layers can distinguish anchor choice, geometry and context.

DATA_CAPTURE: relationRef measurementRef participant / anchor lineage relationClass coordinatePairRaw signedDeltaRaw absoluteOffsetRaw effectiveEpsRaw numericalCoincidence confidence / evidence mode N_A / INVALID reason repair refs human reason codes SEMANTIC: opaque refs only PRIORITY: no hidden order

Why did a person reject it?

10 / human feedback

Human feedback remains evidence, not an automatic canon change.

ALIGNMENT_RELATION_WRONG WRONG_ANCHOR_SELECTED OPTICAL_OFFSET_NEEDED SEMANTIC_CONFLICT INTENTIONAL_MISALIGNMENT EXPECTED_COINCIDENCE_MISSED OTHER

Request, never snap

11 / repair

10.01 cannot move a subject into alignment.

AlignmentMeasurementRepairRequest {
  repairRequestRef,
  measurementRef,
  reasonCode,
  targetOwnerRef,
  sourceEvidenceRefs[],
  suggestedAction,
  mutationAllowed: false,
  provenance: DERIVED
}

Zero offset is not beauty

12 / descriptor != score

An exact relation can be semantically wrong, optically undesirable or intentionally broken.

FORBIDDEN. `absoluteOffsetRaw=0 → score=1`, `more aligned pairs = better`, `grid alignment must be preserved`. 10.04/context owners decide explicit tolerance and interpretation.

Geometric relation cases

13 / Visual Lab

The lab distinguishes exact geometry, cross-anchor alignment, grid reference and semantic/optical deferral.

A · LEFT ↔ LEFT homonymous · offset 0 B · RIGHT ↔ LEFT cross-anchor · same X axis C · OBJECT ↔ GRID reference alignment · grid owner upstream missing coordinate → N/A, never zero mixed X/Y evidence → INVALID, never projected silently numerical EPS answers “same number?” · 10.04 answers “visually aligned enough?” reverse input order cannot change measurement identity or signed canonical delta semanticConstraintRefs may later reject a geometrically exact relation zero offset != universal preference · intentional misalignment remains possible

10.01 pairwise relation regression

14 / deterministic tests

Tests cover geometry, lineage, N/A, numerical stability, relation classes, order invariance, new data hooks and ownership barriers.

Tests not run yet.

DATA FOR LAYOUT ENGINE

15 / machine contract

Machine-readable 10.01 contract.

{
  "module": "Compo 10.01",
  "name": "left_right_center_top_bottom_relations",
  "version": "1.0-canonical",
  "canonical_main_title": "Left/right/center/top/bottom relations",
  "topic": "10_БАЗОВЫЕ_ЛИНИИ_И_ВЫРАВНИВАНИЕ",
  "scope": "PAIRWISE_GEOMETRIC_ALIGNMENT_MEASUREMENT_FOR_EDGE_CENTER_AND_XY_REFERENCE_ANCHORS",
  "review_basis": {
    "public_MAIN": "10.01 exact title confirmed; Topic10 output requires AlignmentRelation[]",
    "previous_module": "Compo10.00 Alignment taxonomy",
    "related_owners_reviewed": [
      "Compo8.02 GridLine/GridNode ownership",
      "Compo9.01 atomic Cell geometry/addressing",
      "Compo9.03 ModularGrid occupancy/collision boundary",
      "Compo10.00 AlignmentRelation/participant/anchor taxonomy"
    ],
    "cross_cutting_instruction": "COMPO project instruction v2.0",
    "ideas_register": "COMPO_IDEAS reviewed before implementation"
  },
  "consumes": [
    "Compo10.00.AlignmentRelation root shell",
    "Compo10.00.AlignmentParticipant[2]",
    "Compo10.00.AlignmentAnchorEvidence[2]",
    "explicit NumericalPolicy",
    "optional opaque semanticConstraintRefs[]"
  ],
  "provides": [
    "GeometricAlignmentMeasurement",
    "PairwiseGeometricAlignmentRelation",
    "AlignmentRelationClass",
    "NumericalCoincidenceDescriptor",
    "AlignmentMeasurementRepairRequest",
    "serializable alignment observation record"
  ],
  "owns_metrics": [],
  "descriptors_only": [
    "alignment.pair.anchorKindA",
    "alignment.pair.anchorKindB",
    "alignment.pair.relationClass",
    "alignment.pair.signedDeltaRaw",
    "alignment.pair.absoluteOffsetRaw",
    "alignment.pair.effectiveEpsRaw",
    "alignment.pair.numericallyCoincident",
    "alignment.pair.coordinateEvidenceMode"
  ],
  "allowed_anchor_semantics": {
    "X": [
      "LEFT",
      "RIGHT",
      "CENTER_X",
      "GRID_X"
    ],
    "Y": [
      "TOP",
      "BOTTOM",
      "CENTER_Y",
      "GRID_Y"
    ],
    "excluded_here": [
      "TEXT_BASELINE"
    ]
  },
  "relation_class_semantics": {
    "HOMONYMOUS_ALIGNMENT": "same non-reference anchor semantic on both subjects",
    "CROSS_ANCHOR_ALIGNMENT": "different non-reference anchor semantics on one coordinate axis",
    "REFERENCE_ALIGNMENT": "at least one explicit grid/reference anchor participates",
    "quality_meaning": "NONE; class is descriptive only"
  },
  "numerical_policy_schema": {
    "policyRef": "required stable ref",
    "absEpsRaw": "finite >=0 in exact sourceUnit",
    "relEps": "finite >=0 dimensionless",
    "effectiveEpsRaw": "max(absEpsRaw, relEps*max(1,abs(coordA),abs(coordB)))",
    "purpose": "numerical stability only; not design tolerance",
    "provenance": "IMPLEMENTATION_HEURISTIC|STANDARD"
  },
  "measurement_schema": {
    "measurementRef": "stable hash of relationRef + canonical anchor evidence refs + numericalPolicyRef",
    "relationRef": "Compo10.00 root identity",
    "relationFamily": "PAIRWISE_ANCHOR_ALIGNMENT",
    "axisFamily": "INLINE_X|BLOCK_Y|REFERENCE_AXIS",
    "canonicalParticipantRefs": "sorted participant refs",
    "canonicalSubjectRefs": "subjects in canonical participant order",
    "canonicalAnchorRefs": "anchors in canonical participant order",
    "anchorKinds": "semantic kinds in canonical participant order",
    "relationClass": "HOMONYMOUS_ALIGNMENT|CROSS_ANCHOR_ALIGNMENT|REFERENCE_ALIGNMENT",
    "coordinateAxis": "X|Y",
    "coordinatePairRaw": "[coord0,coord1] in canonical participant order",
    "signedDeltaRaw": "coord1-coord0",
    "absoluteOffsetRaw": "abs(signedDeltaRaw)",
    "effectiveEpsRaw": "derived from NumericalPolicy",
    "numericallyCoincident": "absoluteOffsetRaw<=effectiveEpsRaw",
    "coordinateEvidenceModes": "EXACT|FALLBACK|UNSPECIFIED values propagated from evidence where supplied",
    "status": "OK|N_A|INVALID",
    "confidence": "minimum of relation/anchor evidence confidence",
    "provenance": "DERIVED",
    "score": "not owned",
    "mutationAllowed": false
  },
  "axis_family_policy": {
    "pure_non_reference_X": "INLINE_X",
    "pure_non_reference_Y": "BLOCK_Y",
    "any_reference_X": "REFERENCE_AXIS",
    "any_reference_Y": "REFERENCE_AXIS",
    "mixed_X_Y": "INVALID",
    "baseline": "DEFER_TO_Compo10.02"
  },
  "identity_policy": {
    "relationRef": "owned by Compo10.00 and symmetric",
    "canonical_order": "ascending participantRef",
    "measurementRef": "order-invariant because anchor evidence is reordered with canonical participants",
    "signed_delta": "order-sensitive only to canonical serialization order, never input order"
  },
  "topic10_ownership_map": {
    "10.00": "taxonomy/root relation/participants/anchor contracts",
    "10.01": "pairwise geometric X/Y anchor offsets and numerical coincidence descriptors",
    "10.02": "baseline/text alignment",
    "10.03": "multi-object shared axes",
    "10.04": "design tolerance/optical correction/local alignment score/tests"
  },
  "metric_policy": {
    "direct_scoring": "FORBIDDEN in 10.01",
    "zero_offset_is_better": "FORBIDDEN",
    "more_alignment_is_better": "FORBIDDEN",
    "beautyScore": "FORBIDDEN"
  },
  "hard_constraints": [
    "10.01 owns pairwise geometric alignment measurement for left/right/centerX/top/bottom/centerY and explicit X/Y reference anchors.",
    "10.01 consumes the AlignmentRelation root taxonomy and anchor evidence contract from Compo10.00 rather than redefining relation identity.",
    "Concrete pairwise relation measurement requires relationFamily=PAIRWISE_ANCHOR_ALIGNMENT.",
    "TEXT_BASELINE anchors are not measured by 10.01; Compo10.02 owns baseline/text alignment.",
    "Multi-subject shared-axis aggregation is not owned by 10.01; Compo10.03 owns it.",
    "Tolerance, optical correction, target interpretation and local alignment scoring are not owned by 10.01; Compo10.04 owns them.",
    "Allowed geometric anchor semantics are LEFT, RIGHT, CENTER_X, TOP, BOTTOM, CENTER_Y, GRID_X and GRID_Y.",
    "LEFT, RIGHT, CENTER_X and GRID_X are X-coordinate anchors.",
    "TOP, BOTTOM, CENTER_Y and GRID_Y are Y-coordinate anchors.",
    "A pairwise geometric alignment relation requires exactly two distinct participantRef values and two distinct subjectRef values.",
    "Comparing two anchors of the same subject is outside alignment scope and is INVALID rather than becoming implicit width/height measurement.",
    "Participant.anchorRef must match the supplied anchor evidence for that participant.",
    "Both geometric coordinates must refer to the same canvasRef, coordinateFrame and sourceUnit unless an explicit upstream mapping adapter has already produced same-frame evidence.",
    "10.01 performs no implicit unit conversion, canvas mapping or coordinate-frame projection.",
    "Missing coordinateRaw yields N_A, not zero.",
    "Non-finite coordinateRaw is INVALID.",
    "X and Y anchors cannot be compared in the same pairwise relation.",
    "The relation axisFamily must match the coordinate axis: INLINE_X for pure geometric X pairs, BLOCK_Y for pure geometric Y pairs, or REFERENCE_AXIS when a grid/reference anchor participates.",
    "REFERENCE_AXIS must still contain exactly one coordinate axis; mixed X/Y is INVALID.",
    "Pairwise alignment is symmetric. Input participant order must not change relationRef, measurementRef, absolute offset or relation class.",
    "Signed delta is deterministic but defined only in canonical participantRef order.",
    "signedDeltaRaw = coordinate(second canonical participant) - coordinate(first canonical participant).",
    "absoluteOffsetRaw = abs(signedDeltaRaw).",
    "The sign of signedDeltaRaw is a canonical serialization direction, not a semantic priority or visual preference.",
    "Numerical coincidence uses an explicit NumericalPolicy and must remain separate from design tolerance.",
    "NumericalPolicy requires policyRef, absEpsRaw>=0 and relEps>=0.",
    "effectiveEpsRaw = max(absEpsRaw, relEps * max(1, abs(coordA), abs(coordB))).",
    "numericallyCoincident is true only when absoluteOffsetRaw <= effectiveEpsRaw.",
    "Numerical EPS is implementation stability, not a design tolerance and not an aesthetic threshold.",
    "Relation class is descriptive only: HOMONYMOUS_ALIGNMENT, CROSS_ANCHOR_ALIGNMENT or REFERENCE_ALIGNMENT.",
    "HOMONYMOUS_ALIGNMENT means both anchors use the same non-reference semantic kind.",
    "CROSS_ANCHOR_ALIGNMENT means non-reference anchors differ but share the same coordinate axis.",
    "REFERENCE_ALIGNMENT means at least one GRID_X/GRID_Y or GRID_REFERENCE anchor participates.",
    "Exact geometric coincidence is not universally better than non-zero offset.",
    "More pairwise alignment relations are not universally better.",
    "10.01 owns no numeric metric and emits no score.",
    "10.01 creates no placement candidate and does not mutate any subject position.",
    "Grid evidence from Topic8/9 is consumed by reference only; 10.01 does not re-own grid lines, nodes, cells, regions or occupancy.",
    "SemanticConstraintRefs remain opaque deferred evidence and are not interpreted by 10.01.",
    "A semantic conflict may later invalidate a geometrically exact relation, but 10.01 does not invent that priority.",
    "Intentional misalignment may later be preferred by context; 10.01 records geometry only.",
    "Module execution order is not rule priority.",
    "Correction requests are owner-qualified and mutationAllowed=false.",
    "All relation measurements, N_A/INVALID reasons and source evidence must be serializable for DATA/human calibration.",
    "IDEA references remain R&D links and are not provenance classes.",
    "LAB experiments may compare human judgments of offsets and anchors but do not mutate CANON automatically.",
    "N/A != 0.",
    "No beautyScore."
  ],
  "hard_rules": [
    "10.01 owns pairwise geometric alignment measurement for left/right/centerX/top/bottom/centerY and explicit X/Y reference anchors.",
    "10.01 consumes the AlignmentRelation root taxonomy and anchor evidence contract from Compo10.00 rather than redefining relation identity.",
    "Concrete pairwise relation measurement requires relationFamily=PAIRWISE_ANCHOR_ALIGNMENT.",
    "TEXT_BASELINE anchors are not measured by 10.01; Compo10.02 owns baseline/text alignment.",
    "Multi-subject shared-axis aggregation is not owned by 10.01; Compo10.03 owns it.",
    "Tolerance, optical correction, target interpretation and local alignment scoring are not owned by 10.01; Compo10.04 owns them.",
    "Allowed geometric anchor semantics are LEFT, RIGHT, CENTER_X, TOP, BOTTOM, CENTER_Y, GRID_X and GRID_Y.",
    "LEFT, RIGHT, CENTER_X and GRID_X are X-coordinate anchors.",
    "TOP, BOTTOM, CENTER_Y and GRID_Y are Y-coordinate anchors.",
    "A pairwise geometric alignment relation requires exactly two distinct participantRef values and two distinct subjectRef values.",
    "Comparing two anchors of the same subject is outside alignment scope and is INVALID rather than becoming implicit width/height measurement.",
    "Participant.anchorRef must match the supplied anchor evidence for that participant.",
    "Both geometric coordinates must refer to the same canvasRef, coordinateFrame and sourceUnit unless an explicit upstream mapping adapter has already produced same-frame evidence.",
    "10.01 performs no implicit unit conversion, canvas mapping or coordinate-frame projection.",
    "Missing coordinateRaw yields N_A, not zero.",
    "Non-finite coordinateRaw is INVALID.",
    "X and Y anchors cannot be compared in the same pairwise relation.",
    "The relation axisFamily must match the coordinate axis: INLINE_X for pure geometric X pairs, BLOCK_Y for pure geometric Y pairs, or REFERENCE_AXIS when a grid/reference anchor participates.",
    "REFERENCE_AXIS must still contain exactly one coordinate axis; mixed X/Y is INVALID.",
    "Pairwise alignment is symmetric. Input participant order must not change relationRef, measurementRef, absolute offset or relation class.",
    "Signed delta is deterministic but defined only in canonical participantRef order.",
    "signedDeltaRaw = coordinate(second canonical participant) - coordinate(first canonical participant).",
    "absoluteOffsetRaw = abs(signedDeltaRaw).",
    "The sign of signedDeltaRaw is a canonical serialization direction, not a semantic priority or visual preference.",
    "Numerical coincidence uses an explicit NumericalPolicy and must remain separate from design tolerance.",
    "NumericalPolicy requires policyRef, absEpsRaw>=0 and relEps>=0.",
    "effectiveEpsRaw = max(absEpsRaw, relEps * max(1, abs(coordA), abs(coordB))).",
    "numericallyCoincident is true only when absoluteOffsetRaw <= effectiveEpsRaw.",
    "Numerical EPS is implementation stability, not a design tolerance and not an aesthetic threshold.",
    "Relation class is descriptive only: HOMONYMOUS_ALIGNMENT, CROSS_ANCHOR_ALIGNMENT or REFERENCE_ALIGNMENT.",
    "HOMONYMOUS_ALIGNMENT means both anchors use the same non-reference semantic kind.",
    "CROSS_ANCHOR_ALIGNMENT means non-reference anchors differ but share the same coordinate axis.",
    "REFERENCE_ALIGNMENT means at least one GRID_X/GRID_Y or GRID_REFERENCE anchor participates.",
    "Exact geometric coincidence is not universally better than non-zero offset.",
    "More pairwise alignment relations are not universally better.",
    "10.01 owns no numeric metric and emits no score.",
    "10.01 creates no placement candidate and does not mutate any subject position.",
    "Grid evidence from Topic8/9 is consumed by reference only; 10.01 does not re-own grid lines, nodes, cells, regions or occupancy.",
    "SemanticConstraintRefs remain opaque deferred evidence and are not interpreted by 10.01.",
    "A semantic conflict may later invalidate a geometrically exact relation, but 10.01 does not invent that priority.",
    "Intentional misalignment may later be preferred by context; 10.01 records geometry only.",
    "Module execution order is not rule priority.",
    "Correction requests are owner-qualified and mutationAllowed=false.",
    "All relation measurements, N_A/INVALID reasons and source evidence must be serializable for DATA/human calibration.",
    "IDEA references remain R&D links and are not provenance classes.",
    "LAB experiments may compare human judgments of offsets and anchors but do not mutate CANON automatically.",
    "N/A != 0.",
    "No beautyScore."
  ],
  "soft_constraints": [],
  "preferences": [],
  "overrides_allowed_by": [
    "new upstream anchor evidence creates a new measurement lineage",
    "10.04 may interpret this raw offset under explicit tolerance/optical profiles",
    "future semantic/context owners may reject or contextualize an otherwise geometrically exact relation"
  ],
  "initial_heuristics": {},
  "style_preset_values": [],
  "candidate_generation": {
    "placement_or_alignment_candidates": "NONE",
    "reason": "10.01 measures explicit pairwise relation evidence only"
  },
  "correction_policy": {
    "foreign_mutation": "FORBIDDEN",
    "missing_coordinate": "return N_A and request coordinate evidence resolution",
    "axis_or_unit_mismatch": "return INVALID and route to source/integration owner",
    "wrong_anchor": "request anchor evidence correction; do not substitute another anchor silently",
    "optical_adjustment": "route to Compo10.04",
    "baseline_request": "route to Compo10.02",
    "semantic_conflict": "preserve opaque semantic evidence and defer priority resolution"
  },
  "deferred_inputs": [
    "Compo10.02 baseline/text relation evidence",
    "Compo10.03 shared-axis aggregation",
    "Compo10.04 design tolerance/optical/scoring",
    "future semantic object/part/sensitive-zone interpretation",
    "future priority/relaxation policy"
  ],
  "ideas_refs": [
    "IDEA-01",
    "IDEA-02",
    "IDEA-03",
    "IDEA-04",
    "IDEA-05",
    "IDEA-06",
    "IDEA-07"
  ],
  "data_capture": [
    "relationRef and measurementRef",
    "canonical participant/subject/anchor refs",
    "relationClass and coordinateAxis",
    "coordinatePairRaw",
    "signedDeltaRaw and absoluteOffsetRaw",
    "NumericalPolicy ref and effectiveEpsRaw",
    "numericallyCoincident",
    "coordinateEvidenceModes and confidence",
    "N_A/INVALID reasons",
    "semanticConstraintRefs presence without interpretation",
    "repair request refs",
    "human correction reason codes when available"
  ],
  "deferred_semantic_inputs": [
    "semanticObjectRef?",
    "semanticPartRef?",
    "semanticSensitiveZoneRef?",
    "semanticConstraintRefs[]",
    "intentRef?"
  ],
  "human_feedback_hooks": [
    "ALIGNMENT_RELATION_WRONG",
    "WRONG_ANCHOR_SELECTED",
    "OPTICAL_OFFSET_NEEDED",
    "SEMANTIC_CONFLICT",
    "INTENTIONAL_MISALIGNMENT",
    "EXPECTED_COINCIDENCE_MISSED",
    "OTHER"
  ],
  "conflict_priority_assumptions": [
    "module execution order is not priority",
    "numericallyCoincident does not override semantic or intentional constraints",
    "10.01 never auto-snaps subjects to zero offset",
    "10.01 never upgrades numerical EPS into design tolerance",
    "geometry/semantic/intent evidence remain separate channels until canonical context resolution"
  ],
  "lab_hooks": [
    "LAB: human judgments of small raw offsets around numerical/design tolerance boundary",
    "LAB: left-left versus cross-anchor alignment interpretation",
    "LAB: grid-reference alignment versus intentional grid breaks",
    "LAB: semantic counterexamples where exact geometric alignment is rejected by humans",
    "LAB: capture wrong-anchor versus optical-offset human reason codes",
    "LAB: downstream text-to-graphic alignment experiment as EXPERIMENT only"
  ],
  "recompute_when": [
    "relationRef changes",
    "participant/anchor evidence ref changes",
    "coordinateRaw changes under a new evidence ref/version",
    "canvas/frame/unit changes",
    "NumericalPolicy changes"
  ],
  "tests": [
    "allowed anchor semantics",
    "same-subject rejection",
    "X/Y axis compatibility",
    "baseline deferral",
    "same canvas/frame/unit",
    "missing coordinate N_A",
    "nonfinite coordinate INVALID",
    "order-invariant relation/measurement identity",
    "deterministic signed delta by canonical order",
    "numerical EPS separation from design tolerance",
    "homonymous/cross/reference classes",
    "data/semantic/human/LAB hooks",
    "no score/global leakage/foreign mutation"
  ],
  "finality": "PAIRWISE_GEOMETRIC_ALIGNMENT_OFFSET_MEASUREMENT_ONLY"
}
ARCHITECTURE CHECKPOINT · 10.01 OWNS PAIRWISE GEOMETRIC X/Y ANCHOR OFFSET MEASUREMENT ONLY. ALLOWED ANCHORS: LEFT / RIGHT / CENTER_X / TOP / BOTTOM / CENTER_Y / GRID_X / GRID_Y. BASELINE → 10.02. SHARED AXES → 10.03. DESIGN TOLERANCE / OPTICAL / LOCAL SCORE → 10.04. RELATION IDENTITY REMAINS ROOTED IN 10.00. INPUT ORDER CANNOT CHANGE PAIRWISE MEASUREMENT IDENTITY. SIGNED DELTA USES CANONICAL PARTICIPANT ORDER; SIGN != PRIORITY. MISSING COORDINATE=N/A. X/Y MIX=INVALID. NO IMPLICIT UNIT/CANVAS/FRAME CONVERSION. NUMERICAL EPS != DESIGN TOLERANCE. GRID EVIDENCE IS CONSUMED BY REF WITHOUT RE-OWNING TOPOLOGY/OCCUPANCY. SEMANTIC REFS REMAIN OPAQUE. MODULE ORDER != RULE PRIORITY. IDEA != CANON. EXPERIMENT != CANON. NO AUTO-SNAP. NO FOREIGN MUTATION. NO SCORE. N/A != 0. NO BEAUTYSCORE.
VISITS / ...