package continuity import ( "git.cin.su/m/Assistant/contracts/authority" "git.cin.su/m/Assistant/contracts/identity" "git.cin.su/m/Assistant/contracts/work" "git.cin.su/m/Assistant/platform/ids" ) type CommitmentID ids.ID type ProspectiveItemID ids.ID type ProspectiveRevision uint64 type CommittedActionIntentID ids.ID type CommittedAuthorizedActionID ids.ID type ProspectiveState string const ( ProspectiveRegistered ProspectiveState = "REGISTERED" ProspectiveArmed ProspectiveState = "ARMED" ProspectiveTriggered ProspectiveState = "TRIGGERED" ProspectiveRevalidating ProspectiveState = "REVALIDATING" ProspectiveDelivered ProspectiveState = "DELIVERED" ProspectiveSatisfied ProspectiveState = "SATISFIED" ProspectiveSuppressed ProspectiveState = "SUPPRESSED" ProspectiveExpired ProspectiveState = "EXPIRED" ) // ProspectiveItem is canonical future relevance. TriggerAtUnixMillis is an // absolute instant; scheduling engines are derived delivery mechanisms only. type ProspectiveItem struct { ID ProspectiveItemID CommitmentID CommitmentID OwnerPrincipalID identity.PrincipalID ScopeID authority.ScopeID GoalID work.GoalID TriggerAtUnixMillis int64 State ProspectiveState Revision ProspectiveRevision } // SatisfyDeliveredSubject is the complete serializable operation subject. It // is distinct from a Work TaskTarget, which remains the live justification. type SatisfyDeliveredSubject struct { ProspectiveItemID ProspectiveItemID ExpectedRevision ProspectiveRevision FromState ProspectiveState ToState ProspectiveState EvidenceRef string } // SatisfyDeliveredCommand is accepted only at Continuity's internal executor // boundary. Commit identities are references; Continuity remains state owner. type SatisfyDeliveredCommand struct { ActionIntentID CommittedActionIntentID AuthorizedActionID CommittedAuthorizedActionID OwnerPrincipalID identity.PrincipalID Subject SatisfyDeliveredSubject } type ActionReceipt struct { ActionIntentID CommittedActionIntentID AuthorizedActionID CommittedAuthorizedActionID OwnerPrincipalID identity.PrincipalID Subject SatisfyDeliveredSubject ResultState ProspectiveState ResultRevision ProspectiveRevision }