A.2.9:4 — Solution
Preface node
heading:a-2-9-4-solution:5113
Content
U.SpeechAct is a kernel Work object: a recorded communicative enactment performed by an accountable role‑enactor within a bounded context, optionally addressed to others, that is recognized (in that context) as updating an information and/or governance state. The act is not the utterance text; it points to utterance descriptions and evidence carriers.
A.2.9:4.1 — Normative definition
A U.SpeechAct is a U.Work occurrence whose primary (intended) effect is communicative: it places an utterance into a context in a way that is recognized by that context’s institutional semantics (policies, procedures, protocol rules) as potentially:
- asserting/informing,
- requesting/directing,
- promising/committing (as an instituting act),
- declaring/authorizing/revoking (status-changing acts),
- notifying (event announcement relevant for downstream work).
Per A.7, U.SpeechAct is an object/event; its utterance descriptions are descriptions (epistemes/spec clauses/messages‑as‑content), and its carriers are artifacts/traces that support observation and audit. (Note: “Surface” is reserved for MVPK publication/interoperability surfaces; do not use it here.)
Whether a given actType institutes commitments/permissions/status changes is entirely context‑policy dependent. Absent an explicit policy, treat a U.SpeechAct as a communicative Work occurrence with observable provenance only; do not infer deontic bindings from the act by default.
A.2.9:4.2 — Minimal structure (normative)
A conforming U.SpeechAct SHALL be representable by the following minimal record (field names are illustrative; the constraints are normative):
Normative constraints:
- (SA‑C0) Work conformance applies. Because
U.SpeechAct <: U.Work, a speech‑act record MUST satisfyU.Workconformance (A.15.1), including the required anchors (isExecutionOf,performedBy,executedWithin,window, and state‑plane / judgement‑context anchoring). A speech act MUST have at least oneaffectedreferent (the thing it is about/updates), even if it is purely governance‑state. - (SA‑C1) PerformedBy must be an accountable actor.
performedByMUST resolve to aRoleAssignmentRefwhose holder is an accountable system/party in the named scope. It MUST NOT be a spec/interface/document as an episteme. - (SA‑C2) ActTypes are required and context-local.
actTypesMUST contain at least oneSpeechActTypeRefrecognized in the Work’s judgement context (local meaning). Free‑text verbs are nonconformant unless registered as a context token. - (SA‑C3) Time honesty.
windowMUST be explicit (or inherited from the parentU.Workrecord) so freshness rules can be evaluated. - (SA‑C4) If used for gating/audit, it must be observable. If a speech act is used as a checklist criterion, guard condition, or provenance hook for a
U.Commitment, the model SHALL include at least one observable handle:utteranceRefsand/orcarrierRefs. When the act is used as evidence, at least one carrier reference SHOULD be SCR/RSCR‑resolvable per A.10. - (SA‑C5) Institutional effects are references, not paraphrases. When the act is intended to institute/update commitments, role assignments, or statuses,
institutes.*SHOULD reference the corresponding object IDs/claim IDs rather than restating content. - (SA‑C6) Cross-context use is Bridge-only. If a
SpeechActRefis used for checking/gating/provenance in a different bounded context than the act’s judgement context, the referencing object MUST satisfy the spec’s cross-context discipline by citing an explicit Bridge/policy that licenses the interpretation (and surfacing congruence vs loss where applicable), rather than assuming equivalence by label.
A.2.9:4.3 — SpeechActRef discipline (normative)
A SpeechActRef is a reference to U.SpeechAct.id.
- If another object (e.g.,
U.Commitment.source.speechActRef) cites aSpeechActRef, the referencedU.SpeechActMUST satisfy SA‑C0…SA‑C4 (and SA‑C6 when used cross‑context). - A
SpeechActRefMUST NOT be replaced by anEpistemeRef(“see the document”) when provenance is needed; the episteme is an utterance description, not the act. - If a system cannot record a full
U.SpeechAct, it may record a stub that still satisfies SA‑C0…SA‑C4 (minimalactTypes, performer, judgement context, window,affected, plus at least one observable handle). When a requiredU.Workanchor is unknown, the stub MUST use an explicit placeholder (e.g., an “AdHocCommunication” MethodDescription) rather than omitting the field.
A.2.9:4.4 — Separation rules with U.Commitment and U.PromiseContent (normative)
-
Speech act is not the deontic binding. A speech act may institute a
U.Commitment, but the deontic relation itself is theU.Commitmentobject (A.2.8). Do not encode obligations/permissions insideU.SpeechActas prose; instead, create/point toU.CommitmentIDs ininstitutes.commitments. -
Speech act is not the service promise clause.
U.PromiseContent/ promise contents are promise content; a speech act may be the act of offering/issuing that promise, but the promise content lives in the service/promise content objects and is referenced from the resulting commitments. -
Speech act is not the carrier. A “signed approval PDF”, “ticket record”, “Slack message”, or “API call log” is a carrier (and may carry an episteme as utterance content); the speech act is the Work occurrence that produced/issued it.
-
Publishing a spec is not a commitment by default. Default interpretation rule (normative). A conformant model/interpreter MUST NOT infer
U.Commitmentobjects solely fromPublish/Approvespeech acts. Publication MAY institute publication/status claims (e.g., “Published”, “Approved”, “Deprecated”), but any obligations/permissions on implementers/operators/providers MUST be modeled explicitly asU.Commitmentobjects (A.2.8). If a Context defines a policy that maps publication acts to commitment-instituting effects (e.g., a namedSpecPublicationPolicy@Context), that policy MUST be named and cited where the implication is used.
A.2.9:4.5 — Multi-function and multi-party support (normative)
-
Multi-function:
actTypesis a set. If one utterance performs multiple recognizable acts (e.g., “approve + instruct + warn”), the model may either:- represent one
U.SpeechActwith multipleactTypesentries, or - represent multiple
U.SpeechActrecords that share the samecarrierRefs/utteranceRefs. In either case, institutional effects must remain referenceable (SA‑C5).
- represent one
-
Multi-party:
addressedTois a set and may include roles/parties/assignments. If addressees matter for validity (e.g., “approval by CAB chair to deployment bot”), they should be explicit.