A.2.9:8 — Common Anti-Patterns and How to Avoid Them

Preface node heading:a-2-9-8-common-anti-patterns-and-how-to-avoid-them:5296

Content

Anti-patternWhy it failsRepair
Episteme-as-actor (“the spec approves/declares”)assigns agency to descriptionsrepresent the publishing/approving act as U.SpeechAct(performedBy=RoleAssignment)
Carrier-as-act (“the signed PDF is the approval”)conflates carrier with actmodel U.SpeechAct and point to PDF as carrier/utteranceSurface
Free-text type (“type=‘approved-ish’”)not lintable; drifts across facesregister SpeechActTypeRef in the context and use it
Act carries obligations (obligations embedded as prose in speech act)collapses act and deontic bindingmodel obligations as U.Commitment objects instituted by the act
Gating without windowcannot evaluate freshnessadd explicit window and reference it in the guard/checklist
Hidden multi-act (one event silently creates multiple commitments)loses traceability; creates disputesrepresent multi-function via actTypes set or multiple speech acts sharing the same carrier