DEV-000065 assistant presence attention surface
CI / test (push) Successful in 16s
CI / test (pull_request) Successful in 15s

This commit is contained in:
m
2026-08-17 16:23:16 +03:00
parent 6e73318e49
commit 5d4e064a94
26 changed files with 1335 additions and 20 deletions
+9 -2
View File
@@ -44,10 +44,17 @@ func Reconcile(action commitcontract.AuthorizedAction, previous commitcontract.A
// Authorize is the Commit boundary. A proposal alone never reaches Executor.
func Authorize(proposal commitcontract.ActionProposal, context AuthorizationContext, validator ports.AuthorityValidator, authorizedID commitcontract.AuthorizedActionID, authorizedAtUnixMillis int64) (commitcontract.AuthorizedAction, error) {
if proposal.IntentID == "" || proposal.ActorID == "" || proposal.CapabilityID == capability.CapabilityID("") ||
proposal.Target.TaskID == "" || proposal.Target.GoalID == "" || proposal.Target.ScopeID == "" || proposal.Target.Revision == 0 || proposal.Operation == "" || authorizedAtUnixMillis <= 0 {
proposal.Operation == "" || authorizedAtUnixMillis <= 0 {
return commitcontract.AuthorizedAction{}, ErrInvalidProposal
}
if proposal.ActorID != context.Binding.ActorID || proposal.Target.ScopeID != context.Scope.ID {
if proposal.ActorID != context.Binding.ActorID {
return commitcontract.AuthorizedAction{}, ErrInvalidProposal
}
if proposal.Operation == commitcontract.OperationDeliverProspectiveNotification {
if proposal.Target.ScopeID != "" && proposal.Target.ScopeID != context.Scope.ID {
return commitcontract.AuthorizedAction{}, ErrInvalidProposal
}
} else if proposal.Target.TaskID == "" || proposal.Target.GoalID == "" || proposal.Target.ScopeID == "" || proposal.Target.Revision == 0 || proposal.Target.ScopeID != context.Scope.ID {
return commitcontract.AuthorizedAction{}, ErrInvalidProposal
}
if !allowedOperation(proposal, context) {