Library / First Principles Framework (FPF) - Core Conceptual Specification
Jump to passage
In this reading

Link to current text

Published source confirmed at last check

Source changed 2026-10-03 14:36:52 UTC · snapshot created 2026-10-03 14:38:14 UTC · last check 2026-10-03 14:45:10 UTC

A.19.CPM:0 - At a glance (didactic, informative)

CPM is the CHR comparison kernel: it compares two admitted profiles under an explicit, admissibility‑gated comparator and returns a set‑valued comparison outcome.

One-screen purpose (manager-first). CPM answers: “Given two admitted profiles and an explicit comparator, what relation holds under the declared admissibility frame?” It does not answer: “Which one should we pick?” (selection) nor “What is the score?” (scoring).

Use this when. Use CPM when the current project question is comparison under one declared comparator, not scoring, folding, selection, publication, or work authorization.

What this buys. The practitioner gets one set-valued comparison outcome that downstream selection can consume. The actual Compare application keeps the profile pair, comparator, claim scope and selected context slices, optional A.19 predicate, reference plane, evaluation window, policies, and output binding recoverable. Partial order, incomparability, missing evidence, and scale limits remain explicit instead of becoming a hidden scalar winner.

First output. Read the by-value set bound to ComparisonResultSlot: only the relation or poset tokens. Read comparator, comparison scope, predicate when used, plane, window, eligibility value, and evidence use from the actual operation application and their direct neighboring relations; they are not fields hidden inside the output.

Manager quick checklist (before you trust a comparison):

  • Comparator is explicit: do we have a ComparatorSpecRef, and is it admitted by CG‑Spec.ComparatorSet?

  • Admissibility is declared: do we cite CG‑Spec (and SCP when numeric ops exist) and treat violations as degrade|abstain?

  • Evidence is not faked: are missing or unknown inputs treated as degrade|abstain under the effective MinimalEvidence policy (never as pass)?

  • Partiality is preserved: are we willing to accept incomparability and ties as first‑class outcomes (set‑valued result), rather than forcing a winner?

  • Suite stage: compare (pipeline order lives in A.19.CHR:4.5, not in the mechanisms[] enumeration).

  • Input (conceptual): left profile, right profile, CN-Spec, CG-Spec, an explicit ComparatorSpec, one U.ClaimScope with selected A.2.6 U.ContextSlice members, an optional A.19 CharacteristicSpacePredicate when the comparison depends on one, effective reference plane, explicit evaluation window, and optional explicit MinimalEvidence override.

  • Output (conceptual): the by-value ComparisonResultSlot set of relation or poset tokens. It is not a score, selected set, result episteme, work-result relation, evidence record, or container for replay metadata.

  • Planned use: an A.15.2 baseline selects ComparatorSpecRef editions and policy ids. A.15.3 and SlotFillingsPlanItem apply only to independently declared receiving positions under A.19.CHR:4.7.2. The actual Compare application carries its argument and result bindings under §4.1. Any dated comparison Work and A.10 evidence-provenance account retain their independent grounds.

  • Reproducible comparisons: for parity and benchmark style runs that require a stable run package plus report record (editions, windows, parity pins), use G.9 (Parity and Benchmark Harness). CPM stays kernel-only.

  • What CPM does not do (strict distinction):

    • does not normalize (UNM);
    • does not choose indicators (UINDM);
    • does not score (USCM);
    • does not fold or aggregate (ULSAM);
    • does not select (“pick best”) — that is SelectorMechanism.
  • Core safety commitments: admissibility gate via CG-Spec.ComparatorSet + CG-Spec.SCP + CSLC; tri-state admissibility (pass|degrade|abstain); unknown never coerces to “pass” or to a fabricated outcome; no silent scalarization or totalization.

  • Where method details live: in editions of ComparatorSpec and their SoTA wiring (Part G packs and extensions), not inside CPM’s kernel semantics.

  • Quick rule of thumb: use USCM when you need scores from a declared scoring method and SelectorMechanism when you need a selected candidate set. Obtaining measured values follows the applicable C.16 measurement method; normalization follows UNM. CPM compares admitted profiles and returns relation tokens.