Mint or Reuse? (U.Type vs Concept-Set vs Role Description vs Alias)
Pattern F.8 · Stable Part F - The Unification Suite (U-Suite): Concept-Sets, SenseCells & Contextual Role Assignment
“Name only what thinking requires, and reuse everything else.”
Status. Architectural pattern. Depends on. E.10.D1 Lexical Discipline for “Context” (D.CTX); A.7 Strict Distinction; A.11 Ontological Parsimony; A.8 Universal Core. Coordinates with. F.1 Contexts (Contexts); F.2 Harvest; F.3 SenseCells; F.4 Role Description; F.5 Naming Discipline; F.7 Concept‑Set Table; F.9 Alignment & Bridge. Aliases (informative). Mint‑vs‑Reuse gate; Naming governor.
Intent. Provide a minimal, conceptual decision lattice that answers, for any modelling need:
Keywords
- decision lattice
- type explosion
- reuse
- minting new types
- parsimony.
Relations
Content
Intent & applicability
Intent. Provide a minimal, conceptual decision lattice that answers, for any modelling need:
“Do I reuse an existing label, add an alias, reference a Concept‑Set row, define a Role Description, or mint a new U.Type?”
The lattice enforces locality of meaning (Contexts), senseFamily separation (A.7), and parsimony (A.11) while remaining didactically simple.
Applicability. Use whenever a new name seems “needed” in any FPF pattern thread (Role Assignment & Enactment, Sys-CAL, KD-CAL, Kind-CAL, Method-CAL, LCA-CAL…).
Non‑goals. No workflows, no roles, no storage. This is thinking discipline, not process guidance.
Problem frame
Modellers tend to mint names when they actually need reuse, aliasing, or explicit Cross‑context reading. Consequences:
- Name inflation. Parallel labels for the same idea across Contexts.
- senseFamily mixing. Behavioural Role names that smuggle in deontic Status or measurement talk.
- Hidden bridges. Cross‑context sameness is implied by look‑alike words rather than declared (F.9).
- Kernel sprawl. New U.Types appear to plaster over local vocabulary gaps.
Forces
Minimal vocabulary (used in this pattern only)
- Context —
U.BoundedContext(per D.CTX). - SenseCell — address of a local sense produced by F.3 (one context × one clustered sense).
- Concept‑Set row — a licensed Cross‑context reading (F.7) of cells in one senseFamily with a declared Row Scope and Row CL(min).
- senseFamily — as defined in F.0.1; here used as the typed discriminator for rows restricted to {Role | Status | Measurement | Type‑structure | Method | Execution}.
- Role Description — a Role/Status template anchored to a single SenseCell (F.4).
- Alias — an additional label for an existing FPF label (within F.5), no new semantics.
- CL threshold τ(scope) — the minimum congruence level needed for a row’s scope (e.g., τ(Naming-only) < τ(Assignment-eligibility) < τ(Type-structure)).
The decision lattice (conceptual, notation‑free)
Read top‑to‑bottom; the first satisfied branch decides. At every step, state the senseFamily (Role / Status / Measurement / Type‑structure / Method / Execution) before you proceed.
Q0 — What is the senseFamily of your need?
- If uncertain, return to F.1/F.3: stabilise the Context(s) and the local sense.
- If mixed, split the need: one decision per senseFamily (A.7).
Q1 — Is there a single Context whose SenseCell already expresses it?
-
Yes → Reuse the SenseCell’s label inside that Context.
- If you need assignable behaviour or deontics on that sense: define a Role Description anchored to that SenseCell (F.4).
-
No → go to Q2.
Example (engineer). You want “task execution” in control software. In
IEC 61131‑3there is a clear SenseCell for task execution. Reuse that label; if you need responsibilities (“who monitors runs”), define a Role Description anchored to this SenseCell.
Q2 — Do you need to read across Contexts (same senseFamily)?
-
No → stay within one context; if your desire is merely a nicer label, consider an Alias (Q3).
-
Yes → check F.7 for a Concept‑Set row covering your cells in this senseFamily with adequate Row Scope and Row CL(min).
- Found & sufficient → Reuse the row’s FPF label at that scope.
- Not found or insufficient → either (a) publish a contrast (teach difference), or (b) propose a new row but only after F.9 Bridges exist at τ(scope).
Example (manager). You want one label for the actor in workflow and provenance prose. F.7 has a Naming‑only row mapping BPMN Participant ↔ PROV Agent at CL = 2. Reuse “actor” at Naming‑only scope; do not infer identity in models.
Q3 — Is this only a wording preference for an existing FPF label?
- Yes → add an Alias in F.5 (Tech register and/or Plain register), no semantics changed.
- No → go to Q4.
Example (researcher). You prefer “is‑a” to “subclass‑of” in Type pages. That is an Alias for the same concept; no new row, no new U.Type.
Q4 — Does your need recur across Contexts in a way not captured by current rows, with Bridges already available at the required CL?
- Yes → propose a new Concept‑Set row (F.7): small (2–4 Contexts), one senseFamily, declare Row Scope and Row CL(min), include a counter‑example if any Bridge has loss notes.
- No → go to Q5.
Example (engineer). You repeatedly compare runtime occurrence in PROV with PLC task runs. F.9 Bridges exist at CL = 2. Propose row “execution-occurrence” at assignment/enactment-eligibility scope (not Type-structure).
Q5 — Are you describing a kernel‑level notion missing from the catalogue, not reducible to existing rows or Role Descriptions, and present across ≥ 3 domain families (A.8)?
- Yes → propose a new U.Type (rare). Supply: (i) the minimal intensional definition; (ii) cross‑family evidence (≥ 3 Contexts, distinct families); (iii) how it doesn’t duplicate an existing U.Type.
- No → you do not mint a new type. Re‑express the need in terms of Context reuse, row reuse, Alias, or a Role Description.
Example (researcher). You think we need U.InfluenceEdge (causal tendency). If it appears as a stable, senseFamily‑specific notion across control, epistemic inference, and methods (≥ 3 families), and cannot be formed from existing
U.Relationsubtypes, it may qualify. Otherwise, treat it as a pattern or a row.
Scope thresholds (default τ) — how much sameness you’re allowed to claim
Guard. You may tighten scope (e.g., from Naming-only → Assignment-eligibility) only if the Row CL(min) meets the higher τ.
Micro‑examples (didactic triad)
For engineers — “Do we need a new Execution label?”
- Need. “We want to refer to what actually happened in both provenance logs and PLC runtime.”
- senseFamily. Execution - stance. run.
- Contexts.
PROV‑O(Activity),IEC 61131‑3(task run). - Row? F.7 has execution-occurrence at assignment/enactment-eligibility, CL = 2.
- Decision. Reuse that row’s label at Assignment-eligibility; no new U.Type; define Role Descriptions anchored to each Context as needed.
For managers — “Can we call them all actors?”
- Need. A single everyday word in the spec to denote “the responsible party”.
- senseFamily. Role (behavioural mask in prose).
- Contexts.
BPMN 2.0(Participant),PROV‑O(Agent). - Row? Naming‑only row “actor”, CL = 2.
- Decision. Reuse “actor” in prose only; keep Context‑loyal labels in formal sections. No Role Description minted unless tied to one context.
For researchers — “New U.Type for ‘Work Scope’?”
- Need. Kernel notion capturing feasible performance region across systems.
- Test A.8. Appears in control (reachable sets), services (operating envelope), measurement (confidence bands): ≥ 3 families?
- Reduction test. Can it be expressed as a row + existing
U.Relation+ KD‑CAL constructs? - Decision. If not reducible and cross‑family stable, propose new U.Type with minimal definition; otherwise, prefer a row or a pattern.
Invariants (normative, lightweight)
- Context‑first. Every decision cites at least one Context; no global senses.
- senseFamily purity. A single decision covers one senseFamily. Mixed needs are split.
- Row honesty. Any Cross‑context reuse occurs via a Concept‑Set row at or above τ(scope); no stealth equivalence.
- Role Description anchoring. Role Descriptions are single-Context, single-cell anchors (F.4).
- Alias modesty. Aliases never change semantics and live under F.5.
- Kernel restraint. New U.Types are rare; A.8 (≥ 3 families) is mandatory, and duplication with existing U.Types must be ruled out.
Mint/Reuse discipline for policy-ids (normative addendum)
FPF treats policy-ids (e.g., Φ(CL), Φ_plane, Ψ(CL^k), Aut-Guard, EmitterPolicyRef, InsertionPolicyRef, Acceptance clause ids) as first-class, versioned tokens. They are not “just strings”, and they are not governed by tier ladders or implied authority.
PolicySpecRef. A resolvable reference to the normative definition of a policy-id (“what does this policy-id mean?”). At minimum it:
- identifies the policy-id,
- pins an immutable edition (or equivalent digest), and
- can be located from the same publication bundle (MVPK / UTS / EvidenceGraph anchors).
MintDecisionRef. A resolvable reference to the decision record that introduced (minted) a policy-id into a declared namespace/registry. For normative policy-ids this is typically a DRR id (E.9) or an equivalent change decision record. For purely local, non-exported policy-ids it MAY be a Gate DecisionLog entry (A.21) if that local-only scope is explicit.
PolicyIdRef (canonical bundle).
PolicyIdRef := { policy_id, PolicySpecRef, MintDecisionRef? }.
Rules.
- No silent policy-id minting. If a publication introduces a new policy-id (not previously present in the declared namespace/registry), it MUST surface a
PolicyIdRefwhose:PolicySpecRefis edition-pinned, andMintDecisionRefis resolvable from the publication’s DRR/DecisionLog links.
- Reuse is reference-only. If a publication reuses an existing policy-id, it MUST surface a
PolicySpecRef(and SHOULD preserve the prior mint decision link where available). It MUST NOT restate policy semantics as if minting a new policy-id. - GateCrossing checkability. Any GateCrossing/CrossingBundle that surfaces policy-ids MUST include
PolicyIdRef(or an equivalent “policy-id + resolvable refs” structure) so GateChecks can verify resolvability and pin consistency (E.18/A.21/G.6:7.5.8). - Authority is policy, not tiers. “Who may mint” vs “who may reuse” is expressed by the referenced policy specs and mint decisions (and enforced by the active GateProfile/GateChecks), not by fixed tier labels.
Quick reference (one‑glance map)
Anti‑patterns & remedies
Reasoning primitives (judgement schemas, notation‑free)
Each item states a mental entailment. No storage, no roles, no workflows. Symbols:
C= Context,σ= SenseCell,R= Concept‑Set row,SF= senseFamily,τ= scope threshold,CL= congruence level.
-
senseFamily split
need(n) ∧ mixedSF(n) ⊢ split(n) into {n₁…nₖ} by senseFamilyYou cannot decide for mixed senseFamilies; decide per senseFamily. -
Cell reuse
∃ C,σ : expresses(n,SF)@σ ⊢ reuseLabel(σ) in CIf a single Context’s SenseCell already says it, reuse it locally. -
Assignment-eligibility
reuseLabel(σ) ∧ needAssignable(SF ∈ {Role,Status}) ⊢ mintRoleDescription(σ)When you need assignable behaviour/deontics for a local sense, mint a Role Description anchored to that sense. -
Row reuse
crossContexts(n,SF) ∧ ∃ R: covers(R,SF) ∧ CL(R) ≥ τ(scope) ⊢ reuseRow(R,scope)For Cross‑context readings, reuse a row at a scope whose τ is met. -
Alias suffices
sameIntent(n,label₀) ∧ stylePreference(n,label₁) ⊢ alias(label₀,label₁)If it’s only wording, add an Alias; no semantics move. -
Row proposal
recurrentCross(n,SF) ∧ bridgesCL(cells(n)) ≥ τ(scope) ∧ ¬∃R ⊢ proposeRow(cells,scope)If the need recurs and Bridges support the scope, propose a new row. -
Kernel minting (rare)
kernelCandidate(n) ∧ crossFamily≥3 ∧ irreducible(n) ⊢ proposeUType(n)Only if the notion is cross‑family and cannot be reduced to cells+rows+existing U.Types. -
Scope downgrade
reuseRow(R,scope) ∧ CL(R)↓ < τ(scope) ⊢ downgradeScope(R)If CL falls, lower the row’s licensed scope. -
Row rejection
conflictEvidence(rowCells) ∧ lossUnbounded ⊢ rejectRowIf bridges show open‑ended loss, do not publish a row; teach the contrast.
Extended worked examples
Execution, observation, and acceptance (engineers)
Need. A reusable label for “what actually happened and how it was checked against the promise”. senseFamilies. Execution (stance: run); Measurement (KD); Status (accept/reject).
Contexts.
IEC 61131‑3 (task run), PROV‑O (Activity), SOSA/SSN (Observation), ITIL 4 (SLO/SLA).
Reasoning.
Execution:IECSenseCell (task run) andPROVSenseCell (Activity). There exists a row execution-occurrence at Assignment-eligibility with CL = 2 → reuse row at Assignment-eligible scope; do not infer Type-structure.Measurement:SOSAObservation cell; no Cross‑context needed → reuse cell.Status:ITILSLO/SLA cell; Role Description “SLO‑Target” anchored to ITIL cell.
Outcome. Prose may say: “This execution-occurrence (row@assignment/enactment-eligibility) was observed (SOSA cell) and evaluated against the SLO (ITIL cell).” No new U.Type; no hidden merges.
Actor across workflow and provenance (managers)
Need. A single everyday label for “the responsible party” in diagrams. senseFamily. Role (behavioural mask in prose/diagrams).
Contexts. BPMN 2.0 (Participant), PROV‑O (Agent).
Reasoning. A Naming‑only row “actor” exists, CL = 2. Reuse the row at Naming‑only. If assignable behaviour is needed in a model, mint Role Description anchored to BPMN Participant (not to the row).
Outcome. Diagrams show “actor”; formal sections reference Participant or Agent as appropriate.
Accuracy across metrology and data quality (researchers)
Need. Treat “accuracy” consistently across ISO 80000 (metrology) and ISO/IEC 25024 (data quality). senseFamily. Measurement.
Contexts. ISO 80000‑1 (quantity/units), ISO/IEC 25024 (data quality).
Reasoning. Bridges indicate related but not identical definitions; procedures differ. Existing KD‑metric row “accuracy” has CL = 2 with loss note: population vs instrument focus. Reuse row at KD‑metric scope for dashboards; do not use the row to justify interchange of procedures.
Outcome. One label in reports; method sections still cite the context‑local procedure.
F.8:12.4 Subtype relation across OWL and a curated taxonomy (formalists)
Need. Present “is‑a” uniformly across OWL 2 classes and a domain taxonomy. senseFamily. Type‑structure.
Contexts. OWL 2 (SubClassOf), Taxonomy_X (curated “is‑a” edges).
Reasoning. F.7 row “subtype‑order” exists at Type‑structure scope with CL = 3 (only after verifying acyclicity & anti‑symmetry in Taxonomy_X). If the curated taxonomy contains cycles, downgrade to Naming‑only or reject the row.
Outcome. When CL≥3, you may reuse row for structural proofs; else teach differences.
Relations (with other patterns)
-
Builds on: E.10.D1 (D.CTX) Context ≡ U.BoundedContext; F.1 Contexts; F.2 Harvest; F.3 SenseCells.
-
Constrains:
- F.4 Role Description: one SenseCell per Role Description; no row anchoring.
- F.5 Naming: Aliases are style‑only; no semantics movement.
- F.7 Concept‑Set: rows must declare Scope & Row CL(min) and carry loss notes.
- F.9 Bridges: any row proposal presupposes Bridges at or above τ(scope).
-
Used by. All patterns (Part C) whenever new labels are contemplated.
Migration notes (conceptual)
- Old “anchor” language. Replace legacy “anchor” with: SenseCell (local sense) + Role Description (assignable Standard) + (optionally) Concept‑Set row (Cross‑context reading).
- Over-strong rows. If a row was used for assignment/enactment-eligibility or Type-structure but CL drops, downgrade row scope to Naming-only in prose; adjust examples.
- Split rows. If one row covers cells whose Bridges diverge, split into two narrower rows with explicit loss notes.
- Alias proliferation. Collapse redundant Aliases under a single F.5 entry; keep both registers (Tech/Plain).
- Proto‑types. Suspect kernel inflation? Attempt reduction: SenseCell + row + existing U.Type. Only if irreducible across ≥ 3 families, reopen as a U.Type candidate.
Acceptance tests (SCR/RSCR — concept‑level)
Static conformance (SCR)
- SCR‑F8‑S01 (senseFamily purity). Every decision record names one senseFamily; mixed needs are split.
- SCR‑F8‑S02 (Proper anchoring). Every Role Description cites one SenseCell; no row is used as a assignment/enactment anchor.
- SCR‑F8‑S03 (Row scope). Whenever a row is reused, its Scope is stated and Row CL(min) ≥ τ(scope) holds.
- SCR‑F8‑S04 (Alias modesty). Aliases introduced in F.5 do not claim new semantics or change senseFamily.
- SCR‑F8‑S05 (Kernel restraint). Any new U.Type proposal includes ≥ 3 domain families of evidence and an irreducibility note.
Regression (RSCR)
- RSCR‑F8‑E01 (CL drift). If any Bridge’s CL changes, re‑evaluate dependent rows; downgrade or split where τ(scope) is no longer met.
- RSCR-F8-E02 (Row overuse). Scan examples: no case uses Naming-only rows to justify Assignment-eligibility or Type-structure claims.
- RSCR‑F8‑E03 (Alias creep). Ensure no Alias has accreted senseFamily‑specific semantics; if it has, migrate to a row or Role Description.
- RSCR‑F8‑E04 (Kernel hygiene). New U.Type proposals are rejected if a SenseCell + row construction suffices.
Didactic distillation (90‑second teaching script)
“When you feel like coining a new name, pause. Which senseFamily are you in—Role, Status, Measurement, Type‑structure, Method, or Execution? If a single Context’s SenseCell already says it, reuse that label. If you need an assignable Standard, mint a Role Description anchored to that SenseCell. If you must read across Contexts, reuse a Concept‑Set row—but only at a stated scope and only if its CL meets the threshold (τ). If it’s just a nicer wording, add an Alias (style only). Only in the rare case of a cross‑family, irreducible notion do you mint a new U.Type. Never let Naming‑only rows justify Assignment-eligibility or structural inference, and never let identical strings force equivalence. This is not process—it’s discipline of thought: reuse what exists, declare scope when you bridge, and mint new primitives only when the kernel truly needs them.”