# Data Model: Afraid to Ask Feature

**Feature Branch**: `004-afraid-to-ask`  
**Date**: October 13, 2025  
**Spec**: ../../specs/004-afraid-to-ask/spec.md

## Entities

### User Idea

Represents a user's desire or input within a session.

-   **id**: Unique identifier for the idea (string)
-   **content**: The text of the idea (string)
-   **type**: The category of the idea (enum: `Want`, `Accept`, `AfraidToAsk`)
-   **userId**: The ID of the user who submitted the idea (string)
-   **sessionId**: The ID of the session the idea belongs to (string)

**Note**: A single `AfraidToAsk` input field may contain one or multiple distinct ideas, which will be processed semantically.

### Session

A collection of user ideas and their matching results, along with associated metadata.

-   **id**: Unique identifier for the session (string)
-   **status**: Current status of the session (enum: `Active`, `Terminated`)
-   **userIdeas**: A collection of `UserIdea` entities associated with the session.
-   **results**: The harmonized results of the session, based on matching user ideas.
-   **createdAt**: Timestamp of session creation (datetime)
-   **terminatedAt**: Timestamp of session termination (datetime, null if active)
