Files
Assistant/contracts/continuity/types.go
T
2026-08-16 15:22:49 +03:00

39 lines
1.2 KiB
Go

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 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
}