package domain import "time" // QuestionID is a strongly-typed identifier for questions. type QuestionID string // QuestionType represents different types of questions. type QuestionType string const ( QuestionTypeText QuestionType = "text" QuestionTypeChoice QuestionType = "choice" // Single choice QuestionTypeMultiChoice QuestionType = "multichoice" // Multiple choices QuestionTypeYesNo QuestionType = "yesno" ) // Question represents a structured question in the architect flow. type Question struct { ID QuestionID ConversationID ConversationID ProjectID string Type QuestionType Text string Choices []string // For choice/multichoice types Answer *string // User's text answer AnswerChoices []string // For multichoice type Metadata map[string]string // Additional context CreatedAt time.Time AnsweredAt *time.Time }