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

A.6explicit referenceU.PreArticulationCuePack
A.6explicit referenceEvidence Graph Referring (C-4)
A.6explicit referenceService Acceptance Binding

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.Signature as a public, law‑governed declaration (with Vocabulary, Laws, Applicability).
  • U.Mechanism as 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:

  1. Treat a boundary as a stack of boundary layers (Signature → Mechanism → Work/Evidence carriers) plus publication views/faces, and
  2. 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 a PublicationSurface (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:

  1. 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 Applicability scopes intended use/bounded context; it is not a runtime entry gate. Runtime entry checks and permission predicates belong in U.Mechanism.AdmissibilityConditions as A-*. If an agent is obligated to satisfy/enforce such a gate, express that as a D-* duty that references the A-* claim ID (per A.6.B), not by rewriting the gate as “X MUST …”.

  2. 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.

  3. 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).

  4. 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

ForceTension
Modularity vs expressivenessA stable boundary must be abstract, but users want operational detail “in the same doc”.
Truth vs governanceDefinitions/invariants (“is”, “iff”, “∀”) vs permissions/obligations (“MUST/SHOULD/MAY”).
Design‑time clarity vs run‑time evidenceWhat can be checked statically vs what requires executing work and observing traces.
View vs viewpoint disciplineViews are projections; viewpoints are accountable stances. Dropping viewpoint loses architecture accountability (ISO‑style discipline is already encoded in MVPK).
Local meaning vs cross‑context reuseBoundaries should be local to a bounded context; reuse must be explicit (Bridges/CL), not hidden.
Evolvability vs auditabilityEvolving interfaces requires change; auditors require stable evidence trails.
Human readability vs formal precisionPlain explanations vs tech‑register constraints; both must remain aligned.

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:

  1. Signature layer (L: laws/definitions). U.Signature provides the stable declarative boundary: Vocabulary + Laws + Applicability, without runtime gate predicates.

  2. Mechanism layer (A: admissibility/gates). U.Mechanism specializes 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.

  3. 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 reference L-*/A-*/E-* by ID rather than duplicating predicates.

  4. 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 in AssuranceLane), and adjudication happens against carriers produced in work.

  5. 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.

  6. Publication faces (MVPK views rendered on PublicationSurfaces). MVPK yields audience‑specific U.View instances (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 the U.View itself.

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 canonical E-* 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):

AssuranceLane:
  viewRef: <ViewId>
  viewpointRef: <ViewpointId>
  boundaryRef: <BoundaryId>
  version: <SemVer or revision>
  evidence:
    - E: E-OBS-1
      carrierRefs: [Carrier.AuthorizationRecord, Carrier.AuditLogEntry]
      measurement:
        conditions: "on every rejection due to A-AC-1"
        vantage: "Operator/Auditor pipeline"
        correlation: ["traceId", "requestId"]
      adjudication:
        check: "query audit stream for code=NotAdmissible and join to traceId"
        criteriaRef: "E-OBS-1 (pass/fail lives canonically in the E-claim)"
      references: [A-AC-1, D-RET-1, Mechanism.AuditObservability]

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.AdmissibilityConditions is the canonical home for A-* 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 as AssuranceLevel:L0 (Unsubstantiated) in the Trust & Assurance calculus (B.3).
  • A.2.3 / F.12 ↔ D/E separation: a U.PromiseContent promise is not evidence; promise acceptance is linked to work evidence via F.12, and role obligations to maintain admissibility are expressed as D-* duties referencing A-* and/or E-* 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

  1. Split the sentence into atomic claims (one logical role each).
  2. Assign each claim to exactly one quadrant (L/A/D/E) using the matrix.
  3. Place each claim into its correct section/artefact (stack layer + section).
  4. 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 for D-*, carriers for E-*).
  5. 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 satisfy A-AC-1.”
  • E-OBS-1 (Quadrant E, Evidence/Carriers): “When a request is rejected due to A-AC-1, an AuditLogEntry{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 meet E-SLA-AVAIL-1 and E-SLA-LAT-1 under the stated exclusions.”
  • E-SLA-AVAIL-1 (Quadrant E, Evidence/Carriers): “availability ≥ 0.999 over calendar month T, measured by carrier UptimeProbeSeries from viewpoint VP.ExternalMonitor.”
  • E-SLA-LAT-1 (Quadrant E, Evidence/Carriers): “latency_p95 ≤ 200ms under workload W, measured by carrier LatencyMetricSeries from viewpoint VP.Client.”
  • D-OPS-ALERT-1 (Quadrant D, Ops duty): “Operators MUST page on breach of E-SLA-AVAIL-1 or E-SLA-LAT-1 within 5 minutes (policy).”
  • E-ALERT-1 (Quadrant E, Evidence/Carriers): “Pages are evidenced by carrier AlertEvent{ruleId,firedAt,target} and can be joined via incidentId.”

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.Work that 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 reference L-*/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.

IDExample statement (typical wording)Matrix quadrantPut it under…A.7 primary layer
L-1op f is defined iff P(x) holds.”LSignature → Laws (Definition:)Description
L-2“For all requests, idempotencyKey is unique per subject.”LSignature → Laws (Invariant:)Description
A-1“The mechanism may be applied only if tokenValid.” (rewrite as predicate: admissible(req) iff tokenValid(req))AMechanism → AdmissibilityConditions (entry gate)Description
A-2“A request is admissible only if header X is present.”AMechanism → AdmissibilityConditionsDescription
D-1“Client implementers MUST satisfy A-2.”DNorms/Commitments (role duty; reference gate ID)Object
D-2“Authors MUST publish a versioned MVPK face for this boundary.”DConformance Checklist / publication norms (authoring plane)Object
D-3“Operators SHOULD rotate keys every 90 days.”DNorms (agent obligation; link to Role/Method where applicable)Object
D-4“Implementers MUST expose audit‑log carriers via endpoint /audit.”DNorms/Commitments (exposure duty) about carriersCarrier
D-5“The vendor commits to 99.9% availability over window T (SLA).”DCommitments/SLA (identify committing agent, window, exclusions)Object
E-1“When a state change occurs, an AuditRecord carrier is produced and can be observed in the audit stream.”EEvidence/observability: expected trace semantics; bind to carriers + conditionsCarrier
D-6“Operators MUST retain audit‑log carriers for 30 days.”DRetention policy (deontic) about carriersCarrier
E-2latency_p95 ≤ 200ms under workload W as measured by carrier LatencyMetricSeries from collector C.”EEvidence claim with measurement conditionsCarrier

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 an A-*/L-* predicate instead of referencing its ID → drift risk (prefer “MUST satisfy A-…”).
  • 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”.
  • 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., AuthorizationRecord event, log entry) and their semantics (fields, correlation IDs, retention class).
  • 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) → Report and 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

IDRequirementPurpose
CC‑A.6.1 (Stack declaration).A conforming boundary description SHALL identify its stack layers (Signature, Mechanism, Realization/Work evidence, Publication faces) and state which artefacts belong to which layer.Prevents “one doc contains everything” ambiguity.
CC‑A.6.2 (Square discipline).A conforming boundary description SHALL conform to A.6.B (Boundary Norm Square), including atomicity, quadrant routing, and explicit cross‑quadrant references by claim ID.Makes the stack operational; prevents “contract soup” drift.
CC‑A.6.5 (A.7 separation).A conforming boundary description SHALL respect Object≠Description≠Carrier; statements about logs/metrics SHALL be written as carrier‑anchored evidence claims/policies, not as properties of the text itself.Prevents category errors and improves auditability.
CC‑A.6.6 (Viewpoint accountability).Every published MVPK face (U.View) SHALL specify viewRef and viewpointRef. Faces SHALL be projections of the boundary’s canonical routed claim set (A.6.B); normative content on faces MUST be expressed as citations to routed claim IDs (not re‑stated prose), and faces MUST NOT introduce new semantic commitments beyond the underlying signature/mechanism (per E.17 “no new semantics”).Preserves viewpoint discipline and prevents view‑forking.
CC‑A.6.6a (MVPK face‑kind discipline).A publication that claims MVPK alignment MUST conform to E.17 / L‑SURF face‑kind closure (i.e., use only {PlainView, TechCard, InteropCard, AssuranceLane} and MUST NOT mint additional face kinds). Local “cards” may exist only as headings/sections inside those face kinds.Aligns with MVPK/L‑SURF; prevents new‑face drift.
CC‑A.6.7 (Contract unpacking).When using “contract/guarantee/promise” language, a conforming text SHOULD apply the reusable discipline in A.6.C to disambiguate whether it refers to a promise content as promise content (U.PromiseContent, not execution), an utterance package (published descriptions / speech acts), a deontic commitment (U.Commitment), and/or work‑effects/evidence, and then route each atomic statement via A.6.B (L/A/D/E) with explicit claim‑ID references (no paraphrase drift). (F.18 is a lexical anchor only.)Stops agency attribution errors; clarifies responsibility.

Common Anti‑Patterns and How to Avoid Them

Anti‑patternSymptomWhy it failsHow to avoid / repair
Gate‑as‑lawPreconditions written as “laws” in the signatureBreaks substitution; violates A.6.0’s separation of signature vs mechanism gatesMove predicates to Mechanism.AdmissibilityConditions; keep signature laws truth‑conditional.
RFC‑keywords in invariants“MUST” appears inside Definition: blocksConfuses deontics with mathematical admissibility; undermines auditabilityRewrite as declarative predicate; reference predicate IDs from CC when needed.
Paraphrase driftSame constraint restated in multiple faces with new wordingCreates hidden divergence; breaks routing discipline and evidence accountabilityUse …-* IDs + Claim Register; faces reference IDs rather than restating text.
Interface‑as‑promiser“The interface promises…” without identifying an agentOntological category error; contracts are agent commitmentsApply F.18:16.1 unpacking: who commits, via which published utterance, to what promise content.
Evidence‑free guarantees“Guaranteed latency” without measurement/evidence storyEffects exist only in work; without carriers it’s non‑testableBind to carriers (metrics/traces) and specify the evidence surface (what gets logged).
View without viewpointA “view” is published but no viewpoint accountability is statedReaders cannot interpret omissions; multi‑view discipline collapsesRequire viewpointRef with every face; treat view as projection under viewpoint.
System‑as‑agent deontics“The system/service SHALL …” used where no accountable role is namedBlurs behavior semantics with enforcement; hides responsibilityRewrite as (E-*) behavior/evidence semantics + (D-*) duty on implementers/operators.
One‑doc monocultureSame document mixes laws, gates, duties, and evidenceEvolvability collapses; updates become all‑or‑nothingUse the stack: separate Signature/Mechanism/Norms/Evidence faces; route by matrix.

Consequences

BenefitsTrade‑offs / Mitigations
Evolvable boundaries. Implementations can change while signatures remain stable.More upfront structure; mitigated by MVPK faces that present only relevant slices per audience.
Reduced category mistakes. Object/description/carrier confusion becomes detectable.Requires discipline in writing; mitigated by the “Where statements go” routing examples.
Auditability and reproducibility. Effect claims are tied to evidence carriers; commitments are tied to agents.Requires evidence surfaces to be designed; mitigated by making AssuranceLane (evidence bindings) a standard face.
Clearer cross‑disciplinary communication. Legal/compliance deontics no longer compete with math invariants.Teams must align on viewpoint responsibilities; mitigated by explicit viewpointRef in MVPK.

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.Signature and placing execution semantics in U.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 viewRef and viewpointRef, 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).

A.6:End