C.32.PAD:1 - Problem frame
Use this pattern when a project has synthesized candidate architecture configurations and must make the project architecture decision that will guide later design, implementation, construction, operation, governance, or change work.
Primary working reader: an architect or architecture-responsible practitioner who has enough candidate synthesis, comparison input, and architecture-characteristic pressure to decide what architecture will be pursued now.
Typical entry phrases:
"We have three candidate architecture configurations; which one becomes the project decision?"
"The candidate improves maintainability but worsens evidence reuse; what is the accepted trade-off?"
"Developers need to know which architectural style, method, or pattern use is now required."
"The architecture decision must say which structure is fixed by this decision and which refinement remains open."
"The ADR cannot be written yet because the decision relation is not clear."
First-minute use slice. A product-family architect has a C.32 candidate palette with three module, placement, and evidence-structure variants. C.32.ACS names maintainability, substitutability, and evidence reuse as optimization indicators, and C.32.ACE has evaluated the candidates under one parity frame. Using C.32.PAD, the architect records the exact composite project work, selected configuration, affected selected structures, accepted loss in evidence reuse, method-use instruction for product teams, structures fixed by the decision, refinement left open, source-return condition, and reopen trigger. The result is not an ADR file yet; it is the architecture decision relation concerning that project work which an ADR or another publication form can describe.
The primary EntityOfConcern is ArchitectureDecisionRelation@Project: an architecture decision relation over one bounded architecture question with one exact composite project U.Work as a participant. It links that work, the decision subject, candidate basis, selected architecture option, affected structures, architecture characteristics, rationale, accepted losses, consequences, method and work expectations, publication projection, evidence or eval exits, and reopen conditions.
ArchitectureDecisionRelation@Project is not a new U.* kind. @Project is a compatibility and retrieval cue, not the source of project identity or scope. The relation is project-local only when projectWorkOccurrenceRef identifies the exact composite U.Work that participates in it. When another slot becomes load-bearing as an FPF object, recover the subject pattern for that object.
When this decision designates a project system-of-interest, projectSystemOfInterestRef? names only an independently admitted existing U.System. Before identity inception, keep the intended referent in intendedProjectSystemClaimRef? as U.WorkPlan, decision, system description, or other claim content. A local kind is named separately in systemOfInterestKindRef?, while systemOfInterestClassificationRef? cites an independently obtaining classification judgment; neither entails an assignment. A current assignment uses separate species and occurrence refs, and the occurrence’s holder is that System. Route any source phrase such as SystemOfInterestRole through E.10.ROLE before filling these fields. A taxonomy or scheme is not assignment content. Designation, kind, classification, assignment, Work, change, use facts, and the decision remain distinct. The decision neither establishes a compound project-selection truth nor repairs its missing constructor; when that one truth is required, retain every direct fact and record the A.15.6 result missing-substrate[project-selection-conjunction].
When the decision uses a transformation-flow network, transformationFlowStructureNetworkRef? names only an independently selected E.18.NET TransformationFlowStructureNetwork@Context <: U.Structure; projectNetworkSelectionResultRef? may cite the separate C.2.1 judgment about why that network answers the project question, and architectureTransformationFlowStructureRelationRef? cites C.30.TFS-REL when architecture use is current. A network record, a C.32.CONWAY frame or exact pair row, and this decision create no network member, cross-flow occurrence, architecture-influence occurrence, architecture relation, or other world-side fact.
What goes wrong if C.32.PAD is missed: a team writes an architecture record, diagram, shortlist, ranking, or local choice without a recoverable architecture decision relation to exact project work. Later workers cannot tell which architecture configuration is selected, which structures are affected, which method they must use, which losses were accepted, or when the decision must be reopened.
What C.32.PAD buys in practice: practitioners performing the project work can turn a candidate palette into one governed decision relation that is strong enough to guide work, publish an ADR-like record, support review, and reopen under architecture evolution.
Ordinary working move: recover the live decision question, cite the candidate basis, select the architecture option or bounded exception, record the trade-off over declared architecture characteristics, then bind the decision to method-use expectations, work split, source-return, and reopen conditions.
Adoption test: after using C.32.PAD, another practitioner can answer: what architecture option was selected, from which candidate basis, for which affected structures, under which architecture-characteristic trade-off, with which method and work consequences, and under which reopen condition.
Not this pattern when the current work is candidate synthesis, architecture-description adequacy, ADR publication projection, adequacy evaluation, evidence, assurance, gate passage, local choice, or performed work. Use the pattern for the next question named in Relations for those claims.
The first useful output is ArchitectureDecisionRelation@Project:
ArchitectureDecisionRelation@Project:
decisionId:
projectWorkOccurrenceRef: U.EntityRef constrained to exact composite U.Work
projectSystemOfInterestRef?: U.EntityRef constrained to one independently admitted existing U.System
intendedProjectSystemClaimRef?: U.WorkPlan, decision, system-description, or other claim episteme ref before identity inception
systemOfInterestKindRef?: U.KindRef resolving to one exact local system-role kind
systemOfInterestClassificationRef?: U.RelationRef resolving to the exact classification judgment for projectSystemOfInterestRef under systemOfInterestKindRef
systemOfInterestAssignmentSpeciesRef?: U.RelationKindRef constrained under U.SystemRoleAssignment
systemOfInterestAssignmentOccurrenceRef?: U.RelationRef constrained to an obtaining occurrence of systemOfInterestAssignmentSpeciesRef, with actual participants, applicability, extent, and projectSystemOfInterestRef as holder recoverable
decisionSubjectRef:
describedHolonRef:
decisionQuestion:
intendedDecisionUse:
claimScopeRef: U.ClaimScope
decisionWindowRef:
candidateBasisRefs:
comparisonOrSelectionRefs?
structuralInformationLensUseRefs?
holonTransitionOrBOSCTriggerRefs?
architectureInfluenceCorrespondenceRef?: C.32.CONWAY frame or exact pair-row ref
transformationFlowStructureNetworkRef?: exact independently selected E.18.NET TransformationFlowStructureNetwork@Context ref
projectNetworkSelectionResultRef?: exact C.2.1 result episteme whose EntityOfConcern is transformationFlowStructureNetworkRef
architectureTransformationFlowStructureRelationRef?: exact C.30.TFS-REL use/trace ref when architecture uses that network
selectedArchitectureOptionRefs:
selectedStructureEffects:
- structureKindRef:
selectedStructureRef:
decisionEffect:
relationFunctionClaimRef:
architectureCharacteristicTradeoffs:
- architectureCharacteristicRef:
criteriaRowRef?
expectedGain:
acceptedLoss:
evalResultRef?
guardrailRef?
rationaleRefs:
rejectedOptionRefs:
consequenceRows:
architectureDescriptionRefs:
methodUseInstructions:
- methodDescriptionRefOrPatternRef:
expectedStructureEffect:
intendedPerformerSystemRef?: U.EntityRef constrained to U.System
intendedPerformerKindRef?: U.KindRef
intendedPerformerClassificationRef?: U.RelationRef resolving to an exact classification judgment
currentPerformerAssignmentSpeciesRef?: U.RelationKindRef constrained under U.SystemRoleAssignment
currentPerformerAssignmentOccurrenceRef?: U.RelationRef constrained to an obtaining occurrence of currentPerformerAssignmentSpeciesRef, with actual participants, applicability, extent, and intendedPerformerSystemRef as holder recoverable
intendedAssignmentRequirementRef?: plan, policy, or decision-content ref stating a prospective assignment requirement; does not assert an assignment, commitment, or permission occurrence
actualImplementationWorkRef?: U.EntityRef constrained to U.Work
actualImplementationWorkAttributionRef?: U.RelationRef constrained to one obtaining F.6 performedUnderAssignment relation, only when the instruction expressly represents attribution
responsibilityRelationRef?: U.RelationRef resolving to an independently obtaining admitted domain relation
responsibilityMissingGovernor?: exact A.6.RCD result when responsibility is required but no predicate is admitted
authorityRelationRef?: U.RelationRef resolving to an independently obtaining admitted domain relation
authorityMissingGovernor?: exact A.6.RCD result when authority is required but no predicate is admitted
permissionRelationRef?: U.RelationRef resolving to an independently obtaining admitted domain relation
permissionMissingGovernor?: exact A.6.RCD result when permission is required but no predicate is admitted
commitmentRelationRef?: U.RelationRef resolving to an independently obtaining admitted domain relation
commitmentMissingGovernor?: exact A.6.RCD result when commitment is required but no predicate is admitted
workBoundaryRef:
readinessOrGateExitRef?
architectDeveloperSplit:
decisionFixedStructureRefs:
openRefinementScopeRefs:
sourceReturnCondition:
publicationProjectionRef?
evidenceOrAssuranceExitRefs?
governanceExitRefs?
reopenConditions:
supersedesDecisionRefs?
status:
The filled ArchitectureDecisionRelation@Project is the decision result. Its selected option, affected structures, criteria and trade-offs, scope, window, consequences, and status make that result recoverable; a second generic result or context record would only duplicate it.
The field names in this first-output form are publication-friendly filled-reference fields. Durable relation positions must be expressible through A.6.5 SlotSpecs: each position has a local SlotKind, an admitted ValueKind, and a by-value or concrete RefKind filling mode. A field name such as decisionSubjectRef is not a SlotKind, not a U-kind, and not an ADR heading; it is the filled-reference field by which this relation record points to the value governed by the slot-bearing relation.
When an instruction cites actual implementation Work, recover each exact actual performer through A.13 and let actualImplementationWorkRef name the U.Work occurrence independently admitted through A.15.1. Assignment species and occurrence fields remain optional neighboring claims. Add actualImplementationWorkAttributionRef only when the instruction or receiving use expressly represents precise assignment-bound attribution through the same obtaining A.13 assignment; missing or failed F.6 leaves the Work ref intact. The decision record creates none of these facts.