A.6.P:4 — Solution — The RPR recipe (Lens → Slots → Change Lexicon → Guardrails), aligned to A.6 / A.6.B / A.6.S
Preface node
heading:a-6-p-4-solution-the-rpr-recipe-lens-slots-change-lexicon-guardrails-aligned-to-a-6-a-6-b-a-6-s:13122
What this page is
This is generated FPF reference text from the specification preface or supporting sections. It helps interpret FPF; it is not FPF Reference product documentation.
Methodology
Use it to understand how the specification wants to be read, then return to a route, pattern, or work packet for active work. Cite generated IDs only when the wording changes the task decision.
Content
A.6.P defines the RPR specialisation envelope. A pattern is a RPR specialisation under A.6.P iff it provides the ingredients below.
Language-state entry note
RPR entry normally presupposes enough C.2.4 articulation explicitness that at least one relation-like skeleton can be named explicitly, and often enough C.2.5 closure that one candidate relation-bearing use is worth publishing as a relation record rather than remaining cue-pack material.
If the content is still best treated as a cue pack, RoutedCueSet, or unresolved cue content, keep it in A.16.1 / B.4.1 rather than forcing relation publication prematurely. If the admissible continuation is still an open explanatory question, apply B.5.2.0. If a previously published relation must be reopened or backed off because the articulation or closure record no longer holds, apply A.16.2 for that retreat rather than silently narrowing the published relation in place.
Relation realization of E.10.ARCH
A.6.P is the relation-construction realization of the shared wording-use recovery order in E.10.ARCH.
When E.10 selects relation-like repair case, endpoint recovery, support-like claim-kind discrimination, basedness, cross-context bridge wording, whole or part wording, mapping, comparison, dependency, service wording, or another RPR repair case, A.6.P:4.0a supplies the relation-specific recovery sequence: head kind, candidate endpoints and facets, relation kind, slots, qualifiers, admissible use, non-admissible overread, and relation record or fail-closed disposition.
This pattern does not become the parent for every wording-use precision-restoration problem. Source-expression, publication, carrier, face, PublicationUnit, and source-use wording use C.2.P when that stack is live. Architecture or structure wording whose selected structure, architecture relation, architecture-description use, structural-view use, or source-use relation is hidden uses C.30.P. Characteristic, scale, score, metric, indicator, threshold, comparison, or scalar-quality wording whose construction is hidden uses C.16.P. Quality or evaluative characterization uses C.16.Q, C.25, E.21, or another characterization pattern governing the claim unless the found problem is relation construction. Function-like wording whose FPF kind named by value, relation, or claim is hidden uses A.6.F first.
The old quality-term precision-restoration placement is not retained as a live A.6.P child after C.16.Q exists. A.6.P remains applicable for relation-shaped entry cases inside quality prose, such as bridge, basedness, comparison, action-invitation relation, or endpoint mismatch; it does not carry quality characterization or evaluative characterization as a relation by default.
Language-state entry note
RPR entry normally presupposes enough C.2.4 articulation explicitness that at least one relation-like skeleton can be named explicitly, and often enough C.2.5 closure that one candidate relation-bearing use is worth publishing as a relation record rather than remaining cue-pack material.
If the content is still best treated as a cue pack, RoutedCueSet, or unresolved cue content, keep it in A.16.1 / B.4.1 rather than forcing relation publication prematurely. If the admissible continuation is still an open explanatory question, apply B.5.2.0. If a previously published relation must be reopened or backed off because the articulation or closure record no longer holds, apply A.16.2 for that retreat rather than silently narrowing the published relation in place.
A.6.P:4.0a — Operational repair sequence (how repairs actually proceed)
The RPR specialisation envelope is presented as lens → slots → change lexicon → guardrails because the stable abstraction is what keeps repairs reusable. In actual editing, repairs often start from a triggering token and proceed through a context-reconstruction step.
Operationally, authors SHOULD follow this repair sequence when applying an RPR repair:
- Restore the head kind if needed. If the triggering phrase uses a generic or over-broad head noun (
note,view,guidance,output,record,carrier, and similar placeholders), first state what kind of thing it actually is in source-local terms (publication form, interpretive claim kind or admissible-use boundary, process, authority use, and so on). Do not let a qualifier do this job by implication alone. - Trigger on textual form. Detect umbrella relation predicates, pronominal or umbrella endpoint tokens or metonymic pointers, and generic-head-plus-FPF-governed-qualifier combinations (including domain clusters such as service in A.6.8 and cross-Context “same, equivalent, align, or map” in A.6.9). When endpoint identity (pronoun, deixis, metonymy, or coarse kind) or relation-kind selection is ambiguous, repairs can collapse into “lexicon debates”. A.6.P treats this as an ontology reconstruction step with an explicit, checkable intermediate record.
- Choose a stable lens that can represent the reconstructed arity and polarity without ad-hoc role invention.
- Refine the ontology under the lens. Turn implied relation positions into SlotSpecs; repair endpoint kind mismatches explicitly through narrowing,
KindBridge, orretargetParticipant; separate head kind, relation-bearing use, and qualifier-carried claim; make qualifiers explicit as slots or classified conditions. - Emit canonical rewrites plus L, A, D, and E hooks. Produce Tech-form rewrites such as
relationKind(...)or arrow form and state the A.6.B hooks: which parts are L, A, D, or E, and which witnesses, commitments, or work claims are now demanded. - Only then allow later relaxation. If a Plain, didactic, or coarsened restatement is still wanted, derive it from the repaired form and keep the repaired form as the authoritative source for any later use that claims bridge, substitution, or reliance beyond the declared note.
Decision or publication fail-closed (normative). If an in-scope mention is used to justify an admissibility gate, publication claim, or cross-Context reuse, authors MUST resolve the candidate sets to a selected RelationKind, selected endpoint facets and endpoint kinds, and any required head-kind reconstruction and emit an explicit rewrite. If that cannot be done from available context and witnesses, keep the statement as Plain or informative gloss (or split into multiple explicit alternatives) and do not treat it as admissible input for the gate.
Informative: referential compression spectrum. Many triggers live on a spectrum from high to low referential precision: pronouns and deictics → overloaded polysemes → coarse domain kinds → facet head phrases → precise domain terms. Metonymy often shifts the candidate EntityOfConcern or endpoint (e.g., a place phrase standing in for an object or a role). The repair sequence explicitly treats this as a candidate-set problem, not as “the dictionary meaning”.
Metonymy micro-example (informative; endpoint-side trigger beyond anaphora).
Draft: “Alice is at the table.”
at the table → candidates {place, meeting, record or carrier, role} → choose explicitly → rewrite into endpoint-refs + qualifiers:
If the literal location interpretation is intended, select PlaceRef(Table#7) and rewrite as locatedAt(…) with an explicit Γ_time qualifier.
This step is intentionally not lexicon-only. The lexical rewrite is the output of an ontology- and lens-constrained repair, not the starting point. If you cannot state the candidate referents and facets, the selected head kind where needed, and the selected RelationKind token, the repair is incomplete.
A.6.P:4.0b — Candidate‑Set Note (informative; repair/disambiguation record)
When endpoint identity (pronoun, deixis, metonymy, or coarse kind) or relation-kind selection is ambiguous, reviews can collapse into “lexicon debates”. A.6.P treats this as an ontology reconstruction step with an explicit, checkable intermediate record.
Candidate‑Set Note template (informative).
Collision note. This “Candidate‑Set Note” is not the F.18 naming-process candidate set (NQD-front). It is a local disambiguation record for endpoint referents and facets and RelationKind selection during RPR repairs.
For each ambiguous position (relation kind, endpoint facet or kind, qualifier, mediator), record:
- Trigger span: the trigger token named by value(s) in the draft (copied by value).
- Position being disambiguated:
headKind|relationKind|endpointFacet(pᵢ)|endpointRef(pᵢ)|qualifier(qⱼ)|mediator. - A.7 side (when endpoint-side):
EntityOfConcern| Description episteme | publication carrier (state explicitly when live contenders span sides; side-mixing is a common source of boundary-interface category errors). - Candidate set: a short list of plausible head kinds, endpoint facets or endpoint kinds, and RelationKind tokens when relation-kind selection is live, each with the local cue(s) that made it plausible.
- Selected facet or kind (and selected RelationKind, if relevant): the chosen candidate(s).
- Why: the discriminating test(s) that were applied, plus pointers to the specific local evidence and witness cues used (carriers, claims, records, or carrier records).
- Consequence: which SlotSpecs become required or forbidden and which A.6.B hooks are now triggered (L, A, D, and E).
Minimal one‑screen representation:
Notes.
- For metonymy, list both the literal candidate and the intended endpoint candidate (and make the shift explicit).
- Keep the candidate set small: include only live contenders, and state the elimination test for the others.
- This note is informative: it does not replace classified L, A, D, and E claims. It exists to prevent "lexicon instead of ontology".
A.6.P:4.1 — Stable lens
A RPR‑pattern SHALL name a stable mathematical “lens” that prevents re‑inventing roles per domain. Examples of lenses (illustrative):
- Kind-labelled qualified relation record (default A.6.P lens)
- n‑ary relation with distinguished positions (A.6.5 style)
- kind‑labelled dependence arrow over a base (A.6.6 style)
- span and cospan + declared loss and correspondence notes (Bridge‑like relation patterns)
- correspondence relation + repair operations (sync and consistency relation patterns)
The lens is a compression device: one stable abstraction that keeps the relation’s arity and polarity stable and makes invariants speakable.
A.6.P:4.2 — Kind‑explicit relation tokens (no umbrella meaning‑surrogates)
For every in‑scope relational claim, authors SHALL select (or mint) an explicit RelationKind token as a declared vocabulary element.
A RelationKind token is authored as a U.Signature‑level vocabulary element with explicit SlotSpecs for its participant and qualifier positions (⟨SlotKind, ValueKind, refMode⟩). When no suitable token already exists, authors SHALL NOT improvise a one-off string by intuition. They SHALL use F.18 for mint-or-reuse: use MintNew by default, build a seed candidate set, show an honest NQD-front, run the sense-seed read-through, and record why the selected token is chosen from the non-dominated front. Use DocumentLegacy only when the label is externally fixed and that status is stated explicitly.
RelationKind relation specification skeleton (minimum, recipe-level).
For each RelationKind token, a conforming Context publication SHALL publish a vocabulary entry whose signature-level definition is paired with (or points to) an L, A, D, and E-classified claim bundle ("relation specification skeleton") that declares (at minimum):
The leading (L)/(A)/(D)/(E) tags below indicate the intended A.6.B quadrant classification for each element of the skeleton.
- (L) applicability (A.6.0): the Contexts or planes where the kind is defined (local meaning is first-class).
- (L) polarity, and (if needed) explicit inverse tokens (no silent endpoint-position flips in Tech prose).
- (L) SlotSpecs for all participant positions (and any qualifier slots exposed by the relation pattern) (
⟨SlotKind, ValueKind, refMode⟩, whererefModeis eitherByValueor a concreteRefKindtoken per A.6.5). - (A) admissible repair options for endpoint kind mismatches (normative): allowed repairs are (i) explicit narrowing, (ii) a
KindBridge(+CL^k+ loss notes), (iii) explicitretargetParticipant, or a stated combination of these repairs when several mismatch conditions are live. Renaming endpoints is not a repair. - (L) qualifier expectations: which qualifiers are required, optional, or forbidden (scope,
Γ_time,U.ViewpointandU.View, reference scheme, representation scheme). - (D) qualifier placement discipline: extra parameters belong in
scopeor explicit qualifier slots, not as adjectives attached to endpoint names. - (A/E) witness discipline: when witnesses are required as an admissibility gate and what carrier-referenced witness sets look like in this relation pattern.
- (L/A) admissible semantic change classes (see §4.4) and whether they require a new edition.
- (A/E) cross-Context or cross-plane policy when applicable (Bridge ids + CL + loss notes policy).
Important stack constraint (A.6, A.6.S, and A.6.B). Treat a relation specification as a classified set of claims, not a single magical object:
- L‑claims (signature invariants; polarity; SlotSpec typing) live in the signature-level invariant and rule set.
- A‑claims (admissibility gates) are authored as admissibility predicates (canonically placed in
Mechanism.AdmissibilityConditionswhen an explicit mechanism exists) and may reference the RelationKind token by ID. - D‑claims (duties or commitments) name accountable role assignments, role values, or admitted acting systems and may reference
L-*/A-*by ID. - E‑claims (evidence or work effects) attach to carriers and observation conditions and may reference
L-*/A-*by ID.
A.6.P:4.3 — Slot‑explicit qualified relation records (recover hidden arity)
A conforming text SHALL ensure that each in‑scope relation instance is representable as a Qualified Relation Record (a first-class record or episteme in the relevant Context) that fills the relation’s slots.
Conceptual notation‑neutral shape:
Notation note (A.6.5 alignment). In this pattern refMode is a slot-content mode: either ByValue (inline value of the declared ValueKind) or a concrete RefKind token (slot holds a reference or pin of that RefKind).
Slot naming guard. *Slot suffix names positions (SlotKinds), not fillers; prose SHOULD use filler names (scope, witnesses, base, dependent, …) for slot contents. This is the same guard used in A.6.6 and A.6.5.
Well‑formedness principle. The record is typed by the relation specification: SlotSpecs are fixed by the selected RelationKind token, and missing slots are permitted only if the relation specification says they are optional. This mirrors A.6.6’s scoped and witnessed declaration move (SWBD): “shape + relation specification makes a concrete typed signature”.
Well‑formedness constraints (non‑deontic).
- WF‑A6P‑QR‑1 (Required slots are present). For any QualifiedRelationRecord
rwithr.relationKind = k,rprovides values for every SlotSpec thatkmarks as required. - WF‑A6P‑QR‑2 (No silent kind swap).
relationKindis part of a record’s identity and edition boundary. If the kind changes, the result is represented as a distinct record or edition linked by an explicitchangeRelationKind(or an explicit withdrawal + re‑declaration), not as an in-place mutation that preserves identity.
Normative prose forms (Tech). In Tech or normative prose, authors SHALL express an in‑scope relation instance in one of the following equivalent forms:
- Functional form:
relationKind(p₁=…, …, pₙ=…, qualifiers…) - Arrow form (binary projection only):
p_left --relationKind{qualifiers}--> p_right
Passive umbrella voice (“X is synced, linked, or anchored …”) is permitted only as Plain gloss when immediately rewritten into one of the above forms.
Cross-Context or cross-plane note (recipe-level). If any participant or qualifier implies cross‑Context or cross‑plane reuse, the L/A/D/E-classified claim bundle MUST cite the relevant Bridge ids + CL policy (and loss notes, when applicable) in the appropriate L/A/D/E-classified claims: A-classified claims, E-classified claims, or both when both admissibility and evidence or disclosure consequences are live. Label identity is not an admissible substitute.
A.6.P:4.4 — Change‑class lexicon (operations are not adjectives)
A RPR‑pattern SHALL publish a relation‑change lexicon: a small set of semantic change classes used in normative prose to describe “what changed” without umbrella verbs.
Minimum semantic change classes (conceptual; specialisations may add more):
- declareRelation — mint a new qualified relation record (slot‑explicit).
- withdrawRelation — retire a relation instance (render it inactive for downstream use). If the intent is narrowing (still valid within a smaller scope or window), use
rescopeorretimerather than overloading withdrawal. - retargetParticipant(slotKind, newRef) — change a RefKind slot-content while preserving SlotKind and ValueKind (conceptually corresponds to slot‑level retarget).
- reviseByValue(slotKind, newValue) — edit embedded by‑value content (conceptually corresponds to slot‑level assign or update or “by‑value edit”).
- rescope(newScope) — change scope explicitly (no “in our context” prose).
- retime(newΓ_time) — change
Γ_timewhen time matters; not a substitute for witness freshness claims. - refreshWitnesses(newWitnessSet) — update witness bindings to point at appropriate carriers; generating evidence is Work, not a constructor op.
- changeRelationKind(newRelationKindToken) — semantic change; MUST NOT be treated as an edit‑in‑place.
Edition fence rule (A.6.S / A.6.6 alignment). In decision or publication use, any semantic change that alters meaning SHALL be represented as a new edition and connected via explicit continuity and withdrawal, rather than mutating the old record in place.
Mapping note (informative, conceptual). These change classes are semantic; they may be realised by A.6.5 slot verbs (retarget vs by‑value edit) and, when the relation is a basedness pattern, by A.6.6 base‑change verbs. The semantic story must not collapse into “we edited something”.
A.6.P:4.5 — Lexical guardrails (ban umbrella metaphors as meaning‑surrogates)
A RPR‑pattern SHALL define red‑flag umbrella tokens for its ambiguity cluster, and SHALL provide canonical rewrite forms.
Normative base rules (A.6.P-level):
- In Tech or normative prose, umbrella predicates (e.g., “same”, “synced”, “linked”, “connected”, “anchored or grounded”) MUST NOT substitute for an unnamed RelationKind token.
- “bind” and “binding” is reserved for name binding (Identifier → SlotKind or slot-instance) and MUST NOT be used as a synonym for declaring or changing a relation instance. Use the change‑class lexicon instead.
- Pattern-defined carve‑outs MAY exist (reserved primitives elsewhere), but they remain review triggers to ensure the reserved sense is intended (as in A.6.6’s
anchor*carve‑out rule).
Recommended publication move (no extra authoring apparatus implied). For stable ambiguity clusters, publish the red‑flag token list and canonical rewrites as a LEX‑BUNDLE entry (PTG=Guarded) and, when the cluster introduces new RelationKind tokens or stable facet head phrases, include them in the relevant UTS rows (F.17). This keeps rewrite discipline shareable outside the A.6 cluster.
Trigger-word repair split for discoverability vocabulary
The overloaded trigger-word repair case around discoverability is not collapsed into one
universal substantive pattern.
A.6.P, F.18, and E.10 govern the repair-side trigger-word, naming, collision, and
split-classification discipline for discoverability vocabulary.
For this vocabulary repair case, apply settled governing patterns like this:
- description recognition signatures in general ->
A.6.RSIG; - pattern-entry discoverability ->
E.11; - Problem-frame recognition signatures ->
E.8; - expanded entry-disambiguation cases ->
I.2; - entry lexeme retrieval aid ->
F.17, F.18, and E.10.
A.6.P therefore repairs the overloaded trigger-word side of the vocabulary.
It does not govern the substantive pattern bodies for description recognition,
pattern-entry discoverability, local recognition form, expanded entry-disambiguation
cases, or entry-lexeme retrieval aid.
A.6.P:4.6 — Progressive elaboration (the “precision dial” rule)
A.6.P defines a controlled escalation discipline that preserves meaning and prevents drift:
-
Start with a minimal explicit RelationKind token + principal endpoints (a binary projection is allowed only if every omitted participant or qualifier slot is declared optional by the relation specification and irrelevant for the downstream uses).
-
When ambiguity emerges, do one (or more) explicitly:
- add missing participants as additional slots (turn the projection into n‑ary),
- add explicit qualifiers: scope,
Γ_time, viewpoint or view, reference or representation schemes, and witnesses, - refine the RelationKind token to a more specific one (new relation specification skeleton;
changeRelationKind), - introduce Bridges + CL (and loss notes) when crossing Contexts or planes.
-
Authors MUST keep the transition monotone:
- no silent re‑typing,
- no implicit polarity flips,
- no “edit‑in‑place” that changes meaning (use edition fences + explicit continuity and withdrawal links).
A.6.P:4.7 — Two-view and polarity discipline (no silent endpoint-position flips)
A RPR‑pattern SHALL specify how the same relation is expressed from both “sides” without polarity flips:
- Either keep both endpoints visible with the same polarity-preserving token, or
- declare explicit inverse tokens and require them for inverse prose.
Implicit endpoint-position flips (“B validates A” without explicit inverse) are prohibited in Tech or normative prose. This is already a core rule for basedness patterns and is generalised here.
A.6.P:4.8 — Disambiguation guide (rewrite and selection)
A RPR‑pattern SHALL include an actionable guide:
“If the draft says X, decide between relation kinds A/B/C, expand missing slots, and rewrite into explicit kind+slots notation.”
For basedness repair, A.6.6 provides an existence proof of such a guide (select the baseRelation relation kind; add scope, time, and witnesses). A.6.P requires this move across RPR specialisations.
Recommended format: RPR‑Disambiguation Guide (Winograd‑style, but ontology‑first). To keep disambiguation from collapsing into dictionary debates, present the guide as a compact decision scaffold:
- trigger form → candidate RelationKinds and candidate facets or kinds → discriminating questions and tests → canonical rewrite(s) → L/A/D/E L/A/D/E hooks
Rules for the guide:
- Triggers may be relation umbrellas (“same, synced, linked, or anchored…”) or participant umbrellas (pronominal, metonymic, or over-broad kind tokens). The guide SHALL state which relation position(s) the trigger is standing in for (relation kind, endpoint kind, qualifier, mediator).
- Candidate sets SHALL be stated as kinds, facets, and RelationKind tokens, not as synonym lists. “Service” ⇒ {promise content, access point, provider principal, commitment, performed work and evidence, …} is the archetype (A.6.8).
- When endpoint‑side ambiguity is present, the guide SHOULD recommend producing a Candidate‑Set Note (A.6.P:4.0b) as part of the rewrite, so the chosen facet or kind is reviewable.
- Discriminating questions SHOULD be phrased as small tests that map directly to slot requirements (e.g., “Can you call it?” ⇒
accessPointRef; “Is it deontic?” ⇒commitmentRef+ accountable principal; “Is it actuals?” ⇒deliveryWorkRef+ witnesses). - Canonical rewrites SHALL land in the A.6.P Tech forms (functional or arrow) and SHALL specify any newly required qualifiers (scope, Γ_time,
U.ViewpointandU.View, schemes, witnesses). - Quadrant hooks SHALL name which claim(s) are expected in each L/A/D/E quadrant so that “unpacking” reliably produces reviewable claim requirements rather than prose paraphrases.
Mini-row (metonymy; endpoint-side trigger, illustrative).
"at the table" → {PlaceRef(Table#7), MeetingRef(NegotiationSession#3), RoleRef(DecisionMakerSeat#2)} → tests {Is the claim about physical location? about participation? about accountable role? which carrier-referenced witnesses exist (badge or access log, calendar invite, minutes or recording)?} → rewrite {locatedAt(personRef=…, placeRef=…, Γ_time=…, witnesses=…) | participatesInMeetingUnder(personRef=…, meetingRef=…, roleRef?=…, Γ_time=…, witnesses=…)} → L/A/D/E hooks {L: publish RelationKind tokens + SlotSpecs + polarity and inverses; A: decision or publication use requires explicit Γ_time + witness set; D: forbid metonymic endpoint spans in Tech prose (require explicit refs); E: cite carrier-referenced witnesses and their observation conditions}.
A.6.P:4.9 — A.6.B classification template for RPR relation specifications
Any RPR‑pattern that claims boundary-bearing relation semantics SHALL classify its normative content using A.6.B:
- L‑claims: signature‑level structure and invariants and rules (SlotSpecs, polarity, invariants).
- A‑claims: admissibility or entry-gate rules for using relation instances in specified uses (e.g., decision use requires witnesses; time dependence requires
Γ_time; cross‑Context use requires Bridge and CL). - D‑claims: deontic obligations on authors or agents (lexical firewall; prohibited umbrella use; rewrite obligations).
- E‑claims: work and evidence expectations and carrier reference (what counts as a witness; evidence freshness is a property of carriers, not prose).
A.6.P does not mandate a particular claim‑ID format; it mandates the separation and cross‑reference discipline.
Atomicity + explicit references (normative, recipe-level). Per A.6.B, mixed sentences MUST be decomposed into atomic claims so each claim belongs to exactly one quadrant, and any dependencies MUST be expressed as explicit references (by claim ID or canonical location), not paraphrased duplicates.
No upward dependencies (normative, recipe-level).
L-* claims MUST NOT reference A-*, D-*, or E-*; A-* and E-* claims MUST NOT reference D-*. Where cross‑quadrant coupling is needed, link by explicit IDs in the allowed directions.
A.6.P:4.10 — A.6.S compatibility note (ConstructorSignature is optional but canonical for engineered relation specialisations)
If an RPR‑pattern is applied as an engineered relation specialisation (created or evolved over time), it SHOULD be expressible as:
- a TargetSignature: declared relation kinds + SlotSpecs + invariants and rules, and
- a minimal ConstructorSignature: effect‑free operations that rewrite under‑specified prose into the explicit form and evolve relation records using the change‑class lexicon (mapped to A.6.5/A.6.6 canonical verbs).
If a ConstructorSignature is provided, it SHOULD (conceptually) declare, for each constructor operation entry:
- whether it is a species of A.6.2 / A.6.3 / A.6.4, and
- which
U.EpistemeSlotRelationslots (C.2.1) it may read and write (SlotKind, ValueKind, and RefKind profile).
Publication note (recommended). If the TargetSignature or relation-kind registry is published via MVPK, treat every face as a view (no new semantics), keep viewpoint accountability explicit, and prefer stable claim IDs (Claim Register) so downstream carriers cite claims rather than paraphrasing.
Last Updated: 2026-06-17 — upstream FPF commit 646b0b9b (github.com/ailev/FPF)