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 : SpeechActRecordspeechActOccurrenceRef = SpeechActRef(SA-Approve-4711)actTypes = {SpeechActTypeRef(Approval@ChangeControl)}performedBy = U.EntityRef(CAB_Chair_A)whereCAB_Chair_A : U.SystemperformedUnderAssignment = RoleAssignmentRef(CAB_Chair_A@ApproverRole@ChangeControl)enactsMethodRef = U.EntityRef(ChangeApprovalMethod_v3); the actualenactsMethodrelation independently obtainsmethodDescriptionRef = EpistemeRef(ChangeApprovalProcedure_v3)reliancePosture = relianceReadyexecutedWithin = ChangeControlBoardSystemwindow = [t,t]judgementContextRef = ChangeControlutteranceSubjectRefs = {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-4711beneficiaryRef = RoleAssignmentRef(OpsBot#DeployerRole:CD_Pipeline_v7)permittedActionSpecificationRef = EpistemeRef(DeployChange4711WorkSpecification)institutingSpeechActRef = SA-Approve-4711grantorAssignmentRef = 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-4711independently states whether deployment entry conditions hold. It may checkexists 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)