Part A – Kernel Architecture Cluster

Preface node heading:part-a-kernel-architecture-cluster:765

Content

Onboarding Glossary (NQD & E/E‑LOG)

One‑screen purpose (manager‑first). This pattern gives newcomers a plain‑language starter kit for FPF’s generative engine so they can run a lawful problem‑solving / search loop on day one. It explains the few terms you must publish when you generate, select, and ship portfolios (not single “winners”), and points to the formal anchors you’ll use later. (OEE is a Pillar; NQD/E/E‑LOG are the engine parts.)

Builds on. E.2 (P‑10 Open‑Ended Evolution; P‑2 Didactic Primacy), A.5, C.17–C.19 - Coordinates with. E.7, E.8, E.10; F.17 (UTS); G.5, G.9–G.12 - Constrains. Any pattern/UTS row that describes a generator, selector, or portfolio.

Keywords & queries. novelty, quality‑diversity (NQD), explore/exploit (E/E‑LOG), portfolio (set), illumination map (report‑only telemetry), parity run, comparability, ReferencePlane, CL^plane, ParetoOnly default

1) Problem frame

Engineer‑managers meeting FPF for the first time need a plain, on‑ramp vocabulary for the framework’s generative engine so they can run an informed problem‑solving/search loop on day one—before formal specifications. Without that, Part G and Part F read as assurance/alignment only, and teams default to single “best” options. This undercuts P‑10 Open‑Ended Evolution and weakens adoption.

2) Problem

In current practice:

  • Single‑winner bias. Teams look for “the best” option and publish a leaderboard, suppressing coverage & diversity signals essential to search.
  • Metric confusion. “Novelty” and “quality” are used informally; units/scales are omitted; ordinal values are averaged, breaking comparability.
  • Hidden policies. Explore/exploit budgets and governor rules are implicit; results are irreproducible and refresh‑unsafe (no edition/policy pins).
  • Tool lock‑in. Implementation terms (pipelines, file formats) leak into the Core, violating Guard‑Rails.

FPF needs a short, normative glossary that names the generative primitives in Plain register and ties each to its formal anchor—so portfolios, not single scores, become the default publication.

3) Forces

ForceTension
Readability vs RigorOne‑liners for managers ↔ lawful definitions with editions and scale types.
Creativity vs AssuranceOpen‑ended search (OEE/QD) ↔ conformance, parity, and publication discipline.
Comparability vs LocalityShared N‑U‑C‑D terms ↔ context‑local CG‑frames and bridges with CL.
Tool‑agnostic CoreConceptual publication in UTS ↔ engineering teams’ urge to cite specific tools.

4) Solution — Normative onboarding glossary and publication hooks

4.1 Plain one‑liners (normative on‑ramp; formal anchors in C.17–C.19)

TermPlain definition (on‑ramp)See
Novelty (N)*How unlike the known set in your declared CharacteristicSpace. Compute lawfully (declared DescriptorMapRef + DistanceDefRef; no ad‑hoc normalisation).C.17, C.18
Use‑Value (U / ValueGain)*What it helps you achieve now under your CG‑Frame; tie to acceptance/tests; publish units, scale kind, polarity, ReferencePlane.C.17, C.18
Constraint‑Fit (C)Satisfies must‑constraints (Resource/Risk/Ethics); legality via CG‑Spec; unknowns propagate (never coerce to zero).C.18, G.4
Diversity_P (portfolio)*Adds a new niche to the portfolio; measured against the active archive/grid, not a single list; declare ReferencePlane for each head.C.17, C.18
E/E‑LOGNamed, versioned explore↔exploit policy; governs when to widen space vs refine candidates; policy‑id is published.C.19
ReferencePlaneWhere a value lives: world (system), concept (definition), episteme (about a claim). Plane‑crossings add CL^plane (penalties to R only); cite policy‑id.F.9, G.6
Scale Variables (S)The monotone knobs along which improvement is expected (e.g., parameterisation breadth, data exposure, iteration budget, resolution). Declare S for any generator/selector claimed to scale.C.18.1
Scale Elasticity (χ)Qualitative class of improvement when moving along S (e.g., rising, knee, flat in the declared window). Used as a selection lens; numeric laws live in domain contexts.C.18.1
BLP (Bitter‑Lesson Preference)Default policy that prefers general, scale‑amenable methods over domain‑specific heuristics, unless forbidden by deontics or overturned by a scale‑probe.C.19.1, C.24
Iso‑Scale ParityFair comparison across candidates at equalised scale budgets along S; may also include scale‑probes (two points) to test elasticity.G.9, C.18.1

(Registers & forbidden forms per LEX‑BUNDLE; avoid “axis/dimension/validity/process” for measurement and scope.)

4.2 Publication & telemetry duties (where these terms show up)

  1. UTS surface (Part F). When a UTS row describes a generator, selector, or portfolio, it MUST surface N, U, C, Diversity_P, E/E‑LOG policy‑id, ReferencePlane, with units/scale/polarity typed under MM‑CHR / CG‑Spec, and lawful references to DescriptorMapRef/DistanceDefRef. (Row schema: F.17; shipping via G.10.)
  2. Parity & edition pins (Part G). When QD/OEE is in scope, pin DescriptorMapRef.edition and DistanceDefRef.edition (and, where applicable, CharacteristicSpaceRef.edition, TransferRulesRef.edition) and record policy‑id + PathSliceId. Treat illumination/coverage as report‑only telemetry; publish an Illumination Map where G‑kit mandates parity artefacts. Declare S (Scale Variables) and run at least one scale‑probe (two points along S) when claiming scale‑amenability. Dominance policy defaults to ParetoOnly; including illumination in dominance MUST cite a CAL policy‑id.
  3. Tell‑Show‑Show (E.7/E.8). Any arhitectural pattern that claims generative behaviour MUST embed both a U.System and a U.Episteme illustration using this glossary (manager‑first didactics).

4.3 Minimal recipe (run this on day one)

  1. Declare CG‑Frame (what “quality” means; lawful units/scales) and ReferencePlane.
  2. Pick 2–4 Q components + a simple DescriptorMap (≥2 dims) for N/D; publish editions.
  3. Choose an E/E‑LOG policy (explore↔exploit budget); record policy‑id.
  4. Call the selector under G.5 with parity pins; return a set (Pareto/Archive), not a single score.
  5. Publish to UTS + PathIds/PathSliceId; Illumination Map is report‑only telemetry by default.

5) Archetypal Grounding

Informative; manager‑first (E.7/E.8 Tell‑Show‑Show).

Show‑A - SRE capacity plan (selector returns a set). Frame. We must raise service commitment headroom for Q4 without breaking latency SLOs. Portfolio. {cache‑expansion, read‑replicas, query‑shaping, circuit‑breaker tuning, schema‑denorm}. Glossary in action. U = latency@p95 & error‑rate, C = budget ≤ $X, risk ≤ R, N = dissimilarity to current playbook, Diversity_P = adds a previously empty niche in our archive (e.g., “shifts load to edge”). E/E‑LOG starts Explore‑heavy, flips Exploit‑heavy once ≥ K distinct niches are lit. (Publish UTS row + parity pins; illumination stays report‑only telemetry.)

Show‑B - Policy search with QD archive (MAP‑Elites‑class). Frame. Robotics team explores gaits that trade stability vs energy use. Glossary in action. CharacteristicSpace = {step‑frequency, lateral‑stability}, ArchiveConfig = CVT grid, N from descriptor distance, U = task reward, Diversity_P = coverage gain; PortfolioMode=Archive. Families include MAP‑Elites (2015), CMA‑ME/MAE (2020–), Differentiable QD/MEGA (2022–), QDax (2024); publish editions and policy‑ids; treat illumination as report‑only telemetry.

(Optional) Show‑C - OEE parity (POET/Enhanced‑POET). Co‑evolve {environment, method} portfolios; publish coverage/regret as telemetry metrics; pin TransferRulesRef.edition; return sets, not a single winner.

Show‑Epi - Evidence synthesis (U.Episteme). Frame. A living review compares rival causal identification methods (e.g., IV vs. DiD vs. RCT‑adjacent surrogates) across policy domains. Glossary in action. U = external‑validity gain @ F/G‑declared lanes, C = ethics & data‑licence constraints, N = dissimilarity in **ClaimGraph** transformations, D_P = coverage of identification niches in the archive. ReferencePlane = episteme. Illumination/coverage stays report‑only telemetry; selection returns a portfolio of methods per niche. (Publish UTS rows; cite Bridges + CL for cross‑domain reuse; edition‑pin Descriptor/Distance defs where QD applies.)

6) Bias‑Annotation

Scope. Trans‑disciplinary; glossary applies to both System and Episteme work. Known risks & mitigations. Over‑aggregation: forbid mixed‑scale sums; use CG‑frame and MM‑CHR. Terminology drift: enforce LEX‑BUNDLE registers; ban tool jargon in Core. Optimization monoculture: require portfolio publication where G‑kit mandates parity; illumination stays report‑only telemetry unless a CAL policy promotes it (policy‑id cited).

7) Conformance Checklist (SCR/RSCR stubs)

IDRequirementPurpose
CC‑A0‑1If a pattern/UTS row describes a generator, selector, or portfolio, it MUST surface N, U, C, Diversity_P, ReferencePlane, and E/E‑LOG policy‑id; units/scale/polarity MUST be declared.Makes generative claims comparable and auditable (UTS as publication surface).
CC‑A0‑2When QD/OEE is in scope, pin editions: DescriptorMapRef.edition, DistanceDefRef.edition (and, where applicable, CharacteristicSpaceRef.edition, TransferRulesRef.edition); log PathSliceId and policy‑ids.Enables lawful parity/refresh; edition‑aware telemetry.
CC‑A0‑3No mixed‑scale roll‑ups; ordinal data SHALL NOT be averaged; any roll‑up MUST live under a declared CG‑frame.Prevents illegal scoring; keeps comparisons lawful.
CC‑A0‑4Where the G‑kit requires parity, publish an Illumination Map (coverage per niche); single‑number leaderboards are non‑conformant on the Core surface when a ParityReport is required.Portfolio‑first publication; avoids single‑winner bias.
CC‑A0‑5Keep illumination/coverage as report‑only telemetry; dominance policy defaults to ParetoOnly; any change is CAL‑authorised and cited by policy‑id.Separates fit from exploration; preserves auditability.
CC‑A0‑6Apply E.7/E.8: include a U.System and a U.Episteme illustration when claiming generative behaviour; obey E.10 register hygiene; use the exact subsection title “Archetypal Grounding.”Locks didactic primacy; prevents jargon drift.
CC-A0-7ReferencePlane declared for every N/U/C/Diversity_P head and CL^plane penalties route to R only; Φ_plane policy-id published when planes differ.Prevents plane/stance category errors; aligns with Bridge/GateCrossing visibility guards (Bridge+UTS+CL/Φ_plane).
CC‑A0‑8Diversity_P ≠ Illumination. Diversity_P may enter dominance; Illumination remains report‑only telemetry unless explicitly promoted by CAL policy‑id.Matches QD triad semantics and parity defaults.
CC‑A0‑9If a generator/selector is claimed scale‑amenable, declare S (Scale Variables) and an E/E‑LOG scale policy‑id; otherwise mark S = N/A.Makes scale assumptions explicit and comparable across contexts.
CC‑A0‑10For scale‑amenable claims, execute a scale‑probe (≥ 2 points along S) and report a Scale Elasticity class (rising/knee/flat) in the UTS row.Forces early strategy‑relevant evidence without over‑specifying numerics.
CC‑A0‑11Apply Iso‑Scale Parity in parity runs when S is declared; where infeasible, state the loss notes and treat results as non‑parity with an explicit penalty in R.Keeps comparisons fair and auditable under scale constraints.
CC‑A0‑12BLP default. If a domain‑specific heuristic is selected over a general, scale‑amenable method, record a BLP‑waiver reason: deontic, scale‑probe overturn, or context‑specific.Prevents silent violations of the Bitter Lesson; improves selector transparency.

8) Consequences

Benefits.Immediate usability for engineer‑managers (plain one‑liners) with formal anchors for auditors. • Portfolio‑first culture (sets & illumination) instead of brittle leaderboards. • Edition‑aware comparability; parity/refresh is routine, not ad‑hoc.

Trade‑offs & mitigations. • Slightly longer UTS rows → mitigated by consistent schema and copy‑paste snippets. • Requires discipline on units/scales → mitigated by CG‑frame templates.

9) Rationale

This pattern instantiates P‑10 Open‑Ended Evolution by making generation‑selection‑publication operational at the on‑ramp: readers get just enough shared vocabulary to run search as standard practice. It aligns with Didactic Primacy (P‑2) and LEX‑BUNDLE (E.10) by keeping definitions plain‑first and scale‑lawful, and with Patterns Layering (P‑5) by pointing to C.17–C.19 for formal anchors without tool lock‑in. The post‑2015 line (MAP‑Elites → CMA‑ME/MAE → Differentiable QD/MEGA → QDax; POET/Enhanced‑POET/Darwinian Goedel Machine) normalised quality‑diversity and open‑endedness as first‑class search objectives; this glossary surfaces those ideas as publication standards, not tool recipes.

10) Relations

Builds on. E.2 Pillars (P-10, P-2, P-6), A.5 (Open-Ended Kernel), B.5/B.5.2.1 (Abductive loops + NQD integration), C.17–C.19 (Creativity-CHR, NQD-CAL, E/E-LOG).

Coordinates with. E.7/E.8 (Archetypal Grounding; Authoring template), E.10 (LEX‑BUNDLE), F.17 (UTS), G.5/G.9–G.12 (set‑returning selectors, iso‑scale parity, shipping & refresh). Constrains. Any generator/selector/portfolio publication on the Core surface: N‑U‑C‑Diversity_P + policy‑ids; S/Scale‑probe where applicable; parity pins; lawful scales; portfolio‑first where mandated. (Ties into UTS rows and parity artefacts.) Editor’s cross‑reference. For agentic orchestration of scalable tool‑calls under BLP/SLL, see C.24 (Agent‑Tools‑CAL).

Editor’s note (implementation hint)

This pattern is an on‑ramp: it does not replace C.17–C.19. It binds Plain definitions to publication/telemetry expectations so newcomers can use NQD/E/E‑LOG immediately while experts follow the formal trails.

A.0:End

Holonic Foundation: Entity → Holon

Type: Architectural (A)
Status: Stable
Normativity: Normative

“Name the thing without smuggling in its parts.”

Problem Frame

The first epistemic act in any discipline is to point: “that thing, not the background.” Physics calls the pointed object a system, biology an organism, information science an artifact, philosophy an entity. Reusing any one of these across domains drags hidden assumptions and yields nonsense like “What is the mass of a system of equations?” or “Where is the network interface of a moral theory?” FPF therefore starts from a minimal, domain‑agnostic root that makes such category errors impossible by construction and gives engineers and managers a clean, uniform handle for composition, boundaries and interfaces.

Problem

If FPF treats system as the universal root, two recurrent failure modes appear:

  1. Category Error — physical affordances get projected onto abstract artifacts (ports on theories; kilogram‑mass of paradigms).
  2. Mereological Over‑reach — part–whole calculus is applied to genuinely atomic entities (prime numbers, elementary charges), producing meaningless “sub‑parts.”

A robust kernel separates identity from structure: first say what can be singled out, then say what has parts.

Forces

ForceTension
Universality vs IntuitionPrecision of a new root term (Holon) ↔ practitioner expectation of familiar words (System, Theory).
Purity vs PragmatismClean formalism ↔ immediate usability for engineers, scientists, managers.
Structure vs IdentityNeed to talk about atoms with zero parts ↔ need full mereology for composites.

Solution — A three‑tier root (Entity ⊃ Holon ⊃ {System, Episteme})

FPF adopts a three‑tier root ontology refining Koestler’s “holon,” with crisp boundaries and safe composition.

U.Entity — Primitive of Distinction

Anything that can be individuated and referenced. No structural assumptions. Use when you need to name “a something” without committing to having parts.

Naming note (mint vs reuse). U.Entity and U.Holon are minted kernel terms: they reuse familiar words but intentionally diverge from domain‑specific ontologies and DDD “Entity”, so we can reason cross‑domain without importing hidden assumptions.

U.Holon — Unit of Composition

A U.Entity that is simultaneously (a) a whole composed of parts and (b) a part within a larger whole. Formally, U.Holon ⊑ U.Entity. Well‑formedness constraints:

  • WF‑A1‑1 (Single boundary). A holon has exactly one U.Boundary that separates it from its environment.
  • WF‑A1‑2 (Γ domain). The universal aggregation operator Γ is defined only on sets of U.Holon (never on bare U.Entity).
  • WF‑A1‑3 (Γ scope). A Γ‑application is scoped to a declared context and a single declared temporal scope (design or run); order/time are routed to Γ_ctx / Γ_time (B.1.4).

These constraints make composition rules uniform across domains and prevent Γ from being misapplied.

Interface primitives: U.Boundary & U.Interaction

Every holon is defined by how it is separated and what crosses the separation.

  • U.Boundary — physical or conceptual surface delimiting the holon’s scope.
  • U.Interaction — any flow of matter, energy, or information that crosses a boundary. Canonical boundary kinds (with twin archetypes):
KindPermitted exchangesU.System archetypeU.Episteme archetype
OpenMatter, energy, informationMicroservice exposing a public APIPublic wiki editable by anyone
ClosedEnergy, information (no matter)Sealed cooling loop in a serverVersion‑locked theory accepting new evidence but fixed axioms
PermeableUser‑filtered subsetCell membrane regulating ionsLegal code allowing specific amendment classes only

This pair (Boundary, Interaction) makes interfaces explicit, reviewable, and testable across domains.

Inside/Outside decision procedure

To decide whether an entity E is inside a holon H, apply:

  1. Dependency test: removing E breaks a core invariant of H.
  2. Interaction test: E participates in causal loops wholly within H’s boundary.
  3. Emergence test: E contributes to a novel collective property warranting H as a single unit. Fail all three → E is outside. This practical triage prevents “scope creep” and forces explicit modeling of environment vs interior.

Collections vs collectives. A set/collection of holons is not itself an acting unit. If a grouping is expected to act, model it as a U.System holon with its own boundary and attach roles/methods/work to that system (see CC‑A1.6; details in A.2 and A.15).

Archetypal sub‑holons

FPF fixes two archetypal specializations to ground cross‑domain universality:

SubtypeEssenceHome pattern
U.System ⊑ U.HolonPhysical, operational holon obeying conservation laws.Sys‑CAL
U.Episteme ⊑ U.HolonKnowledge holon (axioms, evidence, argument graph).KD‑CAL

Agency rule. Behavioural roles and executed methods/work attach to U.System holons only; U.Episteme is passive content. Any change to an episteme is performed by an external system acting across a boundary (cf. CC‑A1.5 and A.2/A.15).

Naming guideline: keep “System” and “Episteme” for practitioner comfort; reserve Holon for meta‑level discourse and formal signatures.

Archetypal Grounding (System / Episteme)

Holonic slotU.System — Water‑pumpU.Episteme — Scientific theory
IdentityPump #37 stamped on the name‑plate“Newtonian Gravitation”, 1726 edition
BoundaryCast‑iron casing; inlet/outlet flangesAxiomatic scope and vocabulary
PartsMotor, impeller, seals, housingAxioms, definitions, theorems, datasets
WholeOperable assembly that moves fluidCoherent body of knowledge predicting phenomena

Showing the same structural slots filled by a machine and a theory demonstrates the substrate‑independent universality of U.Holon. This is the didactic “Tell–Show–Show” anchor required by the Style‑Guide for architectural patterns.

Bias-Annotation — Boundary-first modelling risks

This kernel distinction is intentionally boundary‑first: it treats “where the boundary is” as a modelling decision that shapes everything downstream. That framing is powerful, but it can also smuggle bias if boundary choices are made implicitly or for political convenience.

LensTypical bias riskMitigation in this pattern
GovBoundary decisions become “org charts”, not defensible model choices.Record boundary rationale in the working model and require the Inside/Outside test (A.1:4.4) for contested cases.
ArchOver‑modularisation: every interaction becomes a “system” with hard edges.Prefer permeable boundaries when the phenomenon is gradient‑like; keep the U.Entity/U.Holon split minimal and push dynamics into Roles (A.2) and Work (A.15).
Onto/EpistCategory error: treating knowledge artifacts as physical actors (or vice‑versa).Keep U.Episteme passive; model transformations as actions of a U.System in role, acting via explicit carriers (see A.10).
Prag“Holon” becomes jargon that slows teams down.Use U.System / U.Episteme in day‑to‑day models; reserve “holon” for kernel‑level discourse (see naming guidance in A.1:4.5 and CC‑A1.8).
DidacticReaders infer semantics from overloaded labels or inconsistent headings.Keep canonical titles and the U.* prefixes explicit; avoid informal deontic language in normative clauses (E.8).

Conformance Checklist (normative)

IDRequirementPurpose / Notes
CC‑A1.1Any modelled object that exhibits a part–whole structure MUST be typed as U.Holon or its subtype.Prevents applying Γ to atomic entities; makes aggregation well‑typed.
CC‑A1.2Each U.Holon MUST reference exactly one U.Boundary and declare its boundary kind (open / closed / permeable).Enables boundary inheritance and environmental Standards; aligns with the canonical boundary kinds introduced in A.1.
CC‑A1.3Domain patterns MUST explicitly subtype their root concept (U.System, U.Episteme, …) from U.Holon.Ensures cross‑domain compatibility of aggregation and emergence patterns.
CC‑A1.4Inside/Outside decisions for any candidate part SHALL be justified by the three‑step test (Dependency → Interaction → Emergence) and recorded with the boundary reference.Makes holon membership auditable and repeatable; uses A.1’s decision procedure.
CC‑A1.5Behavioural roles (including TransformerRole) SHALL attach only to U.System (the bearer), not to U.Holon in general and not to U.Episteme.Preserves Strict Distinction and prevents category errors; episteme roles are classificatory only.
CC‑A1.6Do not model acting groups as sets. If a grouping is expected to act, it SHALL be modelled as a collective system (with boundary, role, Method/Work).Distinguishes MemberOf (collection) from mereology; prepares for A.14 Portions/Phases.
CC‑A1.7The universal aggregation operator Γ SHALL be applied only to sets of U.Holon within a single declared temporal scope (design or run) and context.Prevents “chimera” graphs; routes order/time to Γ_ctx / Γ_time (B.1.4).
CC‑A1.8Prose and diagrams SHALL follow the naming guideline: use Holon for meta‑level discourse; prefer System / Episteme in practitioner‑level statements.Reduces jargon friction; keeps signatures precise and text readable.

Audit tip. CC‑A1.5 is frequently violated when authors write “holon bearing TransformerRole”. Rewrite to “system bearing TransformerRole” or provide the explicit U.RoleAssignment. See A.2/A.15 for role mechanics.

Common Anti‑Patterns and How to Avoid Them — Manager’s quick checks

  1. “Ports on a theory.” Treating a proof corpus as if it had physical connectors. Fix: model U.Interaction only across boundaries; for epistemes, interactions are symbolic flows via carriers and citations (see A.10), not power or mass.
  2. “Document edited itself.” Assigning actions to an episteme. Fix: actions are executed by a system bearing a role (A.12/A.15); epistemes are transformed via external transformers acting on their symbol carriers.
  3. “Parts everywhere.” Forcing a part–whole onto atomic entities (e.g., prime numbers). Fix: if no meaningful parts exist, stay at U.Entity; apply Γ only to U.Holon.
  4. “Scope ≡ section.” Using “scope” as a text region rather than a modeled boundary. Fix: define a U.Boundary and state what crosses it (U.Interaction).

When in doubt: first decide what is a holon, then state its boundary, then list what crosses. Roles and methods come after (see A.2 and A.15).

Consequences (informative)

BenefitsTrade‑offs / Mitigations
Eliminates category errors across physical and abstract realms by cleanly separating identity (Entity), structure (Holon), and behaviour (Role/Method/Work).Introduces the unfamiliar term Holon; mitigated by Tell‑Show‑Show pedagogy and dual archetypal examples (System/Episteme).
Unifies aggregation: a single algebra Γ composes pumps, proofs, genomes, and teams under one roof.Requires refactoring legacy “System‑only” language; addressed by A.2/A.3 role calculus and the Γ‑family in B.1.
Predictable extension point: CAL/LOG/CHR patterns add constraints without touching the core types.Imposes discipline on boundary declarations; mitigated by boundary kinds and the Inside/Outside test.

Rationale — Cross‑domain corroboration (post‑2015, informative)

The separation Entity → Holon → {System, Episteme} is not only ontologically clean; it is empirically validated across domains since 2015:

  • Compositional open systems. Category‑theoretic treatments show that boundaried components compose safely (decorated cospans, open systems). This mirrors Γ’s reliance on declared boundaries. (Fong & Spivak, 2019; Baez & Courser, 2017)
  • Microservices & bounded contexts. Modern software architecture stresses strong service boundaries and local reasoning as the route to evolvability—our U.Boundary and Inside/Outside test encode the same discipline. (Newman, 2021; Vernon, 2022)
  • FAIR & provenance. Data/knowledge communities require explicit distinction between content and carrier, and auditable provenance—precisely the System/Episteme + SCR split used in A.1/A.10. (Wilkinson et al., 2016; Boeckhout et al., 2018)
  • Digital Twin / Thread. Engineering practice since late‑2010s emphasises the run↔design seam and boundary‑consistent aggregation of subsystems—formalised in our Γ‑family and boundary inheritance rules. (Grieves & Vickers, 2017; NIST DT/Thread reports 2019‑2021)
  • Layered control of CPS. Standard‑based, multi‑rate architectures justify explicit holon boundaries and scale transitions—feeding directly into B.2 Meta‑Holon Transition. (Matni et al., 2024)

These streams converge on one point: make boundaries and composition first‑class and separate what a thing is from what it is doing here‑and‑now—the heart of A.1/A.2.

SoTA-Echoing (post‑2015, informative)

This solution echoes several modern (post‑2015) research and engineering streams. We adopt their boundary‑and‑composition insights, but reject any requirement to commit to a single formalism (per Notational Independence).

StreamRepresentative sourcesAdopt / Adapt / RejectWhat we take (and what we diverge from)
Compositional open systemsBaez & Courser (2017); Fong & Spivak (2019)AdaptTake the idea that composition should be explicit and typed; diverge by keeping the Core notation‑independent (no category‑theory prerequisite).
Software boundaries and bounded contextsNewman (2021); Vernon (2022)AdoptTake boundary‑scoped meaning and ownership as the default; diverge by lifting “bounded context” to a kernel boundary concept rather than a software‑only practice.
FAIR / provenance for epistemic artifactsWilkinson et al. (2016); Boeckhout et al. (2018)AdoptTake provenance and carrier/content separation; diverge by modelling knowledge artifacts as U.Episteme (passive) rather than agents.
Digital twin / digital threadGrieves & Vickers (2017); NIST DT/Thread (2019–2021)AdaptTake the run↔design seam; diverge by requiring a boundary kind at the holon level.
Systems/control criteria for emergenceMatni et al. (2024)AdoptTake emergence as a criterion for systemhood; diverge by requiring explicit boundary declarations even when “obvious”.

Relations

  • Builds / Grounds:

    • A.2 Role Taxonomy — A.1 provides the substantial characteristic (Holon), A.2 introduces the functional characteristic (Role and U.RoleAssignment). Together they prevent role/type explosion and keep agency contextual.
    • A.7 Strict Distinction (Clarity Lattice) — A.1 supplies the slots (Entity/Holon/System/Episteme); A.7 guards their separation in prose and models, stopping Object ≠ Description ≠ Carrier conflations.
    • A.14 Advanced Mereology: Portions & Phases — A.1’s holon substrate is the target of A.14’s edge discipline (ComponentOf, ConstituentOf, PortionOf, PhaseOf); only mereological subtypes build holarchies.
  • Interacts with the Γ‑family (B‑cluster):

    • B.1 Universal Algebra of Aggregation — Γ is defined on holons and respects CC‑A1.*; Γ_ctx/Γ_time carry order and temporal composition, Γ_work handles resource ledgers.
    • B.2 Meta‑Holon Transition (MHT) — uses A.1’s boundary and Inside/Outside rules to decide when aggregation yields a new whole with novel properties.
    • B.3 Trust & Assurance Calculus — evidence attaches to carriers (SCR/RSCR) of epistemes; assurance levels depend on A.1/A.10 alignment.
    • B.4 Canonical Evolution Loop — operationalises the design↔run seam at holon boundaries; observation itself is an external transformation across a boundary.
  • Specialised by patterns: U.System (Sys‑CAL) and U.Episteme (KD‑CAL) are archetypal sub‑holons that supply domain‑specific invariants while inheriting A.1’s boundary and aggregation duties.

Without the holon, parts drift; without the role, purpose evaporates. (Carry this epigraph with A.1 to cue the A.2 hand‑off.)

A.1:End

U.BoundedContext: The Semantic Frame

Type: Architectural (A)
Status: Stable
Normativity: Normative

Make meaning local; make translation explicit.

Problem Frame

Large systems of thought (and large engineered systems) break down when meaning is treated as globally uniform. The same label (e.g., “role”, “service”, “ticket”, “evidence”) routinely carries incompatible senses across teams, disciplines, standards editions, and historical eras.

FPF needs a first-class mechanism that answers a simple question with precision: “In which semantic frame does this term, rule, or role-claim hold?”

The U.BoundedContext is that mechanism. It makes “it depends” explicit and governable by naming what it depends on.

Problem

Absent an explicit, first-class semantic frame:

  1. Ambiguity becomes structural debt. Integrations silently overwrite meanings (“process” becomes “procedure”; “role” becomes “permission”), and the resulting model cannot be audited.
  2. Pluralism looks like contradiction. Two valid perspectives appear mutually exclusive because the frame of reference is implicit (e.g., Pluto as PlanetRole vs DwarfPlanetRole).
  3. Roles lose semantic footing. A U.Role without a declared frame degenerates into a global label, violating the kernel’s insistence that roles are contextual masks (A.2, A.2.1).
  4. Local rules leak globally. Team- or theory-specific invariants are mistaken for universal laws, producing incoherent cross-domain reasoning.

Forces

ForceTension
Local coherenceA context must be internally unambiguous ↔ real work crosses boundaries and needs translation.
PluralismMultiple valid frames must coexist ↔ readers demand apparent “one truth”.
Governance costExplicit boundaries and rules improve reliability ↔ too many contexts create overhead and fragmentation.
EvolvabilityContexts must change over time ↔ change must remain traceable and non-destructive to prior meaning.
FamiliarityPractitioners use domain-native vocabulary ↔ the kernel must stay universal and type-stable.
Domain-family conveniencePeople want “the domain” as a handle ↔ FPF requires specific, named semantic frames.

Prophylactic clarification — Domain family vs U.BoundedContext

To prevent a common category error, Domain (as used colloquially) and U.BoundedContext are not synonyms in FPF, and “Domain” is not a kernel type. Per E.10.D1 (D.CTX), Domain is an informative family label grouping multiple contexts; there is no “domain context”.

CharacteristicDomain family (informative) (e.g., Healthcare, Physics, Workflow)U.BoundedContext (e.g., Hospital.OR_2025, Theory:QuantumMechanics, BPMN_2_0)
NatureAn external field of practice/knowledge; a catalog handle.An internal FPF holon: a named semantic frame with local vocabulary and local invariants.
Role in FPFGroups contexts for survey, coverage, and stewardship discussions.Localizes meaning and rules; provides a semantic firewall where words and obligations are coherent.
RelationshipOne family hosts many legitimate perspectives/editions.One context hosts one such perspective with explicit Glossary, Invariants, Roles, and optional Bridges.

Well-formedness constraint (didactic): In any U.RoleAssignment, context is total and points to exactly one U.BoundedContext (cardinality 1..1). Think “specific room” (e.g., Hospital.OR_2025), not “the whole building” (e.g., “Healthcare”).

Manager’s one-liner: A Domain family is the territory label; a Bounded Context is a purpose-made map of one perspective on that territory.

Solution

FPF elevates semantic framing to a kernel primitive by introducing U.BoundedContext as a first-class holon of meaning. Inspired by Domain-Driven Design (DDD) but generalized beyond software, a bounded context is not a mere namespace: it is a governable model locale with explicit vocabulary, rules, and role taxonomy.

Term & Definition

  • Term: U.BoundedContext
  • Definition: A U.BoundedContext is a U.Holon that serves as an explicit semantic frame of reference. It declares a boundary within which a specific vocabulary, role taxonomy, and invariant set are coherent and authoritative. It is FPF’s kernel mechanism for localizing meaning and managing complexity by partitioning a larger conceptual space into smaller, coherent, independently governable semantic locales (Contexts).

Mint vs reuse (informative): The label "Bounded Context" is reused from DDD; U.BoundedContext is the FPF-defined kernel type (generalized beyond software). Cross-context sameness is never inferred from spelling; cross-context alignment is represented only via explicit Bridge artifacts (F.9; E.10.U9; see CC-A1.1.5).

Core components (normative shape)

A U.BoundedContext is a composite holon whose parts constitute the context’s local “constitution”:

  • Glossary (Local Lexicon): A set of U.Lexeme entries (Lang-CHR) defining the local vocabulary and its intended senses. This is where a context can state: “Inside here, ticket denotes U.WorkItem, not U.TravelPermit.”
  • Invariants (Local Rules): A set of U.ConstraintRules (Norm-CAL) that must hold for artifacts and processes operating in this context. These rules define the context’s local “physics”.
    • Example (role compatibility): “Within this context, a holder cannot simultaneously play AuditorRole and DeveloperRole.”
    • Example (state transition): “A U.WorkItem can transition from InProgress to InReview, never directly to Done.”
  • Roles (Local Taxonomy): A partial order of U.Roles that are defined and valid only within this context. It specifies the “masks” available on this stage (A.2).
  • Bridges (Optional alignments): A set of explicit cross-context relations (U.Alignment, formalized in F.9 / E.10.U9) describing how meaning translates when information crosses context boundaries, including loss/fit notes.
    • Example (alignment):AgileDevelopment:UserStory is congruent (CL=1) to FormalEngineering:Requirement under the stated loss policy.”

Context interactions with other kernel objects (normative)

  • As a U.Holon: A U.BoundedContext has a defined U.Boundary and internal parts (Glossary, Invariants, …). However, contexts do not form holarchies with each other: per E.10.D1 (D.CTX), contexts have no is‑a or containment relations; cross-context relationships are expressed only via explicit Bridges.
  • As the semantic frame for U.RoleAssignment: The context field of U.RoleAssignment identifies the unique semantic frame in which the holder-role assignment is interpreted (A.2.1).
  • As the scope carrier for rules and objectives: U.Objectives and U.ConstraintRules are typically authored and evaluated relative to a specific context’s invariants.
  • As a change target: Context evolution (new invariants, revised glosses, deprecated roles) is modeled as a U.Transformer acting on the U.BoundedContext holon itself. Where time is merely stance (design/run), treat it as a TimeScope tag, not a new context (C‑7; D.CTX).

If meaning is local by design, then translation must be explicit by design.

Admissibility constraints (concept-level; non-deontic).

  • BC‑1 (Holon nature). A U.BoundedContext is a U.Holon and declares a U.Boundary.
  • BC‑2 (Flat context map). No U.BoundedContext is modeled as inheriting from, containing, or being contained by another U.BoundedContext; cross-context relations are represented only via explicit Bridges (E.10.D1 / E.10.U9).
  • BC‑3 (Role localization). Every U.Role is defined in the Roles taxonomy of at least one U.BoundedContext; a "global role" is not a valid kernel object.
  • BC‑4 (Invariant scope). Any invariant authored in a Context applies only to holons and processes operating within that Context; cross-context reuse is mediated by Bridges and re‑stated locally.
  • BC‑5 (Bridge explicitness). Any interaction or semantic alignment between two Contexts is represented by an explicit Bridge artifact.
  • BC-6 (RoleAssignment context field). A U.RoleAssignment references exactly one U.BoundedContext in its context field (cardinality 1..1).
  • BC‑7 (Domain is metadata). "Domain" denotes only an informative family label grouping multiple contexts; it is not a kernel type and does not substitute for U.BoundedContext (E.10.D1).

Archetypal Grounding

The concept of a U.BoundedContext is universal and applies to both physical/operational domains and purely abstract/epistemic ones. Understanding these two archetypes clarifies its role as a fundamental FPF primitive.

ArchetypeStewarding communityU.BoundedContext ExampleCore Components Illustrated
U.System ArchetypeA modern software engineering teamAgileProject:PhoenixGlossary: Defines "Story Point," "Sprint," "Velocity."
Invariants: "Daily stand-up must not exceed 15 minutes." "A Story cannot move to 'Done' without a linked Test Case."
Roles: ProductOwnerRole, ScrumMasterRole, DeveloperRole.
Bridges: Maps Velocity metric to the FinanceDept context's CostCenter:BudgetBurnRate.
U.Episteme ArchetypeA scientific communityTheory:SpecialRelativityGlossary: Defines "Inertial Frame," "Lorentz Transformation," "Proper Time."
Invariants: "The speed of light in a vacuum is constant for all observers." "The laws of physics are the same in all inertial frames."
Roles: Postulate#AxiomaticCoreRole, Experiment#EvidenceRole.
Bridges: Maps its concept of "Spacetime" to the GeneralRelativity context's more complex concept of "Curved Spacetime."

Key takeaway from grounding: This illustrates that a U.BoundedContext is not an abstract container but a holon with tangible content. For the engineering team, it's their project's "operating system." For the scientific theory, it's the "intellectual constitution." In both cases, the context defines what is true, what is possible, and what words mean locally.

Bias-Annotation

This pattern is intentionally universal, but it can be misread through narrower lenses:

  • Software-centrism bias: Readers may assume “bounded context” only applies to microservices/teams. Mitigation: the Episteme archetype is first-class; contexts apply equally to theories, standards, and scientific practices.
  • Boundary reification bias: Authors may treat boundaries as “natural facts” rather than modelling choices. Mitigation: boundaries are declared for governance and clarity, and cross-context relations are handled via Bridges with explicit loss/fit.
  • English-label bias: Examples often use English surface terms, which can hide multilingual drift. Mitigation: language/edition discipline in D.CTX governs when to split/merge contexts; multilingual labels are metadata when semantics are truly bound.

Conformance Checklist

To ensure U.BoundedContext is used consistently and rigorously, the following normative checks apply.

IDRequirement (Normative Predicate)Purpose / Rationale
CC-A1.1.1 (Holon Nature)A U.BoundedContext MUST be modeled as a U.Holon with a defined U.Boundary.Reinforces that contexts are well-defined entities, not vague groupings. Enables reasoning about contexts themselves as systems.
CC-A1.1.2 (Flat Context Map)A U.BoundedContext MUST NOT be modeled as inheriting from, containing, or being contained by another U.BoundedContext. Cross-context relations MUST be expressed only via explicit Bridges (E.10.D1 / E.10.U9).Prevents semantic leakage and hidden globalism; keeps cross-context translation auditable and loss-aware.
CC-A1.1.3 (Role Localization)Every U.Role MUST be defined within the Roles taxonomy of at least one U.BoundedContext. A "global role" is forbidden.Ensures roles are never context-free; meaning remains local and checkable.
CC-A1.1.4 (Invariant Scope)An invariant defined within a context MUST only apply to holons and processes operating within that context.Prevents local rules from leaking into global reasoning; preserves modularity.
CC-A1.1.5 (Bridge Explicitness)Any interaction or alignment between two U.BoundedContexts MUST be modeled as an explicit Bridge artifact.Forbids implicit cross-context equivalences; makes dependencies visible and auditable.
CC-A1.1.6 (RoleAssignment Context Binding)Every U.RoleAssignment MUST reference exactly one U.BoundedContext in its context field (cardinality 1..1).Guarantees that each assignment is interpreted in one authoritative frame of meaning.
CC-A1.1.7 (Domain family is informative)“Domain context” MUST NOT appear in normative prose; Domain labels MAY appear only as informative family metadata that groups multiple contexts (E.10.D1).Prevents the domain/context conflation that breaks locality and auditability.

Common Anti-Patterns and How to Avoid Them

These failure modes recur when applying U.BoundedContext in real programs and knowledge work.

Anti-patternSymptomWhy it fails (force violated)How to avoid / repair
Domain-as-Context“Healthcare” or “Physics” is used where a specific context is required.Violates Domain-family convenience vs precision; meaning stays ambiguous.Use a specific context id (edition- and source-scoped), and keep the domain label as informative family metadata only.
Implicit equivalence across contextsThe same string in two contexts is treated as “obviously the same”.Violates local coherence; creates silent semantic overwrites.Publish an explicit Bridge with relation kind and loss/fit note (F.9 / E.10.U9).
Context hierarchy / nestingAuthors model “sub-contexts” as containment or is‑a between contexts.Violates the flat context map discipline; leaks rules by inheritance.Remove context-to-context containment; express relationships via Bridges only (E.10.D1).
Time-as-Context“Design context” and “Runtime context” are created as separate contexts.Violates evolvability and clarity; multiplies frames incorrectly.Use TimeScope tags (design/run) on artifacts and sources; keep the semantic frame fixed (C‑7; D.CTX).
Glossary-only contextA context is defined by vocabulary but has no invariants or role taxonomy.Violates governance intent; “local truth” remains implicit.Add at least one invariant and a minimal local role taxonomy, even if initially coarse.

Consequences

BenefitsTrade-offs / Mitigations
Enables True Modularity: By encapsulating models, FPF can support large, complex systems where different teams can work on their own bounded contexts in parallel with minimal interference.Modeling Overhead: Requires architects to explicitly think about and define the boundaries of their models, which can feel like extra work initially. Mitigation: This upfront effort is a strategic investment that prevents the much higher cost of integration chaos and semantic ambiguity later in the project.
Resolves Ambiguity and Paradox: Provides a formal mechanism to manage synonyms, homonyms, and conflicting models (like the Pluto example). It transforms "it depends" into a precise, queryable structure.Bridge Maintenance: As contexts evolve, the bridges between them must be maintained. Mitigation: FPF tooling should support "link integrity" checks to automatically flag broken or outdated bridges.
Makes Rules Explicit: The Invariants component of a context makes the local rules and invariants for a project or theory explicit, documented, and auditable.-
Foundation for Scalable Autonomy: In multi-agent systems, each agent can operate within its own bounded context, communicating with others through well-defined bridges. This is a prerequisite for building robust, decentralized systems.-

Rationale

Lineage and fit with Domain‑Driven Design (DDD).
FPF generalizes the proven DDD idea of a Bounded Context from software into a universal modeling primitive:

DDD conceptFPF counterpartGeneralization in FPF
Bounded ContextU.BoundedContext (a holon)Used for systems and knowledge; first‑class object with explicit Glossary, Invariants, local Roles, Bridges.
Ubiquitous LanguageGlossary of the contextThe shared vocabulary is an explicit component, not just narrative.
Context MapBridges/Alignment between contextsCross‑context relations are modeled explicitly rather than assumed globally.

Why this matters here.
U.BoundedContext gives U.RoleAssignment (A.2.1) its footing: role meanings are local by design, conflicts are checked inside the same context, and differences across contexts are handled by explicit Bridges instead of “global truth.”

The introduction of U.BoundedContext as a first-class holon is a direct implementation of several core FPF principles and is strongly supported by contemporary practice.

  • Philosophical Grounding: The idea that meaning is always local and context-dependent is a cornerstone of late 20th-century philosophy of language (e.g., Wittgenstein's "language-games"). FPF operationalizes this insight.
  • Domain-Driven Design (DDD): The concept is a direct borrowing and generalization from Eric Evans' seminal work on DDD, where the Bounded Context is the central strategic pattern for managing complexity in large-scale software. Its success over the past two decades in the software industry provides powerful empirical validation for its utility. FPF elevates it from a software design pattern to a universal ontological primitive.
  • Architectural Necessity: For FPF to fulfill its promise of being an "operating system for thought," it needs a mechanism analogous to an OS's "process separation." A U.BoundedContext is precisely that: a protected "memory space" for a model, preventing different models from corrupting each other.
  • Enabler for Key Patterns: The Contextual Role Assignment pattern (A.2.1) would be incoherent without a formal definition of "Context." This pattern provides that necessary foundation, making the entire role-based architecture sound.

In essence, U.BoundedContext is the architectural pattern that allows FPF to be both universal in its core principles and specific and pluralistic in its applications. It is the mechanism that tames complexity and makes large-scale, multi-paradigm modeling possible.

SoTA-Echoing (post-2015 practice alignment)

The U.BoundedContext concept aligns strongly with contemporary (post‑2015) practice in software architecture, socio-technical design, and knowledge/provenance disciplines. Where FPF differs, it does so to preserve kernel universality, explicit loss-aware translation, and auditability.

Claim (A.1.1 need)SoTA practice (post‑2015)Primary source (post‑2015)Alignment with A.1.1Adoption status
Meaning boundaries must be explicit to scale development.Modern microservice architecture stresses clear service boundaries and local reasoning to keep systems evolvable.Newman (2021), Building Microservices (2nd ed.).A.1.1 adopts the boundary-first stance but generalizes it from “service boundaries” to a universal semantic holon with explicit local invariants and roles.Adopt/Adapt. Adopt boundary discipline; adapt by making the semantic frame a first-class kernel object, not only a team convention.
Organizational boundaries and cognitive load shape semantic boundaries.Socio-technical architecture practice encourages team-aligned boundaries and explicit interaction modes to prevent cognitive overload.Skelton & Pais (2019), Team Topologies.A.1.1 aligns by treating a context as governable by a stewarding community, but requires explicit Bridges when knowledge crosses boundaries (rather than relying on tacit coordination).Adopt. Directly supports local autonomy; tighten with explicit cross-context translation artifacts.
Cross-domain data integration needs explicit contracts, not implicit “one truth”.Data Mesh emphasizes domain-oriented data products and explicit interoperability contracts across domains.Dehghani (2022), Data Mesh (book form of the 2019–2021 program).A.1.1 matches the “data product boundary” move, but insists that interoperability is expressed as explicit Bridges with loss/fit notes, preserving pluralism instead of collapsing it.Adapt. Adopt the decentralization intuition; adapt by requiring explicit semantic alignment artifacts rather than assuming shared enterprise semantics.
Knowledge and artifacts must carry machine-actionable semantics and provenance.FAIR and modern research-object packaging push for explicit metadata, provenance, and reuse conditions.Wilkinson et al. (2016), FAIR Principles; RO‑Crate community specs (2019→).A.1.1 supports this by making local meaning explicit (Glossary + Invariants) and making cross-context translation explicit (Bridges), enabling auditable reuse without pretending to globalize semantics.Adopt/Adapt. Adopt provenance and reuse intent; adapt by separating semantic frame (Context) from carriers and by making loss explicit on crossings.

Relations

  • Constitutes: The foundational "semantic space" for patterns like A.2 Role Taxonomy and A.13 The Agential Role.
  • Builds on: A.1 Holonic Foundation, as a U.BoundedContext is itself a U.Holon.
  • Constrained by: E.10.D1 D.CTX, which fixes the lexical discipline for “Context”, forbids context hierarchies, and makes Domain family informative.
  • Interacts with:
    • Norm-CAL: A context's Invariants are typically expressed as U.ConstraintRules.
    • Lang-CHR: A context's Glossary is a collection of U.Lexemes.
    • Decsn-CAL: Decisions and objectives are often scoped to a specific context.
    • F.9 Alignment & Bridge: the canonical locus of cross-context relations and loss policies.
  • Enables: The resolution of conflicts as modeled in D.3 Holonic Conflict Topology, by showing that many conflicts are context-dependent.

A.1.1:End

Role Taxonomy

Type: Architectural (A) Status: Stable Normativity: Normative

A holon’s essence tells us what it is; its roles tell us what it is being, here and now.

Problem frame

Pattern A.1 established the substantial characteristic of the core (Entity → Holon → {System, Episteme, …}), cleanly separating identity from structure and aggregation. The present pattern introduces the functional characteristic: how a holon participates in purposes within a bounded context and for some interval. This extends the early sketch of A.2 and tightens its alignment with A.7 (Strict Distinction): roles are not parts and not behaviours; they are contextual masks that a holon wears while behaviours are handled by Method/Work.

Problem

Without an explicit role calculus:

  1. Type explosion & conflation. Each new purpose breeds a new “subtype” (PumpAsCoolingLoop, PumpAsFuelLoop, …), violating parsimony and fusing substance with function.
  2. Agency opacity. It becomes unclear whether any system may act as a transformer/agent, or only pre-declared special kinds.
  3. Epistemic blindness. Knowledge artefacts (papers, proofs) cannot be given roles, blocking modelling of citation, evidence, or design-time justification.

Forces

ForceTension
Identity vs FunctionA holon’s make‑up ↔ its transient, contextual purpose.
Static vs Dynamic classificationFixed type lattice ↔ late‑binding of new roles.
Universality vs FamiliarityOne mechanism for pumps and papers ↔ domain‑specific role names.
Simplicity vs ExpressivenessMinimal primitives ↔ multi‑role, multi‑holder scenarios.

Solution

We elevate Role to a first‑class semantic construct: a context‑bound mask (capability/obligation schema) worn by a holon. Behaviour and resource deltas live in Method/Work, not in the role itself.

S‑level definitions (normative)

  • U.Role — a context-bound capability/obligation schema that a holon may bear (play) for a time interval. A role has no structural parts (it does not participate in A.14 partOf) and no resource deltas of its own. Role refinement/bundling is expressed via in‑Context relations (, , ) rather than mereology. (A7 guard)
  • U.RoleAssignment — a first-class assignment record recording that a holon bears (plays) a role in a bounded context over an optional Window. Keep the signature aligned with A.2.1 Role Assignment Standard; governance metadata (authority/justification/provenance) is captured via U.RoleAssigning and the evidence graph (A.10).
U.RoleAssignment {
  holder        : U.Holon,
  role          : U.Role,
  context       : U.BoundedContext,
  window? : U.Window
  justification?: U.Episteme,  // why (standard, SOP, evidence)
  provenance?   : U.Method     // how assignment/verification was done (NOT the role's bound method set)
}

Short form (readable): Holder#Role:Context@Window.

Why a first-class assignment record? It keeps identity (holon), function (role), context (semantics), and time (run-window) separate yet linked, preventing the substance/function conflation identified above. The early playsRoleOf(Holon, Role, span) relation in the draft is subsumed by U.RoleAssignment and extended with Context (and optional governance fields).

Temporal & behavioural alignment

  • Method (intension) vs Work (occurrence). A U.Method is a design‑time, order‑sensitive capability: what can be enacted, under which preconditions/invariants, with what admissibility/acceptance gates. A U.Work is the dated, spatiotemporally bounded enactment of such behaviour by a system bearing a role (A.15.1).
  • MethodDescription is representation (viewpoint), not “the method itself”. U.MethodDescription is an U.Episteme that represents a method under an explicit viewpoint. Step‑graphs/scripts/workflows are one common viewpoint, but not universal. Other valid viewpoints include state‑machines, dynamical/solver/controller models, lab protocols, and quantum circuits/channels. A method itself need not admit a step decomposition; only a given description might.
  • Executable chain (who / what / how / when). A behavioural Role is eligible/authorized for one or more Methods (design‑time, Context‑local). A Work is isExecutionOf a specific MethodDescription version (run‑time) and cites performedBy = U.RoleAssignment. Together, these anchors answer “what happened, by which method, under which role” without collapsing design‑time into run‑time.
  • Resource accounting lives in Work. Only U.Work carries resource deltas (feeds Γ_work); Roles/Methods/MethodDescriptions do not.

Lexical note (A.6.P trigger). In the Role–Method–Work cluster, bindsMethod is a technical token meaning “Context‑local eligibility/authorization of a Role for a Method”. Do not use plain “bind/rebind” as umbrella prose for editing relationships; when describing edits, prefer explicit change classes (declare/withdraw/retarget/revise/rescope/retime/refreshWitnesses).

Admissibility constraints (concept-level; non-deontic).

  1. Locality. role ∈ Roles(context). Outside its context, a role’s meaning is undefined.
  2. Structural‑mereology firewall. No Role (nor Method/MethodDescription) may appear as a node in any A.14 partOf chain; holarchies are for substantial holons only. Role refinement/bundling (, ) and method relations (refinement, factorization, step/phase views) are not partOf and MUST NOT be rewritten into structural parthood.
  3. Multiplicity. A holder may bear multiple roles concurrently; a role may be borne by many holders—subject to each context’s compatibility rules.
  4. Time anchoring. window (if present) is non-empty and finite for run‑time claims; open‑ended assignments are allowed but must be traceably open‑ended from an assignment time (A.2.1). Design‑time bindings are timeless but descriptions are versioned via U.MethodDescription identity.
  5. Behavioural coherence. For any U.Work window, the performer’s cited RoleAssignment and the executed MethodDescription must align in the same Context: work.performedBy = RA, work.isExecutionOf = MD, and RA.role is eligible/authorized for the Method represented by MD. (No hidden role swaps; no implicit method drift.)

Taxonomic frame (within a context)

Within each U.BoundedContext, role names are organised as a partial order (refinements) plus an incompatibility relation (mutually exclusive roles). Typical substrate‑neutral anchors:

Kernel RoleIntentSystem archetypeEpisteme archetype
TransformerRoleChanges other holons via Method/Work.Robot arm assembling casings.Prover constructing a new lemma.
ObserverRoleCollects evidence / metrics.Sensor array on a test‑rig.Reviewer annotating an article.
SupervisorRoleGoverns subordinate holons.PLC orchestrating a line.Meta‑analysis curator combining studies.

Domains refine these anchors: e.g., CoolingCirculatorRole, CitationSourceRole, LemmaRole.

Archetypal Grounding (Tell–Show–Show: System / Episteme)

Tell. A single holon can be the same bearer across time while taking on different, context‑bound roles. A role is a mask (capability/obligation schema) that explains what it is being in a given U.BoundedContext; behavioural facts and resource deltas remain in U.Method / U.Work.

Show.

System case — Cooling loop PumpUnit#3#HydraulicPump:Plant‑A@2025‑08‑08..open HydraulicPumpRole ↦bindsMethod↦ CentrifugalPumpingMethod (design‑time, Context‑local eligibility) CentrifugalPumpingMethod ↦isDescribedBy↦ centrifugal_pump_curve.ld@v7 (MethodDescription viewpoint; step‑graph OR dynamics, as appropriate) run‑2025‑08‑08 isExecutionOf centrifugal_pump_curve.ld@v7; performedBy PumpUnit#3#HydraulicPump:Plant‑A@2025‑08‑08..2025‑08‑08 (run‑time Work) (Behavioural/resource facts live in Work; method semantics live in the referenced MethodDescription viewpoint.)

Episteme case — Standard in design RFC‑9110.pdf#ProtocolStandard:WorldWideWeb justifies MethodDescription selection; the system bearing TransformerRole is the design service that executed the selection work. The episteme did not act.

Collective vs set (safety pitfall) A set {Alice, Bob, 3.14} has no behaviour; a team is a system with boundary, coordination Method, and supervision Work; only the latter can bear agentic roles.

Bias-Annotation

Lenses tested: Arch, Onto/Epist, Prag, Did. Scope: Universal (A‑cluster).

  • Architecture bias (Arch): treating roles as structural parts can smuggle function into mereology and break holarchies.
    Mitigation: keep partOf chains role‑free; roles are not constituents (see CC‑A2.1).
  • Onto/Epist bias (Onto/Epist): anthropomorphising epistemes collapses evidence into agency.
    Mitigation: epistemes can justify/authorize; only systems perform methods and work (CC‑A2.2).
  • Pragmatic bias (Prag): over‑contextualising can fragment reuse and create naming drift.
    Mitigation: require explicit :Context binding and explicit bridges instead of silent equivalence (CC‑A2.4).
  • Didactic bias (Did): metaphors (“mask”) may be misread as informal.
    Mitigation: bind obligations to CC items; avoid imperative prose outside CC.

Authoring guidance (for engineers and leads)

  • Name roles for intent, not mechanics. Prefer CoolingCirculatorRole over ChannelFluidWithCentrifugalProfile.
  • Pin the context early. If two teams disagree, split contexts and (optionally) define an alignment bridge; do not over‑generalise the role.
  • Document the enactment chain. For any operational claim, be ready to point to: RoleAssigning → RoleAssignment → (Role ↦bindsMethod↦ Method) ↔ MethodDescription → Work. (Readers’ dictionary: workflow/script/state‑machine/dynamical model/quantum circuit → MethodDescription; run/job/operation → Work.)

Conformance Checklist (CC‑A2.*)

IDRequirementPractical test (manager‑oriented)
CC‑A2.1A Role SHALL NOT be a mereological part of any holon; roles are never constituents of holarchies.If a diagram shows Role →(part‑of)→ Holon, the model fails. Replace the edge with playsRoleOf(Holon, Role, span) (A.14 governs parts).
CC‑A2.2Only a System can bear behavioural roles (e.g., TransformerRole, AgentialRole) and thus bind Method/Work; an Episteme MAY bear non‑behavioural roles (e.g., ReferenceRole, ConstraintSourceRole) only.Lint the model: any U.Episteme that bindsMethod or is a performedBy target fails; move behaviour to a system bearing the role and act on episteme carriers (A.7, A.12, A.15).
CC‑A2.3Every behavioural Role that is used for Work SHALL bindsMethod ≥ 1; behavioural roles with no bound method are abstract placeholders and non‑executable.If a behavioural role participates in Work without some Method ⟷ MethodDescription chain, flag “unbound role” and add a binding (A.15).
CC‑A2.4Every role reference in normative text SHALL be context‑indexed by a declared Bounded Context (local to the pattern or glossary). Local shorthand “Transformer” is permitted only if the pattern’s Glossary re‑binds it to “System bearing TransformerRole”.If prose says “Transformer updates the spec”, the pattern MUST define the local alias and its target; otherwise rewrite to the canonical long form (E.10, A.7).
CC‑A2.5Each U.RoleAssignment SHALL carry an explicit window or be traceably open‑ended from an assignment time (e.g., via U.RoleAssigning). Open intervals are allowed but must be explicit.Search for RoleAssignments with neither window nor a traceable assignment time; add @t₀..t₁ (or open bound) and/or an issuing RoleAssigning Work.
CC‑A2.6If two roles are declared incompatible inside the same context, a bearer SHALL NOT hold them over overlapping spans.Check the context’s role‑compatibility grid; if overlaps exist, either split the Work by PhaseOf or change staffing (A.14; B.1.4/Γ_time).
CC‑A2.7For any Work item, performedBy MUST reference the concrete RoleAssignment of the performer, and its window MUST cover the Work’s window.Assert performedBy(Work) = RA and RA.window ⊇ window(Work); split Work or update assignments if the performer changes mid‑window (A.2.1, A.15).
CC‑A2.8Every Method bound to a role SHALL be isDescribedBy ≥ 1 MethodDescription (U.Episteme) and every Work SHALL be isExecutionOf exactly one MethodDescription version.If a Work lacks isExecutionOf, or a Method lacks MethodDescription, the audit fails (A.15; A.10 evidencing hook).
CC‑A2.8bWhen a claim relies on step/phase/serial/parallel semantics, the referenced MethodDescription SHALL declare an appropriate viewpoint and its ordering/coordination rules; do not infer “steps” from U.Method by default.If prose says “step 3”, “submethod”, or “phase”, but the cited MethodDescription is not a workflow/script/step‑graph viewpoint (or lacks ordering rules), flag it; rewrite in the declared viewpoint or mint an additional view.
CC‑A2.9Evidence for claims about roles and execution MUST anchor to symbol carriers (SCR/RSCR); self‑evidence is forbidden.A role effectiveness claim without SCR/RSCR or with cyclic provenance fails (A.10).
CC‑A2.10When a Role assignment implies order or temporal structure, the pattern SHALL defer to Γ_ctx/Γ_time rather than overloading role edges.If argument order matters, use Γ_ctx folds and record OrderSpec; version/evolution goes via Γ_time (B.1.3 §4.5).
CC‑A2.11Use of legacy nouns “creator/actor/agent” in Core text is prohibited unless they are explicitly typed as roles with bearers; the term “Transformer” is a local alias, not a type.Scan for bare nouns; replace with “system bearing TransformerRole” or define an alias in the Glossary (A.7 canonical rewrites; E.10 registers).
CC‑A2.12 (advisory)A reified RoleAssigning object SHOULD capture context, window, optional authority, justification (U.Episteme), and provenance (U.Method).Recommended for governance‑heavy domains; it improves explainability without changing Core semantics.

Note. CC‑A2.2 aligns with A.7 Role‑domain guards (“behavioural roles’ domain = system; epistemes bear non‑behavioural roles only”).

Common Anti-Patterns and How to Avoid Them

  1. “Transformer as system subtype.”U.TransformerSystem builds pumps.”RobotArm R‑45#Transformer:Plant‑A executed Work W.” (Role is a mask; behaviour is Method/Work.)

  2. “Role as part.”“The pump’s role is one of its components.” ✓ Roles are never parts; components are substantial. Keep all partOf chains role‑free.

  3. “Episteme acts by itself.”“The PDF enforced the SOP.” ✓ An episteme can hold roles like ProtocolStandard in context, but only a system performs the Method/Work that uses it.

  4. “Context leakage.”“Pluto is Planet and DwarfPlanet.” (in one tacit space) ✓ Pluto#Planet:Early20thCenturyAstronomy; Pluto#DwarfPlanet:IAU_2006_Definition.” No contradiction—different bounded contexts. (Illustrative of U.RoleAssignment semantics carried forward from the A.2.1.)

  5. “Method = workflow (step list) by default.”“The method is the ordered list of steps 1..n.” ✓ A Method is a design‑time capability; “steps” (or their absence) are a property of a MethodDescription viewpoint. A Work executes a specific MethodDescription; use a workflow/script view when step semantics matter, and use other views (dynamics/solver/circuit/channel) when steps are not meaningful.

Consequences

BenefitWhy it mattersTrade‑off / Mitigation
Category‑error immunityClear firewall between identity (holarchies) and function (roles) prevents mixing “parts” with “masks”.Slight modelling overhead; templates provide checklists (A.7, A.14).
Operational clarityWho did what, when, under which mask, and by which MethodDescription becomes audit‑ready (RoleAssignment + performedBy + isExecutionOf + method‑binding).Requires spans on Role assignments; mitigated by default “open‑ended” spans in drafts.
Epistemic hygieneKnowledge holons contribute as evidence or constraints, never as doers.Authors must rewrite anthropomorphic prose; canonical rewrites help.
Cross-context pluralismSame bearer can hold different roles across contexts without contradiction; differences are explicit in the assignment.Requires declaring the bounded context; E.10 eases the ceremony with registers/aliases.
Γ‑coherenceOrder/time/aggregation stay in Γ‑operators, not overloaded into “role" edges.Authors learn when to call Γ_ctx/Γ_time; the Part B on‑ramp is short.

Rationale (post‑2015 cross‑domain corroboration)

Why insist on roles as contextual masks and externalised transformers?

  1. Constructor Theory (2015–2022). Post‑2015 work by Deutsch & Marletto re‑centres physics on possible tasks and constructors rather than objects, mirroring FPF’s TransformerRole: behaviour is attached to “who can realise a task,” not to substance per se. Our separation of SubstantialHolon vs Role and the insistence on external transformers directly echo this shift. (Conceptual alignment noted in A.2 Solution and A.12 intent.)
  2. Layered Control Architectures (Matni–Ames–Doyle, 2024). The modern control stack cleanly externalises regulators and planners relative to plants. FPF’s obligatory “system bearing TransformerRole” (A.7, A.12) is isomorphic to that separation, keeping supervision and actuation outside the controlled holon.
  3. Active‑Inference / Agency spectrum (2017–2023). Contemporary models treat agency as graded and contextual (percept‑act loops tuned by free‑energy bounds). A.13 adopts exactly this: AgentialRole is a role worn by a holon, with graded measurements via Agency‑CHR, not a static type.
  4. Basal Cognition & multi‑scale organisation (2019–2024). Fields & Levin argue for cross‑scale control and information flows; FPF encodes this via Γ‑flavours and the Meta‑Holon Transition triggers, ensuring Role assignments compose across scales without collapsing identity into function.
  5. Knowledge ecosystems & safety cases (2018–2025). Modern assurance relies on traceable evidence and conservative integration (no “truth averaging”): our A.10 anchors (SCR/RSCR) and Γ_epist’s weakest‑link fold implement that discipline and forbid self‑evidence.

Summing up: post‑2015 science and engineering converge on roles as contextual capabilities, externalised control, and traceable evidence. A.2 codifies these insights in a substrate‑neutral way, keeping the Core small yet powerful.

SoTA-Echoing (post‑2015 alignment, informative)

Claim (A.2 need)SoTA practice (post‑2015)Primary source (post‑2015)Alignment with A.2Adoption status
Roles are context‑dependent, anti‑rigid descriptors rather than structural parts.Conceptual modeling distinguishes substantial types from role types; roles depend on context/relational situations.Guizzardi (2019), Ontological Foundations for Conceptual Modeling; recent OntoUML/UFO literature.Maps to U.Role as context‑bound schema; keeps partOf free of roles.Adopt.
Meaning boundaries must be explicit; reuse across boundaries must be declared, not assumed.Modern DDD and socio‑technical architecture emphasise explicit bounded contexts and explicit translation/alignment.Vernon (2016), Domain‑Driven Design Distilled; Newman (2021), Building Microservices.Matches role ∈ Roles(context) and CC‑A2.4 context binding + explicit bridge discipline.Adopt/Adapt. Adopt boundaries; adapt reuse via FPF Bridges + CL.
Agency should not be attributed to artifacts; treat evidence/provenance as first‑class.Safety/assurance and governance treat documents as evidence and constraints; provenance is required for claims.ISO 26262:2018; NIST SP 800‑53 Rev. 5 (2020).Supports “episteme as justification” and CC‑A2.2/CC‑A2.9 evidence binding.Adopt.
“Agency” is graded and mediated by active systems + policies.Cognitive/agentic modeling treats agency as spectrum, mediated by control loops and policies.Friston et al. (2017), Active Inference; basal cognition surveys (2018+).Supports separating role labels from behavioural work; aligns with A.13/A.15.Adopt (with scope). Keep obligations in CC.

Note. Prefer citing a maintained SoTA synthesis pack for roles/contexts if your Context has one.

Relations

  • Builds on: A.1 Holonic Foundation (role/mereology split), A.7 Strict Distinction (role ≠ behaviour; episteme ≠ carrier), A.14 Advanced Mereology (no roles in holarchies).
  • Specialises / Coordinates with: A.13 Agential Role & Agency Spectrum (behavioural roles over systems; graded agency), A.15 Role–Method–Work Alignment (bindsMethod / isExecutionOf discipline).
  • Constrains / Used by B‑cluster: B.1 Universal Algebra of Aggregation (Γ) (keep order/time in Γ_ctx/Γ_time; keep provenance in Γ_epist), B.2 Meta‑Holon Transition (promotion when supervision/closure appears), B.3 Trust & Assurance (evidence & congruence).
  • Interlocks with E‑cluster (governance & language): E.10 Lexical Discipline (registers, tier disambiguation, local aliases like “Transformer”), E.5.1 DevOps Lexical Firewall (ban tooling tokens in Core patterns).
  • Reinforces: A.10 Evidence Graph Referring (external transformer; SCR/RSCR), A.12 External Transformer Principle (agent externalisation).

A.2:End

U.RoleAssignment: Contextual Role Assignment

Type: Definitional (D) Status: Stable Normativity: Normative

with Role Performance View, U.RoleStateGraph (RSG), and Role Characterisation Space (RCS) hooks

Builds on: A.1 Holonic Foundation, A.1.1 U.BoundedContext, A.2 Role Taxonomy.
Coordinates with: A.13 Agential Role & Agency Spectrum, A.15 Role–Method–Work Alignment, E.10.D1 D.CTX (Context discipline), E.10.D2 Strict Distinction.
Lexical discipline. ContextU.BoundedContext (E.10.D1). Appointment is colloquial only; the canonical term in this specification is Role Assignment (see CC‑LX‑1).

Mint vs reuse. This pattern defines U.RoleAssignment and U.RoleEnactment and introduces the labels Role Characterisation Space (RCS) and Role State Graph (RSG) as intensional facets recorded in RoleDescription / RoleSpec. It reuses existing kernel terms (U.Holon, U.System, U.Episteme, U.BoundedContext, U.Work, U.Method) without changing their meanings.

Problem frame

Intent. Provide one, universal, context‑local way to say who is being what, where (and when) without altering what the thing is. The same grammar works for people, machines, software, teams, and also for knowledge artefacts (epistemes) when they hold statuses rather than perform actions.

Scope.

  • Defines U.RoleAssignment (binding a holder holon to a role inside a bounded context, optionally within a time window).
  • Separates that binding from U.RoleEnactment (the run‑time fact that a piece of Work was performed under that assignment).
  • Names the Role Characterisation Space (RCS) and the Role State Graph (RSG) as intensional facets of a Role (recorded in its RoleDescription, upgraded to RoleSpec only after tests exist).
  • Declares eligibility constraints so Roles apply to the right holon kinds, without badge‑of‑badge chains like “TransformerRole is assigned to be AgentRole”. If your Context wants taxonomic inheritance between role names, express it with in‑Context role algebra (), not via chained assignments.
  • Declares eligibility constraints so Roles apply to the right holon kinds, without badge‑of‑badge chains like “TransformerRole is assigned to be AgentRole”. If a Context intends taxonomic inheritance between role names, that relation is expressed in‑Context via role algebra (), not via chained assignments.

Non‑goals. No storage models, no workflows, no org charts. This is a thinking Standard; all semantics are notation‑free.

Problem

  1. Type explosion. Baking transient function into rigid types (“CoolingPump”, “AuditDeveloper”) violates parsimony and makes change brittle.
  2. Context drift. Labels like Operator, Process Owner, Standard slide in meaning across teams/years when not tied to a Context.
  3. Actor vagueness. Work logs state that things happened but not who, in what capacity, under which local rules.
  4. Category leaks. Documents “do” tasks; deontic statuses are treated like run‑time states; capabilities are confused with permissions.
  5. Role chains. Attempting “System ↦ TransformerRole ↦ AgentRole” hides intent and smuggles taxonomy into the data plane.

Forces

ForceResolution in this pattern
Universality vs localityOne mechanism (U.RoleAssignment), but every meaning is context‑local (Context); cross‑context sameness only via Bridge (F.9).
Stability vs changeIdentity of holder stable; assignments come/go via windows; enactments are punctual facts attached to Work.
Clarity vs brevityFull definition + the mnemonic shorthand Holder#Role:Context@Window.
Behavior vs statusOnly systems enact behavior; epistemes hold statuses. Keep role taxonomies explicit; never chain assignments.
Specification vs descriptionRole RCS/RSG are recorded in RoleDescription; upgrade to RoleSpec only after a test harness exists (E.10.D2).

Solution

Canonical definition (notation‑free)

U.RoleAssignment is a **context-local assignment:

RoleAssignment ::=
  〈holder: U.Holon,
   role: U.Role,
   context: U.BoundedContext,
   window?: U.Window,
   justification?: U.Episteme,
   provenance?: U.Method〉

Admissibility constraints (concept‑level; non‑deontic).

  • Invariant RA‑1 (Locality). role ∈ Roles(context). The role’s meaning is exactly the one recorded in that Context’s RoleDescription/RoleSpec.
  • Invariant RA‑2 (No role‑of‑role). holder : U.Holon and holder ∉ {U.Role, U.RoleAssignment}. (Roles/assignments are never holders.)
  • Invariant RA‑3 (Eligibility by role kind).
    • Behavioural roles (agential/transformer/observer/speech and their refinements): holder is a U.System. Only systems can enact Methods and produce Work.
    • Status roles (epistemic‑status / normative‑status / service‑governance): holder is a U.Episteme. Epistemes never enact Work; they gate and justify.
    • Context refinements may tighten eligibility (e.g., “Approver must be human”) but are restrictions of the System/Episteme split (they do not weaken it).
  • Invariant RA‑4 (Window discipline). If window is present, enactments occur within it. If window is absent, interpret the assignment as open‑ended from an assignment time that is still traceable (e.g., via an issuing U.RoleAssigning SpeechAct Work or other evidence).
  • Invariant RA‑5 (Separation). A RoleAssignment confers the capacity/authorization to act (or the status to be recognised), but it is not behaviour (no Work implied), not capability (intrinsic ability lives elsewhere), and not structure (it does not participate in BoM / part‑of structure).

Governance metadata (optional but first‑class when present).

  • justification carries why the assignment is valid in this Context (policy, standard, evidence Episteme).
  • provenance carries how the assignment was issued or verified (method reference; may link to a U.RoleAssigning work step in the evidence graph).

Didactic read. Think badge (who wears which mask, where, when). The rules for the mask live in the room (Context).

Two assignment modes. A RoleAssignment can be: (a) Authoritative — issued by an authority or policy in the Context (often via a U.RoleAssigning SpeechAct Work); it can open a Green‑Gate for steps that require explicit authorization. (b) Observational — an evidence‑backed classification that the holder occupies a Role in this Context (e.g., “Moon as SatelliteRole:IAU_2006”). Observational assignments never by themselves open operational Green‑Gates; they can gate decisions and analysis.

Role Enactment (distinct from the assignment)

U.RoleEnactment captures the run‑time fact that a specific piece of Work was performed under a specific Role Assignment:

RoleEnactment ::= 〈work: U.Work, by: U.RoleAssignment〉

Admissibility constraints (concept‑level; non‑deontic).

  • Invariant RE‑1 (Actor reality). by.holder : U.System. (Epistemes never enact Work.)
  • Invariant RE‑2 (Temporal fit). work.window overlaps by.window (or by.window is open and contains work.window).
  • Invariant RE‑3 (Method gate). For the MethodStep realised by work, by.role satisfies the step’s requiredRoles in that same Context (directly or via specialization inside the Context).
  • Invariant RE‑4 (Traceability shape). U.Work records cite the performer as performedBy = some U.RoleAssignment. U.RoleEnactment is the conceptual (or derived) association 〈work, work.performedBy〉; if a system persists it explicitly, it is 1:1 with Work.

Reading: Assignments authorize; enactments happen. That single sentence prevents months of muddled logs.

Role Enactment is the occurrence of U.Work performed by a holder while a valid U.RoleAssignment for the required Role is in an enactable state of its RoleStateGraph (A.2.5) within the same Context. Enactment is generic: it includes operational work (e.g., actuation) and communicative work (speech acts such as approvals).

Role Characterisation Space (RCS) & Role State Graph (RSG)

These are intensional facets of a Role, not containers “inside” the Role. They are recorded in the RoleDescription (or RoleSpec once harnessed), per E.10.D2.

  • RCS (Role Characterisation Space). A set of named characteristics that parameterise how the Role is understood in a Context (e.g., AgencyLevel ∈ {None, Assisted, Delegated, Autonomous}; SafetyCriticality ∈ {SC0…SC3}).

  • RSG (Role State Graph). A directed graph of named states (nodes) and admissible transitions (edges) for the Role within the Context (e.g., {Eligible → Authorized → Active → Suspended → Revoked}).

    • Each state has a Conformance Checklist (set of observable cues) supporting Evaluations (“X ∈ Authorized@context in W”).
    • RSG governs role state transitions, independent of any Work instance.

Discipline. Prefer the phrasing “Role is characterised by RCS/RSG recorded in RoleDescription”; avoid “Role contains its states.”

Shorthand & reading

The canonical compact form used in prose and diagrams is:

Holder#Role:Context@Window

Examples:

  • PLC_17#Transformer:PipelineOps@2025‑04‑01..2025‑06‑30
  • ISO_26262v2018#NormativeStandard:AutoSafetyCase (status role on an Episteme; no enactment)

The shorthand is didactic; the semantics are those of §§4.1–4.3.

No role chains (use algebra, not badge‑of‑badge)

Chained assignments are ill‑formed for encoding taxonomy (see Invariant RA‑2 and CC‑ELIG‑3). Chaining hides intent and defeats validation.

Taxonomic inheritance between role names is declared explicitly in the Context’s role algebra. For example, if (per A.13) your Context treats every transformer as a kind of agent, state:

  • TransformerRole ≤ AgentialRole (in that Context’s role algebra)

When a MethodStep requires two independent roles, express the conjunction where it belongs:

  • the MethodStep requires both roles; the holder wears two badges, not a badge‑of‑a‑badge.

Eligibility across holon kinds (normative matrix)

A Role’s family constrains who can wear its badge. Eligibility is part of didactic hygiene and prevents chains like “Transformer → Agent”.

Holder kinds (recap)
  • U.System — any acting holon (person, device, software service, team, organization, socio‑technical unit).
  • U.Episteme — any knowledge unit (document, dataset, model, standard, Standard).
  • U.Holon — supertype; only Systems enact Work; Epistemes can only hold status roles.
Role‑kind × holder matrix
Role kind (examples)May be held by U.SystemMay be held by U.EpistemeNotes (eligibility refinements live in Context)
Agential (e.g., Agent, Decision‑Maker, Approver)Requires an RCS characteristic such as AgencyLevel; RSG should expose Authorized/Active states.
Transformer/Constructor (e.g., Welder, ETL‑Runner)Performs Methods; produces Work; often requires Capability evidence.
Observer/Measurer (e.g., Observer, Monitor)Produces U.Observation; may be passive (probe) or active (test rig).
Communicator/Speech (e.g., Authorizer, Notifier)A behavioural role; produces U.Work typed as SpeechAct.
Service‑Governance (e.g., ServiceOffering, SLO‑ClauseCarrier)Episteme (catalog entry, policy). If a System “offers”, the offer is a SpeechAct; the offering is an Episteme.
Epistemic‑Status (e.g., Evidence, Definition, AxiomaticCore)Status roles for knowledge; never enact Work.
Normative‑Status / Deontic (e.g., Requirement, Standard)Source of obligations; Work is checked against them, not enacted by them.

Invariant — RA‑3 (eligibility) (restated): RoleAssignments are ill‑formed if they violate this matrix. A Context may tighten (e.g., “Approver must be human”), never loosen.

Conformance checks (easy to remember).

  • CC‑ELIG‑1. If role.family ∈ {Agential, Transformer, Observer, Speech}, then holder : U.System.
  • CC‑ELIG‑2. If role.family ∈ {Epistemic‑Status, Normative‑Status, Service‑Governance}, then holder : U.Episteme.
  • CC‑ELIG‑3. No “role of a role”: role is bound to a holder, not to another role or assignment.

Role algebra within a single Context (meaning relations)

Role algebra

The in‑Context role algebra relates role types inside one U.BoundedContext. It is not mereology. Its operators (, , ) is specified normatively in A.2.7 U.RoleAlgebra.

A.2.1 relies on it for (i) requiredRoles substitution checks (), (ii) separation‑of‑duties validation (), and (iii) conjunctive bundles (), but does not restate the operator semantics here.

Time & state transition calculus (windows, RSG, enactability)

Assignments authorize, enactments happen — in time. RSG governs the role’s state transitions; window governs the binding’s validity.

Windows and overlap
  • Window form: @t_start..t_end (ends may be open).
  • RE‑2 (temporal fit) (restated): work.window lies within (or overlaps appropriately with) assignment.window.
  • Handover pattern: Close A#Role@..t and open B#Role@t.. — history is preserved by closing windows rather than deletion.
  • (Conformance hook.) See CC‑WIN‑1: preserve history by closing windows rather than erasing RoleAssignments.
RSG gating of enactment

Each Role’s RoleDescription/RoleSpec defines an RSG with named states; some states are enactable.

  • Delegation. Normative author‑facing requirements for U.RoleStateGraph structure (including enactability marking and per‑state checklists) and the shape of StateAssertion evidence are defined in A.2.5; A.2.1 only relies on the resulting enactment gate.
  • Invariant RE‑5 (RSG gate). A U.RoleEnactment is valid iff at enactment time the U.RoleAssignment can be supported by a valid StateAssertion that the holder is in an enactable state of the Role’s RSG in this Context.
  • (A.2.5 hook.) The Role’s U.RoleStateGraph (A.2.5) identifies enactable states and attaches a Conformance Checklist to each state; checklist verdicts can be recorded as StateAssertions (see SCR‑A2.5‑S02/S03).
  • Example. SurgeonRole states: Eligible → Authorized → Active → Suspended → Revoked. Only Active is enactable. A pre‑op checklist produces StateAssertion(SurgeonRole, Active).

Practical reading. Badge valid (window) ∧ state is right (RSG) ⇒ you may act.

Suspensions, revocations, probation
  • Suspend: transition to a non‑enactable state (e.g., Suspended). Keep the assignment’s window open; enactment is blocked by RE‑5.
  • Revoke: either (a) close the window, or (b) transition to Revoked (non‑enactable).
  • Probation: a dedicated RSG state with limited enactability (e.g., only under supervision, modelled as an extra required role on Method steps).
  • Discipline (A.2.5). RSG transitions are explicit; no implicit “back to Active”.
Typical temporal patterns (didactic)
  • Shift rotation. A#Role@08:00..16:00, B#Role@16:00..24:00 — clean handover, no issues.
  • Shadowing. Trainee#Role@.. + Mentor#SupervisorRole@..; Method steps require both roles.
  • Emergency bundle. SoloOperator := Incision ⊗ Hemostasis ⊗ Suturing; activate only under declared emergency (Context‑level policy).

Integration with A.15 (Role–Method–Work alignment)

One line. A U.MethodDescription names the roles it needs; a U.Work cites the concrete U.RoleAssignment that enacted the step; the RSG state + window gates that enactment.

Design‑time Standard (inside U.MethodDescription)

For every MethodStep:

  • requiredRoles — a list of U.Role from the same Context as the step. Example. In Hospital.OR_2025, step “Make incision” has requires: [IncisionOperatorRole].
  • Role algebra in‑Context applies: if the Context defines IncisionOperatorRole ≤ SurgeonRole, then requires: [SurgeonRole] also admits holders of IncisionOperatorRole.
  • Separation of concerns. Capability checks (does the holder can?) belong to U.Capability and resource limits; authorization belongs to U.RoleAssignment + RSG.
Run‑time check (inside U.Work)

A U.Work record provides (or allows derivation of) the fields needed to satisfy CC‑ENACT‑1..3:

  • performedBy = a concrete U.RoleAssignment (not just a person/system name).
  • Window gate. The Work timestamp falls inside the assignment’s @Window.
  • State gate. At that timestamp, an enactable state for the assignment is proven by a StateAssertion (the checklist verdict for a named RSG state).
  • Role algebra gate. The assignment’s role is either one of requiredRoles or a specialization () thereof; bundles () expand to conjunctions; incompatibilities () forbid overlaps on the same holder.
  • Observation. The Work produces U.Observation(s).
  • Evaluation. A U.Evaluation compares Observations with AcceptanceClause(s) referenced by a promise content clause (U.PromiseContent) or a RequirementRole.
  • SoD hook. If the step or evaluation demands independence (e.g., “not performed by its reviewer”), enforce via between PerformerRole and ReviewerRole in the same Context.
Planning & scheduling (design‑time “who will enact”)
  • U.WorkPlan (aka “WorkDescription” in prose) binds forthcoming steps to candidate RoleAssignments and time windows.
  • Checks before the fact. Validate windows (no gaps/overlaps where disallowed), enforce , ensure expected RSG state will be enactable at scheduled time (or flag a pre‑flight checklist).

Didactic cue. Think “Step asks for badges; Run cites a badge; Badge must be valid & green.” (Badge = RoleAssignment; valid = window; green = RSG state with a fresh StateAssertion.)

Cross‑Context bridges in practice (with CL penalties)

Cross‑Context role substitution is Bridge‑only and is specified in F.9 (with CL/waiver regimes) and B.3 (CL‑penalty routing).

A.2.1’s only rule is no substitution by label: any “Role_B@B satisfies Role_A@A” claim used for checking or enactment MUST cite an explicit Bridge (direction, CL, loss notes) and MUST NOT override in‑Context , , or .

Everyday pattern snippets (didactic moves)

Use these micro‑moves to think and speak cleanly; no tooling required.

  1. “Who can do this step?” On a MethodStep, write requires: [RoleX]. In your head, expand: “Any performedBy whose role ≤ RoleX, with a valid window and enactable RSG state.” Example: requires: [SurgeonRole] and IncisionOperatorRole ≤ SurgeonRoleDr.Kim#IncisionOperatorRole:Hospital.OR_2025 is admissible iff Active.

  2. Handover without history loss. Close one window, open another. Never delete. Alex#IncidentCommander:SRE_Prod@08:00..12:00 Riya#IncidentCommander:SRE_Prod@12:00..20:00

  3. Independence by construction (SoD). Declare Developer ⊥ IndependentAuditor. Then it’s impossible (by validation) to have overlapping windows on one holder for both roles.

  4. Supervision as bundle. Model apprenticeship by requiring Trainee ⊗ Supervisor on sensitive steps, or by RSG state Probation that flips enactable only if SupervisorRole is also present.

  5. Same badge name in two Contexts. LeadEngineer:ProjectPhoenixLeadEngineer:DivisionR&D. If you must relate, create a Bridge with CL & loss notes; never rely on the name.

  6. Documents don’t act; they frame. Replace “the SOP executed X” with: SOP_v4#RequirementRole:SafetyCase and a SpeechAct “approve run” by QA_Officer#AuthorizerRole:Plant_2025.

  7. Window + state ⇒ permission. Quick mental check: badge valid? (window) ∧ state OK? (RSG) ⇒ go; else no‑go.

  8. Communicative enactment (approval) CAB_Chair#ApproverRole:ChangeControl@2026-05-01T10:05 performs a SpeechAct Work “Approve Change-4711”. Effect: moves ApproverRole’s RSG state from Authorized?→Approved and opens the Green‑Gate for the operational step “Deploy Change-4711” (performed by a different RoleAssignment).

Archetypal Grounding (three disparate arenas)

Goal. Show that the same assignment Holder#Role:Context@Window, plus RCS (Role-Characterisation Space) and RSG (Role-State Graph), works uniformly for operational systems, software/service operations, and knowledge governance.

Natural systems note. Spontaneous physical phenomena (e.g., Moon orbiting Earth) are modeled as U.Dynamics, not as U.Work. An observational RoleAssignment like Moon#SatelliteRole:IAU_2006 is valid classification but does not imply enactment of a method.

Industrial operations (welding cell)

Role (family). WelderRole (Transformer) *RCS (illustrative characteristics).

  • ProcessClass ∈ {MIG, TIG, Spot}
  • QualifiedMaterial ∈ {Al, SS, Ti, …}
  • MaxCurrentAmp ∈ ℝ⁺
  • SafetyProfile ∈ {Standard, HotWork, ConfinedSpace}

RSG (named states). Unqualified → Qualified → Authorized → Active → Suspended → Revoked (enactable: Active only)

Assignments.

  • Robot_SN789#WelderRole:AssemblyLine_2025@2025‑02‑01..open
  • Robot_SN790#WelderRole:AssemblyLine_2025@2025‑02‑01..open

StateAssertions (via checklists).

  • StateAssertion(WelderRole, Qualified, AssemblyLine_2025, @2025‑02‑01..2026‑02‑01) — training & test weld coupons.
  • StateAssertion(WelderRole, Active, AssemblyLine_2025, @2025‑03‑01..open) — daily pre‑shift checks + gas/torch inspection.

Enactment (gated by RSG). A U.Work entry W#Seam134 is valid only if performedBy = Robot_SN789#WelderRole:AssemblyLine_2025 and an Active StateAssertion covers the timestamp. If the torch‑health checklist fails, RSG transitions Active → Suspended; further seams are blocked by RE‑5.

Software & cloud operations (continuous delivery / SRE)

Roles (families).

  • DeployerRole (Transformer) — authorises execution of deployment Methods.
  • IncidentCommanderRole (Agential/Speech) — directs response and issues SpeechActs (declares incident states).

RCS (illustrative).

  • DeployerRole: Env ∈ {staging, prod}, ChangeWindow, RollbackAuthority ∈ {self, peer, CAB}.
  • IncidentCommanderRole: OnCallTier ∈ {L1,L2,L3}, ServiceScope, PageDuty ∈ {primary, secondary}.

RSGs (named states).

  • DeployerRole: Eligible → Authorized → Active → Suspended (enactable: Active).
  • IncidentCommanderRole: OnCall → Engaged → Handover → Rest (enactable: Engaged).

Assignments.

  • sCG‑Spec_ci_bot#DeployerRole:CD_Pipeline_v7@2025‑04‑01..open
  • Alex#IncidentCommanderRole:SRE_Prod@2025‑04‑10T08:00..2025‑04‑10T20:00

StateAssertions (via checklists).

  • DeployerRole/Active: completed change ticket, green pre‑deploy tests, peer‑review check mark.
  • IncidentCommanderRole/Engaged: accepted page, situational brief read, comms‑channel opened.

Enactment.

  • A deployment Work is valid only with performedBy: sCG‑Spec_ci_bot#DeployerRole:CD_Pipeline_v7 and Active state asserted for the moment of start.
  • Declaring Incident SEV‑1 is a SpeechAct Work performed by Alex#IncidentCommanderRole:SRE_Prod in Engaged state; it changes deontic conditions (e.g., elevates RollbackAuthority).

Knowledge governance (standards & requirements)

Roles (families).

  • NormativeStandardRole (Normative‑Status Episteme) — a document that is the standard in this Context.
  • RequirementRole (Deontic‑Status Episteme) — a statement that binds behaviour in this Context.

RCS (illustrative).

  • NormativeStandardRole: Scope, Edition, ApplicabilityWindow.
  • RequirementRole: BindingClass ∈ {shall, should, may}, TargetRole, AcceptanceClauseRef.

RSGs (named states).

  • NormativeStandardRole: Proposed → Adopted → Effective → Superseded (enactable: N/A — Episteme roles are non‑enactable; they gate others).
  • RequirementRole: Draft → Approved → Effective → Retired (non‑enactable).

Assignments.

  • ISO_26262_ed2.pdf#NormativeStandardRole:AutoSafetyCase_2025@2025‑01‑01..open
  • REQ‑BRAKE‑001.md#RequirementRole:AutoSafetyCase_2025@2025‑03‑05..open

Effects (gating, not acting).

  • A system’s Work (e.g., HIL test run) is evaluated against clauses referenced by RequirementRole.
  • An Approval SpeechAct (by a CAB chair who is a U.System) may transition RequirementRole: Draft → Approved. The Episteme does not “act”; Systems act, Epistemes hold status.

Bias-Annotation

Lenses tested: Arch, Onto/Epist, Socio‑tech, Prag, Did. Scope: Kernel (A‑cluster).

  • Architecture bias (Arch): treating roles/assignments as structural parts can smuggle function into mereology and break holarchies.
    Mitigation: keep roles out of BoM/structure trees; close windows instead of deleting history.

  • Onto/Epist bias (Onto/Epist): anthropomorphising epistemes collapses evidence into agency (“the SOP approved”).
    Mitigation: only Systems enact Work; Epistemes may justify, constrain, and gate; enforce RE‑1 and CC‑SD‑2.

  • Socio‑technical bias (Socio‑tech): role eligibility rules can silently encode exclusion, power asymmetries, or discrimination (e.g., “Approver must be X” with no rationale).
    Mitigation: keep eligibility refinements explicit in the Context, recorded as Episteme policy, and review them under D.2/D.* ethics patterns; prefer capability/competence evidence over demographic proxies.

  • Pragmatic bias (Prag): over‑localising role labels can fragment reuse and create naming drift.
    Mitigation: require explicit :Context binding and explicit Bridges with CL/loss notes instead of silent equivalence.

  • Didactic bias (Did): metaphors (“badge”, “mask”, “green gate”) may be misread as informal or security‑only.
    Mitigation: bind obligations to the Conformance Checklist; keep metaphors as mnemonic only.

Conformance Checklist (normative)

SCR (compact, memorable)

Pass these and your RoleAssignments are sound.

Anchoring & locality

  1. CC‑CTX‑1. A conformant model/record MUST ensure that every RoleAssignment’s role names a role defined in the same U.BoundedContext as that assignment.
  2. CC‑CTX‑2. Authors and validators MUST NOT assume cross‑Context equivalence by label; any cross‑Context relation used for substitution or checking MUST be represented only in Bridges (F.9).

Eligibility & families 3. CC‑ELIG‑1. Validators MUST reject any RoleAssignment record where role.family ∈ {Agential, Transformer, Observer, Speech} but holder :̸ U.System. 4. CC‑ELIG‑2. Validators MUST reject any RoleAssignment record where role.family ∈ {Epistemic‑Status, Normative‑Status, Service‑Governance} but holder :̸ U.Episteme. 5. CC‑ELIG‑3. Validators MUST reject any RoleAssignment record whose holder ∈ {U.Role, U.RoleAssignment} (no badge‑of‑badge chains).

Role algebra (in‑Context) See A.2.7 U.RoleAlgebra (CC‑ALG‑1, 2, 3).

Time & gating 9. CC‑WIN‑1. Record‑keeping systems and models MUST NOT delete historic RoleAssignment records; they close windows instead. If window is absent, the record MUST retain a traceable assignment start time (e.g., via a U.RoleAssigning SpeechAct Work or other evidence). 10. CC‑ENACT‑1. Conformant Work records MUST cite performedBy = some U.RoleAssignment; validators MUST be able to check that the Work interval fits the assignment window (or that an open‑ended window contains it). 11. CC‑ENACT‑2. At the Work time, validators MUST be able to (a) locate/derive a StateAssertion supporting an enactable RSG state for the cited assignment, and (b) verify that the assignment’s role satisfies the executed MethodStep’s requiredRoles in that same Context (directly or via ; expands to conjunctions). 12. CC‑ENACT‑3. Runtime gates and validators MUST block enactment while the assignment lacks a supporting StateAssertion for an enactable state (e.g., during Suspended).

Strict distinction & category hygiene 13. CC‑SD‑1. Models and tools MUST NOT place Roles into BoM/structure trees; roles do not participate in mereology. 14. CC‑SD‑2. Models and tools MUST NOT treat Epistemes as Work actors; validators MUST enforce RE‑1 (by.holder : U.System).

Lexical hygiene 15. CC‑LX‑1. Authors MUST NOT use appointment as a synonym for Role Assignment in normative clauses.

Traceability 16. CC‑TRC‑1. From any U.Work, reviewers MUST be able to trace performedBy → RoleAssignment → Role → (RCS,RSG) → Context and retrieve supporting StateAssertion evidence.

RSCR (regression harness)

Run these mental “diff checks” whenever you change roles, contexts, or states.

RSG & gating

  • RSCR‑RSG‑E01. After editing an RSG, verify that each enactable state still has a live Conformance Checklist and that historic StateAssertions remain interpretable (no silent renames).
  • RSCR‑RSG‑E02. If a state flips enactable⇄non‑enactable, re‑evaluate pending or recurring U.Work plans (no hidden authorisations).

SoD & windows

  • RSCR‑SOD‑E01. On adding constraints, scan for overlapping assignments that newly violate SoD; schedule revocations or rescheduling.
  • RSCR‑SOD‑E02. On removing , confirm that governance rationale is recorded elsewhere (policy change Episteme).

Context churn

  • RSCR‑CTX‑E01. When a Context edition updates, freeze prior RoleAssignments; create new assignments in the new Context rather than mutating old ones.
  • RSCR‑CTX‑E02. Bridges referencing affected roles are reviewed for CL/loss adjustments.

Eligibility drift

  • RSCR‑ELIG‑E01. If a role family changes (e.g., reclassifying Offerer from behavioral to status), audit all assignments for holder‑type violations.

Trace continuity

  • RSCR‑TRC‑E01. Spot‑check that U.Work → RoleAssignment → StateAssertion chains still resolve after refactors.
  • RSCR‑TRC‑E02. Randomly sample old incidents/runs to ensure reproducible authorisation verdicts.

Name stability

  • RSCR‑NAME‑E01. If a role label changes, maintain the role identity; treat renamed labels as aliases inside the same Context rather than minting a new role unless RCS/RSG changed materially.

Common Anti-Patterns and How to Avoid Them

#Anti‑patternSymptomWhy it’s harmfulFPF fix (conceptual move)
A1Global role label“Alice is Lead Engineer” (nowhere)Meaning drifts; untestableAlways anchor to Context: Alice#LeadEngineer:ProjectPhoenix
A2Role as partBoM lists “Cooling Function”Category error (structure vs role)Keep BoM structural; model Pump#Cooling:ThermalMgmt
A3Document acts“The SOP closed the ticket”Epistemes don’t enact WorkGive the doc a status role; make a System enact the step
A4Role chains“Transformer assigned to be Agent”Hides taxonomy; defeats checksUse role algebra () and/or require both roles on the Method step
A5Hidden stateActing while Authorized? Active? unclearSafety & audit gapsUse RSG with StateAssertions gating enactment
A6Edition blurContext “ITIL” with no versionSense slippageContext card must carry edition (E.10.D1/F.1)
A7Bridge‑by‑nameEquating roles across Contexts by labelCross‑context driftUse F.9 Bridge with CL & loss notes

Consequences

Benefits

  1. No type explosion. Structure stays stable; function lives in RoleAssignments with small, local lattices.
  2. Traceable authority. Every U.Work has a clean chain: performedBy → RoleAssignment → Role → (RCS,RSG) → Context.
  3. Safe heterogeneity. Different Contexts can use the same badge name differently; conflicts are dissolved by locality and explicit Bridges.
  4. Didactic economy. One mental form — Holder#Role:Context@Window — covers factories, clouds, labs, and libraries.
  5. Strong SoD. Incompatibilities () and bundles () are first‑class; audits become mechanical.
  6. Assurance‑ready. RSG + StateAssertions convert checklists into explicit gates; CL penalties quantify Cross‑context risk.
  7. Temporal honesty. Windows encode the ebb and flow of assignments without history loss.

Costs / discipline required

  1. RoleDescription work. Each Context needs a minimal RoleDescription (name, RCS, RSG, checklists).
  2. Bridge authorship. Cross‑context work requires explicit Bridges with CL & loss notes.
  3. Vocabulary hygiene. Teams must stop using context‑less role labels.

Teaching distillation (60‑second recap)

“Give every action a badge with a Context. The badge is a U.RoleAssignment: Holder#Role:Context@Window. The badge is valid in time (window) and green in state (RSG + StateAssertion). A Method step names the badges it needs; a Work cites the exact badge that enacted it. If a badge comes from another Context, cross with a Bridge and respect its CL penalty. Keep SoD with , reuse expertise with , and require combos with . Documents don’t act — they hold status roles; only systems enact Work. With this, factories, clouds, and knowledge all speak the same, small grammar.”

So what? Adoption test (1 minute)

If a team claims to “use A.2.1”, a random audit sample should pass all of these in minutes:

  1. Badge locality: every role label is always read as Role:Context (or explicitly bridged), never as a global name.
  2. Work attribution: each sampled U.Work cites a concrete performedBy = U.RoleAssignment, not just a person/system string.
  3. Window + state gate: at the Work time, the assignment window fits and an enactable RSG StateAssertion exists (or the run is correctly blocked/exceptioned).
  4. No badge‑of‑badge: no assignment ever binds a U.Role or U.RoleAssignment as its holder.
  5. Status hygiene: no Episteme (Standard/Requirement/Evidence) is ever an actor of Work; it only gates/justifies/evaluates.

Rationale

  • Strict Distinction (A.7). Keeps identity (Holon) separate from assignment (RoleAssignment), behaviour (Method/Work), and knowledge (Episteme).
  • Ontological Parsimony (A.11). One universal binding, three tiny in‑Context relations (≤, ⊥, ⊗), no global role types.
  • Universal core (A.8). The same mechanism works across systems (machines, software, teams) and epistemes (standards, requirements), demonstrated in §5.
  • Lexical discipline (E.10.D1 & E.10.D2). Roles are context‑local; descriptions (RCS, RSG) are descriptions of intensional roles, not the roles themselves.
  • Assurance posture. Windows + RSG + StateAssertions make authorisation explicit and reviewable; Bridges + CL make cross‑Context reuse explicit and risk‑graded (B.3).

SoTA-Echoing (notes)

Topic this pattern leans onPost‑2015 anchor (example)How A.2.1 uses itStatus
Context‑local meaning boundariesVernon (2016) DDD Distilled; Newman (2021) Building Microservicesrole ∈ Roles(context); no equivalence by label; cross‑Context reuse via BridgesAdopt/Adapt
Roles as context‑dependent (anti‑rigid) typesGuizzardi et al. (2018–2022) work on roles in OntoUML/UFOSeparates holder identity from contextual function; prevents type explosionAdopt
Separation of duties & traceable responsibilityNIST SP 800‑53 Rev. 5 (2020); ISO/IEC 27001:2022 incompatibilities; auditable windows; reviewer independence hooksAdopt
Continuous authorisation / policy enforcementNIST SP 800‑207 (2020) Zero Trust ArchitectureWindow + RSG state as explicit gates; “green gate” as a checkable conditionAdapt
Checklist‑based state progressionOMG Essence 1.2 (2019)RSG states with explicit checklists and StateAssertionsAdapt
Requirements/standards as first‑class normative artefactsISO/IEC/IEEE 29148:2018; ISO 26262:2018Epistemes hold Normative‑Status/Requirement roles; Systems act; Work is evaluated against themAdopt

Relations

Builds on / depends on

  • A.1 Holonic FoundationU.Holon (holders).
  • A.1.1 U.BoundedContext — the Context of meaning.
  • A.2 Role Taxonomy — role kinds for Systems vs Epistemes; context‑local naming.
  • A.2.7 U.RoleAlgebra — in‑Context ≤/⊥/⊗ relations used for substitution, SoD, and bundles.
  • E.10.D1 (D.CTX) & E.10.D2 (Strict Distinction of intensional vs description) — locality & description discipline.

Enables / instantiated by

  • A.15 Role–Method–Work Alignment — step gating, performer linking, evaluation hooks.
  • B.1 Γ‑algebra — constructors/observers are simply roles enacted by systems.
  • B.3 Trust & Assurance Calculus — CL penalties on Bridges; evidence from StateAssertions.
  • D.2 Multi‑Scale Ethics — duties attach to roles; SoD encoded via .
  • F‑cluster (Unification Method) — Context definitions (F.1–F.4) and Bridges (F.9) consumed here.

Interacts with

  • C.* Patterns (Sys‑CAL, KD‑CAL, Method‑CAL, CHR‑CAL) — enactment hooks, measurement via Observations.
  • Service & Deontics (Part D/E) — obligations and acceptance evaluated against role‑gated Work.

A.2.1:End

A.2.2 — U.Capability

Context (plain‑language motivation)

In real projects we must answer two different questions:

  • “Can this system do X?” — this is about an ability inherent to the system.
  • “Is this system assigned to do X here and now?” — this is about an assignment (a Role assignment) inside a bounded context.

Teams frequently blur the two, and then further mix them with how the work is done (the Method) and what actually happened (the Work). U.Capability isolates ability as a first‑class concept so that you can plan realistically, staff responsibly, and audit cleanly.

Problem (what goes wrong without this concept)

  1. Permission ≠ ability. A Role assignment authorizes execution in a context; it does not prove the system can meet the required WorkScope and WorkMeasures.
  2. Recipe ≠ ability. A Method says how to do something; it does not guarantee that this holder can meet the target outcomes under the required constraints.
  3. Execution log ≠ ability. A past Work record does not, by itself, establish a stable ability; conditions may have been favorable or unique.
  4. Cross‑team confusion. Enterprise terms like “capability”, “service”, and the old “function” are used interchangeably; planning, staffing, and assurance become fragile.

Forces (what we must balance)

ForceTension we resolve
Stability vs. changeAbility is a relatively stable property of a system, yet it evolves with upgrades, wear, calibration, and environment.
Universality vs. domain‑specificityOne universal notion must serve robots, teams, and software services, while letting each domain keep its own performance vocabulary.
Evidence vs. simplicityWe want an ability claim to be evidence‑backed, but the core idea must stay simple enough for planning conversations.
Local conditions vs. reusabilityAbility depends on conditions (inputs, environment); still, the concept must be reusable across contexts via explicit scoping.

Solution — define the ability explicitly

A.2.2:4.1 Definition

U.Capability is a dispositional property of a U.System that states its ability to produce a class of outcomes (i.e., execute a class of Work) within a declared U.WorkScope (conditions/assumptions) and meeting stated U.WorkMeasures. It is not an assignment (Role), not a recipe (Method), and not an execution (Work).

One-liner to remember: Capability = “can do (within its WorkScope and measures)”, independent of “is assigned now” or “did do at time t”.

Capability declaration (summary). A capability SHALL declare, as separate items:

  • U.WorkScope (Work scope) — the set of U.ContextSlice under which the capability can deliver the intended U.Work (see A.2.6 §6.4);
  • U.WorkMeasures — measurable targets with units evaluated on a JobSlice (R‑lane facet);
  • U.QualificationWindow — the time policy that governs operational admissibility at Γ_time (R‑lane facet). Note. This separation supersedes the legacy “envelope + measures + validity interval” bundle. Work scope is the set of conditions (USM), not a Characteristic; measures are CHR‑characteristics; capability packages both.

Reminder (measurement & scope). WorkScope is a set‑valued USM object (membership, set algebra) and not a CHR Characteristic; WorkMeasures are CHR Characteristics with declared scales/units. Admission checks these separately (see § 10.3 WG‑2/WG‑3).

A.2.2:4.2 Conceptual descriptors (not a data schema)

When you describe a capability in a model or a review, anchor it by answering these five didactic prompts:

  1. Holder: Whose ability is this? → a specific U.System.
  2. Context: In which bounded context were the measures established?U.BoundedContext (strongly recommended for clarity and comparability).
  3. Task family: Ability to do what kind of work? → reference the relevant MethodDescription(s) or method family the system can execute.
  4. WorkScope: Under what conditions? → inputs/resources/environment assumptions (e.g., voltage, pressure, ambient, tool head).
  5. Performance measures: With what bounds? → CHR‑style measures (throughput, precision, latency, reliability, MTBF…) with ranges/targets.

Optional descriptors that improve trust without adding bureaucracy:

  • QualificationWindow: calibration/qualification window for the stated WorkScope (abilities drift).
  • Evidence: links to test reports, certifications, prior Work summaries (as Episteme).
  • Degradation/upgrade notes: known change points that affect the WorkScope.

Didactic guardrail: Capabilities are stated in positive, measurable terms (“can weld seam type W at ±0.2 mm up to 12/min at 18 °C–30 °C”). Avoid role words (“welder”) or recipe detail (step flows) here.

A.2.2:4.3 Shorthand for everyday speech

To keep discussions terse yet precise, teams often write:

  • “S#17 can <MethodDescription / task family> @ <WorkScope> → <measures>.”
  • Or as a bullet in a capability table scoped to a context, e.g., AssemblyLine_2025 Capability Sheet.

This is not a formal notation—just a consistent way to keep the five prompts in view.

Clear distinctions (litmus tests managers can apply)

If you are talking about…UseLitmus test
assignment (who is being what, where)Role → Role assignmentCan you reassign to another holder without changing the system’s composition? If yes → Role.
Ability (can do within bounds)CapabilityWould you still say “can do” even if not currently assigned? If yes → Capability.
Recipe (how‑to)Method / MethodDescriptionHas inputs/outputs and steps but no date/time.
Execution (what happened)WorkHas a start/end, consumed resources, left a log.
External promisePromise content (service promise clause)Framed as “we provide/guarantee to others.”
Law/model of changeDynamicsDescribes state evolution, not an ability of one system.

Two useful corollaries

  • A step in a Method may require a Role; optionally it may also stipulate a capability threshold (e.g., precision ≤ 0.2 mm). assignment and ability are checked separately.
  • A promise content clause depends on having the needed capabilities and being assigned/committed to deliver under the clause’s context (bind as U.Commitment when it is an obligation).

Archetypal grounding (parallel structural and organizational examples)

A.2.2:6.1 Physical system on a line (structural example)

  • Holder: RobotArm_A (U.System).
  • Task family: seam welding per Weld_MIG_v3 MethodDescription.
  • WorkScope: workpiece steel grades S235–S355; ambient 18–30 °C; argon mix 92–95 %; torch T‑MIG‑07.
  • Measures: bead width 6.0 mm ± 0.2 mm; throughput ≤ 12 seams/min; defect rate < 0.5 %.
  • Context: AssemblyLine_2025.
  • Readable claim: RobotArm_A can execute Weld_MIG_v3 within the stated WorkScope at the stated measures (AssemblyLine_2025).
  • What this is not: It is not “the welder”—that is a Role assignment when assigned on a shift. It is not the weld recipe— that is the MethodDescription.

A.2.2:6.2 Software service in operations (structural, cyber-physical)

  • Holder: PlannerService_v4 (deployed system).
  • Task family: job‑shop schedule generation per JS_Schedule_v4 MethodDescription.
  • WorkScope: 50–500 jobs; 5–40 machines; hard deadlines only; network latency ≤ 20 ms.
  • Measures: schedule completion within 0.95 of theoretical optimum (benchmark set), 98 % on‑time delivery in simulation.
  • Context: PlantScheduling_2025.
  • Use: Steps that “require ScheduleGeneration capability ≥ 0.90 optimality” will only pass if the holder’s capability meets or exceeds that bound.

A.2.2:6.3 Organizational unit (enterprise sense)

  • Holder: FinanceDept (U.System as OrgUnit).
  • Task family: period close per CloseBooks_v3 MethodDescription.
  • WorkScope: IFRS; ERP v12; 8 legal entities; staffing ≥ 6 FTE; cut‑off rules X.
  • Measures: close in ≤ 5 business days; adjustment error rate < 0.2 %.
  • Context: OperatingModel_2025.
  • Distinction: This is ability; the service promise clause “Provide month‑end close” is the external promise derived from this ability once formally offered.

Bias‑Annotation (as in cluster‑E patterns)

  • Lenses tested: Arch, Prag, Did, Epist.
  • Scope declaration: Universal; holder constrained to U.System.
  • Rationale: Gives the kernel a clean, reusable ability concept so Role (assignment), Method (recipe), Work (execution), and promise content (external promise clause) do not collapse into each other. Keeps planning talk truthful and checkable without introducing governance machinery here. U.Capability is a dispositional property of a U.System that states its ability to produce a class of outcomes (i.e., execute a class of Work) within a declared U.WorkScope (conditions/assumptions) and meeting stated U.WorkMeasures.

Conformance Checklist (normative)

CC‑A2.2‑1 (Holder type). A capability belongs to a U.System (physical, cyber, socio‑technical, or organizational). Capabilities are not assigned to U.Episteme.

CC‑A2.2‑2 (Separation of concerns). A capability is not a Role, not a Method/MethodDescription, not a Work, and not a promise content clause (U.PromiseContent). Models SHALL NOT use capability declarations to stand in for assignments, recipes, executions, or promises.

CC‑A2.2‑3 (WorkScope required for operational use). When a capability is used to qualify a step or to support planning, its statement MUST name a WorkScope (conditions/assumptions) and WorkMeasures (targets/ranges). Guards that admit Work MUST test that the holder’s WorkScope covers the step’s JobSlice (i.e., WorkScope ⊇ JobSlice) and that WorkMeasures meet the step’s thresholds, with an explicit Γ_time window bound. Without a WorkScope and measures, a capability is advisory and SHALL NOT be used for step admission or assurance claims.

CC‑A2.2‑4 (Context anchor). Capability statements that drive operational decisions MUST be anchored to a U.BoundedContext (the “Context” whose vocabulary and test norms apply).

CC‑A2.2‑5 (QualificationWindow). When capabilities are used operationally (e.g., to gate Work), the statement MUST carry a QualificationWindow (calibration window, software version window, etc.) and the guard MUST name the Γ_time window used for the check. Outside the QualificationWindow, the claim is not admissible for gating.

CC‑A2.2‑6 (Past work remains past). Updates to a capability statement SHALL NOT retroactively invalidate already recorded Work. Past Work is judged against the capability declaration that was valid at the time of execution.

CC‑A2.2‑7 (Threshold checks are orthogonal to roles). A step that requires both a Role and a capability threshold admits a Work only if both are satisfied: (i) the performer’s Role assignment is active in the step window; (ii) the holder’s capability meets or exceeds the threshold with WorkScope ⊇ JobSlice and within the QualificationWindow at the named Γ_time.

CC‑A2.2‑8 (Derived capabilities). If a capability is claimed for a composite system (assembled by Γ), the claim MUST be stated as a property of that composite holder (not of its parts) with clear dependency notes (e.g., “valid while Subsystem B meets X”). Details of derivation belong to the context’s methodology, not to this definition.

CC‑A2.2‑9 (No capability for epistemes). Algorithms, standards, and documents provide evidence or recipes; they do not “have capability.” Only systems do.

CC-A2.2-10 (Γ_time selector in guards). Scope-sensitive guards (including Method–Work gates) MUST include an explicit Γ_time selector indicating the window W over which ScopeCoverage and WorkMeasures are evaluated.

Capability thresholds on steps (how A.15 uses this concept)

A step in a Method may define required roles (assignment) and capability thresholds (ability). A Work passes the gate if:

  1. assignment check: the Work’s performedBy points to a valid Role assignment that covers the step window and satisfies the role relation (including specialization inside the context).
  2. Ability check: the holder of that Role assignment has a capability whose WorkScope covers the step’s JobSlice (i.e., declared superset) and whose WorkMeasures meet the step’s threshold(s) within Γ_time(W) and while the capability’s QualificationWindow includes W.

Idioms managers can reuse (plain text):

  • “S1 requires IncisionOperatorRole and Precision ≤ 0.2 mm (OR_2025 norms) in window W.”
  • “S2 requires PlannerRole, WorkScope ⊇ JobSlice[W], and Optimality ≥ 0.90 on JS_Schedule_v4.”

What to avoid:

  • Putting “Precision ≤ 0.2 mm” into the Role name. Keep thresholds attached to the step; keep ability on the holder.

Time and change (calibration, drift, upgrades)

Capabilities are stable but not static. Three simple practices keep reasoning honest:

  • Qualification windows. Abilities drift. Put a QualificationWindow on the statement (e.g., “valid for software v4.2; recalibration due 2025-09-30”).
  • Change points. Note upgrades/downgrades that affect the WorkScope or measures.
  • Snapshot at execution. When Work is recorded, it is implicitly tied to the then‑current capability statement; later edits do not rewrite history (see CC‑A2.2‑6).

Manager’s rule of thumb: if you would reschedule a job after a tool change, the capability statement needs a new window.

Composition and Γ (how assembled systems “can do”)

Γ builds a new holder (a composite system). Its capability is not the algebraic sum of parts; it is an ability of the whole under its own WorkScope.

  • Express at the whole. “Cell_3 can place 12 PCB/min with ±0.1 mm” — that is a capability of Cell_3, not of the pick‑and‑place head alone.
  • State dependencies. “Valid while Feeder_A delivers reels at ≥ X; vision subsystem calibrated ≤ 72 h ago.”
  • Constructor vs. transformer. The ConstructorRole builds the composite (Γ); the resulting TransformerRole may later act on products. Capability belongs to the holder relevant to the action (builder’s ability vs operator’s ability).

Interaction with Service Promise Clauses (external promise content)

A service promise clause (a U.PromiseContent) is a consumer‑facing external promise statement. It relies on capability but is not identical to it.

Note. The bare head noun service is polysemic; in normative prose it is treated as an always‑unpack token. Use A.6.8 (RPR‑SERV) to name the intended facet (promise clause vs endpoint vs work vs commitment).

  • From capability to service promise clause. You normally derive a service promise clause by taking a capability and fixing the promise outward (e.g., “We guarantee close ≤ 5 days”).
  • From service promise clause back to capability. If the promise raises the bar (e.g., tighter SLA), the underlying capability must meet or exceed it under the promise clause’s context.
  • Staffing. Delivering on a service promise clause still requires Role assignments; capability alone does not authorize action.

Memory aid: Capability = can do; service promise clause = promise to others that we will do.

Interaction with Dynamics (laws vs. abilities)

  • Dynamics describe how states evolve (models, laws, trajectories).
  • Capability says what this system can achieve within an WorkScope.
  • Dynamics often serve as evidence or explanatory models for capability but are not the capability itself.

Physics example: an “isothermal process” (process here as transformation) is a Work instance whose path is explained by a Dynamics episteme; a lab rig’s ability to run that path repeatably is its capability.

Anti‑patterns (and the right move)

  • Role‑as‑capability. “Welder role ensures ±0.2 mm.” → Keep role as assignment; put precision in a capability on the holder; put the threshold on the step.
  • Recipe‑as‑capability. “We have the ‘Etch_Al2O3’ capability.” → Recipe is Method/MethodDescription; ability is “can execute Etch_Al2O3 within WorkScope E at measures M.”
  • Work‑as‑capability. “We did it once, so we can.” → One Work log is not a stable ability; state envelope and measures if you want a capability claim.
  • Context‑less claims. “This tool can machine titanium.” → Say where and under what bounds (context + WorkScope + measures).
  • Stuffing capabilities into BoM/PBS. Structure lists what it is; capabilities belong to what it can do (the holder), not inside the parts list.
  • Service‑as‑capability. “We have the Month‑end Close capability (promise).” → Promise is a service promise clause (U.PromiseContent); ability is internal, promise is external.

Migration notes (quick wins for existing texts)

  1. Underline WorkScopes. For every “can do” sentence, add conditions and measures; otherwise treat it as background color, not a gate.
  2. Pull thresholds out of roles. Move “≤ 0.2 mm”, “≥ 0.90 optimality” from role labels into step requirements; leave roles clean (assignments).
  3. Pin contexts. Add the bounded context name to each capability table (“Capability Sheet — AssemblyLine_2025”).
  4. Snapshot validity. Add a “valid through” column (software version or calibration horizon).
  5. Separate recipe/execution. Move flowcharts under MethodDescription, runs under Work; link the capability to the holder with references to those specs.

Consequences

BenefitsTrade‑offs / mitigations
Truthful planning. Schedulers and managers can ask “can do?” independently of “assigned now?”Extra column in tables. Adding scope/measures/valid‑through is a small burden that repays itself in fewer reschedules.
Safer gating. Steps gate on both role and ability; fewer silent failures.Two checks instead of one. Keep the checklist simple: badge + bounds.
Clear service design. Services become explicit promises built on visible abilities.Temptation to over‑promise. Keep service SLOs within demonstrated capability measures.
Clean separation with Dynamics and PBS/SBS. No more “process” or “function” soup.Some retraining. Use the litmus tables (from the lexical rules) during onboarding.

Relations

  • Builds on: A.1 Holonic Foundation; A.1.1 U.BoundedContext; A.2 Role; A.2.1 U.RoleAssignment.
  • Coordinates with: A.3 (Transformation & role masks); A.15 (Role–Method–Work Alignment).
  • Constrains: Step design: thresholds belong on steps; BoM/PBS must stay structural.
  • Informs: U.PromiseContent definitional pattern (external promises derive from capabilities); U.Dynamics definitional pattern (models used as evidence or predictors); Γ/aggregation (capability of composites is stated at the whole).
  • Lexical guards: E.10.x L‑FUNC (do not call capability “function”); E.10.y L‑PROC (do not call capability “process”).

Didactic quick cards (reuse in specs and slides)

  • Capability = can do (within bounds). assignment ≠ ability ≠ recipe ≠ execution ≠ promise.
  • Gate every critical step with two checks: badge (Role assignment) + bounds (Capability).
  • Write the Context on every claim: context name, WorkScope, measures, QualificationWindow/valid-through.

A.2.2:End

U.PromiseContent (Promise Content)

Context

Across domains the word service is used for many different things: a server or provider, an API, a procedure, a run, a department, even a product bundle. Such polysemy is productive in everyday speech but toxic in a normative model.

FPF therefore reserves U.PromiseContent for exactly one kernel meaning: promise content — a promise content (a consumer‑facing promise statement). Any other “service” sense MUST be modeled explicitly as U.System, U.RoleAssignment/principal, U.MethodDescription, or U.Work inside an appropriate U.BoundedContext and, in normative prose, MUST be written with an explicit facet head phrase per A.6.8 (RPR‑SERV).

This keeps the kernel minimal while keeping the prose readable to non‑mathematicians: the canonical symbol is U.PromiseContent, and the head kind in normative text is always promise content.

Modularity note. A.2.3 defines only the promise‑content object (the promise content) and its direct links to roles, access specification, acceptance criteria, and work evidence. The multi‑facet “service situation” bundle that also names provider principals/systems/access points/commitments/acts is handled as a precision‑restoration lens in A.6.8 (serviceSituation(…)). Contract‑talk unpacking (and routing of “contract / SLA / guarantee” language) is handled by A.6.C, which calls A.6.8 when service‑cluster tokens appear.

In the Role–Method–Work alignment, the promise content must say something external‑facing and consumer‑oriented, yet remain separate from how the provider does it (Method/MethodDescription) and what actually happened (Work).

Intuition: the consumer-facing promise clause is what you advertise and are judged by (U.PromiseContent); work is what you do to keep that promise; method/spec is how you know what to do. (See A.6.8 for full “service” polysemy unpacking.) (Normative head-kind rewrite): a promise content is the promise clause you advertise and are judged by; work is what you do (and what can be evidenced) to satisfy that promise; method/spec is how you know what to do.

Lexical note (L‑SERV / RPR‑SERV)

The surface forms service/service‑level/service use/service access (and the adjacent cluster service provider, server) are ambiguous across domains. In the kernel, U.PromiseContent is reserved for promise content only and is written in prose as a promise content.

Normative prose therefore SHALL treat the bare head noun service as always‑unpack (PTG=Guarded): every head‑noun occurrence MUST be rewritten to a facet head phrase (promise content / service provider principal / service access point / service delivery system / …) or to the correct underlying FPF object (team, ticket, endpoint host, procedure, work item), per A.6.8 (RPR‑SERV).

E.10’s lexical anchor L‑SERV SHOULD be implemented as “pointer + lint rule” to A.6.8: the short rule names the hazard, while A.6.8 provides the full rewrite recipe and the facet head phrase set.

Problem

Without a first‑class U.PromiseContent, models drift into five recurring errors:

  1. Provider = Service. Calling the system or team “the service” collapses structure with promise.
  2. API = Service. Treating an interface/endpoint as the service hides the consumer‑oriented promise (effect + acceptance).
  3. Process = Service. Mapping a procedure/Method (or a WorkPlan) to “service” confuses recipe/schedule with the external commitment.
  4. Run = Service. Logging Work as “a service” erases the Standard/promise layer and breaks SLA reasoning.
  5. Business ontology lock‑in. Large domain schemes (e.g., “business service” stacks) are imported wholesale, losing FPF’s universality and comparability across contexts.

Forces

ForceTension
External promise vs internal capabilityPromise content must be consumer‑facing, while capability is provider‑internal.
Specification vs executionPromise content is a specifiable clause; value is realised only by runs of Work.
Universality vs domain richnessOne kernel meaning must cover IT, utilities, healthcare, public services—without absorbing domain taxonomies.
Measurability vs privacyConsumers need SLO/SLA and outcomes; providers want implementation freedom (Method autonomy).
Stability vs evolutionServices version and change without invalidating prior Work evidence.

Solution — The unified concept U.PromiseContent

Definition (normative). Within a U.BoundedContext, a U.PromiseContent is an externally oriented promise clause: a context‑local statement of (i) a promised external effect, (ii) eligibility + access (how a consumer may request/use), and (iii) acceptance criteria (SLO/SLA‑like targets) by which fulfillment is judged.

U.PromiseContent is promise content (U.Episteme), not a deontic binding. One or more explicit U.Commitment objects (A.2.8) MAY reference a U.PromiseContent as payload to bind an accountable principal/role‑assignment; the clause itself does not “obligate” anyone until such a commitment is represented.

In normative prose, the head phrase for U.PromiseContent is promise content (or service offering clause / service promise clause) per A.6.8; the bare noun service is not a valid shorthand for this kernel object.

  • Type: U.Episteme (a promise clause on a carrier).
  • Scope: design‑time concept; judged at run‑time by evidence from U.Work.
  • Time stance: design-time concept; judged at run-time by evidence from U.Work.
  • Orientation: consumer‑facing (“what you can rely on”), as opposed to capability (“what we can do”).
  • Prose head (normative): promise content (Tech) / service offering clause (Plain; service promise clause acceptable synonym). (Both twins retain an explicit clause head‑kind to avoid act/content ambiguity and to comply with A.6.8 headword governance.)

Core structure (minimal fields)

U.PromiseContent {
  context        : U.BoundedContext,   // where the promise is meaningful
  purpose        : Text/Episteme,      // the externally observable effect/value
  providerRole   : U.Role,             // role kind that may provide it (not a person/system)
  consumerRole?  : U.Role,             // optional role kind allowed to consume
  claimScope?    : U.ClaimScope,       // where the promise holds (G) — operating conditions/populations/locales
  accessSpec?    : U.MethodDescription,       // service access spec: request-facing interface/eligibility; not an access point system
  acceptanceSpec : U.Episteme,         // targets: SLO / acceptance targets (quality/throughput/latency/accuracy…); evaluated over same evidence base as promisedOutcomeSpecRef (CC‑A2.3‑18)
  promisedOutcomeSpecRef : OutcomeSpecRef, // promised outcome (work, result, or both) in disambiguated spec form
  unitOfDelivery?: Episteme,           // how delivered units are counted/measured (unit + countingRule; see A.7:5.10)
  version?       : SemVer/Text,
  timespan?      : Interval
}
  • promisedOutcomeSpecRef MUST point to a U.OutcomeSpec (A.7:5.10). It is the promise‑facing outcome template (work‑only / result‑only / composite), not a U.Work episode and not an extensional delivered object.
  • providerRole and consumerRole are role kinds; the actual performers are RoleAssignments at run‑time.
  • acceptanceSpec defines what counts as fulfilled (the test).
  • accessSpec is how to ask (eligibility, protocol, counter, desk, API).
  • Internal delivery methods/runbooks are not part of the promise content. Model them as U.MethodDescription and relate them to the clause via serviceSituation(…) (A.6.8) or explicit context relations; providers retain Method autonomy.

Promised outcome spec (disambiguation: work vs post-work result)

promisedOutcomeSpecRef points to an U.OutcomeSpec episteme that makes explicit what exactly is promised — in kind/spec form — without collapsing it into either:

  • the promise content clause itself (U.PromiseContent),
  • the delivery work that happens at run‑time (U.Work), or
  • the resulting state/object after the work.

This is a controlled semantic precision restoration for the everyday metonymy “outcome/service outcome”, which different communities use to mean (i) the work performed, (ii) the achieved result, or (iii) both.

Terminology bridge (informative). In loose contract talk people say promiseOutcomeSpec (the description of what will be delivered) and promiseOutcome (what was actually delivered). Those surface forms are metonymic: sometimes they mean “the work performed”, sometimes “the post‑work result”, and sometimes the pair.

In FPF:

  • promiseOutcomeSpecU.OutcomeSpec (A.7:5.10), referenced via promisedOutcomeSpecRef.

  • promiseOutcome → an extensional delivered outcome instance. It is not a single kernel object; it is the run‑time reality that satisfies the outcome spec, understood according to U.OutcomeSpec.mode:

    • WorkOnly → the set of delivery U.Work episode(s) that satisfy workSpec (and, if present, the promised methodConstraintRef).
    • ResultOnly → the post‑work state of the described referent(s) on the declared statePlaneRef that satisfies resultSpec.postConditionRef (regardless of how it was achieved).
    • Composite → the pair: (delivery Work episode(s), post‑work state).

    FPF points to this extensional delivered outcome instance by citing: (i) the relevant U.Work occurrence(s) and (ii) their Δ anchors (affected referents + pre/post anchors) on the declared state‑plane (A.15.1:4.2 item 10). Evidence carriers/telemetry are epistemic witnesses used to justify those anchors and acceptance verdicts—they are not themselves the delivered outcome.

If a Context needs an explicit handle for the delivered instance (e.g., for bundling, invoicing, or dispute cases), it MAY introduce a local kind such as OutcomeInstance with separate slots for: {workRefs, affectedEntityRefs, postStateAnchors, evidenceRefs}. Such a local reification MUST keep (a) the extensional delivered instance, (b) the evidence about it, and (c) the outcome spec (U.OutcomeSpec) distinct.

A conforming U.OutcomeSpec uses the canonical shape from A.7:5.10.2:

U.OutcomeSpec ::= {
  mode: WorkOnly | ResultOnly | Composite,

  workSpec?: {
    methodConstraintRef?: MethodDescriptionRef,   // optional: method is part of the promise (not “implementation detail”)
    workPredicateRef: EpistemeRef                 // predicate on `U.Work` facts/evidence
  },

  resultSpec?: {
    describedEntityRef?: EntityRef,               // what thing’s post‑state matters (may be kind‑labelled)
    statePlaneRef?: StatePlaneRef,                // where the predicate lives (A.7:3 pins)
    postConditionRef: EpistemeRef                 // predicate on post‑state (or evidence about it)
  }
}
  • workSpec corresponds to the work‑as‑promised facet: it states the consumer‑facing kind of work (optionally constraining method) and the work predicate (e.g., duration, method ban, safety bound).
  • resultSpec corresponds to the result‑as‑promised facet: it states the post‑work entity/state kind and the postcondition predicate.
  • Counting is not part of U.OutcomeSpec. Counting lives on U.PromiseContent.unitOfDelivery as the countingRule mini‑schema (A.7:5.10.3). Outcome specs say what counts as delivery; unit‑of‑delivery specs say how much to count and how to avoid double counting.

Examples (informative):

  • “Work 5 minutes” → mode=WorkOnly; workPredicateRef states duration ≥ 5 min; methodConstraintRef may be omitted.
  • “Dig a hole” → mode=ResultOnly; postConditionRef describes the hole’s target state; method choice remains provider‑autonomous.
  • “Hairstyle in ≤ 20 min, must be haircut+styling (not a wig)” → mode=Composite; workSpec expresses time + method constraint; resultSpec expresses the target hairstyle state.

Naming note (normative). The head noun outcome is intentionally broad. Do not replace it with result when referring to the combined promise payload. If a passage means the post‑work entity/state only, say result and bind it to resultSpec. If it means the work episode(s) promised, say work as promised and bind it to workSpec.

acceptanceSpec : U.Episteme is intentionally open‑ended in Core. However, to keep acceptance computable (and to avoid the legacy “pass verdict separate from delivery” mistake), Contexts are encouraged to express acceptanceSpec as a small bundle of references:

AcceptanceSpec (recommended) ::= {
  targetOutcomeSpecRef?: OutcomeSpecRef,  // default: SC.promisedOutcomeSpecRef
  criteriaRefs: [EpistemeRef],            // each criterion evaluates the *delivery evidence base* (U.Work facts + Δ anchors + admissible Observations)
  verdictScale: Episteme/ScaleRef,        // pass/fail/graded; MUST state how “non‑delivery” is represented
  Γ_timePolicyRef?: EpistemeRef           // how Γ_time is selected (per‑Work, per calendar window, per batch, per population, …)
}
  • targetOutcomeSpecRef makes explicit which promised outcome is being judged; if omitted, it is the containing promise content’s promisedOutcomeSpecRef.
  • criteriaRefs are the acceptance criteria (SLO targets, quality gates, compliance predicates, etc.). Each criterion is an evaluation over the same evidence base used to establish delivery of the targeted U.OutcomeSpec: U.Work facts/evidence plus the relevant Δ anchors (affected referents + pre/post anchors) on the declared state‑plane, and any admissible U.Observation witnesses.
  • verdictScale declares the decision scale (boolean, trichotomy, graded). It MUST define what happens when the outcome is not delivered (e.g., fail, N/A, Inconclusive, or a dedicated grade).
  • Γ_timePolicyRef keeps windowing explicit and non‑retroactive (F.10/F.12): it states whether judgement is per Work episode, per reporting window, per population, etc.

This mini‑schema is a recommendation only: it is not a kernel object and may be flattened, encoded in a canonical SLO vocabulary, or carried in local contract artefacts. Its purpose is to keep acceptance discussable, auditable, and bridge‑ready.

What U.PromiseContent is not

  • Not a provider: use System#ServiceProviderRole:Context U.RoleAssignment.
  • Not a deontic commitment: that is U.Commitment (A.2.8) referencing the promise content as payload.
  • Not an access point: addressable “services/servers/desks/endpoints” are U.System (see A.6.8: service access point / service delivery system).
  • Not a method/recipe: that is U.Method/MethodDescription.
  • Not a run/incident/ticket: that is U.Work.
  • Not a schedule: that is U.WorkPlan.
  • Not a capability: capability is provider‑intrinsic ability; service is outward promise. A service may require certain capabilities, but it is not the capability.
  • Not a scope label: do not use applicability, envelope, generality, or validity as names for scope objects; declare Claim scope (G) or Work scope explicitly where needed (A.2.6).

Position in the enactment chain

  • Design‑time: The context declares Claim scope (G) for acceptance (operating conditions, populations, locales) per A.2.6. The context may assert: bindsCapability(ServiceProviderRole, Capability). Providers choose Method/MethodDescription to realise the promised effect described by the promise content.

  • Run‑time: A consumer performs Work (e.g., a request/visit) — performedBy: ConsumerRoleAssigning. The provider performs Work to fulfil the promise content — performedBy: ProviderRoleAssigning. Delivered Work instances are evaluated against acceptanceSpec, linked to promisedOutcomeSpecRef, and counted via unitOfDelivery. SLA/SLO outcomes are therefore functions over Work evidence, not over the promise content object itself.

    (Terminology note: use …RoleAssignment consistently for the run‑time enactor relation; avoid the “RoleAssigning” variant unless it is a separately defined kind in the Context.)

Memory hook: Promise content promises, Method describes, Work proves.

Didactic card: The service delivery chain (clause → commitment → situation → work → acceptance)

Didactic (non‑normative). This is a one‑screen “map” that stitches the modular pieces together: U.PromiseContent (A.2.3) → U.Commitment (A.2.8) → provider U.RoleAssignment (A.2.1) → serviceSituation(...) facet slots (A.6.8 lens) → U.Work + carriers (A.15) → acceptance verdict (A.2.3).

This is not new ontology. It is a reader‑safety diagram that prevents two common category errors: (i) treating U.PromiseContent as something addressable (“the service you call”), and (ii) treating serviceSituation(...) as semantics rather than a binding lens over already‑defined kinds.

flowchart LR
  SC["Promise content<br/>(U.PromiseContent · Episteme)"]
  C["Commitment<br/>(U.Commitment · D)"]
  RA["Provider role assignment<br/>(U.RoleAssignment · accountable subject in Context/window)"]

  subgraph LENS["Optional lens (A.6.8): serviceSituation(...)"]
    AS["Access spec<br/>(U.MethodDescription · request‑facing)"]
    AP["Access point<br/>(U.System · addressable)"]
    DS["Delivery system<br/>(U.System · realizer)"]
    DM["Delivery method<br/>(U.MethodDescription · runbook/procedure)"]
  end

  W["Work + evidence<br/>(U.Work + carriers · E)"]
  V["Acceptance verdict<br/>(pass/fail/grade; computed)"]

  SC -->|"payload/ref"| C
  C -->|"binds subject"| RA

  RA --> AS
  RA --> AP
  RA --> DS
  RA --> DM

  AS -->|"invoked via"| W
  AP -->|"requests arrive via"| W
  DS -->|"fulfillment work"| W
  DM -->|"procedure used in"| W

  W -->|"evaluate"| V
  SC -->|"acceptanceSpec"| V

Reading guide (one breath).

  • The promise content is what is promised (promise content).
  • The commitment is who is bound (deontic accountability) and it references the clause.
  • The provider role assignment is the accountable subject that can act in a given Context/window.
  • serviceSituation(...) (A.6.8) is a facet‑binding lens that names the common “service talk” participants (access spec / access point / delivery system / delivery method) without collapsing them into the clause.
  • Work + evidence is what happened; the acceptance verdict is computed by applying the clause’s acceptanceSpec to work evidence (not by reading the clause, and not by “looking at the service” as a system).

Litmus rule (addressability). If you can call / connect to / visit / restart / scale it, you are talking about a service access point (system facet), not the promise content (promise content).

Archetypal grounding (engineer‑manager friendly)

DomainU.PromiseContent (promise)Provider & Consumer (as Roles)Access (how to ask)Fulfilment (Work)Typical acceptance targets
Cloud/ITObject Storage: durable PUT/GET of blobs up to 5 TB”CloudTeam#ServiceProviderRole, BackupJob#ServiceConsumerRoleS3_API_Spec_vX (MethodDescription)Each PUT/GET run; data durability checksAvailability ≥ 99.9%, durability 11×9
Manufacturing UtilityCompressed air at 8 bar in Zone B”Maintenance#Provider, LineB#ConsumerManifold access rules (AccessSpec)Compressor cycles & delivery logsPressure window, purity class, flow ceiling
Public ServicePassport issuance within 20 days”Agency#Issuer, Citizen#ApplicantPortal/desk SOP (AccessSpec)Case handling runsLead time ≤ 20 days, defect ≤ 1%

Key takeaway: the same kernel object models S3, a plant utility, and a government service: a promise with access and acceptance. Everything else (APIs, compressors, clerks, workflows, tickets) is mapped via Role/Method/Work.

Mapping the common “service” picture to FPF (didactic bridge)

The popular service diagrams (provider ↔ access ↔ use ↔ capability/activity) map to FPF as follows:

  • Agent (as Service Provider)System#ServiceProviderRole:Context (U.RoleAssignment).

  • Service Level Objective (SLO) / acceptance targets → U.PromiseContent.acceptanceSpec (+ optional WorkPlan for windows).

  • Service Level Agreement (SLA) (binding obligation) → U.Commitment referencing the relevant U.PromiseContent (and, where needed, its acceptance/evidence specs); use A.6.C Contract Bundle when packaging “the SLA” as an artefact set.

  • SLA document / published termsU.SpeechAct (promise/offer act) + the clause carrier (U.Episteme), per A.2.9 + A.7.

  • Operating conditions / “where the promise holds”claimScope : U.ClaimScope (G) (or embedded in acceptanceSpec) per A.2.6.

  • Subject of service (“customer material”: asset/data/person/case whose state is changed)promisedOutcomeSpecRef.resultSpec.describedEntityRef (and the affected referents in delivery U.Work.Δ). “Ours vs theirs” (ownership/custody) is modeled as a role/relationship inside the Context (e.g., OwnerRole:…, CustomerRole:…, operated‑by/owned‑by), not as a Kernel‑global property.

  • Service Presence / AccessaccessSpec : MethodDescription (interface/eligibility); actual endpoints are systems playing interface roles.

  • Individual Service Useconsumer and provider U.Work instances linked to the U.PromiseContent they fulfil.

  • Service‑Enabled Capability / Activity → effects on the consumer side: either a Capability gained/used, or Work performed; do not reify as a new kernel type.

(Where a domain needs richer structures—catalogs, exposure layers, charging, entitlement—model them in the domain context and relate them to U.PromiseContent via U.RoleAssignment and alignment bridges.)

Conformance Checklist (normative)

CC‑A2.3‑0 (Prose head phrase). In normative prose, an instance of U.PromiseContent SHALL be referred to as a promise content (or service offering clause / service promise clause) and SHALL NOT be referenced by the bare head noun service. Unqualified service usage (and the co‑moving cluster service provider / server) SHALL be unpacked per A.6.8 (RPR‑SERV).

CC‑A2.3‑1 (Type). U.PromiseContent IS an U.Episteme (a consumer‑facing promise content on a carrier). It is not a U.System, not a U.Method/MethodDescription, not a U.Work, and not a U.WorkPlan.

CC‑A2.3‑2 (Context). Every promise content MUST be declared inside a U.BoundedContext. Names and meaning are local; cross‑context reuse requires a Bridge (U.Alignment).

CC‑A2.3‑3 (Role kinds, not people/systems). providerRole and (if used) consumerRole MUST be role kinds (see A.2). Actual performers at run‑time are U.RoleAssignments.

CC-A2.3-4 (Acceptance). acceptanceSpec MUST be present and MUST define how delivered U.Work is judged (pass/fail/graded) against declared targets (SLO‑style; any SLA deontics bind via U.Commitment), and MUST declare Claim scope (G) where relevant (operating conditions, populations, locales). Every verdict binds to an explicit Γ_time window. If the acceptance criteria mention measurable characteristics (availability, latency, accuracy, cost, safety, …), each such characteristic MUST be introduced via the Characterization patterns (C.16 / C.25): an explicit U.Characteristic (with scale/unit and measurement procedure / evidence carrier), referenced by id rather than only by a bare KPI name.

CC‑A2.3‑5 (Access). If consumers must request/obtain service delivery work through a request‑facing interface, accessSpec MUST reference the MethodDescription that defines eligibility and invocation rules (API/desk/SOP). If the service access point is ambient (e.g., compressed air on a manifold), accessSpec MAY be omitted, but the eligibility condition MUST be stated in the Context.

CC‑A2.3‑6 (Unit of delivery + counting rule). If performance is counted/charged, unitOfDelivery SHOULD be declared (e.g., “request”, “kWh”, “case”). When declared, unitOfDelivery MUST include a countingRule that maps accepted delivery work episodes (W✓) to unit counts (A.7:5.10). If omitted, the default is “1 unit per accepted delivery work episode”.

CC‑A2.3‑7 (No actuals on Promise Content). Resource/time actuals and incident logs MUST attach to U.Work only (A.15.1). Promise contents carry no actuals.

CC‑A2.3‑8 (Capability requirement). If the context requires provider abilities, it MUST express them as bindsCapability(providerRole, Capability) in the context, not by stuffing capabilities into the Service object.

CC‑A2.3‑9 (Versioning & timespan). Promise contents MAY carry version/timespan. A U.Work that claims/fulfils a promise content MUST record which service‑clause version it used.

CC‑A2.3‑10 (Lexical rule). Unqualified head‑noun uses of service (and the co‑moving cluster service provider / server) in normative prose MUST be disambiguated per A.6.8 (RPR‑SERV) and its lexical anchor L‑SERV (E.10).

CC‑A2.3‑11 (No mereology). Do not place a promise content clause in PBS/SBS or treat it as a part/component. Structural assemblies live in PBS/SBS; the promise clause is an episteme (A.2.3) and “service” talk must be facet‑unpacked (A.6.8).

CC‑A2.3‑12 (Plan–run split). Windows and calendars belong to U.WorkPlan (A.15.2). Fulfilment evidence belongs to U.Work (A.15.1).

CC-A2.3-13 (Scope lexicon & guards). Deprecated labels applicability/envelope/generality/validity MUST NOT appear as names for scope objects in guards or conformance blocks. Use U.ClaimScope (G) for epistemes and U.WorkScope for capabilities (A.2.6/A.2.2). Scope-sensitive guards MUST use ScopeCoverage with explicit Γ_time selectors.

CC-A2.3-14 (Bridges & CL). Cross-context mappings via Bridges keep F/G stable; CL penalties apply to R. A mapping MAY recommend narrowing the mapped Claim scope (G) as best practice (A.2.6/B-line).

CC-A2.3-15 (OutcomeSpec typing). promisedOutcomeSpecRef MUST resolve to U.OutcomeSpec (A.7:5.10). It MUST NOT be used to point at a concrete U.Work episode or at an extensional delivered object.

CC-A2.3-16 (OutcomeSpec is explicit and mode‑complete). promisedOutcomeSpecRef MUST be present and MUST reference an U.OutcomeSpec that declares mode ∈ {WorkOnly, ResultOnly, Composite} and satisfies A.7:5.10 mode completeness:

  • WorkOnlyworkSpec present, resultSpec absent
  • ResultOnlyresultSpec present, workSpec absent
  • Composite → both workSpec and resultSpec present

CC-A2.3-17 (OutcomeSpec ⇄ Work anchoring). For any U.Work that claimsPromiseContent(-, SC) (and especially for fulfilsPromiseContent(-, SC)), the Context MUST be able to derive an evidence link from that Work to SC.promisedOutcomeSpecRef:

  • if SC.promisedOutcomeSpecRef.workSpec is present, the Work is compatible with methodConstraintRef (if present) and satisfies workPredicateRef;
  • if SC.promisedOutcomeSpecRef.resultSpec is present, the Work’s outputs / affected referents / effect‑delta (and cited evidence carriers) satisfy postConditionRef on the referenced statePlaneRef (or its declared default plane). (You MAY materialize this as deliversPromisedOutcome(Work, OutcomeSpec) per A.2.3:8.1 for auditability.)

CC-A2.3-18 (AcceptanceSpec ⇄ OutcomeSpec binding). acceptanceSpec MUST be written as an evaluation over the same evidence base used to establish delivery of SC.promisedOutcomeSpecRef. In particular, a Work MUST NOT be judged “pass” for a promise content unless it also delivers the promised outcome spec (see fulfilsPromiseContent in A.2.3:8.1). If the Context uses multi‑grade verdicts, it MUST declare how “non‑delivery” is represented (fail, N/A, separate grade).

CC-A2.3-19 (OutcomeSpec ↔ unitOfDelivery coherence). If unitOfDelivery is present, its countingRule.selectorRef MUST select only Work episodes that are eligible to satisfy SC.promisedOutcomeSpecRef (WorkOnly / ResultOnly / Composite) and MUST define how to avoid double counting (via an explicit dedupeKeyRef or a policy cited by id) when a single Work episode can satisfy multiple clauses/bundles. The selector MAY be “all fulfilments” (fulfilsPromiseContent) but MUST NOT count non‑delivering Work episodes.

CC-A2.3-20 (Unit-of-delivery is computable from Work evidence). If unitOfDelivery is present, then it MUST declare how delivered units are computed from Work evidence (duration, quantity, cases, kWh, etc) per A.7:5.10.3. The default “1 unit per fulfilment Work” is permitted only when unitOfDelivery is a pure count of fulfilment episodes.

Evidence relations & operators (Promise content ⇄ Work)

To keep the promise → evidence path explicit:

Core relations

  • claimsPromiseContent(Work, PromiseContent) — the Work instance intends to fulfil the promise content (pre‑verdict).
  • deliversPromisedOutcome(Work, OutcomeSpec) — the Work instance evidences delivery of the promised outcome spec (work facet and/or result facet); derived from Work’s I/O/Δ plus the U.OutcomeSpec (and MAY be asserted explicitly for auditability).
  • acceptanceVerdict(Work, PromiseContent) → {pass, fail, partial, context‑specific grades} — computed by applying acceptanceSpec (with its declared Γ_time and claim scope) to the same Work facts/evidence used to establish delivery.
  • fulfilsPromiseContent(Work, PromiseContent) — the Work instance both (i) delivers the promised outcome spec and (ii) passes the promise content’s acceptanceSpec.
  • usesAccess(Work, MethodDescription) — consumer Work that invokes the service via its accessSpec (when applicable).

Invariant: fulfilsPromiseContent(W,SC)claimsPromiseContent(W,SC) and deliversPromisedOutcome(W, SC.promisedOutcomeSpecRef) and acceptanceVerdict(W,SC)=pass. Invariant: A Work can claim/fulfil multiple promise contents only if the context declares a counting policy (no silent double‑counting).

Service‑clause performance operators

Let W(SC, T) be the set of Work that claimsPromiseContent(-,SC) within time window T. Let W✓(SC, T) be those with fulfilsPromiseContent.

  • Delivered units: delivered(SC, T) is computed from the set W✓(SC, T) using unitOfDelivery’s countingRule (A.7:5.10). Default (when unitOfDelivery is absent): delivered(SC, T) = |W✓(SC, T)| (one unit per accepted delivery work).
  • Rejection rate: rejectRate(SC, T) = 1 − |W✓(SC,T)| / |W(SC,T)| (declare handling of partial).
  • Lead time: average/percentile of duration(Work) or of request→completion delta (declare definition).
  • Availability/Uptime: computed from Work/telemetry events per the context’s definition (declare availability source).
  • Cost‑to‑serve: sum of Γ_work over W✓ per resource category (A.15.1).

All metrics are functions of Work evidence; the promise content object is never the bearer of actuals. Aggregation across time uses Γ_time policies (union vs convex hull) chosen by the KPI owner.

Anti‑patterns (and the right move)

  • “The microservice is the service.” Rewrite to facet‑explicit terms (A.6.8): the microservice is typically a service delivery system (U.System) and/or a service access point (U.System). Keep the promise content as a promise content in U.PromiseContent, and bind accountability via U.Commitment if needed.

  • “The API is the service.” The API is typically a service access spec (accessSpec : MethodDescription) (and systems playing interface roles). The promise content is the promise content judged by acceptanceSpec.

  • “Our process is the service.” Process/recipe is U.Method/MethodDescription; schedule is U.WorkPlan. The promise content is what is promised to the consumer.

  • “The ticket is the service.” A ticket/case is U.Work (and perhaps a WorkPlan item). Evidence and outcomes sit on Work, not on the promise content.

  • “Attach cost to the service.” Actual cost/time attach to U.Work only (A.15.1). Service metrics are computed from Work.

  • “Put service under BoM.” Services are not structural parts. Keep PBS/SBS clean.

  • “Hard‑code people into the service.” Name role kinds in the promise content (U.PromiseContent); run‑time performers are U.RoleAssignments.

Migration notes (quick wins)

  1. Name the promises. List 5–15 consumer‑facing promises your context lives by; reify each as U.PromiseContent with acceptanceSpec and, if needed, accessSpec and unitOfDelivery.
  2. Separate provider from promise content. Keep systems/teams as U.System; make them providers via …#ServiceProviderRole:Context.
  3. Wire evidence. Ensure every relevant U.Work has claimsPromiseContent (and fulfilsPromiseContent post‑verdict).
  4. Choose metrics. For each Service/promise content, define 2–4 KPIs and the exact Work-based formulas (availability, lead-time, rejection rate, cost-to-serve), declare the Claim scope (G) and Γ_time policy used for each KPI, and—when KPIs are numeric/comparable—define the underlying U.Characteristic + measurement procedure/evidence (C.16/C.25) and pin {UnitType, ScaleKind, ReferencePlane, EditionId}. → For each promise content, define 2–4 KPIs and the exact Work-based formulas, with explicit Γ_time.
  5. Bridge domains. If a business ontology already exists (“business/technical/internal service”), keep it in its own context and map to FPF Kinds via Bridges.
  6. Tidy language. Apply A.6.8 (RPR‑SERV) / L‑SERV: ban unqualified “service” as a synonym for server/team/process/ticket in normative prose; map them explicitly.

Relations

  • Builds on: A.1.1 U.BoundedContext; A.2 U.Role; A.2.1 U.RoleAssignment; A.2.2 U.Capability; A.2.6 U.Scope / U.ClaimScope (G) / U.WorkScope.
  • Coordinates with: A.3.1 U.Method; A.3.2 U.MethodDescription; A.15.1 U.Work; A.15.2 U.WorkPlan; A.6.8 (RPR‑SERV) for normative prose unpacking of the service cluster; B-line Bridges & CL (CL→R; may recommend ΔG narrowing).
  • Constrained by lexical rules: E.10 L‑SERV (service disambiguation); also L‑FUNC, L‑PROC, L‑SCHED, L‑ACT.
  • Informs: Reporting/assurance patterns (service KPIs, SLA dashboards); catalog/exposure patterns in domain contexts.

Didactic quick cards (engineer‑manager ready)

  • Promise content = Promise content. What we advertise and are judged by.
  • Method/Spec = Recipe. How we usually do it (provider‑internal).
  • Work = Evidence. What actually happened and consumed resources.
  • Provider/Consumer = Roles. assignment via RoleAssigning at run‑time.
  • Metrics from Work. Uptime, lead time, quality are computed from Work, not from the Service object.
  • Keep PBS/SBS clean. Services are not parts; they are promises.

A.2.3:End

U.EvidenceRole

This pattern defines how a knowledge artefact (“episteme”) serves as evidence for a specific claim or theory inside a bounded context. It is a non-behavioural role enacted via U.RoleAssignment; the evidence-role assignment must declare the target claim, the claim-scope, and a timespan of relevance. Evidence is a classificatory status of an episteme; it is not an action and it is not an assignment of an actor.

Context and intent

FPF separates what exists (holons and their kinds) from what acts (systems under roles performing work) and from what is known (epistemes carried on symbols). Roles are contextual masks that holons may wear; role meanings are local to a U.BoundedContext. In this setting, we need a kernel‑level way to say that this episteme counts as evidence about that claim, here, and for this period, without confusing evidence with services, methods, or work.

Intent. Provide one uniform, discipline‑neutral role by which an episteme can be assigned as evidence, while keeping:

  • Agency on systems performing U.Work (not on epistemes).
  • Promise and Standardual language on U.PromiseContent (not on evidence).
  • Recipe and eligibility on U.Method / U.MethodDescription (not on evidence).

Problem

  1. Anthropomorphising epistemes. Models say “the paper proves…”, implicitly treating a document as an actor.
  2. Citation without scope. Links exist but lack explicit target claim, applicability scope, and time window.
  3. Deductive versus empirical conflation. A formal derivation and a lab dataset are both called “support” although their semantics and ageing differ.
  4. Staleness and drift. Empirical evidence ages; without explicit validity windows, stale evidence keeps influencing conclusions.
  5. Cross‑context leakage. Evidence is interpreted as “global,” skipping the bridge that is required to move meaning across contexts.

Forces

ForceTension to resolve
Universality versus domain practiceOne role must cover proofs, datasets, replications, benchmarks, model fits, calibrations.
Static truth versus ageing confidenceAxiomatic proofs are stable relative to a theory; empirical evidence decays and requires refresh.
Local meaning versus reuseMeaning is context‑local; reuse must pass through explicit bridges, not tacit “global truth.”
Clarity versus brevityKernel must stay expressive without importing domain governance or tooling procedures.

Solution — Term and definition

Term. U.EvidenceRole — a non-behavioural role that a U.Episteme may play inside a U.BoundedContext to serve as evidence for a declared target claim (or theory/version). The target claim, its applicability scope, polarity, weighting model, and other normative facets are properties of the U.EvidenceRole definition itself within that bounded context.

How it is enacted. The role is enacted by a standard U.RoleAssignment that connects:

RoleAssigning {
  holder  : U.Episteme,        // the artefact: paper, proof, dataset, report…
  role    : U.EvidenceRole,    // a context-defined role with normative properties
  context : U.BoundedContext   // where the role definition is valid
  timespan?: Interval          // optional: relevance window for this specific assignment
}

The normative properties of the role (e.g., claimRef, claimScope, polarity, weightModelRef) are set in the role’s definition in the given U.BoundedContext, not in the evidence-role assignment. U.RoleAssignment carries only the linkage between a concrete episteme and a role already defined and attributed in that context.

Non-behavioural guard. The holder is an episteme; any actions that produced it are U.Work performed by systems. Evidence classifies an artefact’s evidential status; it does not itself enact behaviour.

Minimal readable grammar (informative). <Episteme>#<EvidenceRole>:<Context> — where <EvidenceRole> in <Context> already normatively specifies polarity Claim / Scope [weight].

Examples.

  • In Cardio_2026, ModelFitEvidenceRole is defined with: claim = β-blocker > placebo, claimScope = adults 40–65, polarity = supports, weightModelRef = KD:SupportMeasure. Binding: Trial-R3.csv#ModelFitEvidenceRole:Cardio_2026.

  • In Theory_T, AxiomaticProofRole is defined with: claim = Theorem-12, claimScope = all x ∈ D, polarity = supports. Binding: Lemma-12.proof#AxiomaticProofRole:Theory_T.

Role family and specialisations

U.EvidenceRole is a role kind refined by specialisation (no mereology of roles). The recommended, substrate‑neutral specialisations are:

5.1 Axiomatic line (deductive inside a fixed theory)

  • AxiomaticProofRole — a proof that entails a target statement in a declared U.TheoryVersion.
  • CounterexampleRole — a witness that refutes a universally quantified claim in the theory.
  • DerivationRole — a lemma or intermediary derivation establishing a dependency in the proof spine.
  • EquiconsistencyEvidenceRole — a metaproof establishing equiconsistency or relative strength, often used to constrain theory choice.

Semantics. In a fixed theory version, these roles are boolean and non‑decaying. If the axiom base or definitions change, the binding must be re‑issued for the new version; there is no silent carry‑over.

5.2 Experimental line (empirical, inductive, and model‑selection)

  • ObservationEvidenceRole — raw or processed observations under a declared method.
  • MeasurementEvidenceRole — calibrated measurements with an error model and traceability.
  • ModelFitEvidenceRole — comparative fit or likelihood of data to competing models; supports one over another within the declared scope.
  • ReplicationEvidenceRole — independent replication status (full, partial, failed).
  • CalibrationEvidenceRole — evidence about the measurement chain (instrument validity), typically constraining claims.
  • BenchmarkEvidenceRole — standardised tasks or suites producing comparable scores.

Semantics. Experimental roles require a claim‑scope and a relevance timespan. Their contribution to confidence is graded and may decay; the same artefact may carry multiple bindings for different claims or scopes (distinct role assignments).

Specialisation, not stacking. Do not build chains like “transformer‑agent‑observer role.” A system enacts behavioural roles (e.g., TransformerRole) to perform work; an episteme enacts U.EvidenceRole to classify its evidential function. Keep enactment lines separate.

Clear distinctions (Strict Distinction, litmus tests)

If you are talking about…Use in FPFWhy
Who acted and consumed resourcesU.System with U.RoleAssignment performing U.WorkOnly systems act; work records resource deltas.
What was promised to a consumerU.PromiseContent (promise with access and acceptance)A promise is not evidence; it is judged from work.
How work should be done or invokedU.Method / U.MethodDescriptionRecipes and interfaces are not evidence.
What counts as evidence for a claimU.Episteme holding U.EvidenceRole via U.RoleAssignmentEvidence is a status of an artefact relative to a claim in a context.
Moving meaning across contextsAn explicit bridge/alignment pattern in the receiving contextRole meanings are context‑local by design.

Core invariants (concept level)

  1. Holder type. U.EvidenceRole is held by a U.Episteme only; never by a system, work, method, or service. # [M‑0]
  2. Context anchor. Every evidence-role assignment must name a U.BoundedContext; meaning is local and does not propagate implicitly.
  3. Target claim. Every evidence-role assignment must reference a resolvable claim or theory statement and declare polarity {supports | refutes | constrains | neutral}.
  4. Claim-scope. Every evidence-role assignment must declare an applicability scope; for the axiomatic line this can be the theory’s domain.
  5. Timespan. Every evidence-role assignment must declare a relevance interval. Axiomatic roles may be open-ended for a fixed theory version; experimental roles require finite or refreshable windows. Gating: narrative only at M-0; explicit timespan & decayClass at M-2; version fence & proofChecks at F-. # [M/F]
  6. Non-self-evidence. The provenance of experimental evidence-role assignments must trace to external U.Work performed by systems under roles; an episteme cannot “evidence itself.”
  7. No mixing of stances. Do not mix design‑time proof artefacts and run‑time traces in one provenance chain; relate them via separate bindings if needed.
  8. No role mereology. Roles have no parts; refine by specialisation only. This prevents confusing “sub‑role” with “subsystem”. Profile note: The constraint is universal (applies to all profiles). # [all]

Minimal readable grammar (informative).
<Episteme>#<EvidenceRole>:<Context> — where <EvidenceRole> is defined inside <Context> with normative facets (claimRef, claimScope, polarity, optional weightModelRef, decay policy).

Examples (illustrative only):

Cardio (empirical line)
Role definition in Cardio_2026:
ModelFitEvidenceRole with
claimRef = (β-blocker > placebo), claimScope = adults 40–65, polarity = supports, weightModelRef = KD:SupportMeasure.
Binding:
Trial-R3.csv#ModelFitEvidenceRole:Cardio_2026

Graph theory (formal line)
Role definition in GraphTheory:
AxiomaticProofRole with claimRef = Theorem-12, claimScope = all finite DAG, polarity = supports (entails), fenced to TheoryVersion = 3.1.
Binding:
Lemma-12.proof#AxiomaticProofRole:GraphTheory

Facets and semantics (normative)

This section deepens the definition of U.EvidenceRole by specifying which normative facets are attached to its definition within a U.BoundedContext, how decay is handled, what provenance anchors are required, and how the role contributes to assurance computation.

Claim-scope schema

Every U.EvidenceRole definition within a U.BoundedContext MUST declare a claim-scope record. This record ties the role’s meaning to the exact target claim and its claim scope, and aligns with the typed-claim form used in B.3:

FieldMeaningNorms
claimRefIdentifier of the supported claimMUST resolve within the context’s claim graph; dangling IDs forbidden.
claimHostThe holon whose claim is supportedMAY be U.System or U.Episteme.
epistemicModeformal or postulativeMUST be present; governs stability and decay rules.
assuranceUseTA / VA / LADeclares whether the evidence functions as typing, verification, or validation input (B.3.3).
applicabilityDomain subset (envelope)Optional for formal proofs; REQUIRED for empirical evidence (units, constraints, parameter ranges).
resultKindKind of content on the carrierExamples: theorem/proof obligation; dataset; calibration; model-fit result.
notesAdditional contextPointers to SCR/RSCR entries; congruence rationale; bridge IDs if imported from another context.

Timespan and decay

Evidence is perishable unless proven otherwise.

  • Formal (axiomatic) roles MAY have open-ended timespan.to = null only if fenced to a specific U.TheoryVersion and justified in notes.
  • Empirical roles MUST have a finite or refreshable timespan. Decay parameters (half-life, renewal window) are set by the context policy and referenced in the role definition.

When the relevance window closes (validUntil reached), the evidence incurs Epistemic Debt (ED). Per B.3.4, debt must trigger one of three managed actions:

  1. Refresh — new work produces fresh evidence for the same claim and scope.
  2. Deprecate — role is retired; claim support is reduced or removed.
  3. Waive — explicit steward decision to accept the stale evidence temporarily.

Provenance hooks

Each U.EvidenceRole MUST anchor into the Evidence–Provenance DAG (A.10):

  • Formal: verifiedBy → proof artefact carrier(s), with optional checkedBy metadata for proof-checker runs.
  • Empirical: validatedBy → data carriers from observed U.Work runs; protocolRefU.MethodDescription; fromWorkSet → IDs of those runs.
  • SCR/RSCR anchors (A.10) are mandatory for all carriers.

No self-evidence rule: the producing U.Work must have been performed by a system in an external role; an episteme cannot “prove itself” without independent generation.

Contribution to assurance

A U.EvidenceRole classifies an artefact; its contribution to the target claim’s assurance tuple ⟨F, G, R⟩ is computed in B.3 using:

  • F (formality) — lower-bounded by the least formal constituent in the provenance path.
  • G (ClaimScope) — limited to the claim scope; unsupported regions are dropped (WLNK).
  • R (reliability) — computed as:
R_eff := max(0, min_path( min_claimR(path) − Φ(CL_min(path)) ))

Here:

  • min_claimR(path) is the smallest justified reliability along the path from the role to the claim in the context’s support graph.
  • CL_min(path) is the lowest congruence level on that path.
  • Φ is the penalty function defined by the context policy; it must be monotonic (lower CL → greater penalty).

If any element in the support chain is postulative, the aggregate epistemicMode is postulative.

TA/VA/LA distinctions:

  • TA (Typing assurance) — primary effect is to improve CL on edges, reducing penalties in R computation.
  • VA (Verification assurance) — primarily raises F and the logical component of R.
  • LA (Validation assurance) — raises empirical R and constrains G to the validated envelope.

Worked examples

Formal line — Proof as evidence for a theorem

Role definition (in GraphTheory)
AxiomaticProofRole

  • claimRef = Theorem-12 (“Every finite acyclic graph admits a topological ordering”),
  • claimScope = all finite DAG,
  • polarity = supports (entails),
  • epistemicMode = formal, assuranceUse = VA,
  • fenced to TheoryVersion = 3.1 (open-ended relevance as long as that version stands).

Role assignment(s)
Lemma-12.proof#AxiomaticProofRole:GraphTheory

Provenance sketch
verifiedBy → Carrier#Proof_p1 (machine-checked), usedCarrier → Carrier#Def_graph.

Effect on assurance (informative)
High F (machine-checked proof), G = “finite DAG”, R from proof-obligation integrity; potential CL penalty if an ontology bridge is used.

Empirical line — Sensor calibration as evidence for an accuracy claim

Role definition (in Cardio_2026)
ModelFitEvidenceRole

  • claimRef = “Sensor S achieves ±0.3 °C accuracy in [0,70] °C under lab conditions L”,
  • claimScope = temperature [0,70] °C; humidity 30–50%; environment L,
  • polarity = supports,
  • epistemicMode = postulative, assuranceUse = LA,
  • weightModelRef = KD:SupportMeasure, decayPolicy = annual recalibration.

Role assignment(s)
Trial-R3.csv#ModelFitEvidenceRole:Cardio_2026

Provenance sketch
validatedBy → Carrier#Dataset_calib_v5, protocolRef → MethodDescription#ThermoCalibration, fromWorkSet → {cal_run_0502, cal_run_0503}.

Effect on assurance (informative)
F from formalised procedure, G = measured envelope, R from replication and CL on unit mapping; R decays after the policy window unless refreshed.

Conformance checklist (normative)

CC-ER-01 (Type & holder) U.EvidenceRole MUST be held by a U.Episteme via U.RoleAssignment. Systems, services, methods, or works MUST NOT hold this role.

CC-ER-02 (Context) Every evidence-role assignment MUST name a U.BoundedContext. Role meanings are local and do not propagate without an explicit bridge.

CC-ER-03 (Target claim) Every evidence-role assignment MUST reference a resolvable claimRef@version and declare polarity ∈ {supports | refutes | constrains | neutral}.

CC-ER-04 (Claim-scope) Every evidence-role assignment MUST declare claimScope. For formal proofs this may be the theory’s domain; for empirical evidence it is mandatory to state population, environment, and parameter envelope.

CC-ER-05 (Timespan) Every evidence-role assignment MUST carry a non-empty timespan. Formal line may have open-end only if fenced to a fixed theory version; empirical line must have a finite or refreshable end.

CC-ER-06 (Provenance) Every evidence-role assignment MUST anchor into the EPV-DAG (A.10). For empirical line, fromWorkSet must point to external U.Work; self-evidence is prohibited.

CC-ER-07 (Reproducibility) Empirical evidence-role assignments MUST state reproducibility ∈ {replicated-independent, replicated-internal, not-replicated, irreproducible}, with references where applicable.

CC-ER-08 (Weight discipline) If weight.score is present, weight.modelRef MUST be named and all required inputs supplied.

CC-ER-09 (Cross-context) Cross-context reuse MUST go via U.Alignment bridge; record CL_min on the path for assurance penalties.

CC-ER-10 (Version fences) If the claim or episteme versions, create a new binding; do not mutate in place.

CC-ER-11 (No role-of-role) Roles never hold roles; there is no chaining of behavioural sub-roles into non-behavioural ones.

CC-ER-12 (Terminology) Use specialisation for role refinements; reserve sub for mereology of systems or artefacts only.

CC-ER-13 (Lane declaration) Every binding SHALL declare assuranceUse ∈ {TA | VA | LA} and, for empirical (LA) bindings, expose timespan/valid_until and decayPolicy so that SCR can report lane‑separated contributions and freshness (B.3).

Anti-patterns and remedies

Anti-patternSymptomRemedy
Data speaks for itselfBinding with no context or claimRef.Anchor to context and explicit claim; set polarity and timespan.
Evidence = the work runTreating U.Work as the episteme.Keep factual record on U.Work; create a report episteme to bind.
Attach to systemHolder is U.System.Holder must be an episteme; system may be claimHost, not role holder.
Global evidenceUsing one binding across contexts with no bridge.Create explicit U.Alignment bridge; declare loss policy.
Ad-hoc weightNumber assigned with no declared model.Use context-declared model; supply required inputs.
Service proves itselfService KPI logged as evidence.KPIs come from U.Work; service evaluation can be bound as evidence.
Scope blurMixing design-time and run-time provenance in one EPV.Split into separate bindings; relate via claim graph or bridge.

Operators (conceptual, tooling-agnostic)

These operators extend E.6.1 citation graph capabilities for evidence analysis inside a U.BoundedContext:

12.1 Per-claim evidence evidenceFor(claim, t?) → Set[EvidenceRoleAssigning] counterEvidenceFor(claim, t?) → Set[EvidenceRoleAssigning] weight(claim, t?, model?) → score # returns ordinal at M‑mode; numeric at M‑2/F‑mode. # [M/F]

12.2 Decay and windows window(claim, [t0,t1]) — filter evidence-role assignments by timespan. decayedWeight(assignment, t) — apply context decay policy.

12.3 Replication and provenance replicationLedger(binding) → Ledger isIndependentReplication(binding) → boolean

12.4 Formal line hooks proofChecks(binding) → {assistant, status, hash, kind∈{classical, constructive}} # [F‑*] dependsOnAxioms(binding) → Set[AxiomId]

12.5 Empirical line hooks fromWorkSet(binding) → Set[WorkId] protocol(binding) → MethodDescriptionId

Relations

Builds on: A.2 U.Role, A.2.1 U.RoleAssignment (role as mask, binding as assignment), A.10 Evidence Graph Referring (EPV-DAG), B.3 Trust & Assurance Calculus.

Coordinates with: A.3.2 U.MethodDescription (protocols, proof obligations), E.6.1 Epistemic Roles via U.RoleAssignment (didactic gateway).

Informs: KD-CAL (knowledge dynamics, assurance cases), Norm-CAL (policy claims with evidence), planned U.PromiseFulfillmentEvaluation (services judged from work and reported as epistemes with evidence bindings).

Migration notes (quick wins)

  1. Enumerate claims: For each evidence collection, identify claims and create explicit bindings with polarity.
  2. Separate work from reports: Facts stay on U.Work; create report epistemes to link as evidence.
  3. Name the calculus: Replace free-form confidence with context-declared weight model and required inputs.
  4. Fence by version/time: Bindings carry timespan and version fences; add decay class if applicable.
  5. Bridge explicitly: Cross-context evidence goes through U.Alignment, not by fiat.

Didactic quick cards (engineer-manager ready)

These are short reminders for non-specialist readers to apply U.EvidenceRole correctly:

  • Evidence ≠ Work — Work is what happened; Evidence is a documented argument (episteme) about a claim in a context.
  • Local, not global — Evidence links in a room (context). Outside that room, you need a bridge (U.Alignment).
  • Two lines of trust — Formal line: proof artefacts checked in a declared theory version. Empirical line: observations from Work under a declared method. Both are epistemes wearing U.EvidenceRole.
  • Services are promises; Work proves — KPIs are measured from Work; service evaluations can be bound as evidence for policy claims.
  • Specialise, don’t stack — Use specialisations of U.EvidenceRole to refine meaning; never chain behavioural roles into evidence.

SCR/RSCR audit stubs (assurance scaffolding)

These stubs allow concept-level validation of evidence-role assignments, without implying any specific tooling.

SCR-A2.4-E1 (Assignment integrity) Assert: holder is U.Episteme; context present; claimRef resolves; timespan non-empty; provenance anchored to EPV.

SCR-A2.4-E2 (Weight discipline) Assert: if weight.score present → weight.modelRef present and all required inputs provided; recompute to check.

SCR-A2.4-E3 (Traceability) For empirical evidence-role assignments: assignment → fromWorkSet → each U.Work has performer U.RoleAssignment and timestamps; no missing hops.

RSCR-A2.4-R1 (Regression on version bump) When claimRef or holder episteme versions change, ensure new bindings are created; no in-place mutation.

RSCR-A2.4-R2 (Decay check) Bindings past timespan.to or with expired decayClass are flagged for review per context policy.

Minimal evidence-role assignment schema (informative)

EvidenceRoleAssigning:
  id: ERB-…
  context: <BoundedContextId>
  holder: <EpistemeId>                # paper/proof/dataset/report
  role: <EvidenceRoleId>              # defined within the context, with normative properties
  timespan?: {from: ISO-8601, to: ISO-8601|null} # optional assignment window
  provenance:
    formal?: { theoryRef: <TheoryId>, proofArtifactRef: <CarrierId>, checkedBy?: <ProofCheckId> }
    empirical?: { protocolRef: <MethodDescriptionId>, fromWorkSet: [<WorkId>… ], dataCarrierRef?: <CarrierId> }

Memory hooks and acceptance cross-checks (informative)

Memory hook: “Evidence links a document to a claim in a Context, for a time, with a trail.” (document = episteme; claim = scoped thesis; Context = bounded context; time = timespan/decay; trail = provenance)

Acceptance cross-checks before publishing a binding:

  1. Holder: Is it a U.Episteme?
  2. Context: Is the U.BoundedContext declared?
  3. Claim: Does claimRef resolve? Is polarity set?
  4. Scope: Is claimScope complete? For empirical, are population/env/parameters given?
  5. Timespan: Is it finite or fenced (formal line)?
  6. Provenance: Is EPV anchored? Any self-evidence?
  7. Reproducibility: For empirical, is it declared?
  8. Weight: If scored, is the model named and inputs complete?
  9. Cross-context: If imported, is U.Alignment bridge in place with CL_min recorded?
  10. No role-of-role: Is this role bound directly to an episteme without chaining behavioural roles?

A.2.4:End

U.RoleStateGraph: The Named State Space of a Role

Purpose & scope (why this exists)

A role is not only a name; it is a trajectory of admissible states that governs when, and under which conditions, a holder of that role may enact steps of a U.MethodDescription. FPF therefore introduces a first‑class intensional object:

U.RoleStateGraph (RSG) — the finite, named state space of a U.Role in a given U.BoundedContext, with transitions guarded by conditions over the Role Characterisation Space (RCS) and contextual events.

The RSG is the gate between assignment (U.RoleAssignment) and action (U.Work). A step may be performed only when the performer’s assignment is in an enactable RSG state at the relevant Window (time slice) and this is proven by a contemporaneous StateAssertion (verdict of U.Evaluation against the state’s Checklist).

Problem frame (what goes wrong without an RSG)

  1. Readiness blur. Teams conflate “has the badge” with “is fit to act now”. Without explicit states (Ready, Calibrated, Authorized, Suspended…), enactment checks dissolve into ad‑hoc judgement.
  2. Checklist drift. Criteria for “ready/approved” live in scattered documents; there is no single conceptual anchor tying them to the role.
  3. Workflow/role confusion. “State” of a workflow (according to workplan) is mistaken for the state of a role (eligibility to enact).
  4. Status ≠ enactment. Epistemic/Normative roles (e.g., NormativeStandard, ApprovedSpecification) need statuses that are not enactable, yet are used to gate decisions.
  5. Cross‑context substitution by name. Labels like Approved or Ready silently cross contexts with different criteria; the loss is hidden and unaudited.

Consequences. Violations of Strict Distinction (A.7) and Didactic Primacy (E.12): ambiguous authority to act, unsafe SoD, and non‑reproducible evaluations.

Core idea (didactic)

Think of a Role as a mask, and the RSG as the traffic lights for that mask inside one context of meaning.

  • The nodes are named states (Ready, Degraded, Suspended, Approved, Obsolete…).
  • The edges are transitions with guards (checkable conditions over RCS characteristics and contextual events, e.g., CalibrationAge ≤ 30d; AuthorizationSpeechAct recorded).
  • Each state is paired with a Checklist (criteria you test to issue a StateAssertion for a given Window).
  • Some states are enactable = true (green lights); others are not enactable (status lights) and therefore can gate decisions but cannot directly authorize U.Work.

One sentence. RSG says when a badge is green. The Checklist proves it, the StateAssertion records it, and the Method step may proceed.

Minimal vocabulary (this pattern only)

  • U.RoleStateGraph (RSG). Intensional object owned by (Role, Context). Finite set of named States and typed Transitions with guards.

  • RSG.State. Intensional named place. Properties:

    • enactable ∈ {true,false} — whether being in this state authorizes enactment of steps that require this role.
    • initial?, terminal? — optional markers for lifecycle reasoning.
  • RSG.Transition. Edge state_i → state_j with Guard (predicate over RCS characteristics and/or contextual events such as U.SpeechAct, U.Observation, U.Evaluation results).

  • RCS (Role Characterisation Space). The characteristic bundle that characterises this role in this Context (e.g., CalibrationAge, AuthorizationScope, FatigueIndex, IndependenceFlag, EvidenceFreshness). (Defined in A.2 Role Taxonomy / RoleDescription.)

  • State Checklist (description). A RoleDescription component that enumerates criteria to test whether a holder can legitimately be treated as in a given state for a Window. (Description, not the state itself.)

  • U.Evaluation → StateAssertion (verdict). The result of applying the state’s Checklist to a concrete holder at a time window, yielding a verdict “IN‑STATE(S) @Window” with provenance to observations/evidence.

  • Window. Temporal interval to which the StateAssertion applies (e.g., [2025‑05‑01, 2025‑06‑01]).

Strict distinction note.

  • RSG and its States are intensionals (what the role is allowed to be).
  • Checklists and StateAssertions are descriptions/evaluations (how we know a specific holder is in that state now).

What an RSG is not (guardrails)

  • Not a workflow. RSG transitions do not encode task order; they encode eligibility changes of the role.
  • Not a capability list. RSG is authorization/readiness over time, distinct from U.Capability (ability).
  • Not a global status set. RSG lives inside one Context; the label Ready in another Context is a different state unless bridged (F.9).
  • Not a log. RSG is not a history. Histories are StateAssertions over Windows; U.Work is the record of enactments.
  • Not a document lifecycle. Epistemic role RSGs can look like document lifecycles, but they remain role‑status graphs; the carrier lifecycle stays separate (A.7, U.Carrier).

Invariants (preview)

  1. Locality. RSG(Role, Context) is defined only within that U.BoundedContext.
  2. Finiteness. The State set is finite and named.
  3. Checklist pairing. Every State has a Checklist in the Role’s RoleDescription; every enactable State has at least one observable criterion.
  4. Green‑gate discipline. A Method step requiring Role may proceed only if a contemporaneous StateAssertion exists for an enactable State.
  5. No silent Cross‑context reuse. Cross‑Context reuse requires a Bridge with CL and loss notes; local ⊥/≤/⊗ always prevail.

Formal structure of an RSG (intensional, context‑local)

Definition. For a given U.Role in a given U.BoundedContext, its U.RoleStateGraph is the tuple RSG(Role, Context) = ⟨S, S_en, T, Guard, init?⟩, where:

  • S — a finite set of named States (StateName ∈ Tech register, with a Plain label). Names are local to (Role, Context).

  • S_en ⊆ S — the subset of enactable states (“green lights”). States in S \ S_en are status‑only (not enactable).

  • T ⊆ S × S — a set of typed transitions sᵢ → sⱼ. Transitions are optional; the RSG may be acyclic or cyclic.

  • Guard — for each transition (and optionally for state maintenance), a predicate over:

    • the role’s RCS snapshot at a Window (values on named characteristics; see A.2.3), and
    • Context events (e.g., presence of a U.SpeechAct, freshness of U.Observation, validity of a prior U.Evaluation).
  • init? : S → {true,false} — optionally marks initial state(s). (Useful for lifecycles; not required for gating.)

Naming discipline (RSG‑N1…N3).

  1. RSG‑N1 (Minimal set). |S| ≥ 1. At least one state must exist; if no state is enactable, the role is status‑only in this Context.
  2. RSG‑N2 (Disjoint labels). State names are unique within (Role, Context); reusing global labels (e.g., “Ready”) across contexts is allowed only via Bridges (F.9).
  3. RSG‑N3 (Human scale). For didactics, ≤ 7 states is the default target; exceeding it requires a one‑sentence rationale (“distinct gate we will actually use”).

Enactability & Checklist semantics (how a state is known, now)

An RSG does not determine history; it determines what counts as being in a state, and which states authorize enactment.

State Checklists (description, not the state)

For each s ∈ S, the RoleDescription (A.2.3) includes a State Checklist Checklist(s) — a named set of criteria that can be evaluated at a Window to test “holder is in state s”.

  • Criterion kinds (illustrative):

    • Threshold over RCS characteristic: CalibrationAge ≤ 30 days.
    • Presence of act: AuthorizationSpeechAct exists within 90 days.
    • Evidence freshness: Evidence(type=SafetyTest).age ≤ 12 months.
    • SoD flag: IndependenceFlag = true.
    • External status: StandardStatus = Approved.

Strict distinction. Checklist(s) is a description; the state s is an intensional place in the role’s RSG.

From Checklist to StateAssertion (verdict of U.Evaluation)

Evaluating Checklist(s) at a Window produces an U.Evaluation verdict:

StateAssertion(holder, Role, Context, s, Window) — “For this Window, this holder is in state s”, with provenance to the actual observations/evidence.

Rules (RSG‑C1…C5).

  • RSG‑C1 (All‑must‑hold). A StateAssertion MUST justify that all required criteria in Checklist(s) hold at the Window.
  • RSG‑C2 (Window freshness). Each criterion MUST define its freshness window; if omitted, default is instantaneous at the Window’s end time.
  • RSG‑C3 (No guess). Pure opinion is disallowed; every criterion is grounded in observable facts (U.Observation, U.Work record, U.SpeechAct, or a derived U.Evaluation).
  • RSG‑C4 (Non‑monotonic over time). A StateAssertion is not permanent; once the Window ends, a new evaluation is needed unless a maintenance guard keeps it valid (see 8.3).
  • RSG‑C5 (Uniqueness not required). Multiple states may be asserted for the same Window if their criteria do not conflict (e.g., Ready and Authorized). Enactability is governed by §8.4.

Transitions & guards (admission, maintenance, exit)

RSG transitions express how eligibility changes when guards fire. Guards are predicates; the RSG stays notation‑neutral.

  • Admission guard (→ s) declares conditions to enter state s.
  • Maintenance guard (s ↺) must hold to remain in s (e.g., FatigueIndex < 0.8, checked every shift).
  • Exit guard (s →) declares conditions to leave s (e.g., CalibrationAge > 30d).

Rules (RSG‑G1…G3).

  • RSG‑G1 (Checklists vs guards). Checklists decide recognition (“am I in s now?”). Guards describe change (“what moves me in/out of s?”). They may reuse the same predicates; their roles are distinct.
  • RSG‑G2 (No control‑flow). Guards may refer to events (e.g., “Calibration completed”), but RSG is not a task graph; it does not prescribe task order.
  • RSG‑G3 (Observable basis). Every guard references observable RCS characteristics or recorded events (no hidden timers).

The Green‑Gate Law (enactment gating)

Law (RSG‑E1). A U.MethodDescription step that requires role R may be enacted at Window W iff there exists a StateAssertion(holder, R, Context, s, W) with s ∈ S_en.

Corollaries:

  • RSG‑E2 (Specialization lift). If the step requires a general role R, and the holder has a StateAssertion for a specialist role R' ≤ R in an enactable state whose lift (see §9.1) is enactable for R, the gate passes.
  • RSG‑E3 (Bundle gate). If the step requires a bundle R* = R₁ ⊗ … ⊗ Rₙ, enactment requires n distinct StateAssertions meeting RSG‑E1 for each Rᵢ (unless the Context defines a CompositeRole with its own RSG; see §9.3).
  • RSG‑E4 (Status‑only roles). Roles with S_en = ∅ can never authorize enactment; they may gate decisions (e.g., ApprovedSpecRole) but not U.Work.

Interaction with role algebra (≤, ⊥, ⊗) and refinement

Specialization (≤) — RSG refinement map

When R' ≤ R (Specialist role refines General role) in the same Context, their RSGs must align by a refinement map.

Rule (RSG‑R1 Refinement). There exists a surjective mapping π : S(R') → S(R) such that:

  1. Enactability preservation: s' ∈ S_en(R') ⇒ π(s') ∈ S_en(R).
  2. Checklist entailment: Checklist_R'(s') ⇒ Checklist_R(π(s')) (each specialist state’s criteria imply the general state’s criteria).
  3. Guard monotonicity (informal): Transitions in R' do not weaken the general readiness implied by R (entering/exiting patterns respect π).

Interpretation. Being in s' for R' guarantees being in π(s') for R. Thus StateAssertions lift along π, enabling RSG‑E2.

Design note. RCS for R' may extend that of R; specialist states can be stricter (more criteria) but not looser than their general counterparts.

Incompatibility (⊥) — state‑aware SoD

R_A ⊥ R_B (within the same Context) states that a single holder must not have overlapping, enactable authority for both roles.

Rule (RSG‑I1). At Window W, a holder violates R_A ⊥ R_B iff there exist StateAssertions … in s_A ∈ S_en(R_A) and … in s_B ∈ S_en(R_B) both valid at W.

Optional refinement (soft ⊥). Contexts may tighten incompatibility by listing state pairs that are forbidden (e.g., Ready_A ⊥ Authorized_B), while allowing benign combinations (e.g., Suspended_A + Ready_B). By default, any enactable pair conflicts.

Didactic payoff. SoD is checked by states in Windows, not by static role labels.

Bundles (⊗) — conjunction without product explosion

A bundle role R* := R₁ ⊗ … ⊗ Rₙ expresses “must wear all these badges at once”.

Rule (RSG‑B1). If R* exists only as a requirement macro, do not construct a product RSG. The gate for a step requiring R* is satisfied by n separate StateAssertions sᵢ ∈ S_en(Rᵢ) at the same Window.

Rule (RSG‑B2 CompositeRole). If the Context declares R* as a first‑class U.Role, it MUST also specify an RSG(R*) and an embedding ιᵢ : S(R*) → S(Rᵢ) that preserves enactability; being in an enactable state of R* implies being enactable in each Rᵢ.

Rationale. Avoid combinatorial blow‑up by default; allow a composite role only when the organization genuinely maintains its own readiness graph.

Readiness monotonicity across specialization & bundles

  • RSG‑M1 (Specialist suffices). If a step requires R, any R' ≤ R whose lifted state is enactable suffices.
  • RSG‑M2 (Bundle conjunctivity). If a step requires R₁ ⊗ R₂, the performer must produce both gates (two StateAssertions), unless a CompositeRole with RSG exists and is used.

Guard design (types and discipline)

To keep RSGs operational but not procedural, guards draw on observable inputs only.

Guard types (non‑exhaustive).

  1. Threshold guards over RCS characteristics FatigueIndex < 0.8, CalibrationAge ≤ 30d, EvidenceFreshness(role=Tester) ≤ 90d.
  2. Event guards (occurrence since last Window) exists SpeechAct(type=Authorization), exists Evaluation(verdict=Pass, checklist=SafetyKit).
  3. Temporal guards (time within range) now ∈ AuthorizationValidityWindow, MaintenanceWindow not active.
  4. Relational guards IndependenceFrom(holder=X) = true (for SoD), NoOpenIncident(severity≥High).

Rules (RSG‑G4…G6).

  • RSG‑G4 (Observable only). Each guard MUST be checkable from observable artefacts (observations, work logs, speech acts, evaluations) or present RCS values.
  • RSG‑G5 (Context‑local semantics). Guard semantics are scoped to Context; Cross‑context reuse requires a Bridge (§14 in Part 1/4, F.9).
  • RSG‑G6 (Didactic sparseness). Prefer few, stable guards over many brittle micro‑conditions. If a guard encodes task order, you are drifting into workflow; refactor back to eligibility.

Allowed guard evidences include:

  • Observation facts (measurements/metrics),
  • Evaluation verdicts (checklist results),
  • SpeechAct occurrences (communicative U.Work), identified by role, act kind, and window (e.g., “Approved(change=4711)”).

A SpeechAct can change the state (e.g., Prepared→Authorized) but does not by itself satisfy operational steps; it only opens their Green‑Gate.

Putting it together (one‑screen mental model)

At any Window:

  1. RoleAssignment exists (A.2.1): Holder#Role:Context.
  2. StateAssertion(s) exist: the holder is in one or more states as proven by checklists (U.Evaluation).
  3. Green‑Gate Law applies: if at least one asserted state is enactable, role‑gated Method steps may be enacted; if all are status‑only, the role can gate decisions but not perform work.
  4. Role algebra checks: specialization lifts readiness; bundles require conjunction; incompatibilities are detected when two enactable states coincide for the same holder at the same Window.

This yields a clean separation:

  • assignment (RoleAssignment)
  • Readiness (RSG + Checklists + StateAssertions)
  • Action (U.Work, gated by RSG)

…and keeps meaning local, evidence observable, and reasoning testable.

Archetypal RoleStateGraphs (cross‑domain patterns)

Below are didactic, reusable RSG skeletons for the three principal behavioural role families and for epistemic/status roles. Names and criteria are context‑local; treat them as templates to specialise inside your U.BoundedContext (E.10.D1). For each RSG we list:

  • S — candidate States (enactable states marked [E]);
  • Checklist gist — the recognition criteria (cf. §8.1);
  • Guards — illustrative admission/maintenance/exit predicates (cf. §8.3).

Reminder. Only enactable states (S_en) can open the Green‑Gate for U.Work (RSG‑E1). Status‑only states gate decisions but never execution.

AgentialRole (decision‑capable actor)

Context sketch: Ops_ChangeManagement_2025. RCS (characteristics, examples): CompetenceLevel, FatigueIndex, IndependenceFlag, AuthorizationValidity, IncidentLoad, RiskClass.

States S

  • Unprepared — training incomplete; checklists fail.
  • Prepared — training + competence thresholds met.
  • Authorized — valid approval window present. [E]
  • ReadyPrepared ∧ Authorized ∧ FatigueIndex < τ. [E]
  • Active — contemporaneous U.Work step is underway under this role (with a valid StateAssertion in the window). [E]
  • Suspended — temporary block (incident/conflict).
  • Revoked — authorization expired/withdrawn.

Checklist gist

  • Prepared: certificates valid; recency of practice ≤ X; simulator score ≥ Y.
  • Authorized: exists SpeechAct(type=Approval, scope=Role, age≤30d).
  • Ready: Prepared ∧ Authorized ∧ independence from conflicting work; fatigue within limits.

Guards

  • Admission → Prepared: ExamPassed ∧ SimulatorScore≥Y.
  • Admission → Authorized: presence of approval speech‑act within window.
  • Maintenance Ready ↺: FatigueIndex<τ ∧ IncidentLoad≤k.
  • Exit Ready → Suspended: high‑severity incident assigned OR SoD violation detected.
  • Exit Authorized → Revoked: window elapsed or explicit revoke speech‑act.

TransformerRole (non‑agential executor of change)

Context sketch: PlantOps_Pipeline_2025. RCS: CalibrationAge, SafetyInterlock, SelfTestPass, EnvRangeOK, DegradationIndex.

States S

  • Unavailable — offline, missing prerequisites.
  • Calibrated — calibration fresh; self‑test ok.
  • Permitted — safety interlocks clear; clearance token valid.
  • ReadyCalibrated ∧ Permitted ∧ EnvRangeOK. [E]
  • Running — executing a method step (with contemporaneous StateAssertion). [E]
  • Degraded — still operable under derated envelope. [E] (if policy allows)
  • Quarantined — suspected hazard; no enactment.

Checklist gist

  • Calibrated: CalibrationAge≤30d ∧ SelfTestPass=true.
  • Permitted: SafetyInterlock = Clear ∧ NoOpenIncident(sev≥High).
  • Ready: Calibrated ∧ Permitted ∧ environment in spec.

Guards

  • Admission → Calibrated: calibration record timestamp ≤30d.
  • Maintenance Ready ↺: env sensors within limits; no new hazard event.
  • Exit Ready → Quarantined: detected leak OR hazard alarm.
  • Transition Running → Ready: step completed ∧ cool‑down satisfied.
  • Transition Ready → Degraded: DegradationIndex∈[d₁,d₂] ∧ derate policy active.

ObserverRole (measurement actor, incl. SOSA/SSN style)

Context sketch: Lab_Thermo_2025. RCS: CalibrationAge, TraceabilityChainOK, DriftRate, SyncError, CleanlinessScore.

States S

  • Unqualified — no metrological chain.
  • Calibrated — with traceability to standard.
  • Synchronized — time/phase sync within tolerance.
  • In‑Range — drift & environment within spec.
  • Measuring — performing observation. [E]
  • Stale — calibration or sync expired.
  • Quarantined — suspect bias/contamination.

Checklist gist

  • Calibrated: traceability cert valid; calibration within period.
  • Synchronized: SyncError≤ε.
  • In‑Range: drift ≤ threshold; contamination tests passed.
  • Measuring: Calibrated ∧ Synchronized ∧ In‑Range AND observation procedure active.

Guards

  • Admission → Calibrated: calibration event recorded < 180d.
  • Exit Calibrated → Stale: calibration age > threshold.
  • Exit In‑Range → Quarantined: contamination alert OR failed control sample.
  • Transition Measuring → In‑Range: procedure complete.

Note. Many ObserverRole states are pre‑enactment gates; only Measuring is enactable.

Epistemic/status roles (no enactment)

These roles are status‑only; S_en = ∅. They gate decisions (e.g., can be cited, can constrain), but can never authorize U.Work.

NormativeStandardRole

States: Draft, Candidate, Approved, Superseded, Deprecated. Checklist gist: governance decision records; publication identifiers; supersession links. Guards: Approved → Superseded on adoption of newer edition; Candidate → Approved after ratification vote.

EvidenceRole

States: Collected, Verified, Validated, Obsolete, Contested. Checklist gist: verification/validation U.Evaluation present; freshness window; reproducibility tag. Guards: decay to Obsolete by age; transition to Contested upon counter‑evidence.

RequirementRole

States: Proposed, Accepted, Implemented, Verified, Waived. Checklist gist: acceptance decision; trace links to U.Work; verification report; waiver authorization. Guards: Accepted → Implemented when linked executions close; Implemented → Verified on passed acceptance checklist; Any → Waived by authorized speech‑act.

One‑screen authoring templates (didactic cards)

Keep each RSG teachable on one screen. Use the following notation‑neutral templates when drafting RoleDescriptions (A.2.3).

RSG card (per Role, per Context)

RSG for: <RoleName>   Context: <ContextName/Edition>
RCS characteristics (gist): <characteristic1>, <characteristic2>, … 
States (◉ = enactable):
  - [◉] <StateName> — checklist gist; typical admission/maintenance/exit
  - [  ] <StateName> — … 
  - … 
Green‑Gate: step requiring <RoleName> is enactable iff holder asserts any ◉ state at Window.
Role algebra hooks: specialization (≤ … ), incompatibility (⊥ … ), bundles (⊗ … ).

State checklist snippet (per State)

State <StateName> (enactable? yes/no)
Checklist (all must hold at Window):
  - <Observable criterion 1>  (e.g., CalibrationAge ≤ 30d)
  - <Observable criterion 2>  (e.g., exists SpeechAct(Approval) age ≤ 30d)
Maintenance (optional): <predicate> (e.g., EnvRangeOK)
Evidence Graph Ref: <Observation/Evaluation ids>

Specialization refinement map (R' ≤ R)

Refinement map π : S(R') → S(R)
R' state        π(state in R)   entailment note (why Checklist_R' ⇒ Checklist_R)
-----------     -------------    -----------------------------------------------
<Ready+>        Ready            adds stricter fatigue & independence thresholds
<Authorized+>   Authorized       requires same approval + extra duty segregation

SoD focus (⊥) — enactable pairs

Incompatibility ⊥ (applies when both sides enactable at same Window):
  <RoleA.StateX>  ⊥  <RoleB.StateY>
  <RoleA.(any ◉)> ⊥  <RoleB.(any ◉)>   // default if not refined
Rationale: <one‑line reason>

Didactic cue. If your “template” spills beyond a screen, you’re drifting into workflow. Pull back to eligibility (RSG) and recognition (checklists).

Cross‑context adjustments (via Bridges, not imports)

RSGs are context‑local. When similar roles appear in different Contexts, relate them with an Alignment Bridge (F.9), never by silently importing state names.

State name correspondence (lossy mapping)

Bridge example: Observer readiness across two contexts:

Bridge: Observer-RSG alignment
From: Lab_Thermo_2025.ObserverRole
To:   Metrology_Line_2025.ObserverRole
Map (with CL):
  Calibrated(Lab)     ≈  Calibrated(Metro)            CL=3 (minor criterion diffs)
  In‑Range(Lab)       ↘  Fit‑for‑Use(Metro)           CL=2 (Metro adds robustness test)
  Measuring(Lab)      ↔  Measuring(Metro)             CL=3
Notes: 'Synchronized' in Lab maps to 'Time‑Aligned' in Metro (terminology shift).
Losses: Metro’s 'Robustness' has no direct Lab counterpart (explicit loss recorded).

Rule (RSG‑X1). A Bridge MUST record losses and extra criteria; it MUST NOT assert identity without a stated CL (congruence level).

Authorization vocabulary drift (deontic vs operational)

Bridge note: In some IT change contexts, “Authorized” (deontic) overlaps with “Permitted” (operational). A Bridge can explain the design choice:

  • Authorized(AgentialRole@ITIL)Permitted(TransformerRole@IEC) with CL=1 and a note: operational interlock ≠ managerial approval; both required to lift to Ready under our policy.

Payoff. Bridges keep local honesty while enabling Cross‑context reasoning with explicit penalties (B.3).

Author conformance (write good RSGs)

When you define or revise an RSG, check these concept‑level rules. They are easy to hold in mind; no tooling implied.

CC‑RSG‑01 (Locality). State names and meanings are scoped to (Role, Context). Reuse across contexts only via a Bridge (F.9).

CC‑RSG‑02 (Enactability). Mark which states are enactable (S_en). If none are, the role is status‑only (valid); then it cannot open the Green‑Gate.

CC‑RSG‑03 (Observable criteria). Every checklist item must be observable (Observation, Work record, SpeechAct, or derived Evaluation). No opinions.

CC‑RSG‑04 (Guard discipline). Guards gate change, checklists recognise state. Don’t smuggle task order into guards; workflow lives elsewhere (A.15).

CC‑RSG‑05 (Refinement map). If you declare R' ≤ R, provide a π‑map and ensure entailment (RSG‑R1). Specialist states may be stricter, never weaker.

CC‑RSG‑06 (SoD by state). Define in terms of enactable pairs. Avoid blanket ⊥ if finer, state‑aware rules reduce false conflicts.

CC‑RSG‑07 (Human scale). Default to ≤ 7 states. If you exceed, add a one‑sentence didactic rationale (“distinct gate we will actually use”).

CC‑RSG‑08 (Green‑Gate wiring). Ensure every MethodDescription step that requires this Role names the ◉ states it expects, or relies on the default “any ◉”.

CC‑RSG‑09 (Window clarity). Checklists specify freshness windows; state assertions are Window‑bound and non‑permanent.

CC‑RSG‑10 (Status/behaviour split). Epistemic/status roles: S_en = ∅. They gate decisions, not Work. Behavioural roles require U.System holders (A.2.1).

Extended grounding across four disciplines

Each vignette shows (i) the Context, Role, RCS characteristics, States (◉ = enactable), Green‑Gate condition, and how a U.Work is gated by a U.RoleAssignment+RSG. Names are context‑local.

Clinical surgery (medicine)

Context. Hospital.OR_2026 Role. SurgeonRole (AgentialRole) RCS characteristics. CompetenceLevel, FatigueIndex, AuthorizationValidity, CaseComplexityBand, TeamSoD.

States.

  • Unprepared — training/recency incomplete.
  • Prepared — credentials valid; recency ≤ 90 days.
  • Authorized — procedure‑specific approval active.
  • ReadyPrepared ∧ Authorized ∧ FatigueIndex<τ ∧ TeamSoD_OK.
  • Operating — currently performing steps.
  • Suspended — incident or conflict raised.
  • Revoked — approval expired/withdrawn.

Green‑Gate. A MethodDescription step tagged requires: SurgeonRole is enactable iff the performer’s RoleAssignment asserts Ready at the Window.

Work gating. performedBy = Dr.Kim#SurgeonRole:Hospital.OR_2026 is valid for step “Incision” only when Ready(Dr.Kim, SurgeonRole, OR_2026, W) holds (checklist items: approval id, fatigue score, SoD against AuditorRole).

Software operations (SRE)

Context. SRE_Prod_Cluster_EU_2026 Role. IncidentCommanderRole (AgentialRole) RCS characteristics. OnCallStatus, PageFreshness, AuthorityToken, CognitiveLoad, ConflictSoD.

States.

  • Off‑Duty — not on call.
  • On‑Call — rota active; page reachable.
  • Authorized — escalation token valid.
  • ReadyOn‑Call ∧ Authorized ∧ CognitiveLoad≤k ∧ SoD_OK.
  • RunningIncident — commanding an active incident.
  • CoolingDown — post‑incident refractory period.
  • Blocked — conflict with ChangeAuthorRole detected.

Green‑Gate. Steps in “Major Incident Process” that require: IncidentCommanderRole open only with Ready.

Work gating. performedBy = Dana#IncidentCommanderRole:SRE_Prod_Cluster_EU_2026 is invalid for “Declare SEV‑1” if ConflictSoD(ChangeAuthorRole) holds or PageFreshness>5 min.

Laboratory metrology

Context. Metrology_Thermo_2026 Role. ThermometerObserverRole (ObserverRole) RCS characteristics. CalibrationAge, DriftRate, TraceabilityChainOK, CleanlinessScore, SyncError.

States.

  • Unqualified — missing traceability.
  • Calibrated — cert valid (≤ 180 d); drift within baseline.
  • SynchronizedSyncError≤ε.
  • In‑Range — contamination absent; env OK.
  • Measuring — procedure active.
  • Stale — calibration/sync expired.
  • Quarantined — suspected bias.

Green‑Gate. MethodDescription step “Record temperature” is enactable only in state Measuring (which requires Calibrated ∧ Synchronized ∧ In‑Range).

Work gating. performedBy = SensorT‑17#ThermometerObserverRole:Metrology_Thermo_2026 is rejected if CalibrationAge>180 d or ControlSampleBias>δ.

Governance / compliance

Context. Finance_Audit_2026 Role. IndependentAuditorRole (AgentialRole) and EvidenceRole (status‑only) RCS (auditor). CertificationLevel, IndependenceFlag, AssignmentToken, CaseLoad. States (auditor). Ready/Auditing as in §12.1; with DeveloperRole. RCS (evidence). VerificationStatus, ValidationStatus, Age, ProvenanceChainOK. States (evidence). Collected, Verified, Validated, Contested, Obsolete (status‑only).

Green‑Gate. Audit step requires: IndependentAuditorRole — enactable only with Ready and ⊥ DeveloperRole at the Window. Evidence states gate decisions (e.g., “accept finding”), never open Work.

Work gating. performedBy = Alice#IndependentAuditorRole:Finance_Audit_2026 fails if Alice holds any overlapping DeveloperRole binding in the same context.

Acceptance harness (static conformance)

Author‑facing checks; notation‑free, concept‑level. Use them when drafting or reviewing an RSG.

SCR‑A.2.5‑S01 - Local scope. Every state name is qualified by (Role, Context). No global states. SCR‑A.2.5‑S02 - Enactability mark. The set S_en is explicit; each ◉ state is listed. SCR‑A.2.5‑S03 - Observable checklists. Each state has a Checklist of observable predicates (Observation / Evaluation / SpeechAct / Work evidence). SCR‑A.2.5‑S04 - Green‑Gate wiring. Every MethodDescription step that names the Role either (a) names its ◉ state(s) or (b) relies on the default “any ◉” policy; the RSG declares which. SCR‑A.2.5‑S05 - Guard discipline. Guards only gate transitions; they do not encode task order. SCR‑A.2.5‑S06 - SoD by state. Incompatibilities (⊥) are declared over states (or “any ◉”), not over bare role names. SCR‑A.2.5‑S07 - Specialisation entailment. For every R' ≤ R, a refinement map π: S(R')→S(R) is provided; each mapped pair has an entailment note (why Checklist_R' ⇒ Checklist_R). SCR‑A.2.5‑S08 - Human scale. |S| ≤ 7 unless a one‑line didactic rationale is recorded. SCR‑A.2.5‑S09 - Status‑only roles. If S_en=∅, the Role is explicitly tagged status‑only; it cannot open the Green‑Gate. SCR‑A.2.5‑S10 - Bridge discipline. Any cross‑context reuse is via an Alignment Bridge (F.9) with recorded CL and losses; no silent imports.

Regression harness (evolution checks)

Use when adding/removing states, changing criteria, or bridging across contexts.

RSCR‑A.2.5‑R01 - State churn impact. For every added/removed/renamed state, list affected MethodDescription steps and Work validators; confirm the Green‑Gate policy remains decidable. RSCR‑A.2.5‑R02 - Entailment stability. When R' ≤ R changes, update the π map and re‑justify entailments; fail the check if any previously valid entailment breaks. RSCR‑A.2.5‑R03 - SoD coverage. After edits, recompute the set of enactable pairs; verify declared ⊥ still blocks all intended conflicts and no longer blocks permitted cases. RSCR‑A.2.5‑R04 - Evidence freshness. If any checklist predicate uses age/freshness, ensure default Windows are documented and existing state assertions re‑evaluate accordingly. RSCR‑A.2.5‑R05 - Bridge congruence drift. If a Bridge maps states with CL=k, and either side’s checklist changes, revisit the mapping; do not keep CL unchanged by default—raise or lower with a short rationale. RSCR‑A.2.5‑R06 - Status/behaviour split. Verify behavioural roles still require U.System holders (A.2.1); status‑only roles still have S_en=∅. RSCR‑A.2.5‑R07 - One‑screen rule. If cumulative edits push the RSG beyond one screen, split states or tighten criteria; record a one‑line teaching rationale if you must exceed.

Common failure modes (and quick remedies)

FailureSymptomWhy it hurtsQuick remedy
Workflow creepGuards encode task orderRSG becomes a hidden workflow modelMove ordering to MethodDescription; keep guards as eligibility only
Vague criteria“experienced”, “mature” in checklistsNon‑decidable Green‑GateReplace with observable proxies (hours, exam score, age thresholds)
Global states“Ready” reused across contextsMeaning leakageQualify by (Role, Context); use Bridges for Cross‑context talk
Over‑broad ⊥Many false conflictsBlocks deliveryMake ⊥ state‑aware; restrict to enactable pairs
Missing π‑mapSpecialisation with no entailmentUnsafe substitutionsAdd π and entailment notes; otherwise drop

Didactic script (90 seconds): how A.2.5 ties to A.2.1 & A.2.3

*“A role assignment says who wears which mask where (A.2.1). The RoleStateGraph says when that mask is actually wearable. Each role’s RSG is a small named state space with checklists for each state. Some states are enactable (◉): they open the Green‑Gate for Work. Others are status‑only: they gate decisions, never execution.

A RoleDescription (A.2.3) is where you publish the role’s RCS (characteristics), its RSG (states + checklists + guards), and any role algebra (≤, ⊥, ⊗) specific to your context.

In practice: a MethodDescription step lists required roles; at runtime, a Work record is valid only if its performer is a RoleAssignment whose RSG asserts an enactable state at the Window. That’s the Green‑Gate.

Different Contexts may use the same role labels. We never assume global meaning; we relate Contexts with Bridges that map states and record losses.

Keep each RSG on one screen, with observable checklists. If you’re writing task order, you’ve slipped into workflow—move it to the Method. If you’re writing opinions, convert them into observables or drop them. That’s the whole trick.”*

Relations (quick pointers)

  • Builds on: A.2.1 U.RoleAssignment (the binding that can assert states); A.2.3 U.RoleDescription (the carrier of RSG); E.10.D1 (Context discipline).
  • Enables. A.15 (Role‑Method‑Work Alignment via Green‑Gate); B.3 (Trust penalties when crossing Bridges with lower CL).
  • Interacts with. D‑cluster deontics (speech‑acts gate Authorized‑like states for agential roles); F.9 (state‑level alignment across contexts).

A.2.5:End

Unified Scope Mechanism (USM): Context Slices & Scopes

One-line summary. Introduces a single, context-local scope mechanism for all holons: U.ContextSlice (where we reason and measure) and a family of set-valued scope types (USM scope objects, U.Scope), specialized as U.ClaimScope for epistemes (G in F–G–R), U.WorkScope for system capabilities, and U.PublicationScope for publication carriers; with one algebra (∩ / SpanUnion / translate / widen / narrow / refit) and uniform Cross-context handling (Bridge + CL).

Replaces / deprecates. This pattern supersedes the scattered use of labels applicability, envelope, generality, universality and capability envelope where they tried to stand in for the one scope mechanism. From now on:

  • For epistemes, the only scope type is U.ClaimScope (nick G in F–G–R).
  • For system capabilities, the only scope type is U.WorkScope.
  • For publication carriers (views/cards/lanes), the only scope type is U.PublicationScope.
  • The abstract architectural notion is U.Scope — a set-valued USM object over ContextSliceSet with its own algebra (∩ / SpanUnion / translate / widen / narrow / refit); it is not a U.Characteristic and MUST NOT appear in any CharacteristicSpace.

Legacy words (applicability / envelope / generality / capability envelope) MAY appear only as explanatory aliases in non‑normative notes.

Cross‑references.C.2.3 (Unified Formality F) and C.2.2 (F–G–R): this pattern defines G as U.ClaimScope. — A.2.2 (Capabilities): capability gating now SHALL use U.WorkScope. — Part B (Bridges & CL): Cross‑context transfers MUST declare a Bridge with CL; CL affects R, not F/G. — Part E (Publication discipline; e.g., E.17 MVPK): publication views/cards/lanes MAY declare U.PublicationScope to bound where a publication is admissible; U.PublicationScope MUST NOT widen the underlying U.ClaimScope/U.WorkScope. (USM supplies the scope calculus; Part E supplies publication discipline.)

Purpose & Audience

This pattern gives engineering managers and assurance architects one vocabulary, one model, and one set of operations to talk about where a claim holds and under which conditions a system can deliver a piece of Work. It removes the need to remember whether a document said “applicability,” a model said “envelope,” or a safety plan said “capability envelope.” Scope is scope. The only distinction that matters is what carries it:

  • Knowledge/epistemeClaim scope (G).
  • System/capabilityWork scope (conditions under which Work at the promised measures is deliverable).

With USM, teams can:

  • specify, compare, and compose scope without translation games;
  • gate ESG and Method–Work steps with observable, context‑local scope checks;
  • cross Contexts safely using Bridges and explicit CL penalties applied to R.

This pattern defines the scope mechanism (Context slices, set‑valued scopes, algebra, and guard usage) and the canonical lexicon (Claim scope (G), Work scope). It does not prescribe which Contexts must widen/narrow scope, nor which assurance levels are required; those are set by context‑local ESG and Method–Work policies, which SHALL reference the mechanisms defined here.

Context

Cross‑disciplinary pressures

Modern projects couple formal specs, data‑driven models, safety cases, and operational playbooks. Each artifact must say where it is valid—yet terminology drifts:

  • Standards and specs often say applicability or scope.
  • Modeling communities say envelope.
  • Safety and performance documents speak about capability envelope.
  • Knowledge patterns have used generality (G) as if it were “more abstract,” when we actually need “where the statement holds.”

context‑local reasoning

FPF is context‑local: decisions, checks, and state assertions are valid inside a bounded context. Every practical question—Is this claim usable here? Can this capability deliver that Work now?—must be answered on a concrete slice of context (terminology, versions, environmental parameters, time selector Γ_time). USM provides a first‑class object for such slices and a single scope calculus atop them.

Minimal, composable trust math

In F–G–R:

  • F (formality) is “how strictly a claim is expressed” (C.2.3).
  • G must be “where it holds,” not “how abstract it sounds.”
  • R measures evidence and decays/penalties (freshness, CL).

When G is a set‑valued scope, composition becomes precise: serial dependencies intersect scopes; parallel, independently supported lines can publish a SpanUnion—but only where each line is supported.

Problem

  1. Synonym soup. Applicability, envelope, generality, capability envelope—different labels for the same mechanism led to mismatches in gating, review, and reuse.
  2. Abstraction confusion. Calling G “generality” invited teams to treat “more abstract wording” as “broader scope,” silently masking unstated assumptions.
  3. Split mechanics. Episteme vs system text used different algebra and guard language, though the same set operations were meant.
  4. Cross‑context opacity. Transfers between Contexts lacked a shared carrier and a rule for what changes (trust) vs what stays (scope).
  5. Overloaded words. Validity clashed with Validation Assurance (LA); operation/operational clashed with Work/Run in A.15, producing governance ambiguity.

Forces

ForceTension to resolve
One mechanism vs two worldsWe must serve both knowledge about the world (claims) and doing work in the world (capabilities) without duplicating concepts.
Locality vs interoperabilityScope must be context‑local and precisely checkable, yet transferable across Contexts via Bridges without redefining the characteristic.
Expressivity vs minimal vocabularyTeams need to capture rich conditions (time windows, environment, versions) but not explode the lexicon into “envelope/applicability/…” variants.
Static content vs operational changeClaims may hold broadly while current operations are narrow (or vice versa). The mechanism must keep “what is true” and “what can be done” aligned yet distinct.
Open‑world exploration vs closed‑world gatingExploration benefits from permissive drafts; gates require crisp, observable checks. The same scope object must support both.

Solution — Overview (preview; full definitions in Part 2)

USM introduces:

  • U.ContextSlice — an addressable slice of a bounded context (terminology, parameter ranges, versions/Standards, and a mandatory Γ_time selector). All scope checks are performed on slices.
  • U.Scope — the abstract set‑valued scope object over U.ContextSlice.
  • Specializations: U.ClaimScope (nick G) on U.Episteme (“where the claim holds”), U.WorkScope on U.Capability (“where the capability can deliver Work at declared measures within qualification windows”), and U.PublicationScope on publication carriers (“where the publication surface is admissible”).
  • One algebra: serial intersection, parallel SpanUnion (only where supported), translate via Bridge (CL affects R, not F/G), and widen / narrow / refit operations for scope evolution.

Lexical commitments (normative): — In normative text and guards, use Claim scope (G), Work scope, and Publication scope.
— Do not name the characteristic “applicability/envelope/generality/capability envelope/publication applicability/validity.” Those words are permitted only as explanatory aliases in notes.

Normative Definitions

USM as a U.Mechanism.Intension (normalization for A.6.1/A.6.5)

Intent. This subsection makes the USM definition in A.2.6 explicitly conform to the U.Mechanism intension requirements (A.6.1) and the …Slot / …Ref lexical discipline (A.6.5), without changing USM’s meaning.

USM Mechanism.Intension (normative; A.6.1 decomposition).

  • Imports (USM). U.ContextSlice, U.ContextSliceSet, Part B Bridge/CL (U.Bridge, U.CongruenceLevel), and U.GammaTimePolicy.
  • BaseType (USM). U.ContextSliceSet (set‑valued scope objects range over sets of addressable U.ContextSlice).
  • SliceSet (USM). U.ContextSliceSet (addressable U.ContextSlices; see §6.1).
  • SubjectKind (USM). U.Scope with kind specialisations:
    U.ClaimScope ⊑ U.Scope, U.WorkScope ⊑ U.Scope, U.PublicationScope ⊑ U.Scope.
  • ExtentRule (USM). The quantifier domain is the set of well‑formed scope objects over the SliceSet: Extension(U.Scope, slice) = { S | S ⊆ U.ContextSliceSet }.
  • ResultKind? (USM). U.Scope (for operators that return scopes, e.g., , SpanUnion, translate).

SlotIndex (USM) for operators/guards (normative; A.6.0:4.1.1 + A.6.5).
These SlotKinds are stable names for signatures, substitution laws, and guard templates; they are not additional data slots on carriers.

SlotKindValueKindrefModeMeaning
ScopeSlotU.ScopebyRefA scope object (set of slices) owned by a carrier
LeftScopeSlotU.ScopebyRefLeft scope operand (binary ops/relations)
RightScopeSlotU.ScopebyRefRight scope operand (binary ops/relations)
ScopeFamilySlotSet[U.Scope]byRefFinite family of scopes (for SpanUnion)
SliceSlotU.ContextSlicebyValueA single addressable slice (membership target)
SliceSetSlotU.ContextSliceSetbyRefA finite target set of slices (coverage target)
BridgeRefU.BridgebyRefBridge used for translate / Cross‑context guards
CLSlotU.CongruenceLevelbyValueCongruence Level bound in Cross‑context guards
GammaTimeSlotU.GammaTimePolicybyValueExplicit Γ_time selector/policy bound in guards

OperationAlgebra (USM) with SlotSpecs (normative).

  • member(SliceSlot, ScopeSlot) — surface form: SliceSlot ∈ ScopeSlot.
  • subset(LeftScopeSlot, RightScopeSlot) — surface form: LeftScopeSlot ⊆ RightScopeSlot.
  • intersect(LeftScopeSlot, RightScopeSlot) → U.Scope — surface form: LeftScopeSlot ∩ RightScopeSlot.
  • spanUnion(ScopeFamilySlot) → U.Scope — surface form: SpanUnion(ScopeFamilySlot).
  • translate(BridgeRef, ScopeSlot) → U.Scope — Cross‑context mapping via Bridge.
  • widen(LeftScopeSlot, RightScopeSlot) — Δ‑move, requires LeftScopeSlot ⊂ RightScopeSlot.
  • narrow(LeftScopeSlot, RightScopeSlot) — Δ‑move, requires RightScopeSlot ⊂ LeftScopeSlot.
  • refit(LeftScopeSlot, RightScopeSlot) — normalization, requires LeftScopeSlot = RightScopeSlot.

Derived guard predicates (USM).

  • coversSlice(ScopeSlot, SliceSlot) := (SliceSlot ∈ ScopeSlot).
  • coversSet(ScopeSlot, SliceSetSlot) := (SliceSetSlot ⊆ ScopeSlot).

LawSet (USM). Serial composition uses intersection; parallel publication uses SpanUnion only with an explicit independence justification (§7.3).

AdmissibilityConditions (USM). Scope coverage predicates MUST be tri‑state under unknowns: unknown inputs yield unknown, and guards MUST either (a) abstain (fail closed) or (b) degrade trust in the admitting decision via R; unknown MUST NOT be implicitly coerced to false/0. (See also §7.1 and §10.1.)

Applicability (USM). USM governs Claim/Work/Publication scope objects inside a U.BoundedContext; coverage judgments are evaluated on explicit U.ContextSlice tuples (§6.1) and are not comparable/scorable as CHR values.

Audit (USM). Record scope‑aware decisions with the TargetSlice tuple, guard outcomes, and any Bridge+CL used (see §14.1).

Transport (USM). Cross‑context usage is Bridge‑only with explicit CL; CL penalties apply to R_eff = R · Φ(CL) and MUST NOT rewrite F or G (§7.4/§7.5).

Γ_timePolicy (USM). Γ_time is mandatory in slices and guards (§8.2); implicit “latest” is forbidden.

PlaneRegime (USM). Not applicable to set‑valued scope objects (no CL^plane effect on scopes).

Mechanism specialisation (USM; A.6.1:4.2.1). A bounded context MAY publish a specialisation of USM as either a refinement USM′ ⊑ USM (tighten LawSet/AdmissibilityConditions) or an extension USM ⊑⁺ USM′ (add new operators/slots). Any such specialisation SHALL (i) name its parent (USM), (ii) declare the morphism kind ( vs ⊑⁺), (iii) preserve the same BaseType and SlotKinds for inherited operators (no renaming), (iv) avoid adding new mandatory inputs to inherited signatures. It MAY narrow ValueKinds/refModes monotonically and add admissibility constraints, but MUST remain substitutable for the inherited USM operators.

U.ContextSlice — where scope is evaluated

Definition. U.ContextSlice is an addressable, context‑local selection of a bounded context comprising:

  • Vocabulary & roles. The active terminology, role bindings, and local dictionaries.
  • Standards & versions. Concrete versioned interfaces, schemas, notations, or service Standards in force.
  • Environment selectors. Named parameters/ranges (e.g., temp, humidity, platform, jurisdiction, dataset cohort).
  • Time selector Γ_time. A mandatory selector for the temporal frame of reference (point, window, or policy), disallowing implicit “latest”.

Semantics. All scope checks, guards, and compositions are evaluated inside an explicitly named U.ContextSlice. Cross‑context or cross‑slice usage MUST be mediated by a Bridge (Part B) with an explicit CL rating; see §7.4.

Addressability. A slice MUST be identifiable via a canonical tuple (Context, vocab‑id, Standard/version ids, env selector(s), Γ_time). A slice MAY be a singleton or a finite set if a guard tests multiple coherent sub‑conditions.

Slice key (minimal). A U.ContextSlice SHALL be addressable by a tuple containing at least: (Context, Standard/version ids (if any), environment selectors, Γ_time). Contexts MAY extend this tuple (e.g., vocab/roleset ids).

U.Scope — the abstract set‑valued scope property (USM kind; not a CSLC measurement)

Definition. U.Scope ⊆ ContextSliceSet is a set‑valued USM property whose values are sets of U.ContextSlice where a given statement, behavior, or capability is fit‑for‑use. It is not numeric; its internal order is the subset relation . There is no “unit”. The primitive judgement is membership: slice ∈ Scope.

Guard (normative). U.Scope, U.ClaimScope (G), U.WorkScope, and U.PublicationScope are not U.Characteristics in the A.17/CSLC sense; do not include them as slots in any U.CharacteristicSpace, and do not attach normalizations/scores to them. They are USM scope objects.

Operations. USM admits:

  • Intersection (serial composition).
  • SpanUnion (parallel, independently supported coverage) only when an explicit named independence assumption is declared (features/axes named, validity window stated, evidence class cited). See A.6.1/USM LawSet for the normative template.
  • Translate (Cross‑context mapping via Bridge).
  • Widen / Narrow (monotone changes to the set).
  • Refit (content‑preserving re‑expression; set equality).

Locality. U.Scope values are defined and reasoned about context‑locally. Translation between Contexts never occurs implicitly; see §7.4.

U.ClaimScope (nick G) — scope of a claim (episteme)

Carrier. U.Episteme (claims, specifications, theories, policies).

Meaning. The set of U.ContextSlice where the claim holds as stated. This is G in the F–G–R triple. G is not “abstraction level”; it is the applicability area of the claim.

Expression. Authors SHALL declare Claim scope as explicit predicates or condition blocks (assumptions, parameter ranges, cohorts, platform/Standard versions, Γ_time windows).

Path composition (serial). Along any essential dependency path supporting the claim, the effective scope is the intersection of contributors’ Claim scopes (see §7.2). Empty intersection makes the path inapplicable.

Parallel support. Where independent lines of support justify disjoint areas, the episteme MAY publish a SpanUnion (see §7.3) limited strictly to the covered slices.

Δ‑moves.

  • ΔG+ (widen). Replace scope S with S′ such that S ⊂ S′.
  • ΔG− (narrow). Replace scope S with S′ such that S′ ⊂ S.
  • Refit. Replace S with S′ where S′ = S (normalization, re‑parametrization).
  • Translate. Map S across Contexts via a declared Bridge; CL penalties apply to R, not to F/G.

Orthogonality. Changes in F (form of expression) or D/AT (detail/abstraction tiers) do not change G unless the declared area of validity changes.

U.WorkScope — scope of doing Work (capability)

Carrier. U.Capability (a system’s ability to deliver specified U.Work).

Meaning. The set of U.ContextSlice (conditions, Standards, platforms, operating parameters, Γ_time) under which the capability can deliver the intended Work at the declared measures, within declared qualification windows.

Expression. Capability owners SHALL declare U.WorkScope as explicit conditions/constraints over U.ContextSlice only (environment, platforms, Standards by version, resource regimes, Γ_time). Quantitative deliverables and operation windows are not part of the scope value:

  • Declare targets as U.WorkMeasures (e.g., latency ≤ L, throughput ≥ T, tolerance ≤ ε) bound in guards (WG‑2).
  • Declare inspection/recertification policies as U.QualificationWindow bound in guards (WG‑3).
    The use‑time admission requires all of: WorkScope covers JobSlice AND WorkMeasures satisfied AND QualificationWindow holds.

Method–Work gating. A Work step’s guard MUST check that the target slice is covered by the capability’s Work scope and that required measures and qualification windows are satisfied.

Composition and Δ‑moves. Work scope uses the same algebra as Claim scope (∩ / SpanUnion / translate / widen / narrow / refit). Translation across Contexts follows §7.4.

Separation from knowledge. Work scope does not assert a proposition about the world; it asserts deliverability of Work under conditions. Evidence for deliverability feeds R (Reliability) via measurements and monitoring.

Required guard facets (capabilities).

  • U.WorkMeasures (mandatory). A set of measurable targets with units and tolerated ranges, evaluated on the JobSlice.
  • U.QualificationWindow (mandatory for operational use). A time policy (point/window/rolling) stating when the capability is considered qualified; evaluated at Γ_time.
    These facets are separate from U.WorkScope and live in the R‑lane (assurance). They MUST be referenced in Method–Work guards (see §10.3 WG‑2/WG‑3).

U.PublicationScope — scope of a publication (view/surface)

Carrier. Publication carriers (e.g., PublicationSurface/InteropSurface views/cards/lanes in Part E; MVPK faces). Meaning. The set of U.ContextSlice where a publication (a view/card/lane about some object or morphism) is admissible for use without introducing claims beyond its underlying carrier.

Relation to other scopes (normative).

  • If the publication is about an episteme E:
    PublicationScope(view_E) ⊆ ClaimScope(E).
  • If the publication is about a capability C:
    PublicationScope(view_C) ⊆ WorkScope(C).
  • If the publication is about a composition and/or crosses Contexts:
    PublicationScope(view) ⊆ translate(Bridge, ⋂ scopes of contributors); CL penalties apply to R only (scope set membership is unaffected).

Expression. Authors SHALL declare U.PublicationScope as explicit predicates over U.ContextSlice (Context, Standard/version ids, environment selectors, Γ_time). It MAY be narrower than the underlying scope (e.g., due to pin availability, labeling, or audience constraints) but MUST NOT be wider.

Algebra & Δ‑moves. Inherits the USM algebra (∩ / SpanUnion / translate / widen / narrow / refit). Widen is permitted only when the underlying U.ClaimScope/U.WorkScope widens accordingly; otherwise the publication MAY refit or narrow.

Orthogonality to measurement. U.PublicationScope is a USM scope object (set‑valued), not a CHR Characteristic and MUST NOT appear as a slot in a U.CharacteristicSpace.

View refinement (profiles). When a stricter publication profile/view refines another (e.g., a typed card that requires additional pins), its U.PublicationScope MUST NOT be wider than that of the less formal view.

Scope Algebra

Membership & Coverage

  • Membership judgement. slice ∈ Scope is the primitive check.

  • Coverage guard. A guard “Scope covers TargetSlice” means either:

    • singleton: TargetSlice ∈ Scope, or
    • set: TargetSet ⊆ Scope.
  • No implicit expansion. Absent an explicit declaration, guards MUST NOT treat “close” slices as covered; widening requires a ΔG+ change.

Tri‑state admissibility under unknowns (normative; aligns A.6.1).

  • If any required input to a membership/coverage check is unknown (missing slice selector, unknown Standard version, unmappable Bridge leg, unspecified Γ_time, etc.), the check result is unknown, not false.
  • Guards MUST either abstain (fail closed) or explicitly route the outcome through an R‑lane degradation policy; unknown MUST NOT be coerced to false/0.

Serial Composition (Intersection)

Rule S‑INT (serial). For an essential dependency chain C1 → C2 → … → Ck that supports a claim/capability, the effective scope along that chain is:

Scope_serial = ⋂_{i=1..k} Scope(Ci)

If Scope_serial = ∅, the chain is inapplicable and MUST NOT contribute to published scope.

Monotonicity. Adding a new essential dependency can only narrow (or leave unchanged) the serial scope.

Parallel Support (SpanUnion)

Rule P‑UNION (parallel). If there exist independent support lines L₁,…,Lₙ for the same claim/capability, each with serial scope S_i, the publisher MAY declare:

Scope_published = SpanUnion({S_i})  =  ⋃_{i=1..n} S_i

Constraints.

  • Independence MUST be justified (different support lines must not rely on the same weakest link).
  • The union MUST NOT exceed the union of supported slices; “hopeful” areas are disallowed.
  • Publishers SHOULD annotate coverage density/heterogeneity (informative) to aid R assessment, but numeric “coverage” is not part of G.
  • Independence criterion. Support lines in a SpanUnion MUST be partitioned so that each line has a set of essential components disjoint from the others’ essential components (no shared weakest link). The partition (or a certificate thereof) SHALL be referenced in the publication.

Why a G-ladder/levels/scales is not needed (and must not be introduced)

1) G is not an ordinal scale; it is set-valued. Under USM, U.ClaimScope is a set‑valued USM scope object over U.ContextSlice. The only well‑typed primitives are membership and set operations (, , ). Imposing ordinal “levels” such as G0…Gk violates the type discipline and produces non‑invariant behavior (the same set could be “rated” with different numbers under different heuristics). (See also LEX‑CHR‑STRICT.)

2) G composes via / SpanUnion, not via min / avg. USM already fixes composition: along a dependent path use intersection; across independent support lines publish SpanUnion. None of these operations relies on (or preserves) any linear order. An ordinal “G ladder” invites people to take minimums/averages, which is incorrect for sets and breaks the established algebra.

3) A G ladder drags in “abstraction level,” which is orthogonal. Early “G ladders” effectively encoded abstraction/typing (instances → patterns → formal classes/types → up‑to‑iso). That is valuable didactics, but not applicability. We have already separated these concerns: abstraction is captured, if needed, by U.AbstractionTier (AT) as an optional facet; applicability is U.ClaimScope (G).

4) A G ladder breaks locality and Bridge semantics. Cross‑context transfer maps a set Scope via a Bridge and penalizes R by CL. There is no canonical way to “translate” an ordinal G level between Contexts: the mapped area may be strictly narrower or differently factored. Level numbers would become non‑portable, causing hidden loss or inflation of trust. With USM, we translate sets and keep the CL penalty where it belongs—in R, not in G.

5) A G ladder duplicates ESG guards without adding decision power. What teams often want to “compress into a G number” is actually (a) the quality of expression and (b) the completeness of the declared scope. The first is an F threshold (e.g., require U.Formality ≥ F4 so the scope is predicate‑like and addressable); the second is handled by explicit ESG guards: “Scope covers TargetSlice,” “Γ_time is specified,” and “freshness window holds” (R‑lane). A ladder for G adds confusion but no additional control.

Normative directive. U.ClaimScope (G) SHALL remain a set‑valued USM scope object; no ordinal or numeric ladder SHALL be defined for G. If a profile needs scalar reporting, it MAY publish an explicit report‑only proxy CoverageMetric(G), but CoverageMetric(G) MUST NOT substitute for G in norms, gates, bridge semantics, or CL routing. Authoring and gating SHOULD use F thresholds (C.2.3) and explicit guard predicates (A.2.6) rather than pseudo‑levels of G.

Translation across Contexts (Bridge & CL)

Rule T‑BRIDGE. To use a scope in a different bounded context (room), an explicit Bridge MUST be declared with:

  • Mapping. A documented mapping from source to target U.ContextSlice vocabulary/characteristics.
  • Congruence Level (CL). A rating of mapping congruence.
  • Loss notes. Any known losses, assumptions, or non‑isomorphisms.

Effect. The mapped scope is T(Scope) in the target Context. CL penalties apply to R (the trust in support/evidence), not to F or G. If mapping is coarse, the publisher SHOULD also narrow the mapped scope to the area where losses are negligible (best practice, not a requirement).

Δ‑Operations (Widen, Narrow, Refit)

  • ΔG+ (widen). Monotone expansion: S ⊂ S′. Requires new support or stronger bridges.
  • ΔG− (narrow). Monotone restriction: S′ ⊂ S. Often used to remove areas invalidated by new findings.
  • Refit. S′ = S after normalization (e.g., re‑parameterization, changing units, factoring common predicates). Refit MUST NOT alter membership.

Refit (normalization). A refit MUST preserve membership exactly (S′ = S). Any change that alters boundary inclusion (due to rounding, unit conversion, discretization) is a ΔG± change, not a refit.

Edition triggers. Any change that alters the published set (ΔG±) is a content change and MAY trigger a new edition per Context policy (see A.2.x on editions). Refit is not a content change.

Invariants

  • I‑LOCAL. All scope evaluation is context‑local. Cross‑context usage MUST follow §7.4.
  • I‑SERIAL. Serial scope is an intersection; it cannot grow by adding dependencies.
  • I‑PARALLEL. Parallel scope MAY grow by union, but only where independently supported.
  • I‑WLNK. Weakest‑link applies to F and R on dependency paths; G follows set rules (∩ / ⋃).
  • I‑IDS. Idempotence: Intersecting or unioning a set with itself does not change it.
  • I‑EMPTY. Empty scope is a first‑class value; guards MUST treat it as “not applicable”.

Empty & Partial Scopes

  • Empty scope (). The claim/capability is currently not usable anywhere in the Context; guards MUST fail.
  • Partial scope. Publishers SHOULD avoid “global” language when actual scope is thin; instead, publish explicit slices and (informatively) coverage hints to guide R assessment.

Locality, Time & Version Semantics

context‑locality

Scopes are owned and evaluated within a U.BoundedContext. State assertions (ESG/RSG) and Method–Work gates MUST NOT assume that a scope declared in another Context applies verbatim; see §7.4.

Time selector Γ_time

Every scope declaration and every guard MUST specify a Γ_time selector (point, window, or policy such as “rolling 180 days”) whenever time‑dependent assumptions exist. Implicit “latest” is forbidden. When Γ_time differs between contributors, serial intersection resolves the overlap.

Standards, versions & notations

Scope predicates SHALL name Standards/interfaces/schemas by version. Changing symbols/notations with a faithful mapping does not change G (it may change CL for the mapping and thus affect R).

Determinism of evaluation

Given fixed inputs (slice tuple, declared scope), the membership judgement MUST be deterministic. Guards SHALL fail closed (no membership ⇒ no use).

Interaction with R (freshness & decay)

For empirical claims and operational capabilities, R typically binds evidence freshness windows. Scope does not decay with time; trust in the support does. Guards MAY combine “Scope covers” with “Evidence freshness holds” as separate predicates.

Lexical Discipline (Part E compliance)

L‑USM‑1 (names). Use Claim scope (G) for epistemes, Work scope for capabilities, and Publication scope for publication carriers. Use Scope only when discussing the abstract mechanism. Avoid naming any characteristic as “applicability,” “envelope,” “generality,” “capability envelope,” or “validity”.

L‑USM‑2 (Work/Run). Prefer Work/Run vocabulary from A.15 for system execution contexts. Do not introduce “operation/operating” as characteristic names; use Work scope.

L‑USM‑3 (Validation). “Validation/Validate” remain reserved for LA in assurance lanes (Part B). Do not name a scope object “validity”.

L‑USM‑4 (Domain). “Domain” is a descriptive convenience. Scopes are evaluated on Context slices; guards SHALL reference slices, not generic “domains”.

L‑USM‑5 (First mention). On first use in a Context, include the parenthetical nick: “Claim scope (G)” to preserve the F–G–R mapping.

Guard Patterns (ESG & Method–Work)

Common guard shape

A scope‑aware guard has the form:

Guard := ScopeCoverage AND TimePolicy AND (EvidenceFreshness?) AND (BridgePolicy?)

Admissibility note (normative; A.6.1 alignment). If ScopeCoverage is unknown (due to unknown slice keys, unmappable translation, missing Γ_time, etc.), the guard MUST NOT silently treat this as false. It MUST either abstain (fail closed) or apply an explicit R‑lane degradation policy.

Where:

  • ScopeCoverage: Scope covers TargetSlice (singleton or finite set), see §7.1.
  • TimePolicy: explicit Γ_time selector(s); implicit “latest” is forbidden (§8.2).
  • EvidenceFreshness: optional R‑lane freshness/decay predicates; separate from ScopeCoverage (§8.5).
  • BridgePolicy: required if the Scope and TargetSlice are in different Contexts; declares Bridge, CL, loss notes (§7.4).

The guard fails closed (no membership ⇒ denial), and evaluation is deterministic given the slice tuple (§8.4).

ESG guard families (epistemes)

EG‑1 - ClaimScopeCoverage (mandatory). The state transition MUST include a predicate:

U.ClaimScope(episteme) covers TargetSlice
  • Singleton: TargetSlice ∈ ClaimScope.
  • Finite set: TargetSet ⊆ ClaimScope.

EG‑2 - Formality threshold (if required by ESG). When rigor is gated, the guard MUST reference C.2.3:

U.Formality(episteme) ≥ F_k

EG‑3 - Evidence freshness (R‑lane). If the state implies trust, a separate predicate MUST assert freshness windows for bound evidence:

Fresh(evidence, window)  AND  (NoExpiredBindings)

EG‑4 - Cross‑context usage. If TargetSlice.Context ≠ episteme.Context, the guard MUST require a declared Bridge and CL:

Bridge(source=episteme.Context, target=TargetSlice.Context)  AND  CL ≥ c

Effect: CL penalties apply to R, not to F/G (§7.4). The ESG guard MAY also narrow the mapped Claim scope when mapping losses are known.

EG‑5 - ΔG triggers. If the transition publishes a wider Claim scope (ΔG+), the guard MUST capture the new support or the new Bridge and, if Context policy so dictates, mint a new edition (PhaseOf).

EG‑6 - Independence for SpanUnion (when claiming parallel scope). When the episteme declares a SpanUnion across independent lines, the guard MUST include an independence justification (pointer to the support partition). No independence ⇒ no union.

(Informative note.) Managers often combine EG‑1 (coverage) + EG‑2 (F threshold) + EG‑3 (freshness) for “Effective” or “Approved” states, and EG‑4 when adopting claims across Contexts.

Method–Work guard families (capabilities)

WG‑1 - WorkScopeCoverage (mandatory). A capability can be used to deliver a Work step only if:

U.WorkScope(capability) covers JobSlice

WG‑2 - U.WorkMeasures satisfied (mandatory for deliverables). Guards MUST bind quantitative measures that the capability promises in the JobSlice:

SLO/target measures satisfied (latency ≤ L, throughput ≥ T, tolerance ≤ ε, … )

WG‑3 - U.QualificationWindow holds (mandatory for operational use). Operational guards MUST assert that qualification windows (qualification/inspection/recert intervals) hold at Γ_time:

ValidityWindow(capability) holds at Γ_time

WG‑4 - Cross‑context use of capability. If the JobSlice is in another Context:

Bridge(source=capability.Context, target=JobSlice.Context)  AND  CL ≥ c

CL penalties affect R (confidence in deliverability), not Work scope; however, the guard SHOULD narrow the mapped Work scope to account for known mapping losses.

WG‑5 - Δ(WorkScope). When widening Work scope (new operating ranges/platforms), the guard MUST require evidence at the new slices (measures + qualification windows). Refit (e.g., new units/parametrization) requires no new evidence.

Bridge‑aware guard macro (reusable)

A reusable macro for Cross‑context guards:

Guard_XContext(Scope, TargetSlice) :=
    exists Bridge b: (b.source = owner(Scope).Context AND b.target = TargetSlice.Context)
AND CL(b) ≥ c
AND Scope’ = translate(b, Scope)
AND Scope’ covers TargetSlice
AND (Apply CL penalty to R)
  • Owner(Scope). The carrier that declares the scope: an Episteme (for U.ClaimScope), a Capability (for U.WorkScope), or a Publication carrier (for U.PublicationScope).
  • Translate(b, Scope). The partial mapping of a set of source slices to target slices induced by Bridge b. If a source slice is unmappable, it is dropped. The result is a set of target slices; CL penalties apply to R only.
  • Penalty to R: applied per trust calculus; F and G remain as declared.

Selector policy (Γ_time)

All ESG and Method–Work guards MUST spell out Γ_time:

  • Point (“as of 2026‑03‑31T00:00Z”).
  • Window (“rolling 180 days”).
  • Policy (“last lab calibration within 90 days”).

Implicit “latest” is not allowed. If multiple contributors declare different policies, serial intersection computes the overlap (§8.2).

Conformance Checklist (USM)

IDRequirement
CC‑USM‑1 (Declaration).Epistemes SHALL declare U.ClaimScope, capabilities SHALL declare U.WorkScope. The abstract U.Scope MAY be used in architectural notes but not in guards.
CC‑USM‑2 (Set‑valued).Scope characteristics are set‑valued over U.ContextSlice. Implementations MUST support membership, intersection, SpanUnion, translate, widen/narrow, refit.
CC‑USM‑3 (Coverage guards).ESG and Method–Work guards MUST use Scope covers TargetSlice predicates and MUST specify Γ_time. Guards fail closed.
CC‑USM‑4 (Serial intersection).Along essential dependency paths, effective scope SHALL be the intersection; empty intersection invalidates the path.
CC‑USM‑5 (SpanUnion constraints).Parallel scope MAY use SpanUnion only if independent support lines are justified; published union MUST NOT exceed supported slices.
CC‑USM‑6 (Cross‑context).Any Cross‑context use MUST declare a Bridge and CL; CL penalties apply to R, not F/G.
CC‑USM‑7 (No synonym drift).In normative text and guards, MUST use Claim scope (G) or Work scope. Terms “applicability/envelope/generality/capability envelope/validity” MUST NOT name the characteristic.
CC‑USM‑8 (Determinism).Membership evaluation MUST be deterministic given the slice tuple; no heuristic “close enough” matching.
CC‑USM‑9 (Edition triggers).ΔG± (widen/narrow) constitutes a content change; refit does not.
CC‑USM‑10 (Publication discipline).Publication carriers that gate usage SHALL declare U.PublicationScope. For any publication about an episteme or capability, PublicationScope MUST be a subset of the underlying U.ClaimScope/U.WorkScope. Cross‑context publications MUST cite Bridge + CL; CL penalties apply to R only (scope membership unchanged).
CC‑USM‑11 (Separation).Scope coverage checks and evidence freshness/assurance checks MUST be separate predicates (G vs R).
CC‑USM‑12 (Versioned Standards).Scope predicates SHALL name Standards/interfaces by version; changes in notations with faithful mapping do not change G (may change CL for R).
CC‑USM‑13 (Min‑info publication).Published scopes SHOULD enumerate slices or predicate blocks sufficient to re‑evaluate membership without external folklore.
CC‑USM‑14 (Slot discipline).Where USM operations/guards are referenced in signatures or templates, they SHALL use explicit SlotSpecs and obey the A.6.5 lexical discipline (…Slot for SlotKinds; …Ref only for RefKinds/refs).
CC‑USM‑15 (Unknown handling).Membership/coverage evaluation MUST be tri‑state under unknown inputs: unknown → {abstain (fail closed) | degrade via R}; unknown MUST NOT be coerced to false/0.

Worked Examples

Each example declares the Context, the scope, the target slice, and shows the guard outcome. Where relevant, serial intersection, SpanUnion, and Bridge & CL are illustrated.

Research claim (controlled narrative → predicate)

  • Context: MaterialsLab@2026.
  • Episteme: claim “Adhesive X retains ≥85 % tensile strength on Al6061 for 2 h at 120–150 °C.”
  • Claim scope (G): {substrate=Al6061, temp∈[120,150]°C, dwell≤2h, Γ_time = window(1y), rig=Calib‑v3}.
  • Target slice: {substrate=Al6061, temp=140 °C, dwell=90 min, Γ_time=2026‑04‑02, rig=Calib‑v3}.
  • Guard (EG‑1, EG‑2): covers(TargetSlice) true; U.Formality ≥ F4 true (predicates in spec).
  • Outcome: state transition allowed (freshness checked separately under R).

Cross‑context use of the research claim

  • target Context: AssemblyFloor@EU‑PLANT‑B.
  • Bridge: declared mapping of rigs and temp measurement correction; CL=2 (loss: ±2 °C bias).
  • Mapped Claim scope: translate(Bridge, G) narrows temp to [122,148]°C.
  • Guard (EG‑4): Bridge present, CL≥2 true; R is penalized per Φ(CL).
  • Outcome: allowed; G remains the mapped set; R lowered.

Capability: robotic weld Work scope

  • Context: RobotCell‑Weld@2026.
  • Capability: “Weld seam W at bead width 2.5 ± 0.3 mm, cycle ≤ 12 s.”
  • Work scope: {humidity<60 %, current∈[35,45]A, wire=ER70S‑6, Γ_time=rolling(90d), controller=FW‑2.1}.
  • Job slice: {humidity=55 %, current=40A, wire=ER70S‑6, Γ_time=now, controller=FW‑2.1}.
  • Guards (WG‑1..3): coverage true; measures satisfied; qualification window true (controller certified 60 d ago).
  • Outcome: capability admitted for this Work.

Serial intersection (API + dataset compatibility)

  • Claim A (API Standard): v2.3 request schema with constraint “idempotent under retry”.
  • Claim B (Dataset cohort): “metrics valid for cohort K with schema ds‑14”.
  • Composition: service S depends on both A and B → serial intersection of Claim scopes: {api=v2.3} ∩ {cohort=K, schema=ds‑14}.
  • Target slice: {api=v2.3, cohort=K, schema=ds‑14} → membership true.
  • Any drift (e.g., ds‑15) empties the intersection ⇒ path inapplicable.

Parallel support (SpanUnion) in a safety case

  • Line L1: tests on dry asphalt support braking property; scope S1={surface=dry, speed≤50 km/h}.
  • Line L2: simulations for wet asphalt; scope S2={surface=wet, speed≤40 km/h}.
  • Published scope: SpanUnion({S1,S2}) = {(dry, ≤50), (wet, ≤40)} with independence note (L1 empirical, L2 model‑validated).
  • Guard: allowed; union does not include (wet, 45) because not supported.

ML model deployment across Contexts

  • Model claim: “AUC ≥ 0.92 on cohort K, pipeline P, features F, Γ_time=rolling(180d).”
  • Claim scope: {cohort=K, pipeline=P, features=F, Γ_time=rolling(180d)}.
  • target Context: product On‑Device@v7, features F’ (subset), pipeline P’.
  • Bridge: declared mapping F→F’, P→P’, CL=1 (notably lossy).
  • Guard: Bridge present; translate(G) covers a strict subset; CL=1 penalizes R strongly; ESG requires F≥F5 (executable semantics) and freshness < 90 d.
  • Outcome: allowed only for the covered subset; adoption flagged with reduced R.

Playbooks (Informative)

Manager’s 6‑step adoption checklist

  1. Name the TargetSlice. Write the tuple (Context, versions, environment params, Γ_time).
  2. Check scope coverage. “Claim/Work scope covers TargetSlice?” If no, either ΔG+ (publish wider scope with support) or decline.
  3. Check rigor if gated. If ESG requires it, ensure U.Formality ≥ F_k.
  4. Check evidence freshness (R). Validate windows/decay policies; do not conflate with coverage.
  5. Bridge if Cross‑context. Require declared Bridge, CL, and loss notes; accept R penalties.
  6. Record the decision. Keep the slice and guard outcomes with the StateAssertion (auditability).

Architect’s design rubric for scopes

  • Prefer predicates over prose. Name parameters, ranges, Standards by version, and Γ_time.
  • Factor common conditions. Use Refit to normalize units and factor shared predicates; do not widen by stealth.
  • Partition support lines. If you plan a SpanUnion, document independence up front.
  • Keep scope thin & honest. Publish what you can support; add slices as support appears (ΔG+).
  • Design Bridges early. When interop is planned, sketch mapping characteristics and expected CL; plan R penalties.

Review anti‑patterns & fixes

Anti‑patternWhy it’s wrongFix
“Latest” time by defaultNon‑deterministic; violates §8.2Declare Γ_time explicitly (point/window/policy)
Using “domain” in guardsNot addressable; hides slicesReplace with concrete U.ContextSlice tuples
Treating “more abstract wording” as wider scopeAbstraction ≠ applicabilityKeep AT/D separate; widen G only with explicit ΔG+
Publishing union without independenceOverstates coverageJustify independence or publish serial intersection only
Cross‑context use without BridgeSilent semantic driftRequire Bridge + CL; apply R penalties

Minimal DSL snippet for scope blocks (illustrative)

claimScope:
  Context: MaterialsLab@2026
  Standards:
    - rig: Calib-v3
    - api: v2.3
  env:
    substrate: Al6061
    temp: [120, 150] # °C
    dwell: { max: "2h" }
  gamma_time: { window_days: 365 }

(Illustrative only; the specification does not mandate a particular syntax.)

Profiles as Scope configurations (informative)

Idea. A Scope profile is a named, editioned configuration that expands to a concrete U.Scope predicate block (over U.ContextSlice), used to avoid repetition and to keep declarations consistent across carriers.

Rules.

  • P1 (Expansion). Profiles are macros: guards MUST expand them to explicit predicates before evaluating Scope covers TargetSlice.
  • P2 (Edition). Profiles are editioned; changing a profile’s predicates is a content change for any carrier that references it.
  • P3 (No stealth widen). A profile update MUST NOT implicitly widen a carrier’s published scope; ΔG+ must be explicit in that carrier.
  • P4 (Bridge awareness). If a profile implies Cross‑context use, it MUST name the Bridge and CL policy; CL penalties apply to R only.
  • P5 (Locality). Profiles are context‑local conveniences; they do not introduce new scope types.

Examples (illustrative).
— An engineering context defines Ops‑Lab‑v3 as a profile pinning Standards, environment selectors, and a rolling Γ_time policy; claims, capabilities, and publications may reference it as a shorthand.
— A publication stack defines TechCard‑Lite@Σ as a profile that narrows U.PublicationScope to slices where required pins are available.

Governance Hooks & Audits

Governance metadata (normative)

Contexts that adopt USM SHALL record, per scope‑aware decision:

  • Owner. Episteme (for Claim scope) or Capability (for Work scope).
  • TargetSlice tuple. Context, vocab/roles, versioned Standards, environment selectors, Γ_time.
  • Guard outcomes. Membership result, Bound measures (for Work scope), Freshness predicates (R).
  • Bridge info (if any). Mapping summary, CL, loss notes, applied R penalty.
  • ΔG log. Widen/narrow/refit; edition policy outcome.

USM compliance levels (informative)

  • USM‑Ready. Context declares adoption; editors trained; lexicon updated.
  • USM‑Guarded. All ESG/Method–Work guards use Claim/Work scope and Γ_time.
  • USM‑Auditable. Decision records include TargetSlice tuples and Bridge/CL details.
  • USM‑Composed. Serial intersection and SpanUnion are implemented in composition tooling.

Audit checklist (informative)

  • Does each guard name a concrete TargetSlice?
  • Is membership deterministically recomputable from published predicates?
  • Are freshness and coverage separate predicates?
  • For Cross‑context use: is there a Bridge with CL and loss notes?
  • For parallel support: is independence justified?

Risk controls (informative)

  • Silent widening. Require ΔG+ review; flag any scope increase without new support/Bridge.
  • Opaque slices. Disallow “domain” placeholders; enforce addressable selectors.
  • Time drift. Require Γ_time policies (rolling windows) for time‑sensitive scopes.

Cross‑Pattern Coordination

With F–G–R (C.2.2)

  • G is Claim scope. Use set algebra (∩ / SpanUnion).
  • F remains the expression rigor (C.2.3); R captures evidence freshness and CL penalties.
  • Weakest‑link. On dependency paths: F_composite = min(F), R_composite = min(R); G follows §7.2–§7.3 (set rules).

With Formality (C.2.3)

  • No conflation. Raising F does not change G unless scope predicates change.
  • Guarding rigor. ESG may use U.Formality ≥ F_k alongside scope coverage.

With Work & Run (A.15)

  • Work scope aligns with the execution context of U.Work.
  • Method–Work gates use Work scope coverage plus measures and qualification windows.

With Bridges & CL (Part B)

  • CL only impacts R. CL penalties reduce trust; they never rewrite F or G.
  • Best practice. Narrow mapped scopes where mapping losses are material.

With Capability governance (A.2.2)

  • Capabilities MUST declare Work scope, measures, qualification windows; gates MUST verify all three.
  • Capability refits that preserve the set (unit changes) are Refit, not Δ(WorkScope).

Extended FAQ (informative)

Q1. Is “Claim scope” the same as “domain”? No. “Domain” is descriptive and often fuzzy. Claim scope is addressable: it names concrete U.ContextSlice conditions and a Γ_time policy. Guards MUST reference slices, not generic “domains”.

Q2. How do we express partial coverage across different cohorts or platforms? Declare each supported serial scope (S₁, S₂, …) and publish SpanUnion({Sᵢ}) with independence justification. Do not include unsupported slices.

Q3. Can raising F (formalizing) widen G? Only if the formalization explicitly changes the scope predicates (ΔG+). Formalization alone does not widen scope.

Q4. What is the difference between Work scope and SLOs? Work scope is where the capability can deliver; measures within the guard are what it promises there (SLO targets). Both are required at use time (WG‑1..3).

Q5. Can we assign numeric coverage to G? Not normatively. G is set‑valued. You MAY attach an informative, explicitly declared CoverageMetric(G) (e.g., a proportion under a pinned policy) to aid R assessment, but guards use set membership and CoverageMetric(G) MUST NOT replace G.

Q6. How do we handle “latest data” scopes? You don’t. Declare a Γ_time policy (e.g., rolling 90 days). “Latest” is forbidden to ensure reproducible evaluation.

Q7. How do we move a scope to another Context? Declare a Bridge with CL and loss notes; compute translate(Bridge, Scope); apply CL penalty to R; consider narrowing the mapped set.

Q8. What about abstraction level or detail? Keep AT (AbstractionTier) and D (Detail/Resolution) as orthogonal, optional annotations. They never substitute for Claim/Work scope.

Q9. Can a capability’s Work scope be broader than a predecessor claim’s Claim scope on a dependency path? They are on different carriers. In a serial dependency, the effective scope is the intersection; the broader one does not dominate.

Q10. When does an empty scope make sense? It indicates “not usable anywhere (here, now)”. Guards MUST fail. This is common during early drafting or after a refutation.

Annexes (informative)

Legacy → USM dictionary

Legacy wordingUSM term
applicability (of a claim)Claim scope (G)
envelope (of a requirement/spec)Claim scope
generality GClaim scope (G)
capability envelopeWork scope
validity (as a characteristic name)Claim scope or Work scope (depending on carrier)
operational applicabilityWork scope
publication/view applicabilityPublication scope

(Use legacy terms only in explanatory notes; not in guards or conformance text.)

Minimal data model hints

ContextSlice tuple (suggested keys): Context, vocabId, rolesetId?, Standards: [{name, version}], env: {param: range/value}, gamma_time: {point|window|policy}.

Claim scope block: assumptions, cohorts, platforms/Standards, env, gamma_time.

Work scope block: conditions (env/platform/Standards), measures (targets & units), validity_windows, gamma_time.

(These are informative; the spec does not mandate a concrete serialization.)

Pseudocode membership (illustrative)

def covers(scope: Set[Slice], target: Union[Slice, Set[Slice]]) -> bool:
    if isinstance(target, Slice):
        return target in scope
    return target.issubset(scope)

A.2.6:17. 4 Rationale - F‑Cluster Unification for A.2.6 (F.17 / F.18)

Intent. This annex applies the F‑cluster method to triangulate USM terms against a diverse set of post‑2015 sources and communities (“Contexts”), and then fixes the Unified Tech and Plain names used in A.2.6. Results are ready for downstream lexicon entries (Part E) and guard templates (ESG / Method–Work).

F.17 Unified Term Survey (UTS) — Method & Scope

Contexts surveyed (SoTA, diverse):

  1. ISO/IEC/IEEE 42010 (architecture description)
  2. OMG Essence (Kernel: Alphas, Work Products, States)
  3. NIST AI RMF 1.0/1.1 (trustworthy AI)
  4. ASME V&V 40–2018 / FDA 2021–2023 (model credibility)
  5. W3C SHACL (2017+) / SHACL‑AF (data constraints)
  6. OWL 2 / ontology engineering (2012+, current practice)
  7. IETF BCP 14 (RFC 2119/8174) (normative keywords & guard style)
  8. DO‑178C + DO‑333 (avionics, formal methods supplement)
  9. ISO 26262:2018/2025 (automotive functional safety)
  10. IEC 61508 (2010+, current revisions) (basic safety)
  11. ACM Artifact Review & Badging v1.1 (reproducibility signals)
  12. MLOps/Cloud SLO practice (SRE / platform) (operational guardrails)

Survey focus (terms we align): U.ContextSlice, generic Scope and set algebra, Claim scope (G), Work scope, Bridge & CL, Γ_time, widen/narrow/refit/translate, SpanUnion / serial intersection, separation from F and R, avoidance of overloaded validity/operation terms.

UTS Table (F.17) — Cross‑context term mapping

#Context / SourceLocal label(s) (native)Closest USM conceptNotes on fit & deltas
1ISO/IEC/IEEE 42010Architecture context; environment; stakeholder concerns; viewpoints/viewsContextSlice (addressable slice); Scope as view‑specific applicability42010 is about views in context; it has no first‑class set‑valued scope char but aligns with “evaluate in a concrete context” → USM uses explicit slice tuples.
2OMG EssenceAlpha State; Work Product State; Level of Detail (LoD)Work scope (guards), Detail (D) (LoD), ESG/RSGEssence separates status (states) and work evidence; LoD is detail, not scope. USM treats scope as guardable membership over slices; states/LoD map to ESG & D, not to G.
3NIST AI RMFContext of use; validity, reliability, robustness; monitoringClaim scope (G); R freshness/monitoring“Context of use” = where a claim/model holds → maps to G. “Validity” is part of R vocabulary; we avoid naming the characteristic “validity” to prevent LA confusion.
4ASME V&V 40 / FDAContext of use; credibility factors; verification/validationClaim scope (G); R (credibility)Direct fit for G via “context of use”. Credibility/evidence freshness contribute to R, not to G; USM keeps them separate in guards.
5W3C SHACLShapes; targets (sh:targetClass, sh:target); constraintsClaim scope (targets define where constraints apply); F≥4 (predicate form)SHACL “target” ≈ membership predicate on a dataset context; perfect analogue of Claim scope on data slices; constraint language supports F4‑style predicates.
6OWL 2 practiceClass extension; domain/range; imports/version IRIClaim scope as class extension over an ontology contextClass extension is set‑semantics by design; G naturally maps to extension over a versioned ontology (part of ContextSlice).
7IETF BCP 14MUST/SHALL/SHOULD; requirements languageGuard style (observable predicates)BCP 14 doesn’t define scope but dictates how guards are worded; USM aligns by requiring observable, deterministic membership checks.
8DO‑178C / DO‑333Operational conditions; DAL; formal method objectives; TQLWork scope (operating conditions); F (proof‑grade), R (assurance objectives)Operational applicability = Work scope; formal method objectives lift F; Tool qualification impacts TA/R, not G.
9ISO 26262Operational situation & operating modes; ASIL; OSEDWork scope (operating modes/situations)OSED/operating modes define where capability can be exercisedWork scope. Assurance level (ASIL) relates to R, not G.
10IEC 61508SIL; demand mode; proof test intervalWork scope (demand vs continuous mode) + R freshnessMode concepts influence where/how a function can be claimed → Work scope; proof test interval sits in R (freshness/decay).
11ACM ArtifactsAvailable/Evaluated/Reusable; Reproduced/ReplicatedR signals; ContextSlice (reproduction environment)Badges encode evidence availability/strength; the declared environment maps to a slice; scope of claim is often implicit → USM makes it explicit.
12SRE / Cloud SLOSLOs; error budgets; regions/tiers; rollout windowsWork scope (regions/tiers/windows) + measures; Γ_time policiesSLOs attach measures within a Work scope (region/tier/time window); perfect fit for USM Method–Work guards (WG‑1..3).

Summary. Across all Contexts, two stable notions recur: (1) evaluate in a concrete context (→ U.ContextSlice), and (2) declare where something holds/is deliverable (→ set‑valued Scope). “Context of use,” “operating modes,” “targets,” “class extension,” and “OSED” are all Context‑flavored presentations of Claim scope or Work scope. Terms like validity and operation are semantically close but collide with LA and FPF’s Work/Run lexicon; we therefore do not adopt them as characteristic names.

F.18 Term Selection — Unified Tech & Plain names

Selected names (normative)
Concept in A.2.6Unified Tech (lexicon)Unified Plain (manager‑friendly)Allowed short formDeprecated / avoid
Addressable evaluation contextU.ContextSliceContext sliceSlice (when local)“domain” (as guard input), “latest” time
Abstract mechanism (set‑valued)U.ScopeScope“applicability”, “envelope”, “validity” (as characteristic names)
Episteme applicabilityU.ClaimScope (*nick G)Claim scopeG“generality”, “applicability/envelope (of claim)”
Capability applicabilityU.WorkScopeWork scope“capability envelope”, “operational applicability”, “operation scope”
Time selectorΓ_timeTime selectorimplicit “latest”
Cross‑context mappingBridge + CLBridge + congruence levelCLsilent reuse across Contexts
Parallel coverageSpanUnionUnion of supported areasunqualified “union” without independence
Serial dependencyIntersectionIntersection of scopesordinal “more/less general” language
Scope editsΔG+ (widen), ΔG− (narrow), Refit, TranslateWiden, narrow, refit, translatestealth widening (“it’s obvious”)
Optional didacticsU.Detail (D), U.AbstractionTier (AT)Detail / abstraction tierD / ATusing AT/D as G substitutes

Why these names (decision grounds):

  • “Scope” wins over “envelope/applicability/validity”. It is short, self‑documenting, and already idiomatic in SRE/SW, while “validity” clashes with Validation Assurance (LA) and “envelope” suggests geometry, not membership.
  • “Claim scope” vs “Work scope”. Two‑word compounds meet the FPF clarity rule: the first token reveals the carrier (Claim vs Work/Capability), the second the mechanism (scope).
  • Keep G. The F–G–R triple is canonical; we retain G as nickname for Claim scope.
  • “Context slice” is the only term that makes the evaluation target addressable (Context, versions, params, Γ_time).
  • “Operation/operating/validity” avoided. They are overloaded in existing FPF lanes (Work/Run, LA) and create policy ambiguities in guards.
Phrasebook (for editors, normative)
  • Use “Claim scope (G) covers TargetSlice” and “Work scope covers JobSlice” in guards.
  • Always spell Γ_time; never say “latest”.
  • To compose, say: “intersection along dependency paths; SpanUnion across independent support lines.”
  • For Cross‑context use, say: “via Bridge; CL penalties apply to R (trust), not to F/G (content/scope).”
  • When widening/narrowing, write “ΔG+ / ΔG−” and log the support change; use “Refit” for unit/param normalization.
Rosetta summary (informative, for rationale box)
local context phraseUse in USM wording
“Context of use” (NIST, ASME/FDA)Claim scope (G) on explicit Context slice
“Operating modes/situations” (ISO 26262)Work scope with measures & qualification windows
“Target (class/shape)” (SHACL/OWL)Claim scope predicates (membership)
“Architecture view context” (42010)Context slice + Scope checks inside the view
“Capability envelope” (legacy safety docs)Work scope
“Domain” (informal)Context slice elements; not acceptable as a guard input

Outcome. The UTS shows strong convergence across SoTA Contexts on addressable context and set‑valued applicability. F.18 therefore fixes: Context slice, Scope, Claim scope (G), Work scope, Publication scope with the algebra and guard clauses mandated in A.2.6. This closes synonym drift while remaining readable for engineering managers and precise for assurance tooling.

A.2.6:End

U.RoleAlgebra: In‑Context Role Relations

Type: Definitional (D) Status: Stable Normativity: Normative

with requiredRoles substitution, SoD (), and bundle () hooks

Builds on: A.1.1 U.BoundedContext, A.2 Role Taxonomy.
Coordinates with: A.2.1 U.RoleAssignment, A.15 Role–Method–Work Alignment.

Problem frame

Intent. Provide a tiny, explicit algebra over role types inside one Context so engines can (a) substitute specialisations, (b) enforce separation of duties, and (c) treat frequent conjunctions as named bundles—without encoding taxonomy in RoleAssignments.

Scope.

  • Defines three in‑Context relations/operators: specialization , incompatibility , and bundle .
  • States substitution semantics used when checking MethodStep.requiredRoles.
  • States overlap‑prohibition semantics used to validate RoleAssignments.

Non‑goals.

  • No cross‑Context equivalence by label; cross‑Context reuse is Bridge‑only (F.9).
  • No mereology; role algebra does not describe part‑of or structure membership.
  • No capability model; intrinsic ability evidence lives in U.Capability and related patterns.

Disambiguation. Do not confuse role specialization with kind subsumption (Kind‑CAL).
is requirement substitution between role types in one Context; is typing between kinds.

Solution (the three operators)

Role algebra relates role types inside one U.BoundedContext. It is not mereology.

Specialization (narrower assignment)

  • Notation: RoleS ≤ RoleG
  • Semantics (normative): For any U.RoleAssignment with role = RoleS in this Context, the holder also satisfies requirements for RoleG in this Context.
  • Use: Stable expertise ladders; privilege inheritance; “junior→senior” substitution.
  • CC‑ALG‑1. Engines that check requiredRoles MUST treat as admissible substitution.

Incompatibility (conceptual role incompatibility)

  • Notation: RoleA ⊥ RoleB
  • Semantics (normative): Overlapping windows on the same holder for assignments to both roles in this Context are ill‑formed.
  • Use: Separation‑of‑duties (SoD); independence constraints (e.g., performer vs reviewer).
  • CC‑ALG‑2. Validation MUST reject overlapping assignments that violate .

Bundles (conjunctive requirement)

  • Notation: RoleC := Role1 ⊗ Role2 ⊗ …
  • Semantics: RoleC is satisfied iff the holder has simultaneous valid assignments for each conjunct role (in this Context).
  • Use: Frequent conjunctions (e.g., “On‑call Incident Commander” = Engineer ⊗ Communicator ⊗ Decision‑Maker).
  • CC‑ALG‑3. Engines that check requires: [RoleC] MUST expand to conjunctive checks.

Didactic guardrails. Use for lasting ladders, for critical safety/governance, for frequent conjunctions. Prefer listing multiple requiredRoles on Method steps to avoid ornate lattices.

Relations

Builds on / depends on

  • A.1.1 U.BoundedContext — the locality boundary within which the algebra holds.
  • A.2 Role Taxonomy — role families and context‑local naming.

Used by

  • A.2.1 U.RoleAssignment — avoids chained assignments; uses ≤/⊥/⊗ for checking and validation.
  • A.15 Role–Method–Work Alignment — expands requiredRoles and enforces SoD requirements.
  • D.2 ethics/governance patterns — encode SoD and independence via .

A.2.7:End

U.Commitment (Deontic Commitment Object)

Type: Definitional (D) Status: Stable Normativity: Normative (unless explicitly marked informative) Placement: Part A → A.2 Roles & Agency Kernel Refines: A.2 (Role Taxonomy) Builds on: E.8 (authoring template), A.2.1 (RoleAssignment), A.2.6 (Scope & Γ_time), A.7 (Object≠Description≠Carrier), A.2.3 (U.PromiseContent as promise), A.15.1 (U.Work) Purpose (one line): Provide a minimal, reusable kernel object for deontic commitments (who is accountable, under what modality, in what scope/window, with respect to which referents, with which adjudication hooks), explicitly separating the commitment object from its utterance descriptions (A.7), so deontics stop “living” in naming patterns and become stable across A.6 and later governance patterns.

Terminology: “binding” is overloaded (normative)

The word family “bind/binding” is used throughout FPF for technical binding (name/slot binding, parameter binding, etc.). This pattern introduces a narrower lexical constraint: do not use “binding” as the Tech-level term for deontic governance relations. Use commitment and model it as U.Commitment. If source material uses “binding contract/promise” rhetoric, rewrite it into explicit U.Commitment fields (subject, modality, scope/window, referents, and—when auditable—adjudication).

This pattern therefore treats commitment as the canonical Tech-level term and uses U.Commitment as the kernel object.

If your source material uses “binding” rhetoric (e.g., “binding contract”, “legally binding promise”), treat it as Plain-level phrasing that MUST be rewritten into explicit U.Commitment fields (subject, modality, scope/window, referents, and—when auditable—adjudication).

Problem frame

FPF needs to express boundary governance and socio-technical obligations in a way that is:

  • role/agent-grounded (someone is accountable),
  • scope-and-window explicit (where/when the commitment holds),
  • reference-based (no paraphrase drift; refer to claim IDs),
  • adjudicable (if intended to be checkable, it has an evidence story).

In practice, texts use “MUST/SHALL/should”, “commits to”, “guarantees”, “SLA”, “contract”, etc. Without a stable kernel object for “the deontic binding”, authors either:

  • assign agency to descriptions (“the API guarantees…”),
  • smuggle admissibility gates into deontics (or vice versa),
  • treat evidence as semantic truth,
  • or create multiple inconsistent “contracts” across faces.

A.6.B provides routing discipline (L/A/D/E), and A.6.C provides contract-language unpacking, but both benefit from a kernel-level object that pins down what a U.Commitment is structurally (so “contract/binding” rhetoric does not leak back in as ontology).

Problem

How can FPF represent a deontic commitment relation so that:

  1. The accountable subject is explicit (role or role-enactor; not “the spec/interface/service”),
  2. Modality is explicit and lintable (obligation / permission / prohibition / strength),
  3. Scope and validity window are explicit (bounded context + time + conditions),
  4. The content is referenceable via stable referent claim IDs (promise contents, gates, evidence targets, etc.),
  5. Adjudication hooks exist when the binding is meant to be testable/auditable (links to evidence claims and carrier expectations),
  6. Conflicts can be represented (without requiring this pattern to solve them).

Forces

ForceTension
MinimalityThe object must be small enough to use routinely, not a full legal-contract model.
GeneralityIt must work for software specs, protocols, hardware boundaries, and socio-technical governance.
Layering disciplineIt must not collapse “law / gate / duty / evidence”; it should enable routing rather than replace it.
Local meaningDefaults should be bounded-context local; cross-context bindings must be explicit.
AuditabilitySome commitments are aspirational; others are auditable. The representation must support both, without implying auditability by default.
Multi-level governance realityPeople/orgs/states can issue incompatible commitments; the model must represent issuer/authority/priority without “solving politics” inside Part A.

Solution

U.Commitment is the kernel object representing a deontic commitment relation: it links an accountable subject (role/role-enactor) to one or more referents via an explicit modality within an explicit scope/window, optionally with adjudication hooks.

This pattern defines:

  • a normative minimal structure for U.Commitment,
  • how U.Commitment relates to U.PromiseContent, U.Work, and evidence,
  • how it is used as the canonical payload for D-quadrant claims (A.6.B),
  • and what must be stated for a commitment to be considered auditable.

Normative definition

A U.Commitment is a governance object representing a deontic relation that constrains an accountable subject (role or role-enactor) with respect to one or more referents under an explicit modality and explicit scope/window, optionally with explicit adjudication hooks.

Per A.7, a U.Commitment is not the text that states it: it is an object that is typically instituted by (and recorded via) one or more speech acts and utterance descriptions and may be carried by artifacts.

Minimal structure (normative)

A conforming U.Commitment SHALL be representable by the following minimal record (field names are illustrative; the presence/meaning constraints are normative). Required fields are: id, subject, modality, scope, validityWindow, referents. adjudication and source are optional (but may become required by other patterns when auditability or authority must be made explicit).

U.Commitment ::=
  {
    id: CommitmentId,                  // stable identifier; can align with D-* claim ID
    subject: CommitmentSubject,         // accountable role or role-enactor (not an episteme)
    owedTo: optional<set<CounterpartyRef>>, // who the commitment is owed to / intended beneficiary (optional; governance-facing, not required)
    modality: DeonticModalityToken,     // deontic modality (normalized; lintable)
    scope: U.ClaimScope,               // bounded context for applicability + non-temporal delimiters (same primitive as claim scopes; commitments are not epistemes)
    validityWindow: U.QualificationWindow, // Γ_time slice + conditions under which it applies / is in force
    referents: set<ReferentRef>,        // what is being bound (by reference, not paraphrase)
    adjudication: optional<AdjudicationHooks>, // evidence hooks if auditable
    source: optional<CommitmentSource>, // what instituted/authorized it (issuer + instituting act + utterance description), when provenance matters
    notes: optional<InformativeText>    // explicitly informative; not part of the binding
  }

CommitmentSubject ::=
  RoleRef | RoleAssignmentRef | PartyRef
  // At minimum: a RoleRef that denotes an accountable role kind in a bounded context.
  // If a concrete party/holder is known, prefer RoleAssignmentRef or PartyRef.
  // If multiple subjects are independently accountable, authors SHOULD model separate commitments (one per subject),
  // unless a joint obligation is explicitly modeled as a single PartyRef.

CounterpartyRef ::=
  PartyRef | RoleRef | RoleAssignmentRef
  // Optional “to whom”/beneficiary/counterparty handle. Keep minimal: do not treat it as a full legal-party model.

DeonticModalityToken ::=
  MUST | MUST_NOT | SHOULD | SHOULD_NOT | MAY
  // Interpreted as in RFC 8174 keyword discipline when used normatively.
  // **Normalization rule:** if authors use synonyms (e.g., SHALL, REQUIRED, RECOMMENDED, OPTIONAL),
  // they MUST be mapped to this normalized set for linting and comparison.
  //
  // **Normalization mapping (normative; illustrative table):**
  // - SHALL, REQUIRED        -> MUST
  // - SHALL NOT, PROHIBITED  -> MUST_NOT
  // - RECOMMENDED            -> SHOULD
  // - NOT RECOMMENDED        -> SHOULD_NOT
  // - OPTIONAL               -> MAY

ReferentRef ::=
  ClaimIdRef | PromiseContentRef | MethodDescriptionRef | WorkRef
  // Prefer ClaimIdRef when a routed claim ID exists (L-*, A-*, D-*, E-*).
  // Use PromiseContentRef when the commitment is about satisfying a promise-content clause (`U.PromiseContent`).
  // Use MethodDescriptionRef (preferred) when the commitment is about performing/avoiding a work-kind (work-to-be-done).
  // Use WorkRef only when the commitment is about an already executed/ongoing Work occurrence (rare).

PromiseContentRef ::=
  ObjectIdRef
  // MUST resolve to a `U.PromiseContent` object (A.2.3). (Some chapters may call this a “promise content”.)

AdjudicationHooks ::=
  {
    evidenceRefs: set<ClaimIdRef>,      // typically E-* claim IDs
    carrierRefs: optional<set<CarrierClassRef>>,  // if evidence carriers are part of the hook
    evaluationNotes: optional<InformativeText>    // how adjudication is done; informative unless normed elsewhere
  }

DescriptionRef ::=
  ClaimIdRef | EpistemeRef
  // A pointer to an utterance description that states/records the commitment (e.g., spec clause, policy text).

SpeechActRef ::=
  ObjectIdRef
  // MUST resolve to a `U.SpeechAct` Work occurrence (A.2.9).

CommitmentSource ::=
  {
    issuer: optional<PartyRef>,         // who issued/authorized the commitment (can be distinct from subject)
    speechActRef: optional<SpeechActRef>, // instituting communicative act, when available
    descriptionRef: optional<DescriptionRef>, // where it is stated/recorded (utterance description)
    authorityClass: optional<AuthorityTag>, // e.g., policy, contract, statute, standard (informative tag)
    precedence: optional<PriorityTag>   // used for conflict handling elsewhere; not a truth claim
  }

Normative constraints:

  • (C1) Subject must be accountable. subject MUST resolve to an accountable role/party; it MUST NOT be “the interface/spec/service/system” as an episteme.
  • (C2) Modality must be explicit and normalized. modality MUST be present for normative commitments and MUST be normalized to DeonticModalityToken.
  • (C3) Scope + validity must be explicit. scope and validityWindow MUST be present. Defaults are allowed only when an explicit context policy is cited as the source of those defaults (do not rely on “implied defaults”). validityWindow expresses in-force conditions; per-action admissibility gates belong in referenced A-* predicates.
  • (C4) Referents must be non-empty. referents MUST contain at least one referent (what is being obligated/permitted/prohibited).
  • (C5) Referents must be by reference when possible. If the bound content already exists as claim IDs, referents SHOULD cite those IDs rather than restating them.
  • (C6) Auditable commitments must have adjudication hooks. If a commitment is intended to be audited/adjudicated by observation, adjudication.evidenceRefs SHALL include the evidence claim IDs (typically E-*) that carry the adjudication substrate.
  • (C7) Evidence belongs in adjudication by default. If an E-* claim is referenced only to define how to measure/verify a commitment, it SHALL be listed in adjudication.evidenceRefs (not in referents). An E-* claim MAY appear in referents only when the commitment’s content is itself an evidence-producing/retaining duty (e.g., “MUST retain traces”).
  • (C8) Default auditability stance is explicit. If adjudication is absent, the commitment SHALL be treated as non-auditable by default (aspirational / governance-only), unless another pattern or Context policy explicitly supplies adjudication hooks by reference.

Interaction rules (normative)

  1. U.PromiseContent is promise content; U.Commitment is the governance relation. A service promise clause (what is promised) is not, by itself, an accountable commitment. A U.Commitment makes an accountable subject responsible for providing/satisfying the service promise (or for satisfying other governance clauses).

  2. U.Commitment is not U.Work. Work is execution; commitment is governance. A commitment may reference evidence targets, but it does not “contain” evidence.

  3. Commitments may reference admissibility predicates; they must not become predicates. If compliance requires satisfying a gate predicate, the commitment should reference the gate (A-*) as a referent, rather than rewriting the predicate as prose inside the commitment.

  4. A U.Commitment is a governance object, not a law. Commitments are not truth-conditional invariants. If something is intended to be an invariant, it belongs as law/definition (L), and a commitment can reference it.

  5. Lifecycle changes are explicit (no silent mutation). When a commitment is updated, narrowed, broadened, superseded, or revoked, the change SHOULD be represented as a new U.Commitment (new ID) and an instituting U.SpeechAct (A.2.9) that references the affected commitment IDs (e.g., via U.Commitment.source.speechActRef and a status/supersession claim), rather than editing a published commitment in place without an auditable change record.

When using the A.6 stack, represent each D-quadrant atomic claim as a U.Commitment payload with:

  • id = D-*,
  • subject = accountable role/party,
  • modality = DeonticModalityToken (normalized from RFC-keyword family usage),
  • referents = {PromiseContentRef, MethodDescriptionRef, L-*, A-* … as needed} (content/targets),
  • adjudication.evidenceRefs = {E-* …} when the commitment is meant to be checkable.

Archetypal Grounding (Tell–Show–Show)

Tell (universal rule)

A deontic statement becomes stable and reviewable when it is represented as a U.Commitment with an accountable subject, an explicit modality, explicit scope/window, referent claim IDs, and—if auditable—explicit evidence hooks.

Show #1 (system archetype: incident response SLO discipline, post‑2015 SRE practice)

A production org states: “Severity‑1 incidents must be responded to within 4 hours.”

A routable commitment:

  • subject: RoleAssignmentRef(OpsTeam as ProviderRole) (or at least RoleRef(ProviderRole)),
  • modality: MUST,
  • scope: bounded context IncidentManagement,
  • validityWindow: calendarYear2026 (or “while contract edition X is active”),
  • referents: {PromiseContentRef(SVC-SLO-RESP-4H), A-SEV1-CLASS-1} where A-SEV1-CLASS-1 is the admissibility predicate for “counts as Sev‑1”.
  • adjudication.evidenceRefs: {E-SLO-RESP-1} where E-SLO-RESP-1 defines the measurement substrate and evidence carriers (tickets + timestamps + clock source).

This makes the statement auditable by construction and keeps “classification gate” separate from “duty”.

Show #2 (episteme archetype: protocol specification with behavioural typing motif)

A protocol spec states: “Participants MUST follow the state machine; violations are rejected; traces are retained for audit.”

Model as:

  • A set of L-* claims defining the state machine and safety/progress properties within the model,

  • A-* claims defining what runtime checks count as “admissible trace”,

  • D-* commitments instantiated as U.Commitment with:

    • subject = RoleRef(ParticipantImplementer)
    • modality = MUST
    • referents = {L-STATE-MACHINE-1, A-TRACE-VALID-1, MethodDescriptionRef(TraceRetentionProcedure_v1)}
    • adjudication.evidenceRefs = {E-TRACE-LOG-1}

This mirrors common post‑2015 “protocols as types” practice: semantics and progress live in the model; compliance is agent governance; evidence is trace-based.

Bias-Annotation

Lenses tested: Gov, Arch, Onto/Epist, Prag, Did. Scope: Kernel universal (any place FPF needs deontic binding).

  • Gov bias: prioritizes accountable subjects and adjudication hooks; may increase authoring overhead.
  • Arch bias: pushes reference-by-ID and explicit scope/window to preserve evolvability and reduce drift.
  • Onto/Epist bias: enforces “descriptions don’t promise”; commitments bind agents/roles.
  • Prag bias: aligns with common spec-language practice (RFC keywords) but makes the structure explicit.
  • Did bias: favors a small record that can be taught and linted.

Conformance Checklist (normative)

  1. CC‑A.2.8‑1 (Accountable subject). A normative U.Commitment MUST name an accountable subject (role/role-enactor/party) and MUST NOT use an episteme (spec/interface/document) as subject.

  2. CC‑A.2.8‑2 (Explicit modality). A normative U.Commitment MUST specify modality as DeonticModalityToken (with any RFC-keyword synonyms normalized to it).

  3. CC‑A.2.8‑3 (Scope & validity explicit). A normative U.Commitment MUST specify scope (U.ClaimScope) and validityWindow (U.QualificationWindow), or explicitly cite the context policy that supplies defaults (do not rely on “implied defaults”).

  4. CC‑A.2.8‑4 (Referents present and by ID). referents MUST be non‑empty. If the bound content exists as claim IDs, the commitment SHOULD reference those IDs in referents rather than restating their content.

  5. CC‑A.2.8‑5 (Auditable commitments have hooks). If the commitment is intended to be auditable, it SHALL include adjudication.evidenceRefs referencing the evidence claims (typically E-*) that make adjudication possible.

  6. CC‑A.2.8‑6 (Evidence separation). If an E-* claim is referenced only for measurement/verification, it SHALL appear in adjudication.evidenceRefs (not in referents).

Common Anti-Patterns and How to Avoid Them

Anti-patternWhy it failsRepair
Episteme-as-subject (“the API SHALL…”)assigns agency to descriptionsuse an accountable role/party as subject; keep the spec as source.descriptionRef
Missing scope/windowcommitments become unreviewable (“always/never” ambiguity)declare scope + validityWindow; if global, say so explicitly via a policy/default
Paraphrase driftdrift across faces and docsreference via referents using claim IDs; avoid restating the same constraint
Auditable rhetoric (“guaranteed”) without hooksnot adjudicableadd adjudication.evidenceRefs pointing to E-* claims and carrier expectations
Gate-as-dutyconfuses admissibility with obligationput predicate in A-*; make commitment reference it (D→A)

Consequences

Benefits

  • Makes deontic statements first-class and lintable (subject/modality/scope/referents/hooks).
  • Enables clean integration with boundary routing (A.6.B) and contract unpacking (A.6.C) without embedding ontology in naming patterns.
  • Improves auditability by making evidence expectations explicit only when intended.

Trade-offs / mitigations

  • Adds structure to authoring; mitigated by allowing conceptual evidence hooks and default scope policies.
  • Does not resolve conflicts between commitments; mitigated by capturing source/precedence tags and delegating resolution to governance patterns (Part D) and context policy.

Rationale

The triad “promise / utterance / commitment” is useful for language discipline, but deontic ontology should not be anchored in a naming-focused pattern. A kernel object:

  • stabilizes what a “commitment” structurally is,
  • ensures “MUST/SHALL” talk is representable without category mistakes,
  • and provides the missing bridge between governance claims and adjudication (via explicit hooks), which is essential for boundary engineering and for later ethics/governance work.

SoTA-Echoing (informative; post‑2015 alignment)

Informative. Alignment notes; not normative requirements.

  • BCP 14 (RFC 2119 + RFC 8174) / modern spec-language discipline (2017+). Treating modality tokens as a controlled family is standard; U.Commitment.modality makes this family explicit and lintable.
  • Policy-as-code ecosystems (2016+). Modern governance stacks often encode gates as code (e.g., Kubernetes admission controls, OPA/Rego-style policy evaluation) and obligations as process controls; the U.Commitment structure helps keep “gate predicates” separate from “actor duties”, while still linking them by reference.
  • ODRL-style duty/permission/prohibition modeling (W3C ODRL 2.2, 2018). The minimal “subject + modality + constraint/window + target” shape is widely used; U.Commitment adopts the kernel of that idea while keeping FPF’s boundary routing and evidence discipline.
  • Trace-based compliance and audit (2018+ supply-chain / reproducibility practice). “Compliance is evidenced by artifacts” is mainstream; adjudication.evidenceRefs captures this without turning evidence into semantics.
  • Supply-chain attestations (2021+). Attestation-oriented schemes (e.g., SLSA-style provenance, transparency logs) operationalize “claims + evidence carriers”; adjudication.evidenceRefs is the bridge point without collapsing evidence into truth.

Relations

Uses / builds on

  • A.2.1 for identifying accountable roles vs role-enactors (role assignments).
  • A.2.6 for expressing scope and time/window (U.ClaimScope, U.QualificationWindow).
  • A.7 for keeping “binding” distinct from “utterance” and from “carriers”.

Used by

  • A.6.B (Quadrant D) as the canonical payload shape for deontic statements.
  • A.6.C (Contract Unpacking) as the formal anchor for the “Commitment” component of the bundle.
  • Part D governance/ethics patterns (future work) for expressing layered, conflicting, multi-authority commitments.

Coordinates with

  • A.2.3 (U.PromiseContent): services are promise clauses; commitments bind accountable subjects to those clauses.
  • A.2.9 (U.SpeechAct): U.Commitment.source.speechActRef points to the instituting communicative work occurrence when provenance matters.
  • A.15.1 (U.Work) and evidence patterns: adjudication hooks refer to evidence in work, not to text.

A.2.8:End

A.2.9 — U.SpeechAct (Communicative Work Object)

Type: Definitional (D) Status: Stable Normativity: Normative (unless explicitly marked informative) Placement: Part A → A.2 Roles & Agency Kernel Refines: A.2 (Role Taxonomy) Builds on: A.2.1 (RoleAssignment), A.2.6 (Γ_time / windows), A.7 (Object≠Description≠Carrier), A.10 (SCR/RSCR carrier discipline), A.15.1 (U.Work) Purpose (one line): Provide a minimal, lintable kernel object for communicative enactments (approvals, authorizations, revocations, notices, declarations, publications) as U.Work, explicitly separating the act from its utterance descriptions and evidence carriers, so governance and gating can cite SpeechActRef without “contract soup” or episteme‑as‑agent mistakes.

FPF already treats communicative acts as observable events used in role-state checklists and grounding (“presence of act: AuthorizationSpeechAct exists…”, and U.SpeechAct is listed as an observable basis for state assertions). The spec’s micro-examples and conformance gates distinguish communicative Work (“performed a SpeechAct”) from operational Work (“executed Work”) while keeping both inside U.Work (cf. CC‑A15‑10 GateSplit). F.18 currently frames U.SpeechAct as the “utterance” label in the promise/utterance/commitment triad; A.2.9 keeps that as naming intuition while putting the ontology and conformance discipline in Part A where it can be linted and reused.

A.2.9:1 — Problem frame

FPF repeatedly needs to reference “someone said/did the approving/authorizing/declaring thing”:

  • Role eligibility and enactability checklists often depend on the presence of an approval/authorization act within a freshness window.
  • Governance patterns and boundary writing (A.6 stack) need provenance: “this obligation/commitment/permission was instituted by that act”.
  • Operational patterns need auditable notices (“depletion notice”, “override invoked”) whose existence and timing matter.

Without a first‑class kernel object for such communicative events, authors tend to:

  • attribute agency to descriptions (“the spec approves…”, “the interface guarantees…”),
  • collapse “utterance text” and “speech act event”,
  • leave provenance dangling as “if modeled”,
  • encode gates as prose obligations, or treat obligations as gates.

This pattern makes “speech act” an explicit, queryable Work‑kind with clear boundaries to U.Commitment and to utterance surfaces.

A.2.9:2 — Problem

How can FPF represent communicative enactments so that:

  1. Agency is explicit: a concrete accountable subject performs the act (role/role‑enactor), not a document/spec/interface.
  2. The act is locatable in time: the act has an explicit Window (and thus freshness can be evaluated).
  3. The act is locatable in meaning: the act is recognized inside a declared bounded context (the U.Work judgement context), not via U.ClaimScope (which expresses applicability of claims/commitments, not the judgement context for Work occurrences).
  4. The act is auditable: it has at least one declared utterance description and/or evidence carrier when used for gating or governance.
  5. Institutional effects are linkable: the act can institute (or update/revoke) commitments, role assignments, statuses, etc., by reference.
  6. Ambiguity is handled pragmatically: the model supports multi‑function / multi‑party communication without requiring full linguistic pragmatics.

A.2.9:3 — Forces

ForceTension
MinimalityNeeds to be light enough for routine modeling and linting; not a full pragmatics or legal-contract system.
AuditabilityIf used as a gate, it must be evidence-backed; but not all communicative acts are equally observable or retainable.
Context localityMeaning and “institutional force” are context-local; cross-context reuse must remain explicit (Bridge-only discipline).
Multi-party realityMany real boundaries are multiparty (protocols, organizations); dyadic “speaker-hearer” is too narrow.
Multi-function realityOne utterance can carry multiple recognizable functions; “one act = one force” is often false.
Separation disciplineMust preserve A.7 splits: act objectutterance descriptioncarrier/traces.

A.2.9:4 — Solution

U.SpeechAct is a kernel Work object: a recorded communicative enactment performed by an accountable role‑enactor within a bounded context, optionally addressed to others, that is recognized (in that context) as updating an information and/or governance state. The act is not the utterance text; it points to utterance descriptions and evidence carriers.

A.2.9:4.1 — Normative definition

A U.SpeechAct is a U.Work occurrence whose primary (intended) effect is communicative: it places an utterance into a context in a way that is recognized by that context’s institutional semantics (policies, procedures, protocol rules) as potentially:

  • asserting/informing,
  • requesting/directing,
  • promising/committing (as an instituting act),
  • declaring/authorizing/revoking (status-changing acts),
  • notifying (event announcement relevant for downstream work).

Per A.7, U.SpeechAct is an object/event; its utterance descriptions are descriptions (epistemes/spec clauses/messages‑as‑content), and its carriers are artifacts/traces that support observation and audit. (Note: “Surface” is reserved for MVPK publication/interoperability surfaces; do not use it here.)

Whether a given actType institutes commitments/permissions/status changes is entirely context‑policy dependent. Absent an explicit policy, treat a U.SpeechAct as a communicative Work occurrence with observable provenance only; do not infer deontic bindings from the act by default.

A.2.9:4.2 — Minimal structure (normative)

A conforming U.SpeechAct SHALL be representable by the following minimal record (field names are illustrative; the constraints are normative):

U.SpeechAct <: U.Work

Invariant: U.Work.kind = Communicative

U.SpeechAct ::=
  U.Work
  & {
      actTypes: set<SpeechActTypeRef>,               // ≥1 act types (supports multi-function)
      addressedTo: optional<set<AddresseeRef>>,      // optional: who is addressed / audience
      utteranceRefs: optional<set<DescriptionRef>>,  // where the utterance content is stated/recorded (A.7: Description)
      carrierRefs: optional<set<CarrierRef>>,        // evidence carriers/traces (A.7: Carrier; use A.10 when evidentiary)
      institutes: optional<InstitutedEffects>,       // references to objects/claims instituted/updated by this act
      notes: optional<InformativeText>               // explicitly informative
    }

DescriptionRef ::=
  ClaimIdRef | EpistemeRef
  // Pointer to an utterance description (e.g., spec clause claim ID, a policy episteme, a message-content episteme).

SpeechActTypeRef ::=
  ContextLocalTokenRef
  // Must be defined/recognized in the Work’s judgement context (bounded context).

AddresseeRef ::=
  PartyRef | RoleRef | RoleAssignmentRef

InstitutedEffects ::=
  {
    commitments: optional<set<CommitmentIdRef>>,
    roleAssignments: optional<set<RoleAssignmentRef>>,
    statusClaims: optional<set<ClaimIdRef>>,         // e.g., “StandardStatus=Approved” if modeled as claims
    other: optional<set<ObjectIdRef>>
  }

Normative constraints:

  • (SA‑C0) Work conformance applies. Because U.SpeechAct <: U.Work, a speech‑act record MUST satisfy U.Work conformance (A.15.1), including the required anchors (isExecutionOf, performedBy, executedWithin, window, and state‑plane / judgement‑context anchoring). A speech act MUST have at least one affected referent (the thing it is about/updates), even if it is purely governance‑state.
  • (SA‑C1) PerformedBy must be an accountable actor. performedBy MUST resolve to a RoleAssignmentRef whose holder is an accountable system/party in the named scope. It MUST NOT be a spec/interface/document as an episteme.
  • (SA‑C2) ActTypes are required and context-local. actTypes MUST contain at least one SpeechActTypeRef recognized in the Work’s judgement context (local meaning). Free‑text verbs are nonconformant unless registered as a context token.
  • (SA‑C3) Time honesty. window MUST be explicit (or inherited from the parent U.Work record) so freshness rules can be evaluated.
  • (SA‑C4) If used for gating/audit, it must be observable. If a speech act is used as a checklist criterion, guard condition, or provenance hook for a U.Commitment, the model SHALL include at least one observable handle: utteranceRefs and/or carrierRefs. When the act is used as evidence, at least one carrier reference SHOULD be SCR/RSCR‑resolvable per A.10.
  • (SA‑C5) Institutional effects are references, not paraphrases. When the act is intended to institute/update commitments, role assignments, or statuses, institutes.* SHOULD reference the corresponding object IDs/claim IDs rather than restating content.
  • (SA‑C6) Cross-context use is Bridge-only. If a SpeechActRef is used for checking/gating/provenance in a different bounded context than the act’s judgement context, the referencing object MUST satisfy the spec’s cross-context discipline by citing an explicit Bridge/policy that licenses the interpretation (and surfacing congruence vs loss where applicable), rather than assuming equivalence by label.

A.2.9:4.3 — SpeechActRef discipline (normative)

A SpeechActRef is a reference to U.SpeechAct.id.

  • If another object (e.g., U.Commitment.source.speechActRef) cites a SpeechActRef, the referenced U.SpeechAct MUST satisfy SA‑C0…SA‑C4 (and SA‑C6 when used cross‑context).
  • A SpeechActRef MUST NOT be replaced by an EpistemeRef (“see the document”) when provenance is needed; the episteme is an utterance description, not the act.
  • If a system cannot record a full U.SpeechAct, it may record a stub that still satisfies SA‑C0…SA‑C4 (minimal actTypes, performer, judgement context, window, affected, plus at least one observable handle). When a required U.Work anchor is unknown, the stub MUST use an explicit placeholder (e.g., an “AdHocCommunication” MethodDescription) rather than omitting the field.

A.2.9:4.4 — Separation rules with U.Commitment and U.PromiseContent (normative)

  1. Speech act is not the deontic binding. A speech act may institute a U.Commitment, but the deontic relation itself is the U.Commitment object (A.2.8). Do not encode obligations/permissions inside U.SpeechAct as prose; instead, create/point to U.Commitment IDs in institutes.commitments.

  2. Speech act is not the service promise clause. U.PromiseContent / promise contents are promise content; a speech act may be the act of offering/issuing that promise, but the promise content lives in the service/promise content objects and is referenced from the resulting commitments.

  3. Speech act is not the carrier. A “signed approval PDF”, “ticket record”, “Slack message”, or “API call log” is a carrier (and may carry an episteme as utterance content); the speech act is the Work occurrence that produced/issued it.

  4. Publishing a spec is not a commitment by default. Default interpretation rule (normative). A conformant model/interpreter MUST NOT infer U.Commitment objects solely from Publish/Approve speech acts. Publication MAY institute publication/status claims (e.g., “Published”, “Approved”, “Deprecated”), but any obligations/permissions on implementers/operators/providers MUST be modeled explicitly as U.Commitment objects (A.2.8). If a Context defines a policy that maps publication acts to commitment-instituting effects (e.g., a named SpecPublicationPolicy@Context), that policy MUST be named and cited where the implication is used.

A.2.9:4.5 — Multi-function and multi-party support (normative)

  • Multi-function: actTypes is a set. If one utterance performs multiple recognizable acts (e.g., “approve + instruct + warn”), the model may either:

    • represent one U.SpeechAct with multiple actTypes entries, or
    • represent multiple U.SpeechAct records that share the same carrierRefs/utteranceRefs. In either case, institutional effects must remain referenceable (SA‑C5).
  • Multi-party: addressedTo is a set and may include roles/parties/assignments. If addressees matter for validity (e.g., “approval by CAB chair to deployment bot”), they should be explicit.

A.2.9:5 — Archetypal Grounding (Tell–Show–Show)

A.2.9:5.1 — Tell (universal rule)

When governance or gating depends on “someone said/did X”, model that saying/doing as a U.SpeechAct (a Work occurrence), and keep the utterance text and carriers separate. If the saying/doing creates obligations, model those obligations as U.Commitment objects instituted by the speech act.

A.2.9:5.2 — Show #1 (system archetype: change-control approval gates a deployment)

Situation (messy prose): “Change is approved, so the pipeline may deploy.”

Conformant modeling sketch:

  • U.SpeechAct SA-Approve-4711

    • actTypes = {SpeechActTypeRef(Approval@ChangeControl)}
    • performedBy = RoleAssignmentRef(CAB_Chair as ApproverRole@ChangeControl)
    • isExecutionOf = MethodDescriptionRef(ChangeApprovalProcedure_v3)
    • executedWithin = ChangeControlBoardSystem
    • window = [t,t]
    • affected = {ChangeRequestId(4711), WorkRef(Deploy-4711)}
    • utteranceRefs = {EpistemeRef(ChangeTicket#4711)}
    • carrierRefs = {CarrierRef(TicketSystemRecord#4711)}
    • institutes.commitments = {CommitmentIdRef(D-Deploy-Authorized)}
  • U.Commitment D-Deploy-Authorized

    • subject = RoleAssignmentRef(OpsBot#DeployerRole:CD_Pipeline_v7)
    • modality = MAY (permission to enact)
    • referents = {A-Gate-Deploy-4711}
    • source.speechActRef = SA-Approve-4711
  • Gate predicate A-Gate-Deploy-4711 may include: exists SpeechAct(type=Approval, affected includes ChangeRequestId(4711), performedBy role=ApproverRole, within 90d).

This preserves:

  • act vs text vs carrier,
  • explicit performer,
  • time window for freshness,
  • explicit provenance from commitment back to the instituting act.

A.2.9:5.3 — Show #2 (episteme archetype: publishing a spec edition without making the spec an agent)

Situation (anti-pattern): “The interface spec declares MUST/SHALL requirements.”

Conformant modeling sketch:

  • U.SpeechAct SA-Publish-API-v12

    • actTypes = {SpeechActTypeRef(Publish@APISpecContext), SpeechActTypeRef(DeclareNorms@APISpecContext)}
    • performedBy = RoleAssignmentRef(StandardsEditor as PublisherRole@APISpecContext)
    • isExecutionOf = MethodDescriptionRef(SpecReleaseProcedure_v12)
    • executedWithin = SpecPublicationSystem
    • window = [t,t]
    • affected = {EpistemeRef(APISpec_v12)}
    • utteranceRefs = {EpistemeRef(APISpec_v12)}
    • carrierRefs = {CarrierRef(GitTag:v12), CarrierRef(SignedReleaseArtifact:v12)}
    • institutes.statusClaims = {ClaimIdRef(D-StdStatus-APISpec_v12-Published)} (if modeled)

Norms live in the published utterance surfaces (spec clauses as routed claims), but the act of publication is a speech act performed by an accountable role. This avoids “the spec promises/commits” category errors while preserving auditability.

A.2.9:6 — Bias-Annotation

Lenses tested: Gov, Arch, Onto/Epist, Prag, Did. Scope: Kernel universal for speech-act usage that matters for governance, eligibility, gating, provenance, and protocol boundaries.

  • Gov bias: favors explicit accountable performers and auditable records; increases clarity but adds modeling overhead.
  • Arch bias: optimizes evolvability by keeping institutional effects referenceable rather than embedded in prose.
  • Onto/Epist bias: enforces act≠utterance≠carrier and prevents episteme-as-agent metaphors.
  • Prag bias: models only what is needed for decisions/audit (not full intention/sincerity/perlocutionary psychology).
  • Did bias: keeps the record minimal and queryable for state checklists and boundary reviews.

A.2.9:7 — Conformance Checklist (normative)

  1. CC‑A.2.9‑1 (Accountable performer). A normative U.SpeechAct record MUST identify performedBy as an accountable RoleAssignmentRef and MUST NOT use an episteme (spec/interface/document) as performer.
  2. CC‑A.2.9‑2 (ActTypes declared). A U.SpeechAct record MUST include at least one SpeechActTypeRef recognized in its judgement context.
  3. CC‑A.2.9‑3 (Window explicit). A U.SpeechAct record MUST have an explicit window (or inherit a window from its parent work record) so freshness and gating can be evaluated.
  4. CC‑A.2.9‑4 (Observable when used for gating/provenance). If a speech act is cited by a checklist/guard or by U.Commitment.source.speechActRef, it SHALL have at least one utteranceRef or carrierRef that supports observation/audit in the given context; evidence‑critical uses SHOULD anchor at least one carrier via SCR/RSCR per A.10.
  5. CC‑A.2.9‑5 (Effects by reference). If the act is intended to institute/update commitments/roles/statuses, those effects SHOULD be referenced in institutes.* by stable IDs.
  6. CC‑A.2.9‑6 (Bridge-only cross-context use). If a SpeechActRef is interpreted for gating/provenance in a different bounded context than the act’s judgement context, the referencing object MUST cite the Bridge/policy that licenses that cross-context interpretation (no “same label implies same force”).

A.2.9:8 — Common Anti-Patterns and How to Avoid Them

Anti-patternWhy it failsRepair
Episteme-as-actor (“the spec approves/declares”)assigns agency to descriptionsrepresent the publishing/approving act as U.SpeechAct(performedBy=RoleAssignment)
Carrier-as-act (“the signed PDF is the approval”)conflates carrier with actmodel U.SpeechAct and point to PDF as carrier/utteranceSurface
Free-text type (“type=‘approved-ish’”)not lintable; drifts across facesregister SpeechActTypeRef in the context and use it
Act carries obligations (obligations embedded as prose in speech act)collapses act and deontic bindingmodel obligations as U.Commitment objects instituted by the act
Gating without windowcannot evaluate freshnessadd explicit window and reference it in the guard/checklist
Hidden multi-act (one event silently creates multiple commitments)loses traceability; creates disputesrepresent multi-function via actTypes set or multiple speech acts sharing the same carrier

A.2.9:9 — Consequences

Benefits

  • Makes approvals/authorizations/notices first-class and queryable, enabling clean RSG checklists and guard rules.
  • Provides stable provenance: commitments and status transitions can cite the instituting act explicitly.
  • Prevents recurring category errors: “documents promise”, “interfaces commit”, “logs prove”.

Trade-offs / mitigations

  • Requires recording a small structured object for communicative events; mitigated by allowing minimal stubs that still satisfy CC‑A.2.9‑1…4.
  • Requires context-local SpeechActTypeRef registration; mitigated by starting with a small set (Approve, Revoke, Publish, Notify, Authorize) and extending as needed.

A.2.9:10 — Rationale

FPF already relies on communicative acts (approvals, notices, overrides) as operationally meaningful events, but without a kernel object they blur into examples, naming choices, or prose. A.2.9 anchors speech acts where they belong: as a Work-kind with explicit performer, scope, and time, and with disciplined links to utterance surfaces, carriers, and deontic bindings (U.Commitment).

This also improves modularity:

  • F.18 can remain a lexical anchor for naming (why “SpeechAct/utterance” as a label family is useful),
  • while A.2.9 carries the ontology and conformance discipline for how speech acts behave as objects and how they connect to commitments and evidence.

A.2.9:11 — SoTA‑Echoing (informative; post‑2015 alignment)

Informative. Alignment notes; not normative requirements.

  • Adopt — ISO 24617‑2:2020 / multi-dimensional communicative functions. Modern dialogue‑act standards treat communicative behavior as potentially multi‑functional. A.2.9 mirrors this by allowing actTypes to be a set and by supporting shared carriers across multiple acts.
  • Adapt — commitment-based semantics for communication (multi-agent/protocol practice, 2015+). A pragmatic way to avoid mental-state modeling is to track communication by its social/institutional effects, especially on commitments and protocol states. A.2.9 reflects this via institutes.commitments and explicit links to U.Commitment without modeling sincerity or intention.
  • Adopt (warning) — illocutionary pluralism in multiparty discourse (2015+). One utterance commonly performs multiple recognizable functions. A.2.9 avoids the “single force” trap by permitting multi‑type acts and/or multiple acts sharing the same utterance and carriers.

A.2.9:12 — Relations

Uses / builds on

  • Uses A.15.1 (U.Work) for the event/work backbone (performedBy + window + stance).
  • Uses A.7 for the strict act≠description≠carrier split.
  • Coordinates with A.2.6 for scope/window discipline.

Used by

  • A.2.8 (U.Commitment) as a concrete target for source.speechActRef provenance.
  • A.2.5 (RSG checklists/guards) when “presence of authorization/approval act” is a criterion.
  • A.6.C (Contract unpacking) as the “utterance/instituting act” hook that prevents episteme-as-agent claims and improves provenance.

A.2.9:End

Transformer Constitution (Quartet)

Intent

Establish a single, substrate‑neutral way to say who acts, under which role, according to which description, by which capability, and what actually happened—without “self‑magic” and without blurring design‑time and run‑time. The pattern fixes the Transformer Quartet so all kernel and Γ‑patterns reuse the same four anchors. It builds directly on Holon‑Role Duality (A.2) and Temporal Duality (A.4) and is guarded by Strict Distinction (A.7) and Evidence Graph Referring (A.10).

Context

  • Holonic substrate. FPF separates what things are (Holon → {System, Episteme, …}) from what they are being right now via roles. Only systems can bear behavioural roles and execute methods/work; epistemes are changed via their symbol carriers.
  • Role as mask; behaviour as method/work. A role is a mask, not behaviour; behaviour is a Method (order‑sensitive capability) that may be executed as Work (dated occurrence).
  • Design‑time vs run‑time. A holon’s states belong to disjoint scopes Tᴰ and Tᴿ; transitions are physically grounded by a system bearing TransformerRole.
  • Evidence & carriers. Claims about outcomes must anchor to carriers (SCR/RSCR) and to an external evidencing transformer.

Problem

Legacy phrasing (“actor / process / blueprint”) causes recurrent failures:

  1. Self‑magic: “the system configures itself” (no external acting side, causality lost).
  2. Plan = event: blueprint/algorithm reported as if execution happened.
  3. Capability = result: possession of a method counted as evidence of work.
  4. Episteme as doer: documents/models treated as actors.
  5. Scope leak: design‑time and run‑time mixed; run traces lack carriers/method ties. A.2/A.4/A.7/A.10 collectively forbid these, but A.3 must give the canonical quartet that authors can apply consistently.

Forces

ForceTension
Identity vs behaviourKeep holon identity stable while roles/behaviours change.
Simplicity vs precisionManagers want one “process” box; kernel must keep MethodDescription / Method / Work distinct.
Universality vs idiomsPumps, proofs, and data‑pipelines must read the same, yet allow domain names.
Design vs runNo overlap of Tᴰ and Tᴿ; bridges explicit and causal.
Evidence vs mereologyProvenance edges (EPV‑DAG) must never turn into part‑whole edges.

Solution — The Transformer Quartet

A.3 defines four anchors, tied together by Role Assignment (U.RoleAssignment) and aligned with Temporal Duality.

The four anchors (terms & types)

  1. Acting side: a system bearing TransformerRole — the only holon kind allowed to enact transformations (behavioural role). Canonical phrase: “system bearing TransformerRole”. Local shorthand: after explicit binding in the same subsection, you MAY write “Transformer” to denote that same system; re‑bind on context change and do not use shorthand where the domain already has a conflicting “transformer” term.

  2. MethodDescription (design‑time description): protocol / algorithm / SOP / script — all are idioms of MethodDescription; they live in Tᴰ and are epistemes with carriers (SCR/RSCR).

  3. Method (design‑time capability): order‑sensitive composition the system can enact at run‑time (Γ_method); it is not an occurrence.

  4. Work (run‑time occurrence): dated execution producing state change and consuming resources (Γ_work); every Work isExecutionOf exactly one MethodDescription version and is performedBy exactly one performer (possibly a collective system).

Safe memory line: MethodDescription → (describes) Method → (executed as) Work. Roles are masks (A.2/A.7); methods/work are behaviour.

Contextual Role Assignmnent (U.RoleAssignment) for transformations

Use the universal assignment to state who plays which role where and when:

U.RoleAssignment(
  holder  : U.System,          -- the acting system (bearer)
  role    : U.TransformerRole, -- behavioural role
  context : U.BoundedContext,  -- semantic boundary
  timespan?: Interval          -- optional validity window
)
  • A role is local to context and time‑indexed.
  • The same system may bear multiple roles if the context allows compatibility.
  • For epistemes, the target of change is their symbol carriers; the acting side is still a system.

Boundary & externality

Every transformation is modelled with two sides and an explicit U.Interaction boundary: acting (system bearing TransformerRole) and target (system being transformed, or the carrier of an episteme). There is no self‑doing; “self‑like” stories are handled by the reflexive split (regulator vs regulated subsystems) or by promoting a meta‑holon and keeping evidence external (A.12).

Temporal alignment (A.4 bridge)

  • MethodDescription lives in Tᴰ;
  • Method is defined at design-time and executed as U.Work at run-time by a U.System with a valid U.RoleAssignment (window-aligned) and a live StateAssertion for an enactable RSG state;
  • Work lives in Tᴿ;
  • transitions Tᴰ → Tᴿ and Tᴿ → Tᴰ are grounded by executions of appropriate methods by an external transformer (e.g., fabrication or observation).

Evidence Graph Referring

Each Work anchors to carriers and to the MethodDescription it instantiates; evidencing transformers are external (no self‑evidence). This sits in the EPV‑DAG and never in mereology.

Didactic dictionary (safe mappings)

  • “Process / Workflow / SOP / Algorithm” ⇒ MethodDescription (design‑time description).
  • “Operation / Job / Run / Performance” ⇒ Work (run‑time occurrence).
  • “Function (equipment spec)” ⇒ Method (or MethodDescription if purely textual).
  • “Creator” (legacy) ⇒ Transformer (shorthand for system bearing TransformerRole after local binding).

Illustrative scenarios (substrate‑neutral)

Physical system — Cooling loop

PumpUnit#3 (system bearing TransformerRole) executes ChannelFluid (Method) as per centrifugal_pump_curve.ld (MethodDescription), producing run‑2025‑08‑08‑T14:03 (Work, 3.6 kWh; ΔT=6 K). Evidence goes to carriers in SCR; resource spend goes to Γ_work.

Epistemic change — Proof revision

LeanServer (system bearing TransformerRole) edits proof_tactic.lean (carrier) per MethodDescription; lemma‑42‑check‑2025‑08‑08 is Work; the episteme (theorem) changes through its carriers; evidence is attributed to the external transformer.

Reflexive maintenance — “calibrates itself”

Split into Regulator (calibration module, acting side) and Regulated (sensor suite, target) with an interaction boundary; credit evidence to the regulator; no self‑evidence.

Conformance Checklist (normative)

CC‑A3‑0 - U.RoleAssgnment presence. Every claim that a holon “performs a transformation” MUST be backed by at least one RoleAssignment triple: U.RoleAssignment(holder: U.Holon, role: U.Role=TransformerRole, context: U.BoundedContext, timespan?). This is the canonical way to say who acts, in which role, where (semantically), and when. See A.2.1 for the universal U.RoleAssignment Standard and its invariants.

CC‑A3‑1 - External transformer discipline. The bearer of TransformerRole MUST NOT be the same model instance as the object‑under‑change within the same assignment. Self-modification is modelled via two U.RoleAssignments (same holder playing two roles) or via an explicit controller–plant split. This upholds Agent Externalization (A.12).

CC‑A3‑2 - Design–Run separation. U.MethodDescription (recipe, definition) is a design‑time artefact; U.Method (mask‑of‑work) and U.Work (executed work) are run‑time. It is non‑conformant to mutate a MethodDescription inside a Work log or to treat a Work as a MethodDescription. This enforces the kernel’s Temporal Duality (A.4) and the A.15 alignment.

CC‑A3‑3 - Boundary‑crossing evidence. A conformant transformation that changes a system’s state MUST reference the boundary effects it induces: interactions, flows, or state transitions attach to the target system’s boundary (per Γ‑defaults for additive, min/AND/OR folds). Conservation‑class effects MUST satisfy B‑invariants (e.g., B‑1 Conservation).

CC‑A3‑4 - Method ←→ Work traceability. Every U.Work MUST (i) name the U.Method it instantiates and (ii) trace the U.MethodDescription it claims to follow (versioned). If a deviation occurs, it MUST be logged as a policy override or exception path; silent drift is non‑conformant. (A.15 guards the vocabulary; Γ_work aggregates resource deltas.)

CC‑A3‑5 - Episteme as object‑under‑change. When the changed holon is an episteme (document, dataset, theory), the transformer is still a system; the episteme’s history MUST be recorded via PhaseOf (versioning) and ConstituentOf/PortionOf as appropriate (not via component trees). See A.14’s mereology firewalls and Γ_epist hooks.

CC‑A3‑6 - Units and measures for resource effects. Any resource consumption/production in U.Work MUST specify the measure μ and units (e.g., kg, J, bytes); “percentage” effects MUST be grounded in a PortionOf μ to be Γ‑aggregatable. (A.14 POR‑axioms; Γ_work usage.)

CC‑A3‑7 - Provenance minimum. For each U.RoleAssignment and U.Work, the following fields are REQUIRED: {authority?, justification?, provenance?} where justification: U.Episteme and provenance: U.Method/process evidence. This aligns with the kernel’s governance and B‑cluster lineage practices.

CC‑A3‑8 - Policy–Plan–Action separation for agentic cases. If the transformer bearer is agentic, the log MUST separate D.Policy → U.PlannedAction → U.Action (A.15/A.13), preserving where failure occurred (strategy, plan, or execution).

CC‑A3‑9 - Context‑local conflicts. Conflicts among roles (including TransformerRole) are only within the same bounded context; cross‑context differences are admissible if bridges are declared. Non‑conformance arises only when a context’s own incompatibility rules are violated. (A.2.1 U.RoleAssignment invariants.)

CC‑A3‑10 - Γ‑compatibility. Descriptions MUST be sufficient for the relevant Γ‑aggregations to run: Γ_method for recipe composition, Γ_work for resource deltas, Γ_sys for boundary integration, Γ_time for ordering. Each Γ flavour declares its A.14 hooks (Portion/Phase) and inherits B‑invariants.

Consequences

Benefits

  • Explainability by construction. Every transformative claim carries who/what/when/why/how via U.RoleAssignment + provenance fields; audits become mechanical rather than heroic. (B‑invariants and Γ tables do the heavy lifting.)
  • No category errors. Keeping methods/roles out of mereology and enforcing design/run separation prevents the usual “process‑as‑part” and “version‑as‑component” mistakes. (A.14 + A.15.)
  • Composable analytics. With measures and boundary folds explicit, cross‑scale proofs (Σ/Π/min/∧/∨) are predictable.
  • Contextual pluralism without chaos. Divergent domain practices coexist as distinct bounded contexts with bridges; disagreements are localised and tractable.

Trade‑offs

  • More declarations up‑front. U.RoleAssignment + units + policy/plan/action feels verbose, but yields deterministic Γ‑runs and reproducible audits.
  • Discipline for “self‑modifiers.” Modellers must split controller vs plant or dual‑role the same carrier; this adds one line but avoids hidden identity conflations.

Rationale (post‑2015 cross‑domain support)

Constructor theory (post‑2015). Our Transformer Principle mirrors constructor theory’s shift from dynamics to tasks: what transformations are possible vs impossible, and why. By making the transformer (constructor) an explicit bearer of a role and keeping recipes as MethodDescription, A.3 captures the core “tasks & constructors” distinction and aligns with constructor‑theoretic thermodynamics linking work, heat, and informational constraints. (Royal Society Publishing, arXiv, Constructor Theory)

Active inference & free‑energy mechanics (2017→). Where transformers are agentic, A.3’s policy–plan–action split and boundary‑centred accounting dovetail with active inference and free‑energy formulations of self‑organising systems (Markov blankets; Bayesian mechanics). This legitimises U.Objective/cost function links and makes design–run duality natural (prior vs posterior policies). (MIT Press Direct, PubMed, arXiv)

Provenance and FAIR packaging (2016→). Provenance minima in CC‑A3‑7 reflect FAIR principles (machine‑actionable reuse), RO‑Crate (methods+data+context packaged together), and operational lineage standards such as OpenLineage and ML Metadata (TFX) that treat artefacts, runs, and jobs as first‑class, with typed facets and versioning — exactly what enactment + Γ_work need. (Nature, researchobject.org, SAGE Journals, openlineage.io, GitHub, arXiv)

Together, these lines of work argue for explicit role‑bearing transformers, recipe/run separation, boundary‑grounded deltas, and traceable contexts — the four pillars that CC‑A3 enforces.

Relations

A.7 Strict Distinction. A.3 operationalises A.7 by keeping object ≠ description ≠ observation: object = target holon; description = MethodDescription; observation/log = Work. Violations (e.g., treating a recipe as a part) are non‑conformant and usually surface as Γ failures.

A.12 Agent Externalization & External Transformer. A.3’s CC‑A3‑1 is the mechanical guard‑rail for A.12: even in self‑modification, the modelling split keeps the agent (transformer bearer) distinct from the object‑under‑change.

A.13 Agential Role. When the bearer is an Agent, A.3 defers identity and states management to Agent‑CAL (U.Agent, U.Intent, U.Action), while still requiring RoleAssigning + Γ compatibility. This is where policy/plan/action pipelines live.

A.15 Role–Method–Work Alignment. A.3 relies on A.15’s vocabulary guard‑rails (roles are not parts; methods are masks of work; specs are recipes). CC‑A3‑2/‑4 are enforceable precisely because A.15 fixes the naming discipline.

A.14 Advanced Mereology. A.3 consumes A.14’s PortionOf (for quantitative deltas) and PhaseOf (for versioning) and forbids role/recipe leakage into part–whole trees. Γ‑flavours declare which A.14 hooks they use.

B‑cluster (Γ‑sections). A.3 is executable only because Γ‑operators provide aggregation and invariants:

  • Γ_sys enforces boundary folds and conservation;
  • Γ_epist preserves document/data provenance and versioning;
  • Γ_time orders work;
  • Γ_method composes recipes;
  • Γ_work accounts resource deltas; each inherits B‑invariants (e.g., B‑1 Conservation, B‑2 No‑Duplication).

Indexing to the glossary. Terms used here (TransformerRole, Work, Method, MethodDescription, PortionOf, PhaseOf, BoundedContext) remain exactly as defined in Annex A; see A.1/A.2/A.14/A.15 entries for lexical registers.

A.3:End

U.Method

Context (plain‑language motivation)

Teams must talk about how something is done without entangling:

  • Who is assigned (that is Role/RoleAssigning),
  • Whether the holder can do it (that is Capability), and
  • What actually happened (that is Work).

U.Method supplies the how—the abstract way of performing a transformation, independent of a specific run, a specific assignee, or a specific notation. It works across paradigms:

  • Imperative (step‑graphs, SOPs, BPMN),
  • Functional (pure mappings and compositions, no “steps”),
  • Logical/constraint/optimization (goals, rules, admissible solutions).

In FPF, a system bearing a TransformerRole enacts a U.Method (producing Work) by following a MethodDescription—an episteme that describes the method in some representation.

Problem (what goes wrong without a clean notion of “method”)

  1. Process soup. “Process” gets used for recipe, execution, schedule, or org area. Planning, staffing, and audit blur together.
  2. Spec = run fallacy. A flowchart (or code) is taken as if execution already happened; conversely, logs get mistaken for the recipe.
  3. Role leakage. People encode assignments inside the recipe (“this step is the surgeon”), tying who to how and making reuse impossible.
  4. Notation lock‑in. When “method” is defined as “a set of steps,” functional or logical styles become second‑class citizens and cannot be modeled cleanly.

Forces (what the definition must balance)

ForceTension we resolve
Universality vs. specificityOne notion must cover welding, ETL, proofs, and schedulers, while letting each domain keep its idioms.
Representation vs. semanticsMany notations express the same “way of doing”; we need one semantic anchor across specs.
Reusability vs. assignmentThe how should be reusable regardless of who is assigned this time.
Compositionality vs. executabilityMethods compose (serial/parallel/choice/iteration), but execution may diverge due to conditions/failures.
Determinism vs. searchMethods may be deterministic algorithms or constraint problems with admissible solution sets.

Solution — the method as an abstract, paradigm‑agnostic “way of doing”

Definition

U.Method is a context‑defined abstract transformation type—the semantic “way of doing” a kind of work.
It is: Described (never identical) by one or more U.MethodDescription epistemes (code/SOP/diagram/rules),
Enacted by a U.System bearing an appropriate Role (usually a TransformerRole) to produce U.Work, and
Independent of who is assigned, what instance ran, or which notation was used.

Strict Distinction (didactic):

  • Method = how in principle (semantic Standard).
  • MethodDescription = how it is written (artifact on a carrier).
  • Work = how it actually went this time (dated execution).

Representation‑agnostic stance (specs may be imperative/functional/logical)

A U.Method does not require an imperative step structure. Representations live in U.MethodDescription, not in the Method itself.
Typical MethodDescription forms include:

  • Imperative MethodDescription: step‑graph/flow (serial/parallel/branch).
  • Functional MethodDescription: a composition f ∘ g ∘ h with typed interfaces/constraints, no “steps”.
  • Logical/constraint MethodDescription: a goal/constraint set with admissible solutions and search/optimization semantics.
  • Hybrid MethodDescription: imperative scaffolding with functional kernels and/or solver calls.

Semantic identity criterion (context‑local). Two MethodDescriptions describe the same U.Method in a given U.BoundedContext iff, for all admissible inputs and conditions recognized by that context, they entail the same preconditions, guarantee the same postconditions/effects, and satisfy the same non‑functional bounds (allowing permitted non‑determinism). Internal control‑flow/search details may differ.

Method vs MethodDescription vs Work (quick litmus)

You have in your hand…In FPF it is…Why
A flowchart/BPMN/SOP textU.MethodDescription (Episteme)A description on a carrier.
A git repo with codeU.MethodDescription (Episteme)Still a description (even if executable). The Method is the semantic “way” it denotes.
A log/run report with timestampsU.WorkA concrete event that happened.
“The way we weld seams type W”U.MethodThe abstract how, represented by one or more specs and realized by many runs.

Didactic rule: when referencing the idea of “how”, say Method; when referencing the document or code, say MethodDescription; when referencing the run, say Work.

Interface and effect (conceptual descriptors)

When presenting a U.Method in a review, anchor it with these paradigm‑neutral elements (not a data schema):

  1. Interface — what is required/provided in general (inputs/outputs/types or resources/roles/ports).
  2. Preconditions — what must already hold (guards, invariants, Standard “requires”).
  3. Postconditions / Effects — what is guaranteed after successful enactment (Standard “ensures”).
  4. Non‑functional constraints — latency, accuracy, cost, safety envelope (ties to Capability thresholds).
  5. Failure modes — known failure classes and recoverability hints.
  6. Compositional hooks — whether this method composes serially/parallel/choice/iteration (see §4.5).

Method mereology (composition without confusing it with runtime)

Methods compose into bigger methods; executions compose into bigger executions—do not conflate the two.

Method composition (design‑time): serial (-), parallel (), choice (|), iteration (*), refinement/substitution—yield new U.Methods. Work composition (run‑time): the corresponding Work may split/merge/overlap differently due to scheduling, failures, or environment, yet it is still execution of the same Method. Mapping advice: avoid naming run‑time artifacts inside the method definition (no “this thread”, “this person”); keep those in Role/Work.

Constructor‑theoretic reading (why Method ≠ algorithm ≠ spec)

Constructor Theory views a constructor as a physical entity that effects transformations. In FPF:

  • A U.System with TransformerRole is the constructor (the performer).
  • A U.Method is the abstract transformation type it enacts (semantic Standard).
  • An algorithm artifact is a U.MethodDescription for an information‑transformation Method.
  • A universal transformer generalizes the Turing machine by executing any U.Method described by a physically admissible U.MethodDescription (not only informational ones).

Thus, welding, milling, reagent mixing, and proof construction are all Methods; textbooks/code/derivations are their MethodDescriptions; Work are the concrete runs.

Context anchoring

U.Method is local to a U.BoundedContext: terminology, admissible pre/postconditions, and non‑functional constraints are interpreted inside that context. If two teams or theories use the same name for different “ways of doing,” they are different Methods in different contexts unless bridged explicitly.

Archetypal grounding (cross-paradigm examples: imperative / functional / logical)

Industrial transformation (imperative flavor)

  • Method: Etch_Al2O3.
  • MethodDescription: SOP document; a PLC program that controls gas mix and timing.
  • Enactment: Tool_42#TransformerRole:FabLine_A produces Work runs W‑101, W‑102….
  • Notes: Step diagram exists, but a later functional spec may also exist (composition of gas‑flow functions). Both specs describe the same Method.

Operational planning (functional/optimization flavor)

  • Method: JS_Schedule_v4 (job‑shop scheduling).
  • MethodDescription: a MILP model + solver configuration; documentation of constraints/objective.
  • Enactment: PlannerService_v4#TransformerRole:PlantScheduling_2025 produces Work Run_2025‑W32‑P1.
  • Notes: No “steps” are visible at the method level; the solver’s search is internal. Still a U.Method.

Scientific proof (logical flavor)

  • Method: Gauss_Elimination.
  • MethodDescription: formal rules in a proof assistant; textbook chapter as a second spec.
  • Enactment: CAS_Alpha#TransformerRole:MathLab_2025 generates a Work proof instance for a concrete matrix.
  • Notes: The Episteme (spec) is not the ability (that belongs to the CAS system) and not the execution (the proof run).

Didactic quick grammar (for managers)

  • Who? Holder#Role:Context (Role assignment)
  • Can? Capability(holder) within envelope/measures
  • How (in principle)? Method, described by MethodDescription
  • Did? Work (execution), linked by performedBy → RoleAssigning and isExecutionOf → MethodDescription

Keep the four words apart and plans become dependable.

Bias‑Annotation (as in cluster‑E patterns)

  • Lenses tested: Arch, Prag, Did, Epist.
  • Scope declaration: Universal; semantics are context‑local via U.BoundedContext.
  • Rationale: Gives FPF a paradigm‑neutral “how” that bridges MethodDescription (knowledge on a carrier) and Work (execution), while staying independent of Role (assignment) and Capability (ability).

Conformance Checklist (normative)

CC‑A3.1‑1 (Strict Distinction). U.Method is the semantic “way of doing”. It is not a U.MethodDescription (artifact on a carrier), not a U.Work (dated execution), not a U.Role/assignment, and not a U.PromiseContent/promise.

CC‑A3.1‑2 (Context anchoring). Every U.Method MUST be defined within a U.BoundedContext. Identity, admissible pre/postconditions, and non‑functional bounds are interpreted in that context.

CC‑A3.1‑3 (Specification linkage). A U.Method SHOULD be described by ≥1 U.MethodDescription. For operational gating, at least one MethodDescription MUST be present and named. Multiple specs may coexist (imperative/functional/logic), see CC‑A3.1‑7.

CC‑A3.1‑4 (assignment‑free). A U.Method SHALL NOT hard‑code holders or assignments. If a step “needs a surgeon”, express that as a role requirement (to be satisfied via U.RoleAssignment at run time), not as a named person/unit inside the method.

CC‑A3.1‑5 (Runtime‑free). A U.Method SHALL NOT contain schedule, calendar slots, or run IDs; those belong to U.WorkPlan (plans) and U.Work (executions). Methods are timeless.

CC‑A3.1‑6 (Interface & effects). A U.Method MUST admit a context‑local statement of interface (inputs/outputs or ports/resources), preconditions, postconditions/effects, and (when relevant) non‑functional bounds. These anchor semantic identity beyond a particular notation.

CC‑A3.1‑7 (Multi‑spec semantic identity). Two or more U.MethodDescription describe the same U.Method in a given context iff they entail the same admissible preconditions, guarantee the same effects, and satisfy the same non‑functional bounds for all inputs/conditions recognized by that context (allowing permitted non‑determinism). Internal control‑flow/search differences are irrelevant.

CC‑A3.1‑8 (Composition vs execution). Composition of Methods (design‑time) and composition of Work (run‑time) MUST be kept distinct. Method composition yields new Methods; Work composition yields composed executions. They may correspond but are not identical.

CC‑A3.1‑9 (Parameterization). If a Method is parameterized, parameters are declared at the Method/MethodDescription level; concrete values are bound at U.Work creation. Avoid freezing parameter values inside the Method definition.

CC‑A3.1‑10 (Dynamics ≠ Method). Laws/trajectories (U.Dynamics) are models of state evolution and SHALL NOT be labeled as Methods. A Method may rely on a Dynamics model (e.g., for control), but they remain distinct artifacts/concepts.

CC‑A3.1‑11 (Capability checks are orthogonal). A step may impose capability thresholds; those thresholds are checked against the holder’s U.Capability independently of assignment and independently of the Method’s description.

CC‑A3.1‑12 (Constructor‑theoretic alignment). Algorithm artifacts are U.MethodDescription for information‑transforming Methods. Physical Methods are equally valid (matter/energy transformations). A “universal transformer” is a system that can enact any physically admissible MethodDescription; this does not collapse Method into “algorithm.”

Method mereology (composition) — design‑time only

Operators (conceptual, context‑scoped):

  • Serial composition (-) — do A then B → A - B is a new Method.
  • Parallel composition () — do A and B concurrently (with declared independence/joins).
  • Choice (|) — do one of {A, B} under guard/selector.
  • Iteration (*) — repeat A under a loop invariant/termination condition.
  • Refinement (≤ₘ) — Method M' preserves M’s interface/effects and strengthens preconditions or tightens non‑functional bounds (context‑defined lattice).
  • Substitution — replace a Method factor with a semantically equivalent one (M ≡ N in context) without changing the whole’s Standard.

Design‑time laws (intuitive, not mechanized here):

  • Associativity for - and, where admissible, for .
  • Distributivity over guarded choice under context rules.
  • Identity elements (e.g., Skip that preserves state and satisfies neutral bounds).
  • Monotonicity: refinement of a factor should not break the whole’s postconditions.

Run‑time mapping (do not conflate): U.Work instances of A - B may interleave differently due to scheduling or failure‑handling and still be executions of A - B. The mapping is “execution semantics,” not part of Method mereology.

How Methods interact with Roles, Capability, Work, Dynamics (manager’s view)

  • Roles (assignment). Steps stipulate role kinds (e.g., IncisionOperatorRole), not people. At run time, U.Work references a U.RoleAssignment that satisfies the role kind.
  • Capability (ability). Steps may require thresholds (e.g., “precision ≤ 0.2 mm”). They are checked against the holder’s U.Capability in the context/envelope.
  • Work (execution). Each run records isExecutionOf → MethodDescription (the spec used) and performedBy → RoleAssigning. Logs, resources, and timestamps live here.
  • Dynamics (laws/models). Methods may cite or assume a Dynamics model; runs may attach traces that are explained by that model. Do not label the model itself as the Method.

Anti‑patterns (and the right move)

  • Spec = Method. “The BPMN is the Method.” → The BPMN is a MethodDescription; the Method is the semantic way it denotes.
  • Run = Method. “Yesterday’s process is our Method.” → Yesterday’s run is Work.
  • Role leakage. “Step 3 is done by Alice.” → Step 3 requires SurgeonRole; Alice may be assigned via RoleAssigning.
  • Schedule leakage. “Run at 02:00 daily” inside the Method. → This belongs to WorkPlan; Methods are timeless.
  • BoM entanglement. Putting parts/assemblies inside Method definition. → Structure stays in PBS/SBS; Method references interfaces/resources, not a BoM.
  • Algorithm‑only bias. Declaring that only code counts as a Method. → Physical transformations (welding, mixing) are Methods too; their SOPs/parameters are MethodDescriptions.
  • Hard‑coding capability. Baking “≤ 0.2 mm” into a role name or Method name. → Keep thresholds on steps; capability lives on the holder.

Migration notes (quick wins)

  1. Rename wisely. Where texts say “process/method” but mean a diagram or code repo, label it MethodDescription; where they mean the abstract “how,” label it Method.
  2. Extract assignments. Replace named people/units in specs with role kinds; enforce assignments via RoleAssigning at run time.
  3. Pull time out. Move calendars/schedules from specs into WorkPlan.
  4. Parameter hygiene. Declare parameters at Method/MethodDescription; bind values in Work.
  5. Equivalence notes. When two specs are intended as the same Method, write an equivalence note in the context (pre/post/bounds parity).

Consequences

BenefitsTrade‑offs / mitigations
Clarity across paradigms. Methods are first‑class regardless of notation; teams stop arguing step‑vs‑functional.One more name to learn. Use the quick grammar card; it pays off fast.
Reuse without personnel lock‑in. assignment moves to RoleAssigning; Methods remain portable.Extra role tables. Keep role‑kind lists short and context‑local.
Robust audits. Logs are Work, specs are MethodDescription, Standards are Method; no more “we thought the diagram was the run.”Discipline needed. Enforce the three‑way split in reviews.
Constructor‑theoretic coherence. Physical and informational transformations are peers.Cultural shift. Not every team is used to seeing SOPs and code as the same class (MethodDescription).

Relations

  • Builds on: A.1 Holonic Foundation; A.1.1 U.BoundedContext; A.2 U.Role; A.2.1 U.RoleAssignment; A.2.2 U.Capability.
  • Coordinates with: A.3 (role masks for transformers/constructors/observers); A.15 (Role–Method–Work Alignment); B.1 Γ (aggregation) for method families vs assembly of systems.
  • Informs: U.WorkPlan definitional pattern (plans reference Methods they schedule); U.PromiseContent definitional pattern (promises cite Methods as delivery means); U.Dynamics definitional pattern (models that Methods may assume).

Didactic quick cards (reuse in specs and onboarding)

  • Method / MethodDescription / Work = how in principle / how it is written / how it went this time.
  • Four‑slot grammar: Who? → RoleAssigning. Can? → Capability. How? → Method (via MethodDescription). Did? → Work.
  • Design‑time vs run‑time: Composition of Methods ≠ composition of Work.
  • No steps required: Functional, logical, and hybrid MethodDescriptions are first‑class.
  • Keep time and people out: Schedules → WorkPlan; assignees → RoleAssigning.

A.3.1:End

U.MethodDescription

Context (plain‑language motivation)

Projects need a stable way to express “how it is written”—the recipe, code, SOP, rule set, or formal proof—without confusing it with:

  • the semantic “way of doing” (that is U.Method),
  • the assignment (that is U.RoleAssignment),
  • the ability (that is U.Capability),
  • the execution (that is U.Work), or
  • the calendar plan (that is U.WorkPlan).

U.MethodDescription gives this anchor. It treats algorithms, programs, proofs, SOPs, BPMN diagrams, solver models, playbooks as one class of epistemes: knowledge on a carrier that describes a Method. This unifies software and “paper” procedures and lets teams switch notations without breaking the model.

Problem (what breaks without a clear MethodDescription)

  1. Spec/run conflation. A flowchart or code is mistaken for the run; audits and SLOs become unreliable.
  2. Who/time leakage. People and calendars creep into the recipe; reuse and staffing agility die.
  3. Step‑only bias. Functional or logical styles are treated as “not real methods”; designs get contorted into faux steps.
  4. Algorithm‑centrism. Only code is considered “the method”, leaving SOPs and scientific procedures second‑class.
  5. Structure entanglement. BoM/PBS elements end up inside the recipe; method and product structure tangle.
  6. Unstated equivalence. Two specs intended to mean “the same method” are not declared equivalent; teams fork semantics by accident.

Forces (what we must balance)

ForceTension we resolve
Representation vs. semanticsMany notations, one meaning: specs may differ, method stays one.
Universality vs. domain idiomsSOPs, code, solver models, proofs—all first‑class, yet domain terms remain local.
Timelessness vs. operabilitySpecs are timeless, but must be precise enough to drive execution and audit.
Reusability vs. constraintsSpecs should declare role kinds, capabilities, safety bounds—without baking in people or calendars.
Evolvability vs. identitySpecs change; we need a way to evolve them without losing the method’s identity or history.

Solution — the specification as an episteme describing a Method

Definition

U.MethodDescription is an U.Episteme that describes a U.Method in a concrete representation (text, code, diagram, model). It is knowledge on a carrier that can be reviewed and validated; at run-time a U.System uses it to execute the U.Method as U.Work under a U.RoleAssignment.

Strict Distinction (memory aid): Method = how in principle (semantic Standard). MethodDescription = how it is written (artifact/description). Work = how it went this time (dated execution).

Representation‑agnostic stance (independent of “algorithmic paradigm”)

U.MethodDescription does not privilege any single notation. Typical forms include (non‑exhaustive):

  • Imperative Spec — SOP, BPMN/flowchart, PLC ladder, shell/pipeline scripts.
  • Functional Spec — compositions of pure functions, typed pipelines, category‑style combinators.
  • Logical/Constraint Spec — rules/goal sets, SAT/SMT/MILP models, theorem‑prover scripts.
  • Statistical/ML Spec — model definitions, training/evaluation procedures, inference pipelines.
  • Reactive/Event‑driven Spec — statecharts, observers/triggers, stream/CEP rules.
  • Hybrid Spec — mixtures (e.g., imperative orchestration calling solver kernels).

Same Method, different MethodDescriptions. In a single U.BoundedContext, several MethodDescriptions may describe the same U.Method if they entail the same preconditions, guarantee the same effects, and meet the same non‑functional bounds (cf. A.3.1).

What a good MethodDescription states (paradigm‑neutral content)

Not a schema—these are content prompts for reviewers:

  1. Purpose & Name of the Method it describes (link to U.Method).
  2. Interface/ports (inputs/outputs/resources/Standards) in the context’s vocabulary.
  3. Preconditions (guards, invariants, required states).
  4. Postconditions / Effects (what is guaranteed upon success).
  5. Non‑functional constraints (latency, precision, cost, safety envelope).
  6. Role requirements for enactment (kinds, not people)—to be satisfied at run time via U.RoleAssignment.
  7. Capability thresholds the performer must meet (checked against U.Capability of the holder).
  8. Failure semantics (detectable failures, compensations, rollback/forward strategies).
  9. Compositional hooks (how this spec composes: serial/parallel/choice/iteration), without embedding calendars.
  10. Parameter declarations (what may vary per run; values bound at U.Work creation).

Didactic guardrail: A MethodDescription does not embed a schedule, assignees, or BoM. Calendars → U.WorkPlan; people/units → U.RoleAssignment; product structure → PBS/SBS.

Epistemic roles for MethodDescriptions (via U.RoleAssignment)

Being an Episteme, a MethodDescription may itself play epistemic roles via U.RoleAssignment in a context (classification, not action), e.g.:

  • ApprovedProcedureRole, RegulatedProcedureRole, SafetyCriticalProcedureRole, De‑factoStandardRole.
  • These do not make the spec an actor; they classify its status within the context (who may use it, in which settings).

Constructor‑theoretic note (unifying “algorithms” and “physical recipes”)

In the constructor‑theoretic reading used by FPF:

  • Algorithms, programs, solver models, proofs are all U.MethodDescription—descriptions of Methods that transform information.
  • SOPs, control recipes, lab protocols are U.MethodDescription—descriptions of Methods that transform matter/energy.
  • A universal transformer (a system with sufficient capability) enacts any physically admissible MethodDescription—not only informational ones.

This keeps software and “wet lab” on equal footing.

Clear distinctions (quick litmus for managers)

You are holding…It is…Why
A BPMN diagram or SOPU.MethodDescriptionA description on a carrier.
A git repo or compiled binaryU.MethodDescriptionStill a description (even if executable).
“The way we do X in principle”U.MethodSemantic Standard beyond any single notation.
A run log with timestampsU.WorkA dated execution event.
A role description (“surgeon”, “planner”)U.Role / U.RoleAssignmentassignment, not recipe.
“Can achieve ±0.2 mm”U.CapabilityAbility of a holder, not a spec.
A calendar for next week’s runsU.WorkPlanPlan/schedule, not a recipe.
A state‑transition lawU.DynamicsModel of evolution, not a method description.

Archetypal grounding (parallel cases)

Industrial SOP (imperative)

  • Method: Etch_Al2O3.
  • MethodDescription: SOP_Etch_v7.pdf + PLC ladder file.
  • Role requirements: EtchOperatorRole; Capability: gas‑control precision ≤ threshold.
  • Execution: Tool_42#TransformerRole:Fab_A enacts the spec → Work runs W‑143…W‑155.

Optimization model (logical/constraint)

  • Method: JS_Schedule_v4.
  • MethodDescription: MILP model + solver config; admissible solution definition.
  • Execution: PlannerService_v4#TransformerRole:Plant_2025 produces Work Run_2025‑W32‑P1.

Clinical guideline (epistemic, status via RoleStateGraph + State Assertion)

  • Method: AcuteAppendicitis_Triage.
  • MethodDescription: clinical decision rule set; Epistemic Role: RegulatedProcedureRole:Hospital_Context.
  • Execution: ER_Team#TransformerRole:ER_Shift enacts the spec on a case → Work visit V‑8842.

Bias‑Annotation (as in E‑cluster)

  • Lenses tested: Did, Prag, Arch, Epist.
  • Scope declaration: Universal; semantics are context‑local via U.BoundedContext.
  • Rationale: Elevates all procedural artifacts—code, SOPs, proofs, models—to a single class, avoiding algorithm‑centrism and step‑only bias. Keeps the strict split among Method / MethodDescription / Work / Role / Capability.

Conformance Checklist (normative)

CC‑A3.2‑1 (Episteme status). U.MethodDescription IS an U.Episteme (knowledge on a carrier). It is not a U.Method (semantic way), not a U.Work (execution), not a U.Role/RoleAssigning (assignment), not a U.WorkPlan (schedule), and not PBS/SBS content.

CC‑A3.2‑2 (Context anchoring). Every U.MethodDescription MUST be interpreted within a U.BoundedContext. Names, Standards, and admissible non‑functional bounds are local to that context.

CC‑A3.2‑3 (Method linkage). A U.MethodDescription MUST declare the U.Method it describes. Multiple MethodDescriptions MAY describe the same Method (see CC‑A3.2‑8).

CC‑A3.2‑4 (assignment/time‑free). A MethodDescription SHALL NOT embed assignees, org units, or calendars. People/units are bound via U.RoleAssignment at run time; calendars belong to U.WorkPlan.

CC‑A3.2‑5 (Structure‑free). BoM/PBS/SBS artifacts SHALL NOT be embedded in MethodDescriptions. Reference interfaces/resources and constraints instead of listing parts/assemblies.

CC‑A3.2‑6 (Role and capability requirements). A MethodDescription MAY state role kinds and capability thresholds required for enactment. These are requirements, not bindings. They are checked at run time against U.RoleAssignment and U.Capability.

CC‑A3.2‑7 (Parameterization). Parameters MUST be declared in the Method/MethodDescription; concrete values are bound when creating U.Work. Default values in a spec are allowed but SHALL NOT force a schedule or assignee.

CC‑A3.2‑8 (Semantic equivalence). Two MethodDescriptions describe the same U.Method in a given context iff they entail the same preconditions, guarantee the same postconditions/effects, and satisfy the same non‑functional bounds for all admissible inputs/conditions of that context (per A.3.1 CC‑A3.1‑7). Differences in control flow, search, or notation do not break equivalence.

CC‑A3.2‑9 (Refinement). Spec₂ refines Spec₁ for the same Method iff it preserves interface, does not weaken postconditions/effects, and tightens (or equal) non‑functional bounds under equal or stronger preconditions. Declare refinement explicitly in the context.

CC‑A3.2‑10 (Compatibility claims). Claims such as “sound but incomplete” or “complete but potentially unsound” relative to another MethodDescription MUST be stated explicitly and scoped to the context (e.g., solver approximations).

CC‑A3.2‑11 (Executable specs). Executability does not change status: an executable artifact (program, script) is still a MethodDescription. Its runs are Work; its semantics are the Method it denotes.

CC‑A3.2‑12 (Epistemic roles via U.RoleAssignment). A MethodDescription MAY play epistemic roles via U.RoleAssignment (e.g., ApprovedProcedureRole, RegulatedProcedureRole) that classify its status. Such bindings do not make the spec an actor.

CC‑A3.2‑13 (Non‑determinism declaration). If a MethodDescription permits non‑determinism (e.g., search/optimization), the space of admissible outcomes and acceptance criteria MUST be stated (so that Work can be judged).

CC‑A3.2‑14 (Bridging across contexts). If two contexts use different MethodDescriptions for “the same‑named way,” an explicit Bridge (U.Alignment) SHOULD be provided to map terms/assumptions. Do not assume cross‑context identity by name alone.

MethodDescription mereology (epistemic composition; not method composition)

Keep two worlds separate:

  • Method composition (design‑time semantic): combines Methods into new Methods (A.3.1 §9).
  • MethodDescription mereology (epistemic): combines documents/code/models into larger spec artifacts. This is about parts of the description, not about the semantic method algebra.

Epistemic part relations (illustrative):

  • ConstituentOf — a chapter/module/snippet is a constituent of a larger spec.
  • Imports/Uses — this spec reuses a library/rule set.
  • VariantOf — this spec is a variant (e.g., for different equipment) with declared deltas.
  • RepresentationOf — this visual diagram is a representation of the textual rule set.

Didactic rule: Do not infer that a spec with two modules means a Method with “two steps.” Modules are parts of the description, not necessarily steps of the Method.

Parameterization & variability (templates, defaults, configs)

Templates. A MethodDescription may serve as a template with parameters (e.g., temperature set‑points, solver tolerances, objective weights).

Binding time.

  • Declare parameters in the spec;
  • Bind values when creating U.Work (or at an agreed “compile” stage);
  • Keep bound values visible in the Work record (so runs can be compared).

Defaults and guards.

  • Defaults are allowed; list valid ranges and guards (e.g., safety constraints).
  • If a default has safety impact, state it explicitly as part of preconditions.

Variants.

  • When variants differ only by parameter ranges → keep one Method with one MethodDescription template.
  • When variants differ by Standard (effects/bounds) → either declare a refinement or introduce a distinct Method (context decision).

Equivalence & compatibility (across notations and contexts)

Within one context.

  • Use semantic equivalence (CC‑A3.2‑8) to assert that BPMN vs code vs solver model are the same Method.
  • Prefer a short equivalence note showing parity of pre/post/bounds.

Across contexts.

  • Treat identity as not guaranteed.
  • Provide Bridges (U.Alignment) that map terms, units, roles, and acceptance criteria.
  • Be explicit if one spec is only sound (never returns forbidden outcomes) vs complete (can return all allowed outcomes).

Observational perspective (pragmatic). Two specs are observationally equivalent for stakeholders if, under declared conditions, they are indistinguishable by the acceptance tests of that context (even if internal strategies differ).

Anti‑patterns (and the right move)

  • Spec = run. “Yesterday’s process log is our spec.” → The log is Work; write a MethodDescription and link runs to it.
  • Who/time in the spec. “Step 3 by Alice at 02:00 daily.” → Use RoleAssigning at run time; schedule via WorkPlan.
  • Stuffing BoM. Listing parts/assemblies inside the spec. → Reference interfaces/resources; keep PBS/SBS separate.
  • Algorithm‑only bias. Treating code as “real spec” and SOPs as “notes.” → Both are MethodDescription; judge by Standards, not by format.
  • Hiding non‑determinism. Solver model with no acceptance criteria. → Declare admissible outcome set and tests.
  • Silent parameter capture. Hard‑coding values without declaring parameters. → Declare parameters with ranges; bind at Work creation.
  • Undeclared variant drift. Copy‑pasting specs and tweaking silently. → Use VariantOf with stated deltas or declare a refinement.

Migration notes (quick wins)

  1. Label the artifacts. Wherever a repo/diagram/document “is the process,” rename it MethodDescription and link it to a named Method.
  2. Extract people and calendars. Move all assignees to RoleAssigning and all schedules to WorkPlan.
  3. Introduce parameter blocks. Add a small “Parameters” section with ranges/defaults and safety guards.
  4. Write acceptance criteria. Especially for search/optimization or ML specs.
  5. Declare equivalence/refinement. Where two notations intend “the same way,” add an equivalence note; where the new one tightens bounds, declare refinement.
  6. Bridge domains. If two departments use different vocabularies, add a Bridge (U.Alignment) rather than forcing a single spec.

Consequences

BenefitsTrade‑offs / mitigations
One class for all recipes. SOPs, code, models, proofs become peers; teams can choose the best notation.A bit more ceremony. You name the Method and the MethodDescription separately; the payoff is clarity.
Cleaner audits. Specs vs runs vs assignments vs abilities never mix.Discipline required. Keep schedules and people out of specs.
Easier reuse and substitution. Equivalence/refinement rules enable swapping notations without semantic drift.Equivalence is a claim. Back it with short acceptance tests.
Cross‑domain coherence. Bridges allow controlled translation between contexts.Bridge maintenance. Someone owns the mapping; keep it short and focused.

Relations

  • Builds on: A.3.1 U.Method (the semantic way it describes); A.1.1 U.BoundedContext.
  • Coordinates with: A.2 U.Role, A.2.1 U.RoleAssignment (who enacts it); A.2.2 U.Capability (ability thresholds); A.15 Role–Method–Work (linking isExecutionOf to runs).
  • Informs: U.WorkPlan (plans reference MethodDescriptions); U.Dynamics (models that specs may assume); Epistemic Role patterns (status of specs RoleStateGraph + State Assertion).
  • Lexical guards: E.10.y L‑PROC (do not call MethodDescription “process” when you mean Work/WorkPlan); E.10.x L‑FUNC (avoid “function/functionality” confusion).

Didactic quick cards

  • Spec ≠ Method ≠ Work. Written recipesemantic waydated execution.
  • Keep people/time out. Assignees → RoleAssigning; schedules → WorkPlan.
  • Declare parameters & acceptance. Bind values at Work; state how success is judged.
  • Same method, different specs. BPMN/code/solver can be equivalent if pre/post/bounds match.
  • Bridge, do not blur. Cross‑team/domain differences go through U.Alignment, not wishful thinking.

A.3.2:End

U.Dynamics

Context

Teams need one place to say how a thing changes. Physicists call this “dynamics” (equations of motion, state‑transition maps). In IT and enterprise change, we often talk about evolution of characteristics (latency, cost, reliability, compliance, architectural fitness) across time. In knowledge work, KD‑CAL (knowledge dynamics) reasons about how the status of claims shifts as evidence arrives. All these are the same modeling need: a context‑local description of state space and allowed transitions.

FPF already separates:

  • what a holon is (structure, PBS/SBS),
  • how we act (Method/MethodDescription, Work),
  • what we promise (Service).

What is missing without U.Dynamics is the law of change—the model that tells us how states evolve with or without our interventions.

Intuition: Method tells an agent what to do; Dynamics tells everyone how the world (or a model of it) changes when something happens (or even when nothing happens).

Lexical note. Terms like process and thermodynamic process are mapped by L‑PROC:

  • the recipe is U.Method/MethodDescription,
  • the dated run is U.Work,
  • the law/trajectory model is U.Dynamics.

Problem

Without a first‑class U.Dynamics, models suffer predictable failures:

  1. Recipe = Law. Teams put the procedure (Method/MethodDescription) where the state law should be, so simulations and predictions become impossible to compare with reality.
  2. Run = Law. Logs of Work are mistaken for dynamics; past events are treated as if they defined what must happen.
  3. No state space. Discussions jump between metrics (latency! throughput!) without an explicit characteristic space or invariants, so “improvements” cannot be reasoned about.
  4. Domain lock‑in. “Dynamics” is left to domain vocabularies (physics, control, finance), losing a trans‑disciplinary way to speak about change in a single kernel.

Forces

ForceTension
Universality vs. richnessOne kernel notion must cover ODE/PDE, Markov chains, queues, discrete events, and enterprise “fitness characteristics”.
Model vs. realityA law must be design‑time (an Episteme), yet judged by run‑time evidence (Work).
Continuous vs. discrete vs. hybridDifferent time bases and update rules must coexist.
Open vs. closed systemsExogenous inputs (control/disturbances) may be explicit or implicit.
Predictive use vs. diagnostic useThe same dynamics can guide planning or explain incidents; interfaces must support both.

Solution — The unified concept U.Dynamics

Definition (normative). Within a U.BoundedContext, U.Dynamics is an U.Episteme that specifies a state space and a state‑transition law (deterministic or stochastic, continuous/discrete/hybrid) for one or more holons, possibly under exogenous inputs and constraints. It does not prescribe what an agent should do (that is U.Method/MethodDescription) and is not the dated evolution itself (that is U.Work evidence).

  • Type: U.Episteme (design‑time model/law on a carrier).
  • Orientation: descriptive/predictive about how states evolve; can be used by Methods but remains separate from them.
  • Judged by: conformance of observed Work‑derived traces to the law and invariants.

Core structure (minimal fields)

U.Dynamics {
  context        : U.BoundedContext,     // where the model’s meaning and units are defined
  stateSpace     : CharacteristicSpace,  // explicit characteristics & units; may include topology/geometry
  transitionLaw  : Episteme,             // equations/relations/kernels/transition matrices/rules
  timeBase       : {continuous|discrete|hybrid},
  stochasticity? : {deterministic|stochastic}, // incl. noise/likelihood model if stochastic
  inputs?        : P(Characteristic),    // control/disturbances/environmental drivers
  observation?   : Episteme,             // measurement/observation map from state to observables
  constraints?   : Episteme,             // invariants/safety envelopes/guards
  validity?      : Conditions,           // operating region, approximations, version, timespan
  calibration?   : Episteme              // parameter identification / priors
}
  • stateSpace uses FPF characteristics (not “characteristics”) so we can talk about architecture fitness (e.g., latency, MTBF, cost) just like temperature/pressure/volume in physics.
  • transitionLaw is paradigm‑agnostic: ODE/PDE, finite‑state relation, Petri net firing, queueing kernel, Bayesian update, etc.
  • observation separates what exists from what we measure (key for monitoring/assurance).

What U.Dynamics is not

  • Not a Method/MethodDescription: no imperative steps or prescriptions.
  • Not Work: no timestamps/resources attached; evidence lives on U.Work.
  • Not a Service: no consumer promise; dynamics may underpin service SLOs but does not define the promise.
  • Not PBS/SBS: do not place dynamics inside structural BoMs.

Where U.Dynamics sits in enactment

  • Design‑time: Methods may reference Dynamics for planning/control (e.g., MPC uses a plant model). Services may derive acceptance targets from Dynamics (e.g., queueing predictions → SLO).

  • Run‑time: Work produces state samples/telemetry; applying the observation map yields traces. Conformance/violation is decided by comparing traces with constraints and predictions from the transition law. Updates to model parameters flow via calibration (design‑time again).

Memory hook: Method decides, Dynamics predicts, Work reveals.

Prediction Use In Gating (normative)

When predicted coordinates (from a dynamics model) are used for comparison or gating, one of the following MUST hold:

  1. a fresh observation is available for the gate’s window; or
  2. the applied flow/map Φ_{Δt} is proven non‑expansive (Lipschitz ≤ 1) under the declared distance overlay (see § 5.1.7), and it commutes with the invariantization step (§ 5.1.6) — i.e., Quot/Fix_g ∘ Φ_{Δt} = Φ_{Δt} ∘ Quot/Fix_g on the domain of use.

If neither condition is satisfied, using prediction for gating is forbidden; the system MUST fall back to observation. Any use of Φ_{Δt} SHALL declare its validity window (range, Δt).

Archetypal grounding (engineer‑manager friendly)

DomainHolon & State SpaceTransition Law ExampleObservationTypical Questions
Process controlReactor: {Temperature, Concentration}Non‑linear ODE with disturbance termThermocouples, analyzersWill we overshoot? What control horizon keeps safety constraints?
Reliability/opsService platform: {MTBF, MTTR, Backlog}Birth–death/queueing modelIncident logs, uptime pingsGiven load, what SLO is feasible?
Evolutionary architectureSystem: {Latency, Cost, Coupling}Discrete‑time map per releasePerf tests, billsIf we change X, how does latency trend next 3 sprints?
KD‑CAL (knowledge)Claim: {Belief, Support}Bayesian update ruleEvidence artifactsHow does confidence evolve as studies arrive?

Key takeaway: one kernel object captures trajectories in a characteristic space, from thermodynamics to software quality and knowledge confidence.

Conformance Checklist (normative)

CC‑A3.3‑1 (Type). U.Dynamics IS an U.Episteme (design‑time model/law on a carrier). It is not a U.Method/MethodDescription, not U.Work, and not a structural part of any PBS/SBS.

CC‑A3.3‑2 (Context). Every U.Dynamics MUST be declared inside a U.BoundedContext. Units, characteristic names, admissible regions, and time base are local to the context; cross‑context reuse requires a Bridge (U.Alignment).

CC‑A3.3‑3 (Explicit state space). stateSpace MUST enumerate characteristics with units/scales (continuous/discrete/ordinal) and any topology/geometry needed for trajectories. Do not refer to informal “axes”.

CC‑A3.3‑4 (Transition law). transitionLaw MUST specify a state‑transition relation/map/kernel suitable for the declared time base (continuous|discrete|hybrid) and stochasticity (deterministic or with a likelihood/noise model).

CC‑A3.3‑5 (Observation model). If evidence from U.Work is to be checked against the law, an observation mapping MUST be provided (identity is acceptable only if explicitly stated). Sampling rate/granularity SHOULD be declared.

CC‑A3.3‑6 (Constraints & validity). If safety/envelope constraints apply, they MUST be declared under constraints. Operating region, approximations, version, and timespan SHOULD be stated under validity.

CC‑A3.3‑7 (Separation from Method). A U.Dynamics SHALL NOT prescribe imperative steps or responsibilities. Planning/control algorithms that use the dynamics belong to U.Method/MethodDescription.

CC‑A3.3‑8 (No actuals on Dynamics). Resource/time actuals and telemetry MUST attach to U.Work. Calibration outcomes produce new versions of U.Dynamics; the law object itself carries no run‑time logs.

CC‑A3.3‑9 (Multi‑scale declaration). If state is aggregated across parts or time, the aggregation policy (Γ_time, Γ_work, averaging vs. sum vs. percentile) MUST be stated to prevent incoherent comparisons.

CC‑A3.3‑10 (Lexical hygiene). Ambiguous uses of process/processual (laws vs. runs vs. recipes) MUST be resolved per L‑PROC/L‑ACT:

  • law → U.Dynamics,
  • recipe → U.Method/MethodDescription,
  • run → U.Work.

CC‑A3.3‑11 (Link to Services—optional). If service SLOs are derived from a dynamics model, the service promise clause (U.PromiseContent) SHOULD reference that U.Dynamics (A.2.3), but the promise clause remains the promise, not the law.

Evidence and operators (traces, prediction, conformance)

Let D be a U.Dynamics in context C. Let W be a set of U.Work records produced under C. Let obs_D(-) be the declared observation map for D.

Derived evidence

  • trace(W, D) → Sequence<t, y>: derive an ordered sequence of observed values y at times t by applying obs_D to Work/telemetry associated with W. (Not a kernel type; a derived artifact for analysis/assurance.)

  • inputs(W) → Series: exogenous inputs/control signals recovered from Work metadata if the model declares inputs.

  • initialState(W, D) → x₀: the assumed/estimated state at trace start (from Work context or a stated estimation rule).

Prediction & simulation

  • predict(D, x₀, inputs?, horizon) → Trajectory: propagate the law to obtain a predicted trajectory in the declared state space.

  • admissible(D, x) → bool: test whether state x satisfies constraints.

  • reach(D, S₀, S₁, inputs?, horizon) → bool: reachability: can states in S₀ evolve into S₁ under the law.

Conformance & drift

  • residuals(D, trace) → Series: discrepancies between predicted and observed series under a stated alignment (point‑wise, windowed, distributional).

  • fits(D, trace, tol) → {pass|fail|partial}: verdict under tolerance policy tol defined by the context (e.g., sup‑norm ≤ ε, percentile bands, likelihood threshold).

  • drift(D₁, D₂, domain) → Measure: divergence between two model versions over a declared operating domain (e.g., max deviation of eigenvalues, KL between predictive distributions).

Invariants

  • fits(D, trace, tol)=pass ⇒ every sample lies in admissible(D,-) unless the context explicitly permits out‑of‑envelope transients.
  • If two traces are generated under identical inputs and initial conditions, recorded differences must be explainable by the declared stochasticity/noise model or flagged as violations.

Didactic hook: Dynamics predicts; Work reveals; Conformance compares.

Anti‑patterns (and the right move)

  • “Dynamics = procedure.” Control recipes/step graphs belong to Method/MethodDescription. Keep the law in U.Dynamics.

  • “Telemetry = dynamics.” Logs are Work evidence. Build trace(Work, D) and compare to the law; do not store logs inside the law.

  • “No state space.” KPI lists without an explicit stateSpace turn into dashboard folklore. Name characteristics with units and ranges.

  • “Hard‑coding SLO inside the law.” Service targets are promises (U.PromiseContent.acceptanceSpec). Keep predictions and promises separate; link them.

  • “Stuffing Dynamics into BoM.” A model is not a component. Leave PBS/SBS for structure.

  • “One size fits all time base.” If parts of the system evolve on different clocks, declare hybrid and separate update rules.

Migration notes (quick path to value)

  1. Name the changing things. Pick 3–7 characteristics that matter (physical or architectural). Declare stateSpace with units and ranges.
  2. Write the law you already use. Even if it is a queueing approximation or a simple ARIMA—put it under transitionLaw and state assumptions under validity.
  3. Separate recipe from law. Move control procedures to Method/MethodDescription; keep forecasting/plant equations in U.Dynamics.
  4. Wire evidence. Ensure production Work emits the measurements needed by observation. Build trace(Work, D).
  5. Start conformance. Define a simple tol and compute fits(D, trace, tol) weekly. Raise issues on drift; version the model when calibrating.
  6. Link to promises (optional). If SLOs depend on the law, reference U.Dynamics from U.PromiseContent and derive targets transparently.
  7. For KD‑CAL. Treat belief/support as characteristics; declare a Bayesian/likelihood update in transitionLaw; evaluate conformance against evidence arrivals.

Relations

  • Builds on: A.1.1 U.BoundedContext (local meaning/units), A.2 Role / A.2.1 RoleAssigning (agents that use the law), A.15.1 U.Work (run‑time evidence).

  • Coordinates with: A.3.1 U.Method / A.3.2 U.MethodDescription (planning/control using the law), A.2.3 U.PromiseContent (promises informed by predictions), KD‑CAL (knowledge dynamics as a specialisation: belief‑update laws), Resrc‑CAL (cost/energy models as dynamics over resources).

  • Constrained by lexical rules: E.10 L‑PROC (process disambiguation), L‑ACT (activity/action), L‑FUNC (function).

Didactic quick cards (engineer‑manager ready)

  • Dynamics = Law of Change. A design‑time model of how states evolve.
  • State space = Named characteristics with units. No vague “axes”.
  • Method vs Dynamics. Method decides what we do; Dynamics predicts what will happen.
  • Work = Evidence. Only Work has timestamps and resource actuals.
  • Conformance = Prediction vs Trace. Fit, residuals, drift.
  • Keep promises separate. Services are promises; Dynamics informs them but does not replace them.

Memory hook: Method decides - Dynamics predicts - Work reveals.

A.3.3:End

Temporal Duality & Open‑Ended Evolution Principle

“A holon is born in design‑time, lives in run‑time,
and is reborn when the world talks back.”

Problem frame

A holon’s blueprint and its lived reality are never identical for long. Pumps wear out, theories meet anomalous data, workflows face unanticipated load. FPF therefore requires a temporal framework that:

  1. Physically grounds every modification (via the Transformer Principle, A 3).
  2. Supports unbounded improvement cycles (P‑10 Open‑Ended Evolution).
  3. Works identically for physical, epistemic, operational (method, work) and future holon flavours.

Problem

Failure modeConsequence
Blueprint ≡ Reality“As‑built” discrepancies remain invisible; safety and validity claims become fiction.
Implicit magic updatesVersions overwrite each other; provenance chains snap.
Observer special‑caseMeasurement treated as metaphysical rather than a normal, physically grounded transformation.

Forces

ForceTension
Stability vs ChangeIdentify a holon across time ↔ allow radical redesigns.
Prediction vs EvidencePlan with intended specs ↔ respond to real telemetry.
Parsimony vs ExpressivenessKeep the model lean ↔ respect the full lifecycle complexity.

Solution - Temporal Duality Model

FPF assigns every holon state to one—and only one—of two temporal scopes:

ScopeSymbolDefinitionTypical contents
Design‑TimeTᴰInterval(s) during which the holon may be structurally altered by an external Transformer executing a U.TransformationalMethod.Specs, CAD, theorem scripts, IaC SCRs.
Run‑TimeTᴿInterval(s) during which the holon executes its own OperationalMethods and is assumed structurally stable (self‑maintenance allowed).Telemetry, transaction logs, field data, physical wear.

Temporal invariants

Tᴰ ∩ Tᴿ = ∅                     (never overlap)
Tᴰ ∪ Tᴿ = worldline(holon)      (cover full existence)
version(n+1) created only in Tᴰₙ (monotonic lineage)

Open‑Ended Evolution Principle

A holon may repeat the cycle ad infinitum:

(H₀ in Tᴿ₀) → observe → Δspec in Tᴰ₁ → build → H₁ in Tᴿ₁ → …

Observation itself is a transformation: An External Transformer (U.System playing transformerRole ⊑ TransformerRole) executes a measurement method whose output is an epistemic holon containing observations. Thus the traditional “External Observer Pattern” collapses into the universal external Transformer pattern.

Archetypal Grounding

PhasePump‑v2 (U.System)Proof‑v2 (U.Episteme)
Design‑Time3‑D CAD + G‑code; stress‑sim config.Lean/Coq script of theorem; dependency graph.
Run‑TimePump circulates coolant under OperatePump method.Theorem cited & reused; runtime is “being relied on”.
Run → Design loopSensor data shows cavitation; anomaly report produced by monitoring server (transformerRole).New experiment contradicts corollary; lab apparatus + scientists act as transformerRole.
Design → Run loopEngineers author Pump‑v3 spec, printer (TransformerRole) fabricates it.Community revises proof, proof‑assistant (TransformerRole) verifies Proof‑v3.

(Diagrammatic lineage table omitted for brevity but included in annex.)

Conformance Checklist

IDRequirementPurpose
CC‑A.4.1Every U.Holon MUST be tagged with its current temporal scope (Tᴰ or Tᴿ).Eliminates blueprint/reality ambiguity.
CC‑A.4.2A transition from TᴰTᴿ SHALL be modeled as executes(Transformer, U.TransformationalMethod).Guarantees physical grounding of instantiation.
CC‑A.4.3A transition from TᴿTᴰ SHALL be modeled as executes(transformerRole, U.TransformationalMethod) producing an observational U.Episteme.Ensures observation is treated as transformation.
CC‑A.4.4Tᴰ ∩ Tᴿ = ∅ and the concatenated intervals MUST equal the holon’s worldline.Guards against illicit overlap.
CC‑A.4.5Each new design version MUST reference (refinesVersion) exactly one predecessor or declare firstVersion = true.Enforces monotonic lineage for auditability.

Consequences

BenefitsTrade‑offs / Mitigations
Audit‑Ready engineering workflow – Every state and change is explicitly typed, timed, and causally linked to a physical system/Tramsformer.Additional metadata tagging; mitigated by templates in Authoring Guide (E 8).
Unified View of Build & Measure – Observation, test, simulation, maintenance, and fabrication all share one mechanism.Requires modelers to think in terms of Transformers even for “passive” sensing; mitigated by role libraries (transformerRole, CalibratorRole, etc.).
Foundation for Learning Loops – Enables higher patterns (e.g., B 4 Canonical Evolution Loop, D 3 Trust Calculus) to reason over evidence accrual and version fitness, including self-modification.None significant—temporal scoping is already needed for safety‑critical provenance.

Rationale (extended)

  1. Why separate scopes?
    Real‑world artefacts SCR the as‑intended versus as‑is gap. By formalising that gap, FPF prevents silent assumption of perfect fidelity and allows quantified error (U.Error) to drive evolution.

  2. Why treat observation as transformation?
    Physics tells us measurement changes state (energy, information, even quantum collapse). Making the observer just another Transformer means: no special metaphysics, full energy/provenance accounting, seamless tie‑in with Constructor Theory (see A 3 Rationale §2).

  3. Why insist on open‑endedness?
    Perfect finality is unattainable outside mathematics mandates that holons must be improvable in principle; this pattern encodes that mandate structurally: version n+1 is always possible.

  4. Why no overlap (TᴰTᴿ)?
    The instant a holon is mutable (design) it ceases to be the “same” operational asset relied upon for guarantees. Overlap would break trust calculations and violate A.7 Strict Distinction.

This pattern therefore realises three core principles in concert:

  • Temporal Duality – explicit tagging of states.
  • Open‑Ended Evolution – guaranteed pathway for refinement.
  • Ontological Parsimony – one mechanism (Transformer) for all state changes, avoiding specialised “observer” or “installer” types.

“Blueprints dream; instances speak.
Evolution is the conversation between them.”

A.4:End

Open‑Ended Kernel & Extension Layering

Status. Transitional stub (informative). This section defines no dedicated “module” subsystem. Enforceable boundary discipline lives in A.6.0 U.Signature and A.6.1 U.Mechanism, with guard‑rails in E.5.3 (Unidirectional Dependency) and E.10 (LEX‑BUNDLE stratification).

Problem frame

FPF’s ambition is to act as an “operating system for thought.” That ambition can only be realised if the framework:

  • (i) remains stable and self‑consistent over multi‑decade timespans;
  • (ii) invites, rather than resists, the continual influx of new disciplinary knowledge; and
  • (iii) allows multiple, even competing, explanatory lenses to coexist without forcing a “winner‑takes‑all” unification.

Historically, grand “total” ontologies—Aristotle’s Categories, Carnap’s Logical Construction of the World, Bunge’s TOE—failed precisely because each tried to embed every domain’s primitives directly into a single monolith. Once the monolith cracked under domain pressure, the whole edifice became unmaintainable.

Problem

If FPF were to let domain‑specific primitives creep into its Kernel, two pathologies would follow:

PathologyManifestationBreach of Constitution
Kernel BloatEvery new field (e.g. synthetic biology) adds bespoke U.Types → Core size explodes, review surface becomes unscalable.Violates C‑5 Ontological Parsimony; erodes P‑1 Cognitive Elegance.
Conceptual GridlockConflicting axioms (deterministic thermodynamics vs. indeterministic econ‑metrics) must fight for space in the same namespace.Breaks C‑3 Cross‑Scale Consistency; triggers chronic DRR deadlock.

A minimal, extensible design is therefore mandatory.

Forces

ForceTension
Stability vs. EvolvabilityImmutable core needed for trust ↔ constant domain innovation needed for relevance.
Universality vs. SpecificitySingle kernel language ↔ rich idioms for fields as diverse as robotics, jurisprudence, metabolomics.
Parsimony vs. CoverageFew primitives keep reasoning elegant ↔ framework must still model energy budgets, epistemic uncertainty, agentic goals.

Solution

FPF’s modularity is declarative, not “callable”: pattern texts publish law‑governed declarations (vocabulary + laws + applicability) that can be reused and specialised. They are not subroutines, services, or protocol endpoints in the software‑architecture sense; treat “module” as a metaphor at most.

To keep the Kernel open‑ended without a bespoke plug‑in patterns standard, FPF relies on the boundary stack that already exists elsewhere in Part A/E/F:

  1. Kernel minimality (C‑5). Domain knowledge (physics, biology, economics, …) stays outside the Kernel by default; it enters as extension vocabularies and laws.
  2. Boundary packaging via U.Signature (A.6.0). Reusable bundles are published as signatures with an explicit SignatureManifest (imports, provides).
  3. Dependency vs specialisation are separate relations. imports forms a dependency DAG constrained by E.5.3; refinement/extension (, ⊑⁺) is expressed separately (e.g., A.6.1 U.MechMorph) and should not be conflated with imports.
  4. Registry references stay references. Bridges, policy‑ids, and edition‑ids (Part F) are registry identifiers: they are cited/pinned where needed, not treated as exported symbols in provides.

This section is intentionally lightweight: it provides architectural intent and routing pointers only. Any new enforceable modularity constraints belong in the A.6.* boundary patterns (or in E.* guard‑rails), not here.

A.5:End