feat(capability): add release scoped shadow bindings
CI / test (push) Failing after 35s

This commit is contained in:
m
2026-08-31 16:28:57 +03:00
parent d1710907ec
commit dec19e873d
36 changed files with 1078 additions and 50 deletions
+11 -4
View File
@@ -98,19 +98,26 @@ func validDigest(value string) bool {
// Execute records UNKNOWN_OUTCOME rather than silently retrying an ambiguous
// external mutation.
func Execute(action commitcontract.AuthorizedAction, attemptID commitcontract.ActionAttemptID, executor ports.Executor) (commitcontract.ActionAttempt, error) {
attempt, _, err := ExecuteWithResult(action, attemptID, executor)
return attempt, err
}
// ExecuteWithResult preserves executor evidence for the Commit runtime while
// keeping the original domain API compatible with existing callers.
func ExecuteWithResult(action commitcontract.AuthorizedAction, attemptID commitcontract.ActionAttemptID, executor ports.Executor) (commitcontract.ActionAttempt, ports.ExecutionResult, error) {
if action.State != commitcontract.ActionAuthorized || attemptID == "" {
return commitcontract.ActionAttempt{}, ErrUnknownOutcome
return commitcontract.ActionAttempt{}, ports.ExecutionResult{}, ErrUnknownOutcome
}
attempt := commitcontract.ActionAttempt{ID: attemptID, AuthorizedID: action.ID, IntentID: action.Proposal.IntentID, State: commitcontract.ActionExecuting}
result := executor.Execute(action)
if !result.Known {
attempt.State = commitcontract.ActionUnknownOutcome
return attempt, ErrUnknownOutcome
return attempt, result, ErrUnknownOutcome
}
if result.Succeeded {
attempt.State = commitcontract.ActionSucceeded
return attempt, nil
return attempt, result, nil
}
attempt.State = commitcontract.ActionFailed
return attempt, nil
return attempt, result, nil
}
+1
View File
@@ -19,6 +19,7 @@ type Reconciler interface {
type ExecutionResult struct {
Succeeded bool
Known bool
Receipt *commit.ExecutionReceipt
}
// AuthorityValidator is the remote-capable boundary to the Authority owner.