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 11:52:20 UTC · snapshot created 2026-10-03 11:53:41 UTC · last check 2026-10-03 12:15:10 UTC

G.3:4.3 - CHR authoring chassis (S1–S8)

S1 — Charter the measurement scope (scope anchor). Identify the exact declared CG-frame (the framing episteme). For this CHR work, state the bearer or bearers and identify each as an entityOfConcern. Also state the scope, any applicable qualification and evaluation windows, ReferencePlane, evidence basis, intended downstream use, freshness or decay expectations, and any contested expression whose reuse may require an actual F.9 relation. Output a design-time MeasurementCharter and KindMap. If freshness/decay expectations are anything beyond an explicit “non‑decaying” declaration, wire them via G.3:Ext.DecayWiring (governing pattern: B.3.4) rather than encoding decay semantics in CHR prose. If assurance‑subtype lane tags are used (e.g., TA/VA/LA), declare the lane regime here so downstream evidence discipline can remain lane‑pure (taxonomy/semantics governed by B.3; evidence‑path representation & audit governed by G.6; this pattern only records wiring). Lane docking (wiring‑only; normative). If EvidenceLanes are used, the charter MUST:

  • enumerate the lane tags used (e.g., TA/VA/LA) and cite their governing pattern taxonomy (governed by B.3), plus the upstream provenance for their use when available (e.g., SoTAPaletteDescriptionId via G.3:Ext.SoTAPackInputs);
  • expose any lane‑dependent tolerances / proof requirements via explicit pins (policy‑id and/or edition‑pinned refs), not prose;
  • treat lane tags as provenance metadata (not Contexts): they MUST NOT be “bridged away” or silently mixed;
  • if any cross‑lane comparison/aggregation is claimed, it MUST be explicit and pinned to the governing acceptance/evidence policy (typically G.4) and auditable via evidence paths (G.6); otherwise downstream consumers treat it as illegal. Crossing semantics and penalty routing are cited via G.Core (do not restate).

S2 — Mint or reuse terms (UTS‑first). For each candidate characteristic, scale, level, or coordinate term: attempt reuse; otherwise mint via UTS Name Cards with twin labels and public-id continuity notes. When a term is imported across contexts, the import must be explicit and auditable (bridge and loss notes live with the crossing artefacts; CHR only cites them).

S3 — Define CharacteristicCard (the per-characteristic publication unit). A CharacteristicCard is the minimum unit CHR publishes for downstream legality. It SHOULD include (field names are indicative; semantics governed by cited definitions):

CharacteristicCard := ⟨
  UTSRowId,
  CharacteristicRef.edition,
  entityOfConcern,
  ClaimScope,
  ApplicableSliceRef[],
  QualificationWindow?,
  EvaluationWindow?,
  MeasurementMethodRef.edition?,
  MeasurementModelRef.edition?,
  EvidenceRef[],
  IntendedDownstreamUse,
  ReferencePlane,
  ObjectKind,
  Intent,
  Definition (typed),
  ObservableOf := ⟨instrument/protocol (provenance cited through A.10 paths), uncertainty model, validity window⟩,
  EvidenceLanes? (KD‑CAL lanes; wiring only; semantics governed by `G.4` / `G.6`),
  ScaleRef.edition,
  Polarity ∈ {↑, ↓, ⊥},
  Domain/Range,
  UnitSet,
  Bounds / zero semantics (as applicable),
  Freshness / half‑life (or explicit `NonDecayingDecl`; freshness/decay semantics governed by `B.3.4`),
  Missingness semantics (typed; include a classification/mapping when non‑trivial; downstream tri‑state handling is per G.Core),
  Stability/Reliability notes,
  RoleDecls? := RoleDecl[] (wiring‑only; each role declaration names its governing pattern + required pins; see `G.3:4.5`),
  QD.Role? ∈ {Q, D, QD-score} (interop alias for `RoleDecl` with `GoverningPatternId = C.18`; see `G.3:Ext.QD_OEE_Wiring`),
  Micro‑examples (R‑anchors: Path/PathSlice cited; lane tags where applicable)
⟩

Polarity gives the preferred direction for IntendedDownstreamUse: ↑ means higher-is-better, ↓ lower-is-better, and ⊥ no preferred direction assigned. Use ⊥ for a descriptive measurement. A target, range or other preference that has no single direction uses the applicable evaluation predicate and its Method; the Scale retains its measurement meaning under A.17/A.18.

Where RoleDecl := ⟨ roleLabel, GoverningPatternId, EditionPins?, PolicyPins? ⟩ (wiring-only; the value of GoverningPatternId names the FPF pattern that governs the role declaration semantics).

Rules (CHR‑governed intent, semantics governed by cited definitions where indicated):

  • Scale/unit/polarity legality obligations cite MM‑CHR governing definitions (A.18 and C.16) and must be checkable by downstream patterns.
  • Missingness must be typed so downstream can apply tri‑state outcomes without silent coercion (tri‑state semantics are governed by G.Core).
  • If EvidenceLanes are recorded, they are only lane tags for downstream evidence discipline (taxonomy governed by B.3; audit surface: G.6; any cross‑lane policy is governed by G.4); this pattern does not introduce lane semantics or invent bridge‑like constructs.
  • If RoleDecls are used, each declaration MUST cite the FPF pattern that governs the declaration, for example C.18 or C.19, and surface the edition and policy pins required by that governing pattern; CHR does not define role semantics locally.
  • Role docking (normative, wiring-only): if any RoleDecl is present with GoverningPatternId = X, then G.3 MUST include (or explicitly cite) a corresponding GPatternExtension block whose governing definition is X (or whose Uses includes X) and that surfaces the required pins for that role family. Otherwise the role declaration is non-conformant (it is an undocked semantic fragment).
  • Freshness docking (normative, wiring-only): if a characteristic’s freshness/half-life is defined via a named decay model/policy (rather than a pure local statement), the relevant policy/ref MUST be pinned and cited through B.3.4 via G.3:Ext.DecayWiring.
  • If a characteristic is intended to be promoted into CG‑Spec, the linkage is explicit and edition‑pinned (wiring lives in an Extension; semantics governed by G.0).

S4 — Define ScaleCard and LevelCard (lawful measurement). Publish the scale type and admissible transforms, plus levels/orders when applicable. CHR does not invent new legality semantics; it cites MM‑CHR governing definitions and makes the legality surface concrete for the frame’s characteristics.

Typical distinctions that must be representable:

  • Nominal / categorical: equality + counting; transforms are permutations.
  • Ordinal: order‑preserving transforms; no arithmetic that presupposes intervals.
  • Interval: affine transforms; differences meaningful; means may be lawful if justified.
  • Ratio: positive scalar transforms; ratios meaningful; products/sums subject to unit discipline.
  • Count / rates: explicit exposure/timebase requirements; rate conversions must be explicit.
  • Cyclic: wrap‑around discipline + principal interval declaration.

S5 — Define CoordinatePolicy (encodings without hidden cardinalization). When a numeric coordinate/embedding is used for convenience or tooling, CHR MUST publish:

  • what invariants are preserved (order only / ratios / topology / wrap‑around),
  • what remains illegal,
  • what proof hooks are required if a structure with higher scale-type commitment is claimed.

A coordinate never silently upgrades a scale type; if an upgrade is claimed, the proof requirement is explicit and carried by MM-CHR governing definitions.

S6 — Publish legality + guard surfaces (Guard Macros + LegalityMatrix). CHR publishes a CHR.LegalityMatrix and a CHR.Guards surface that downstream operators can reference.

Guard macro names are allowed as authoring ergonomics, but their semantics MUST cite governing definitions (no “shadow semantics” in this pattern). Examples of macro intents (governing definitions in parentheses):

  • CSLC_PROOF_REQUIRED(x) (MM‑CHR legality governing definitions: A.18/C.16)
  • UNKNOWN_TRI_STATE(x) (tri‑state semantics governed by G.Core)
  • UNIT_CHECK(x) (MM‑CHR legality governing definitions)
  • RETURN_SET_FOR_PARTIAL_ORDERS() (set‑return semantics governed by G.Core)
  • METRIC_EDITION_REF(...) (edition‑pin discipline governed by G.Core; metric semantics governed by C.18/C.21 as applicable)

S7 — Publish AggregationSpecs (typed, admissible, reproducible). CHR may publish typed aggregation/comparison specs that are safe by construction and usable as building blocks by G.4 and G.5. For any published spec:

  • The legality regime is explicit (scale/unit/polarity constraints + required proof hooks).
  • If a contributor folding policy (Γ‑fold) is used and not explicitly overridden, cite DefaultId.GammaFoldForR_eff through G.Core.DefaultGoverningDefinitionIndex; do not restate the default here.
  • If method‑role declarations imply metric‑driven comparisons (e.g., QD roles), the relevant edition/policy pins are surfaced (wiring lives in an Extension; semantics governed by the referenced patterns).

S8 — Publish, test, and evolve (UTS + RSCR readiness). Publish the CHR pack and associated Name Cards to UTS. Attach:

  • RSCR tests that check legality and guard coverage and reject illegal ops,
  • worked examples with Path/PathSlice provenance,
  • refresh/decay notes and deprecations with lexical continuity.

This step prepares the RSCR loop but does not govern orchestration (governing definition: G.11).