feat: execute continuity satisfaction through commit
CI / test (push) Successful in 11s

This commit is contained in:
m
2026-08-16 16:19:23 +03:00
parent fe0b93739f
commit 4a165b5238
25 changed files with 1249 additions and 28 deletions
+4 -5
View File
@@ -5,7 +5,6 @@ import (
"testing"
"git.cin.su/m/Assistant/contracts/authority"
"git.cin.su/m/Assistant/contracts/capability"
commitcontract "git.cin.su/m/Assistant/contracts/commit"
"git.cin.su/m/Assistant/contracts/identity"
"git.cin.su/m/Assistant/contracts/work"
@@ -30,7 +29,7 @@ func (unknownExecutor) Execute(commitcontract.AuthorizedAction) ports.ExecutionR
func TestWS003RejectsRevokedGrantAndNeverExecutesProposalDirectly(t *testing.T) {
context, proposal := testContextAndProposal()
context.Grant.Active = false
_, err := commitdomain.Authorize(proposal, context, validator{}, commitcontract.AuthorizedActionID(ids.ID("authorized")))
_, err := commitdomain.Authorize(proposal, context, validator{}, commitcontract.AuthorizedActionID(ids.ID("authorized")), 1)
if !errors.Is(err, authoritydomain.ErrInvalidGrant) {
t.Fatalf("authorization error = %v, want invalid grant", err)
}
@@ -39,7 +38,7 @@ func TestWS003RejectsRevokedGrantAndNeverExecutesProposalDirectly(t *testing.T)
func TestWS003RejectsMissingActorPrincipalBinding(t *testing.T) {
context, proposal := testContextAndProposal()
context.Binding.Active = false
_, err := commitdomain.Authorize(proposal, context, validator{}, commitcontract.AuthorizedActionID(ids.ID("authorized")))
_, err := commitdomain.Authorize(proposal, context, validator{}, commitcontract.AuthorizedActionID(ids.ID("authorized")), 1)
if !errors.Is(err, authoritydomain.ErrInvalidGrant) {
t.Fatalf("authorization error = %v, want invalid grant", err)
}
@@ -47,7 +46,7 @@ func TestWS003RejectsMissingActorPrincipalBinding(t *testing.T) {
func TestWS003UnknownOutcomeBlocksBlindRetry(t *testing.T) {
context, proposal := testContextAndProposal()
action, err := commitdomain.Authorize(proposal, context, validator{}, commitcontract.AuthorizedActionID(ids.ID("authorized")))
action, err := commitdomain.Authorize(proposal, context, validator{}, commitcontract.AuthorizedActionID(ids.ID("authorized")), 1)
if err != nil {
t.Fatal(err)
}
@@ -67,6 +66,6 @@ func testContextAndProposal() (commitdomain.AuthorizationContext, commitcontract
scope := authority.Scope{ID: authority.ScopeID(ids.ID("global")), Global: true, Label: "all"}
grant := authority.AuthorityGrant{ID: authority.GrantID(ids.ID("grant")), ActorID: actor, PrincipalID: principal, ScopeID: scope.ID, Class: authority.GrantClassCreator, Revision: 1, Active: true}
context := commitdomain.AuthorizationContext{Binding: identity.PrincipalBinding{ActorID: actor, PrincipalID: principal, Active: true}, Scope: scope, Grant: grant}
proposal := commitcontract.ActionProposal{IntentID: commitcontract.ActionIntentID(ids.ID("intent")), ActorID: actor, CapabilityID: capability.CapabilityID(ids.ID("executor")), Target: work.TaskTarget{TaskID: work.TaskID(ids.ID("task")), GoalID: work.GoalID(ids.ID("goal")), ScopeID: scope.ID, Revision: 1}, Operation: "mutate-external-world"}
proposal := commitcontract.ActionProposal{IntentID: commitcontract.ActionIntentID(ids.ID("intent")), ActorID: actor, CapabilityID: commitcontract.CapabilityTestExecutor, Target: work.TaskTarget{TaskID: work.TaskID(ids.ID("task")), GoalID: work.GoalID(ids.ID("goal")), ScopeID: scope.ID, Revision: 1}, Operation: commitcontract.OperationTestIdempotentEffect}
return context, proposal
}