Files
rtu_v5/.planning/phases/02-data-persistence-file-management/02-CONTEXT.md

75 lines
2.1 KiB
Markdown

# Phase 2: Data Persistence & File Management - Context
**Gathered:** 2026-03-12
**Status:** Ready for planning
<domain>
## Phase Boundary
CSV data logging to flash memory with file management UI. User can view list of CSV files, navigate/scroll through files, view file contents, delete files, and generate tidEDA formatted files for transmission to myvscada server.
</domain>
<decisions>
## Implementation Decisions
### Storage Location
- CSV files stored in `/myvscada/logger` (matches server folder structure)
### File Naming
- Format: `SP{station_id}_{timestamp}.csv` (e.g., `SP001_20260312_143022.csv`)
### tidEDA Format
- Standard format — matches existing system specification
### Logging Trigger
- Periodic interval — configurable logging interval (e.g., every 5/10/15 minutes)
### OpenCode's Discretion
- Exact logging interval default value
- File retention policy (how many files to keep)
- Scroll behavior (smooth scroll vs page-by-page)
</decisions>
<code_context>
## Existing Code Insights
### Reusable Assets
- Flask backend already running (src/app.py) — extend with file API routes
- Settings stored via existing settings API
- Bootstrap 5.3 templates — can reuse for file list UI
### Established Patterns
- Socket.IO for real-time updates — can use for file list refresh
- RESTful API structure — follow same pattern for file endpoints
- Touch-optimized UI — apply same 48px+ touch targets
### Integration Points
- New file API routes: `/api/files`, `/api/files/<name>`, `/api/files/<name>/delete`
- New "Flash Memory" menu link in main navigation
- Reuse calibration template structure for file list
</code_context>
<specifics>
## Specific Ideas
- `/myvscada/logger` path matches the server directory structure in protocol settings
- File naming matches existing convention from THE_IDEA.md (SP8020_FTP.txt style)
- Standard tidEDA format per existing system specification
</specifics>
<deferred>
## Deferred Ideas
None — discussion stayed within phase scope
</deferred>
---
*Phase: 02-data-persistence-file-management*
*Context gathered: 2026-03-12*