package session import "context" // Repository defines persistence behavior for game sessions. type Repository interface { EnsureSchema(ctx context.Context) error CreateSession(ctx context.Context, session *GameSession) (*GameSession, error) GetSessionByID(ctx context.Context, id string) (*GameSession, error) GetActiveSessionByPlayerID(ctx context.Context, playerID string) (*GameSession, error) UpdateSession(ctx context.Context, session *GameSession) (*GameSession, error) CreateAttempt(ctx context.Context, attempt *SessionAttempt) error CreateEvent(ctx context.Context, event *SessionEvent) error ListQuestionIDsForSession(ctx context.Context, sessionID string) ([]string, error) }