Documentation
¶
Overview ¶
Package sessionreceive owns target-side request admission, pinned-worktree recovery, successor launch, and completed-receipt publication.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Options ¶
type Options struct {
Store sessionmove.Store
ProjectsRoot string
LocalMachine string
RawRequest []byte
Now func() time.Time
ReceiveWorktree func(context.Context, worktrees.SessionReceiveOptions) (worktrees.SessionReceiveResult, error)
VerifyWorktree func(context.Context, worktrees.SessionReceiveOptions) (worktrees.SessionReceiveResult, error)
StartSuccessor func(context.Context, sessionlaunch.Options) (sessionlaunch.Result, error)
InspectSuccessor func(context.Context, sessionlaunch.Options) (sessionlaunch.Result, error)
BeforeRelease sessionlaunch.BeforeRelease
// contains filtered or unexported fields
}
Options supplies exact courier bytes plus operator-owned target identity. LocalMachine must come from validated local configuration, never the request or a public receive flag.
type Result ¶
type Result struct {
Request sessionmove.Request `json:"request"`
Digest sessionmove.Digest `json:"request_digest"`
Phase sessionmove.Phase `json:"phase"`
Worktree *worktrees.SessionReceiveResult `json:"worktree,omitempty"`
Receipt *sessionmove.Receipt `json:"receipt,omitempty"`
Successor *sessionlaunch.Result `json:"successor,omitempty"`
Replay bool `json:"replay"`
}
Result reports target progress and the exact completed successor receipt.
func Receive ¶
Receive admits exact request bytes, serializes execution by handoff ID, and advances idempotently through a receipt-backed completed phase. Target Work Log completion is durable before the receipt is published; source custody is still a separate source-side acknowledgement transaction.