A.2.9:5.2 — Show #1 (system archetype: change-control approval gates a deployment)

Preface node heading:a-2-9-5-2-show-1-system-archetype-change-control-approval-gates-a-deployment:6483

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

Situation (messy prose): “Change is approved, so the pipeline may deploy.”

Conformant modeling sketch. The first line names the actual Work individual. The following episteme reports claims about it; those claims must be true independently.

  • Actual occurrence: SA-Approve-4711 : U.SpeechAct

  • SA-Approve-4711-Record : SpeechActRecord

    • speechActOccurrenceRef = SpeechActRef(SA-Approve-4711)
    • actTypes = {SpeechActTypeRef(Approval@ChangeControl)}
    • performedBy = U.EntityRef(CAB_Chair_A) where CAB_Chair_A : U.System
    • performedUnderAssignment = RoleAssignmentRef(CAB_Chair_A@ApproverRole@ChangeControl)
    • enactsMethodRef = U.EntityRef(ChangeApprovalMethod_v3); the actual enactsMethod relation independently obtains
    • methodDescriptionRef = EpistemeRef(ChangeApprovalProcedure_v3)
    • reliancePosture = relianceReady
    • executedWithin = ChangeControlBoardSystem
    • window = [t,t]
    • judgementContextRef = ChangeControl
    • utteranceSubjectRefs = {ChangeRequestId(4711)}
    • institutionalTargetRefs = {GrantedPermissionRelationRef@ChangeControl(PER-Deploy-4711)}
    • utteranceRefs = {EpistemeRef(ChangeTicket#4711)}
    • carrierRefs = {CarrierRef(TicketSystemRecord#4711)}
    • institutes.permissions = {GrantedPermissionRelationRef@ChangeControl(PER-Deploy-4711)}
  • GrantedPermissionRelation@ChangeControl PER-Deploy-4711

    • beneficiaryRef = RoleAssignmentRef(OpsBot#DeployerRole:CD_Pipeline_v7)
    • permittedActionSpecificationRef = EpistemeRef(DeployChange4711WorkSpecification)
    • institutingSpeechActRef = SA-Approve-4711
    • grantorAssignmentRef = RoleAssignmentRef(CAB_Chair_A@ApproverRole@ChangeControl)
    • grantValidityPolicyRef = EpistemeRef(ChangeControlGrantPolicy_v3)
    • scope, validityWindow, and revocation stance are explicit.

The utterance is about ChangeRequestId(4711); its policy-selected institutional target and demonstrated effect are the separately obtaining grant occurrence. Nothing here claims that the change-request entity itself changed.

  • Gate predicate A-Gate-Deploy-4711 independently states whether deployment entry conditions hold. It may check exists SpeechAct(type=Approval, utteranceSubjectRefs includes ChangeRequestId(4711), performedBy=CAB_Chair_A, performedUnderAssignment role=ApproverRole, within 90d), consume the current grant occurrence, and apply other prerequisites; passing the gate neither institutes nor equals the grant.

This preserves:

  • kind vs actual act vs record vs utterance text vs carrier vs enduring grant,
  • explicit performer and grant beneficiary,
  • time window and policy for currentness,
  • explicit provenance from the grant to the instituting act, and
  • the distinction between strong permission and an admissibility gate.

Last Updated: 2026-07-28 — upstream FPF commit 17edd955 (github.com/ailev/FPF)