# internal/app/handoff

Package handoff renders model-facing handoff material from task specs.

## Run

```go
func Run(ctx context.Context, specs SpecStore, sessions SessionStore, taskID string, workspaces ...WorkspaceStatus) (string, error)
```

Run renders the model-facing handoff for taskID.

## RunWithOptions

```go
func RunWithOptions(ctx context.Context, specs SpecStore, sessions SessionStore, taskID string, opts Options, workspaces ...WorkspaceStatus) (string, error)
```

RunWithOptions renders the model-facing handoff for taskID.

## Options

```go
type Options struct {
	SuppressContext bool
}
```

Options configures handoff rendering.

- `SuppressContext: bool`: 

## SessionStore

```go
type SessionStore interface {
	Load(context.Context, string) (session.Session, error)
}
```

SessionStore loads session evidence for repair handoffs.

- `Load: func(context.Context, string) (session.Session, error)`: 

## SpecStore

```go
type SpecStore interface {
	Load(context.Context, string) (spec.Model, string, error)
}
```

SpecStore is the spec persistence port used by handoff rendering.

- `Load: func(context.Context, string) (spec.Model, string, error)`: 

## WorkspaceStatus

```go
type WorkspaceStatus interface {
	ChangedFiles(context.Context) ([]string, error)
}
```

WorkspaceStatus captures current workspace state for handoff projection.

- `ChangedFiles: func(context.Context) ([]string, error)`:
