31 lines
1.2 KiB
Markdown
31 lines
1.2 KiB
Markdown
# 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)
|