G.3:4 - Solution — CHR authoring kit and publication surface
G.3:4.1 - G.Core linkage (normative)
Builds on: G.Core (Part‑G core invariants; citation/delegation hub)
GCoreLinkageManifest (normative; size‑controlled).
GCoreLinkageManifest := ⟨
CoreConformanceProfileIds := {
GCoreConformanceProfileId.PartG.AuthoringBase,
GCoreConformanceProfileId.PartG.TriStateGuard,
GCoreConformanceProfileId.PartG.UTSWhenPublicIdsMinted
},
CorePinSetIds := {
GCorePinSetId.PartG.AuthoringMinimal,
GCorePinSetId.PartG.CrossingVisibilityPins
},
// Pins strengthened for CHR authoring (delta over PinSets)
CorePinsRequired := {
// NOTE: the frame pin inherited from `GCorePinSetId.PartG.AuthoringMinimal` denotes only the exact
// declared CG-frame, which is the framing episteme here; it supplies no universal setting, scope, or reuse authority.
// `entityOfConcern`, `CNSpecRef.edition`, and `CGSpecRef.edition` remain inherited; each card adds the exact use pins named below.
UTSRowId[], // required: CHR terms are public ids (Name Cards plus public-id continuity records)
PathId[]/PathSliceId[], // required: worked examples/tests and refresh anchoring cite paths
ReferencePlane, // required: definitional claims are plane-scoped
Φ/Ψ/Φ_plane policy-ids?, // iff crossings/plane moves are exercised in examples or imports
ΓFoldRef.edition? // iff an explicit Γ-fold artefact is pinned (otherwise use DefaultId)
// NOTE: method-/discipline-specific pins (e.g., DescriptorMapRef/DistanceDefRef/DHCMethodRef/InsertionPolicyRef)
// are declared only inside Extensions (e.g., `G.3:Ext.QD_OEE_Wiring`) to keep core linkage universal.
},
// consumed iff any published `CHR.AggregationSpec` relies on default Γ-fold (no explicit override pinned)
DefaultsConsumed := { DefaultId.GammaFoldForR_eff },
RSCRTriggerKindIds := {
RSCRTriggerKindId.EvidenceSurfaceEdit,
RSCRTriggerKindId.TokenizationOrNameChange,
RSCRTriggerKindId.CrossingBundleEdit,
RSCRTriggerKindId.ReferencePlaneEdit,
RSCRTriggerKindId.EditionPinChange,
RSCRTriggerKindId.PolicyPinChange,
RSCRTriggerKindId.DefaultGoverningDefinitionChange,
RSCRTriggerKindId.FreshnessOrDecayEvent,
RSCRTriggerKindId.LegalitySurfaceEdit,
RSCRTriggerKindId.BaselineBindingEdit
}
⟩
(Nil‑elision + expansion rule are per G.Core:4.2. This pattern does not redefine the semantics of core conformance ids, trigger kinds, or defaults; it only declares applicability and required pins.)
G.3:4.2 - Output surface: CHR Pack@CG‑Frame (normative)
CHR Pack@CG‑Frame is the CHR kit payload that downstream patterns cite and pin (it is not a “shadow spec” for CN/CG).
Minimum exported objects (kit surface):
CHR.Characteristic[]CHR.Scale[]CHR.Level[](when the scale type requires explicit level sets / order structure)CHR.Coordinate[](encodings + legality annotations; never an implicit “upgrade” of measurement structure)CHR.Guards(guard macro surface; semantics governed by cited definitions; seeG.CoreandA.18)CHR.LegalityMatrix(admissible operations per scale type / unit / polarity regimes)CHR.AggregationSpecs(typed aggregators/comparators + proof hooks + edition pins where applicable)UTSpublication bundle: Name Cards (twin labels), public-id continuity notes, and (when applicable) bridge and loss notes- RSCR artefacts:
RSCRTestId[]+ worked examples + provenance pins (ReferencePlane, Path/PathSlice, policy ids)
Mandatory provenance pins (conceptual, notation‑independent):
ReferencePlanePathId/PathSliceIdcitations for worked examples/tests- R‑anchors (conceptual; KD‑CAL lanes when used) realised via
PathId/PathSliceIdand, where applicable,A.10anchor/carrier refs - policy pins used by crossings or plane moves (when exercised)
- edition pins for any referenced method or metric definitions that affect interpretation
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.,SoTAPaletteDescriptionIdviaG.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 viaG.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.18andC.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
EvidenceLanesare recorded, they are only lane tags for downstream evidence discipline (taxonomy governed byB.3; audit surface:G.6; any cross‑lane policy is governed byG.4); this pattern does not introduce lane semantics or invent bridge‑like constructs. - If
RoleDeclsare used, each declaration MUST cite the FPF pattern that governs the declaration, for exampleC.18orC.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
RoleDeclis present withGoverningPatternId = X, thenG.3MUST include (or explicitly cite) a correspondingGPatternExtensionblock whose governing definition isX(or whoseUsesincludesX) 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.4viaG.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 byG.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 byG.Core)UNIT_CHECK(x)(MM‑CHR legality governing definitions)RETURN_SET_FOR_PARTIAL_ORDERS()(set‑return semantics governed byG.Core)METRIC_EDITION_REF(...)(edition‑pin discipline governed byG.Core; metric semantics governed byC.18/C.21as 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_effthroughG.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).
G.3:4.4 - Interfaces (normative)
| Interface | Consumes | Produces |
|---|---|---|
| G.3-1 Charter_CHR | exact declared CG-frame (the framing episteme), bearer or bearers identified as EntitiesOfConcern, scope and applicable windows, ReferencePlane, evidence basis, intended downstream use, and SoTA inputs (G.2) | MeasurementCharter, KindMap |
| G.3-2 MintOrReuse_Terms | candidate characteristic, scale, level, or coordinate expressions; their effective scheme, source-local sense, and intended CHR use; UTS registry | reused or minted ids and Name Cards where public ids are needed; exact F.17 cell refs and F.9 relation refs only when an actual relation between local meanings is required for the stated reuse and obtains |
| G.3‑3 Define_Characteristic | MeasurementCharter, candidate semantics | CHR.Characteristic[] (CharacteristicCards) |
| G.3‑4 Define_ScaleLevel | CharacteristicCard + MM‑CHR rules | CHR.Scale[], CHR.Level[] |
| G.3‑5 Define_CoordinatePolicy | Scale/Level + use‑case constraints | CHR.Coordinate[] + legality annotations |
| G.3‑6 Publish_GuardsAndLegality | Scale/Level/Coordinate set | CHR.Guards, CHR.LegalityMatrix |
| G.3‑7 Publish_AggregationSpecs | CHR set + legality hooks + (optional) metric refs | CHR.AggregationSpecs (+ proofs/refs + pins) |
| G.3‑8 Publish_CHRPack | all CHR artefacts + tests/examples | CHR Pack@CG‑Frame + UTS rows + RSCR tests |
G.3:4.5 - Extensions (pattern‑scoped; non‑core)
All blocks below are GPatternExtension modules (PatternScopeId-scoped; not new PatternIds). They store wiring only and cite governing patterns.
GPatternExtension: SuiteBoundaryLinkage
-
PatternScopeId:
G.3:Ext.SuiteBoundaryLinkage -
GPatternExtensionId:
SuiteBoundaryLinkage -
GPatternExtensionKind:
InteropSpecific -
GoverningPatternId:
A.19.CHR -
Uses:
{A.19.CHR, A.15.3} -
⊑/⊑⁺:
∅ -
RequiredPins/EditionPins/PolicyPins (minimum):
CHRMechanismSuiteDescriptionRef.edition?(when the suite description is cited as a reproducibility baseline)CHRMechanismSuiteSlotFillingsPlanItemrefs (when planned baseline binds CHR artefacts into WorkPlanning)
-
RSCRTriggerKindIds:
{RSCRTriggerKindId.BaselineBindingEdit, RSCRTriggerKindId.EditionPinChange} -
Notes (wiring‑only): This module binds CHR authoring outputs to the P2W seam (
SlotFillingsPlanItem); suite semantics and membership are governed byA.19.CHR.
GPatternExtension: SoTAPackInputs
-
PatternScopeId:
G.3:Ext.SoTAPackInputs -
GPatternExtensionId:
SoTAPackInputs -
GPatternExtensionKind:
DisciplineSpecific -
GoverningPatternId:
G.2 -
Uses:
{G.2} -
⊑/⊑⁺:
∅ -
RequiredPins/EditionPins/PolicyPins (minimum):
ClaimSheetId[]/ operator & object inventory refs (as cited inputs)SoTAPaletteDescriptionId?(when palette/traces are cited; used to dock contested‑term inventory and (if present) lane tags/tolerances)BridgeMatrixId?(when terms/constructs are imported across traditions)UTSRowId[]drafts/aliases from synthesis
-
RSCRTriggerKindIds:
{RSCRTriggerKindId.EvidenceSurfaceEdit, RSCRTriggerKindId.TokenizationOrNameChange, RSCRTriggerKindId.CrossingBundleEdit} -
Notes (wiring‑only): SoTA pluralism inputs are governed by
G.2; this module only specifies which synthesis artefacts are cited while authoring CHR. When CHR authoring relies on pack coverage, cite the sameCoverageJudgementRefand HarvestPolicy basis, retaining the counted population and receiving question. CHR terms or cards do not redefine the counted family unit; lineage plurality remains a separate result.
GPatternExtension: CGSpecPromotionWiring
-
PatternScopeId:
G.3:Ext.CGSpecPromotionWiring -
GPatternExtensionId:
CGSpecPromotionWiring -
GPatternExtensionKind:
InteropSpecific -
GoverningPatternId:
G.0 -
Uses:
{G.0} -
⊑/⊑⁺:
∅ -
RequiredPins/EditionPins/PolicyPins (minimum):
CGSpecRef.edition(when a characteristic is promoted/linked intoCG‑Spec)CHR.Characteristic.idpointers included inCG‑Spec.Characteristics := [...](no shadow ids; CG‑Spec stores pointers, seeG.0)
-
RSCRTriggerKindIds:
{RSCRTriggerKindId.LegalitySurfaceEdit, RSCRTriggerKindId.EditionPinChange, RSCRTriggerKindId.PolicyPinChange} -
Notes (wiring‑only):
G.0governs promotion semantics and the legality gate; CHR only pins and cites.
GPatternExtension: MMCHRLegalityWiring
-
PatternScopeId:
G.3:Ext.MMCHRLegalityWiring -
GPatternExtensionId:
MMCHRLegalityWiring -
GPatternExtensionKind:
DisciplineSpecific -
GoverningPatternId:
A.18 -
Uses:
{A.17, A.18, C.16} -
⊑/⊑⁺:
∅ -
RequiredPins/EditionPins/PolicyPins (minimum):
- CSLC legality proof anchors/carriers (ids/refs as defined by MM‑CHR governing definitions; cite
A.18/C.16) - Unit coherence references (where units exist)
- CSLC legality proof anchors/carriers (ids/refs as defined by MM‑CHR governing definitions; cite
-
RSCRTriggerKindIds:
{RSCRTriggerKindId.LegalitySurfaceEdit, RSCRTriggerKindId.ReferencePlaneEdit} -
Notes (wiring‑only): This module wires CHR artefacts to MM‑CHR legality proof obligations; legality semantics are governed by the referenced patterns.
GPatternExtension: DecayWiring
-
PatternScopeId:
G.3:Ext.DecayWiring -
GPatternExtensionId:
DecayWiring -
GPatternExtensionKind:
DisciplineSpecific -
GoverningPatternId:
B.3.4(freshness/decay semantics) -
Uses:
{B.3.4, G.6} -
⊑/⊑⁺:
∅ -
RequiredPins/EditionPins/PolicyPins (minimum):
FreshnessWindowDeclRef(or equivalent window pin, as defined by the governing definition)DecayPolicyIdRef?(policy-bound; if decay model is referenced by id)PathSliceId[](affected evidence carriers / examples that witness drift)
-
RSCRTriggerKindIds:
{RSCRTriggerKindId.FreshnessOrDecayEvent, RSCRTriggerKindId.EvidenceSurfaceEdit, RSCRTriggerKindId.PolicyPinChange, RSCRTriggerKindId.BaselineBindingEdit} -
Notes (wiring‑only): CHR does not define decay semantics; it only pins the window/policy defined by the governing pattern and ensures refresh can be triggered on decay events.
GPatternExtension: QD_OEE_Wiring
-
PatternScopeId:
G.3:Ext.QD_OEE_Wiring -
GPatternExtensionId:
QD_OEE_Wiring -
GPatternExtensionKind:
MethodSpecific -
GoverningPatternId:
C.18 -
Uses:
{C.18, C.19} -
⊑/⊑⁺:
∅ -
RequiredPins/EditionPins/PolicyPins (minimum):
DescriptorMapRef.edition(if any Characteristic declares descriptor roles)DistanceDefRef.edition(if any Characteristic declares distance roles)DHCMethodRef.edition?(when a C.21 discipline-health measurement definition is actually used; a Q / QD-score role alone does not select it)InsertionPolicyRef?(when archive insertion semantics are declared for reproducibility)
-
RSCRTriggerKindIds:
{RSCRTriggerKindId.EditionPinChange, RSCRTriggerKindId.PolicyPinChange, RSCRTriggerKindId.TelemetryDelta, RSCRTriggerKindId.FreshnessOrDecayEvent} -
Notes (wiring‑only): QD/OEE semantics are governed by
C.18 and C.19. CHR only surfaces method‑role declarations (viaRoleDeclsor the interop aliasQD.Role) and the edition/policy pins required for reproducible archive/front interpretation.