- Add meeting_number field (M-YYYYMMDD-XX format) with auto-generation - Refactor Excel export to use cell coordinates instead of placeholders - Export files saved to backend/record/ directory with meeting number filename - Add database migration for meeting_number column - Add start.sh script for managing frontend/backend/sidecar services - Update OpenSpec documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.5 KiB
3.5 KiB
meeting-management Specification
Purpose
TBD - created by archiving change add-meeting-assistant-mvp. Update Purpose after archive.
Requirements
Requirement: Create Meeting
The system SHALL allow users to create meetings with required metadata and auto-generated meeting number.
Scenario: Create meeting with all fields
- WHEN user submits POST /api/meetings with subject, meeting_time, chairperson, location, recorder, attendees
- THEN a new meeting record SHALL be created with auto-generated UUID, meeting_number, and the meeting data SHALL be returned
Scenario: Create meeting with missing required fields
- WHEN user submits POST /api/meetings without subject or meeting_time
- THEN the server SHALL return HTTP 400 with validation error details
Scenario: Recorder defaults to current user
- WHEN user creates meeting without specifying recorder
- THEN the recorder field SHALL default to the logged-in user's email
Scenario: Auto-generate meeting number
- WHEN a new meeting is created
- THEN meeting_number SHALL be auto-generated in format M-YYYYMMDD-XX
Requirement: List Meetings
The system SHALL allow users to retrieve a list of meetings.
Scenario: List all meetings for admin
- WHEN admin user requests GET /api/meetings
- THEN all meetings SHALL be returned
Scenario: List meetings for regular user
- WHEN regular user requests GET /api/meetings
- THEN only meetings where user is creator, recorder, or attendee SHALL be returned
Requirement: Get Meeting Details
The system SHALL allow users to retrieve full meeting details including conclusions and action items.
Scenario: Get meeting with related data
- WHEN user requests GET /api/meetings/:id
- THEN meeting record with all conclusions and action_items SHALL be returned
Scenario: Get non-existent meeting
- WHEN user requests GET /api/meetings/:id for non-existent ID
- THEN the server SHALL return HTTP 404
Requirement: Update Meeting
The system SHALL allow users to update meeting data, conclusions, and action items.
Scenario: Update meeting metadata
- WHEN user submits PUT /api/meetings/:id with updated fields
- THEN the meeting record SHALL be updated and new data returned
Scenario: Update action item status
- WHEN user updates action item status to "Done"
- THEN the action_items record SHALL reflect the new status
Requirement: Delete Meeting
The system SHALL allow authorized users to delete meetings.
Scenario: Admin deletes any meeting
- WHEN admin user requests DELETE /api/meetings/:id
- THEN the meeting and all related conclusions and action_items SHALL be deleted
Scenario: User deletes own meeting
- WHEN user requests DELETE /api/meetings/:id for meeting they created
- THEN the meeting and all related data SHALL be deleted
Requirement: System Code Generation
The system SHALL auto-generate unique system codes for meetings, conclusions, and action items.
Scenario: Generate meeting number
- WHEN a meeting is created on 2025-12-10
- THEN the meeting_number SHALL follow format M-20251210-XX where XX is sequence number
Scenario: Generate conclusion code
- WHEN a conclusion is created for a meeting on 2025-12-10
- THEN the system_code SHALL follow format C-20251210-XX where XX is sequence number
Scenario: Generate action item code
- WHEN an action item is created for a meeting on 2025-12-10
- THEN the system_code SHALL follow format A-20251210-XX where XX is sequence number