Signature Stack & Boundary Discipline
Pattern A.6 · Stable · Architectural (A) · Mixed (normative only where explicitly marked; routing semantics live normatively in A.6.B) Part A - Kernel Architecture Cluster
Type: Architectural (A) Status: Stable Normativity: Mixed (normative only where explicitly marked; routing semantics live normatively in A.6.B) Placement: Part A → A.6.* (cluster overview; coordinates A.6.0 / A.6.1 / A.6.3 / A.6.B / A.6.5 / A.6.6 / A.6.7) Builds on: E.8 (authoring template), A.6.B (Boundary Norm Square — quadrant semantics & link discipline), A.6.0 (U.Signature), A.6.1 (U.Mechanism), A.6.3 (U.EpistemicViewing — views as episteme-level projections under viewpoints), E.17.0 (U.MultiViewDescribing), E.17 (MVPK — fixed face kinds & “no new semantics” publication), A.7 (Object≠Description≠Carrier), F.18 (promise/utterance/commitment), E.10.D2 (I/D/S vs Surface), E.10/L‑SURF (Surface token discipline) Purpose (one line): Keep boundary claims evolvable by routing each statement to the right layer of the Signature Stack and the right quadrant of the Boundary Norm Square (A.6.B).
Mint/reuse (terminology): Mints “Signature Stack”, “Boundary Discipline Matrix”, and “Claim Register” as local authoring aids; reuses existing FPF meanings of
U.View/U.Viewpoint(E.17.0/A.6.3) and reserves “Surface” for PublicationSurface/InteropSurface (L‑SURF). The labels L/A/D/E used below are routing labels for statements, not MVPK face kinds and not pattern IDs.
Canonical companion. The square itself (quadrant definitions, form constraints, and cross‑quadrant dependency discipline) is specified normatively in A.6.B — Boundary Norm Square. This overview only (i) maps quadrants onto the Signature Stack, and (ii) explains how MVPK faces project the canonical routed claim set. If anything in this overview conflicts with A.6.B, A.6.B is authoritative.
Start here when. The dominant burden is API, protocol, contract, compliance, SLO/SLA, connector, or interface language that is mixing runtime behaviour, governance, and evidence into one undifferentiated boundary story.
First output. One Claim Register or equivalent routed atomic claim set with stable L-* / A-* / D-* / E-* identifiers, stack placement, and face citations by ID rather than paraphrase.
Typical next owners. A.6.B for the quadrant law, A.6.C for contract unpacking, A.6.P, A.6.Q, or A.6.A for later lexical repair, and E.17 faces for audience-specific publication of the same routed claim set.
Common wrong escalations / reroutes. If the real burden is still cue preservation or route-bearing early articulation, reroute to A.16 / A.16.1; if you are already repairing qualified relation, quality-term, or action-invitation language, continue into A.6.P, A.6.Q, or A.6.A; if agent duties are being mixed into one contract sentence, split them through A.6.B rather than minting one more contract-soup paragraph.
Conventions: The key words MUST, MUST NOT, SHOULD, SHOULD NOT, MAY, and SHALL are to be interpreted as in RFC 2119/8174. Lower‑case “must/may/should” in explanatory prose is descriptive, not normative.
Statement identifiers (recommended): Adopt the quadrant‑prefixed ID scheme from A.6.B:0 for routable statements:
L-* (law/definition), A-* (admissibility gate), D-* (deontic/commitment), E-* (effect/evidence).
Other sections and faces SHOULD refer to these IDs instead of restating the same constraint in new words.
IDs are intended to be “lintable” anchors (and are especially useful when D‑duties enforce A‑gates or E‑claims). Consider pairing IDs with a lightweight Claim Register (A.6.B:7) to reduce paraphrase drift across faces.
Non-collision note (informative): The A-* prefix here is “Admissibility”, not Part‑A numbering and not MVPK’s AssuranceLane face kind. If this is a readability hazard in your program, prefer an explicit G-* (“Gate”) local convention while keeping the quadrant name “Admissibility”.
Claim Register (informative, recommended). Use the Claim Register mini‑artifact in A.6.B:7. In this cluster the register is additionally used to record stack placement (Signature/Mechanism/Norms/Evidence) and the MVPK faces that cite each claim (viewRef/viewpointRef), so “no paraphrase drift” can be audited mechanically.
Boundaries are where architecture lives: at the edge of a theory, an API, a protocol, a hardware connector, an organisational interface, or a published model. FPF already has the core building blocks to describe such edges:
Keywords
- boundary
- signature stack
- routing
- laws
- admissibility
- deontics
- evidence
- claim register
- MVPK
- view/viewpoint
- surface.
Relations
Content
Problem frame
Boundaries are where architecture lives: at the edge of a theory, an API, a protocol, a hardware connector, an organisational interface, or a published model. FPF already has the core building blocks to describe such edges:
U.Signatureas a public, law‑governed declaration (with Vocabulary, Laws, Applicability).U.Mechanismas a specialization that introduces operational “entry gates” (AdmissibilityConditions) and additional operational blocks (Transport, Audit, etc.).- Multi‑view publication discipline via
U.MultiViewDescribing(views + viewpoints). - Strict separation of Object vs Description vs Carrier so we do not accidentally attribute agency or work to an episteme (or treat a file as “the thing”).
Yet boundary descriptions in practice fail in a predictable way: authors blend several fundamentally different kinds of claims into one “contract soup”. The result is brittle architecture: signatures become entangled with runtime gates, deontic language is mixed into mathematical invariants, and “effects” are asserted without any disciplined carrier/evidence story.
This cluster overview makes one disciplined move:
- Treat a boundary as a stack of boundary layers (Signature → Mechanism → Work/Evidence carriers) plus publication views/faces, and
- Provide a boundary discipline matrix (2×2) that routes statements to the correct layer, so evolution remains controlled and substitutions are possible.
Terminology note (informative): In this pattern:
- Layer names a stratum in the boundary stack (Signature → Mechanism → Work/Evidence carriers → Publication).
- View (
U.View) is an episteme‑level projection, not a file/document. - Viewpoint (
U.Viewpoint) is an intensional accountability spec that constrains views. - Face (MVPK sense) is a named publication view kind (
PlainView,TechCard,InteropCard,AssuranceLane) whose rendering lives on aPublicationSurface(carrier). Do not coin “signature/mechanism …Surface” terms; “Surface” is reserved for publication surfaces (L‑SURF).
Problem
When boundaries are described without a routing discipline, four confusions dominate:
-
Laws vs admissibility. Authors encode runtime gate predicates as “laws”, or write invariants using RFC‑style deontic verbs, blurring “what is true/defined” with “what is allowed to be applied”. FPF explicitly separates these: operational guard predicates belong to mechanisms (A.6.1), not signatures (A.6.0). Common mistake #0 — Applicability ≠ Admissibility (informative): Signature
Applicabilityscopes intended use/bounded context; it is not a runtime entry gate. Runtime entry checks and permission predicates belong inU.Mechanism.AdmissibilityConditionsasA-*. If an agent is obligated to satisfy/enforce such a gate, express that as aD-*duty that references theA-*claim ID (per A.6.B), not by rewriting the gate as “X MUST …”. -
Admissibility vs deontics. “MUST/SHOULD/MAY” is used both for agent obligations and for world‑state admissibility predicates. E.8 already demands keeping deontics distinct from admissibility/definitions and recommends predicate‑style constraints for admissibility rather than RFC keywords.
-
Contract talk category errors. “The interface promises…” is a metaphor. A promise (and a contract) is an agent‑level phenomenon; an episteme is an utterance; a running service is the delivered work. FPF provides an ontological anchor for this via promise/utterance/commitment distinctions (F.18).
-
Effects without evidence or carriers. Effects happen only in work; therefore, “effect claims” must be anchored to observation and carriers. Without A.7’s Object≠Description≠Carrier discipline, writers conflate the published description with runtime traces or treat a file as the system itself.
These confusions destroy evolvability: you cannot swap implementations behind a stable signature if the signature already smuggles mechanism‑gates, audit logistics, or agent commitments into “laws”.
Forces
Solution — A stack + a routing matrix
Why “stack”: what is stacked, and what “higher/lower” means
This pattern uses stack in the same pragmatic sense as other FPF stacks (e.g., the holonic import stack and other layered disciplines): an ordered set of layers where higher layers are more stable commitments, and lower layers are more volatile realizations/evidence. “Higher” and “lower” are not metaphysical claims; they are engineering guidance for evolvability:
- Higher in the stack = closer to public, reusable intent (conceptual contract).
- Lower in the stack = closer to execution, implementation, and evidence (what is actually done and observed).
This is consistent with existing “stack discipline” uses in FPF (e.g., import layering over holonic strata).
The Signature Stack (as used in this cluster) is the ordered family of canonical claim layers for a boundary package. Each layer is a stable “landing zone” for one quadrant of statements (L/A/D/E), with a canonical home in the boundary’s artefacts/sections:
-
Signature layer (L: laws/definitions).
U.Signatureprovides the stable declarative boundary: Vocabulary + Laws + Applicability, without runtime gate predicates. -
Mechanism layer (A: admissibility/gates).
U.Mechanismspecializes the signature and adds AdmissibilityConditions (the entry gate) plus operational blocks (e.g., Transport, Audit/Observability). These blocks specify runtime gates and observability interfaces; they are still descriptions. The evidence itself exists only as carriers produced in work.Audit vs AssuranceLane (avoid duplication): the Mechanism’s Audit/Observability block defines the required semantics of an observability/evidence interface (carrier classes and required fields, correlation keys, exposure interface). Retention/access/enforcement are D‑claims (agent duties) that reference the same carrier classes by ID. An MVPK AssuranceLane is a projection for auditors that explains how to read/check the evidence interface. This is a special case of CC‑A.6.6: the lane references the Mechanism section and the relevant claim IDs rather than restating semantics.
-
Norms & commitments layer (D: duties/commitments). Deontic statements are anchored to accountable agents/roles (authors, implementers, operators, providers, reviewers). Canonical placement is a Norms/Commitments section in the boundary package (typically rendered inside
TechCard), and those statements referenceL-*/A-*/E-*by ID rather than duplicating predicates. -
Evidence bindings layer (E: effects/evidence).
E-*claims bind observed behaviour to carrier classes and measurement conditions. Canonical placement is an Evidence/Carriers section in the boundary package (typically rendered inAssuranceLane), and adjudication happens against carriers produced in work. -
Work & realizations (outside the description stack). Realizations (substitutable implementations) are exercised by doing work; actual executions produce state changes, traces, and measurements. Effects exist only in work. A.6.0 already frames realizations as substitutable behind signatures and warns against smuggling bridge mechanics into the signature layer.
-
Publication faces (MVPK views rendered on PublicationSurfaces). MVPK yields audience‑specific
U.Viewinstances (faces) that are typed projections over the canonical claim layers above and carry viewpoint accountability (viewRef+viewpointRef). Physical documents/files live on carriers (PublicationSurface), not in theU.Viewitself.
Observability compatibility note (informative): When specifying evidence carriers and correlation rules, it is often convenient to describe the carrier layer in terms familiar from contemporary observability practice (post‑2015): traces/spans, logs/log records, and metrics time‑series, with explicit correlation identifiers. Treat these as example carrier schemas and join keys, not as mandatory technology choices. (Concrete schema/exchange mapping remains outside Part E; keep Part E conceptual.)
AssuranceLane skeleton (informative)
An MVPK AssuranceLane is a view that teaches a specific audience how to adjudicate E-* claims against carriers produced in work. It references (not restate) the Mechanism’s Audit/Observability semantics.
Minimal content (suggested):
- Scope: boundaryRef, version, viewRef, viewpointRef.
- Carrier inventory: carrier class/schema refs (A.7 Carrier) + where to obtain them.
- E‑claim map: a table keyed by
E-*ID with: measurement conditions, carrierRef(s), join/correlation keys, and a reference to the canonicalE-*text that defines pass/fail criteria. - Operational policies: references to relevant
D-*duties (retention, access control, exposure), without redefining them. - Limitations: sampling, redaction, missing signals, expected false negatives/positives.
No new semantics reminder. The lane may include procedural adjudication guidance (queries, joins, dashboards) as informative text. Any normative thresholds/criteria that would change the boundary’s commitments MUST be authored as E-* claims in the canonical Evidence/Carriers section and cited by ID, rather than being introduced only inside the lane text.
Example (conceptual, no tools):
Default landing zones (quadrant → stack layer / section):
- L → Signature.Laws (and, where appropriate, mechanism‑local semantic laws; never runtime gates)
- A → Mechanism.AdmissibilityConditions
- D → Norms/Commitments (agent/role duties; publication/accountability duties)
- E → Evidence/Carriers (claims adjudicated against work via carriers; the publication face for these is typically
AssuranceLane)
Integration stitches (informative; this cluster is a routing hub, not a standalone philosophy):
- A.6.1 ↔ A‑quadrant:
U.Mechanism.AdmissibilityConditionsis the canonical home forA-*gate/admissibility claims. - A.10 / B.3 ↔ E‑quadrant:
E-*claims should be anchored to evidence carriers + provenance (A.10); without an explicit evidence anchor they are treated asAssuranceLevel:L0 (Unsubstantiated)in the Trust & Assurance calculus (B.3). - A.2.3 / F.12 ↔ D/E separation: a
U.PromiseContentpromise is not evidence; promise acceptance is linked to work evidence via F.12, and role obligations to maintain admissibility are expressed asD-*duties referencingA-*and/orE-*by ID.
A stack is useful because the intended direction of change is clear:
- Lower layers (realizations, audit formats, transport mechanisms) are expected to change more frequently and can often evolve without forcing higher‑layer changes, provided higher‑layer commitments remain satisfied.
- Changes to higher layers are contract evolution and typically require explicit compatibility reasoning (and therefore explicit versioning and communication).
Boundary Discipline Matrix: route by A.6.B (the Boundary Norm Square)
Normative source. The canonical 2×2 square (axes, quadrant semantics, form constraints, and cross‑quadrant reference rules) is defined in A.6.B. This section provides a short operational summary and worked rewrites only.
A “four‑part list” is not strong enough, because real sentences reuse the same surface words (“must”, “guarantees”, “valid”) across different logical roles. A 2×2 matrix is stronger because it arises from crossing two independent distinctions:
- Modality family: truth‑conditional vs governance (permissions/obligations/commitments).
- Adjudication substrate: in‑description vs in‑work (whether satisfaction is decided from the description alone or requires observing executed work/carriers).
Operational summary (quadrant → canonical home in the stack):
- L (Laws & Definitions) →
Signature.Laws(truth‑conditional semantics, in‑description) - A (Admissibility & Gates) →
Mechanism.AdmissibilityConditions(runtime entry predicates / permission checks) - D (Deontics & Commitments) → Norms/Commitments (agent/role duties and commitments; may be audited via
E-*) - E (Work‑Effects & Evidence) → Evidence/Carriers (work‑adjudicated effects tied to carriers and measurement conditions)
Atomicity rule:
If a sentence mixes roles (e.g., “MUST” + a gate predicate + an effect claim), it is not routable as a single statement. Per A.6.B, split it into atomic claims so each one has exactly one quadrant (and, ideally, an identifier you can reference).
Micro‑template: Atomize → Route → Place → Anchor (A.7) → Register
- Split the sentence into atomic claims (one logical role each).
- Assign each claim to exactly one quadrant (L/A/D/E) using the matrix.
- Place each claim into its correct section/artefact (stack layer + section).
- Anchor A.7: for each claim, name the primary A.7 layer it is about (one of
{Object, Description, Carrier}) and ensure the grammatical subject matches (agents/roles forD-*, carriers forE-*). - Register: add the atomic claim to the Claim Register (if used) and ensure every downstream face references the claim by ID rather than paraphrasing.
Informative example. Example rewrite (mixed → atomic):
Before (mixed, not routeable): “Clients MUST include header X; otherwise the request is invalid and the system logs NotAdmissible.”
After (routeable + lintable):
A-AC-1(Quadrant A, Mechanism.AdmissibilityConditions):admissible(req) iff hasHeader(req, "X").D-CL-1(Quadrant D, Norms/Commitments): “Client implementers MUST satisfyA-AC-1.”E-OBS-1(Quadrant E, Evidence/Carriers): “When a request is rejected due toA-AC-1, anAuditLogEntry{code="NotAdmissible"}carrier is produced and can be observed in the audit stream.”
Informative example. Example rewrite (guarantee + SLA + measurement + enforcement):
Before (mixed, contract soup): “The service guarantees 99.9% availability per calendar month and MUST keep p95 latency under 200ms; breaches are penalized; operators SHALL alert on violations.”
After (routeable + adjudicable):
D-SLA-1(Quadrant D, Commitments/SLA): “Provider SHALL meetE-SLA-AVAIL-1andE-SLA-LAT-1under the stated exclusions.”E-SLA-AVAIL-1(Quadrant E, Evidence/Carriers): “availability ≥ 0.999over calendar monthT, measured by carrierUptimeProbeSeriesfrom viewpointVP.ExternalMonitor.”E-SLA-LAT-1(Quadrant E, Evidence/Carriers): “latency_p95 ≤ 200msunder workloadW, measured by carrierLatencyMetricSeriesfrom viewpointVP.Client.”D-OPS-ALERT-1(Quadrant D, Ops duty): “Operators MUST page on breach ofE-SLA-AVAIL-1orE-SLA-LAT-1within 5 minutes (policy).”E-ALERT-1(Quadrant E, Evidence/Carriers): “Pages are evidenced by carrierAlertEvent{ruleId,firedAt,target}and can be joined viaincidentId.”
See A.6.B:4–A.6.B:6 for the normative square, quadrant form constraints, and explicit cross‑quadrant link patterns (notably: D→A, E→A, D→E, and A/E→L).
Viewpoint is not optional: projections live under accountable viewpoints
“Projection” language is useful (a view is a projection), but FPF does not drop viewpoint. U.MultiViewDescribing makes viewpoints explicit and treats views as epistemes; MVPK specialises this for publication and fixes a closed set of face kinds (PlainView, TechCard, InteropCard, AssuranceLane) under Surface token discipline (L‑SURF).
A disciplined stack therefore requires:
- Every published face is a Description (A.7) that is about an Object and is carried by some Carrier; do not conflate these layers.
- Each face must declare the viewpoint that justifies its projection (ISO/42010 discipline operationalised by MVPK).
- Per E.17 (“no new semantics”), a face MUST NOT introduce new semantic commitments beyond the boundary’s canonical routed claim set (the authoritative
L-* / A-* / D-* / E-*statements at their canonical locations). A face MAY add informative explanation, examples, and cross‑references, provided they are clearly marked as informative. Any normative sentence on a face MUST cite the routed claim ID(s) it depends on (or be moved into the canonical claim set); paraphrase is allowed only as explicitly informative text. - Per E.17 / L‑SURF (face‑kind closure), a publication package that claims MVPK alignment MUST NOT mint additional MVPK face kinds (e.g., “EvidenceCard”, “NormsCard”) as if they were first‑class kinds; if you need local headings, keep them as sections within the canonical face kinds.
“Contract” unpacking: avoid assigning agency to epistemes
When practitioners say “the API contract”, they usually compress multiple distinct things into one word. The core naming split is the F.18:16.1 triad; boundary engineering adds the missing adjudication substrate (see also A.6.C):
- Promise content (promise content;
U.PromiseContent, A.2.3): what is promised to be made available to eligible consumers — a promise, not execution (U.Work). - Utterance package (published descriptions + instituting act): what is said/published and versioned (signature/mechanism + MVPK faces), plus the
U.SpeechAct <: U.Workthat published/approved it when provenance matters (A.2.9). - Commitment (deontic binding;
U.Commitment, A.2.8): what an accountable role/agent is obligated/permitted/prohibited to do (often: to satisfy a promise content). - Work + Evidence (adjudication substrate;
U.Work+ carriers): what actually happens and what carriers/traces can adjudicate whether commitments and operational guarantees were met.
In A.6 terms:
- The signature is the utterance substrate for the boundary; it is not itself a promiser or obligor (A.7).
- Deontics belong to accountable roles/agents and should be expressed as
D-*commitments (U.Commitment) that referenceL-*/A-*/E-*by ID (A.6.B, A.2.8). - Operational “guarantees” are empty rhetoric unless they are routed as either L (truth‑conditional law), D (agent commitment), or E (measured property with evidence).
This paragraph is a compact reminder; the reusable expansion (including “Service ≠ Work” discipline, claim‑ID link hygiene, and MVPK face projection rules) is A.6.C — Contract Unpacking for Boundaries.
Where statements go (routing examples)
Informative. Routing examples for learning the discipline; they do not add requirements beyond A.6:7.
The table below intentionally uses near‑everyday spec phrases. The same surface words appear in different quadrants depending on what they do.
Notes:
- The routing is not just about modal verbs. “Shall” can be D (a duty) or A (a gate behavior). “Guarantees” can be D (a commitment) or E (a measured property). The matrix forces disambiguation.
- If a sentence reads like “X MUST … if … then …”, it almost always bundles multiple quadrants. Split into (A) a gate predicate (
A-*), (D) an enforcement duty on an agent/role (D-*referencing the gate ID), and (E) an evidence claim (E-*) if observability matters. - When something needs to be enforceable but is mathematical, prefer predicate blocks rather than deontic language in the L/A blocks, per E.8’s deontics vs admissibility guidance.
Routing sanity rules (informative, concept-level)
These are writing diagnostics, not tool requirements. They exist to keep the mental model crisp.
- RFC keyword inside Definition/Invariant/Admissibility predicate → routing error (rephrase as predicate; move obligation to
D-*). E-*without (carrier + measurement conditions + viewpointRef) → incomplete evidence claim (cannot be adjudicated).D-*that re-states anA-*/L-*predicate instead of referencing its ID → drift risk (prefer “MUST satisfyA-…”).- A face introduces new L/A/D/E content not present in underlying Signature/Mechanism → view-fork (make it informative only, or move the commitment to the underlying artefact).
- “The system/service SHALL …” where no accountable agent is named → likely misrouted deontic (rewrite as
E-*behavior +D-*duty on implementers/operators).
Archetypal Grounding (Tell–Show–Show; System / Episteme)
Informative. Worked examples for learning the routing discipline; they do not add requirements beyond A.6:7.
Tell (universal rule)
A boundary description is evolvable iff its claims are separated across the signature stack and each statement is routed by the boundary discipline matrix to its proper layer (Laws, Admissibility, Deontics/Commitments, Effects/Evidence), while preserving Object≠Description≠Carrier separation.
Show #1 (U.System): effectful API boundary (algebraic effects intuition)
System: A “Payment Authorize” service.
-
Signature layer (A.6.0).
- Vocabulary:
PaymentRequest,AuthDecision,MerchantId,Money, etc. - Laws: e.g., “If decision is APPROVED then reservedAmount = requestedAmount” (truth‑conditional).
- Applicability: bounded context “Payments/Authorization”.
- Vocabulary:
-
Mechanism layer (A.6.1).
- Admissibility gate: request is admissible iff
tokenValid ∧ merchantActive ∧ amountWithinLimit. - Transport: HTTP headers, idempotency key transport, canonical currency conversions.
- Audit/Observability: specifies required evidence carriers (e.g.,
AuthorizationRecordevent, log entry) and their semantics (fields, correlation IDs, retention class).
- Admissibility gate: request is admissible iff
-
Realization/work layer.
- Actual side effects: reservation entry in ledger, emission of event, timers, retries.
- Evidence: traces, logs, metrics.
-
Publication faces (MVPK).
- PlainView: narrative for stakeholders (what the service promise is, in plain terms).
- TechCard: signature/mechanism details (types, error codes, version policy, admissibility predicate refs).
- InteropCard: machine‑exchange oriented boundary details (canonical field names, schema refs, transport bindings).
- AssuranceLane: evidence bindings (which carriers exist, how to adjudicate
E-*claims, retention/access duties by reference).
SoTA tie‑in: This boundary is naturally understood using algebraic effects & handlers: the signature is the “operation interface” (effect signature), while the mechanism/realization provides handlers (semantics). The stack keeps the abstract operation surface stable while allowing multiple handlers/realizations to evolve.
Routing example:
- “Defined iff tokenValid” belongs in Quadrant A (admissibility gate).
- “Clients MUST include Idempotency‑Key” belongs in Quadrant D (agent obligation) but should reference the same gate semantics to avoid divergence.
- “System emits AuthorizationRecord” belongs in Quadrant E (evidence via carriers).
Show #2 (U.Episteme): published evaluation protocol boundary (multi‑view + evidence)
Episteme: A published “Model Evaluation Protocol” for a safety‑critical classifier.
-
Signature layer: defines operations like
Evaluate(model, dataset) → Reportand truth‑conditional definitions of metrics (AUROC, calibration error) as Laws. -
Mechanism layer: admissibility gate encodes when evaluation is permitted: dataset version must match declared license; measurement environment must meet constraints; seeds pinned.
-
Deontics/commitments: reviewers MUST use dataset vX.Y; authors SHALL publish MVPK faces and cite the measurement environment; an organisation commits to a review SLA (explicitly an agent commitment).
-
Effects/evidence: the produced report file, logs of evaluation runs, cryptographic hashes, and trace IDs are carriers. A.7 discipline prevents calling the report “the evaluation” (object) and prevents treating the file as the model.
-
Multi‑view (MVPK canonical face kinds only):
- PlainView for decision makers: what this protocol means for assurance.
- TechCard for engineers: exact metric definitions, admissibility predicates, and a clearly marked Norms/Commitments section (D‑claims) for governance.
- InteropCard for exchange-oriented consumers: conceptual field names/anchors and schema references (concrete format mapping lives outside Part E).
- AssuranceLane for auditors: evidence map (which carriers prove what happened) and adjudication steps keyed by
E-*IDs.
This episteme is a boundary because it mediates between theory (“metric definitions”) and work (“a run produced a report”). The signature stack provides the stable interface for that mediation.
Bias‑Annotation
Lenses tested: Gov, Arch, Onto/Epist, Prag, Did. Scope: Universal for boundary descriptions in A.6.*.
- Arch bias: Strongly biases toward separation of concerns and explicit layering; mitigated by allowing multiple faces (views) so audiences are not forced into the same detail level.
- Onto/Epist bias: Treats signatures/mechanisms as epistemes that must not be conflated with work; mitigated by explicit evidence surfaces and carriers.
- Gov bias: Prefers auditable responsibility (viewpoint accountability and commitment unpacking); mitigated by keeping the stack conceptual and tool‑agnostic.
Conformance Checklist
Common Anti‑Patterns and How to Avoid Them
Consequences
Rationale
A boundary is simultaneously:
- a mathematical object (signature: operations over vocabulary, governed by laws),
- an engineering interface description (stable intent, evolvable implementations),
- a governance object (commitments, responsibilities, deontics), and
- an operational phenomenon (effects happen only by doing work and observing traces).
If these are mixed, evolution becomes impossible to reason about: every change becomes “semantic”, and every claim becomes unfalsifiable.
The stack creates a default direction of dependence: higher layers constrain lower layers, not vice versa. The matrix creates a default routing that is not reliant on word choice alone and therefore survives natural‑language variation (“must”, “guarantee”, “valid”, “allowed”).
SoTA‑Echoing (post‑2015 practice alignment)
Informative. Alignment notes; not normative requirements.
-
Adopt — algebraic effects & handlers / effect systems. Modern effect systems separate the signature of operations from handler semantics (e.g., Koka’s effect typing; mainstream effect handlers in OCaml 5 era). A.6 aligns by keeping the contract surface in
U.Signatureand placing execution semantics inU.Mechanism/Realizations, preserving substitution and evolvability. -
Adopt — session/behavioural types for protocol boundaries. Post‑2015 practice in behavioural typing treats boundaries as typed interaction protocols with progress/safety properties. A.6’s routing matrix makes “protocol laws” (Quadrant L) explicit and separates entry gates (Quadrant A) from agent duties (Quadrant D) and runtime evidence (Quadrant E), reducing ambiguity.
-
Adapt — categorical optics / lenses / bidirectional transformations. Contemporary lenses treat boundaries as paired transformations with coherence laws; this mirrors the signature/mechanism split plus cross‑context view morphisms. In FPF, the “projection faces” (views) remain governed by viewpoints, and any cross‑context reuse must remain explicit (Bridge/CL discipline).
-
Adapt — ISO/IEC/IEEE 42010 viewpoint discipline and views‑as‑queries (SysML v2 motif). A.6 explicitly preserves viewpoint as a first‑class accountability handle: MVPK requires
viewRefandviewpointRef, turning “views” into disciplined projections rather than informal screenshots. -
Adapt — DDD bounded contexts / microservice contracts. Modern architecture practice keeps meaning local and makes crossings explicit. A.6’s stack and routing discipline provide a precise placement scheme for what is “inside the context contract” vs “at the entry gate” vs “governance duties” vs “observability evidence”.
-
Adapt — observability as evidence discipline. Post‑2015 observability practice treats traces/logs/metrics as first‑class evidence surfaces. A.6 places such claims in Quadrant E and ties them to carriers (A.7), preventing “guarantees without telemetry”.
-
Adapt — Markov blankets / active inference as probabilistic boundary views. Markov‑blanket thinking can help pick observables and diagnose “boundary leaks”, but it does not replace deontics, invariants, or admissibility gates; therefore it is a complementary view under a viewpoint, not the primary contract object.
Relations
- Implements authoring discipline: Follows canonical section order and style expectations from E.8.
- Constrains signature writing: Reinforces A.6.0 separation of Laws vs operational gates (AdmissibilityConditions live in mechanisms).
- Constrains mechanism writing: Aligns with A.6.1 structure (Signature block plus mechanism‑only blocks such as AdmissibilityConditions, Transport, Audit).
- Requires Object≠Description≠Carrier discipline: Uses A.7 to prevent category mistakes; ties evidence to carriers and publication faces to descriptions.
- Operationalises view/viewpoint accountability: Uses MVPK /
U.MultiViewDescribing(E.17.0) so each face is a projection under a viewpoint, not a viewpoint‑free snapshot. - Unpacks “contract” talk: Reuses F.18’s promise/utterance/commitment separation to keep agency and responsibility explicit.
- Connects to signature engineering patterns: A.6.5 (slot discipline) and A.6.6 (anchor/base discipline) can be read as “constructor/enabling” operations that help build well‑formed signatures by disciplined unpacking and grounding (they belong in the same stack discipline because they govern boundary construction).