--- status: partial phase: 25-file-system source: [25-VERIFICATION.md] started: 2026-04-01T00:25:00Z updated: 2026-04-01T00:25:00Z --- ## Current Test [awaiting human testing] ## Tests ### 1. Drag a file onto the chat input area expected: Drop zone overlay appears with dashed border and 'Drop files here' text; on release, file uploads with progress chip visible result: [pending] ### 2. Paste an image from clipboard into the chat textarea expected: Image upload begins immediately, progress chip appears above textarea result: [pending] ### 3. Click the Paperclip button in ChatInput, select a file expected: Native file picker opens; selecting a file starts the upload and shows a pending chip result: [pending] ### 4. View a message with an attached code file (.ts, .py, etc.) expected: ChatCodeFilePreview renders with syntax highlighting, copy button, language label, and a download card below result: [pending] ### 5. Click the microphone button, speak, then click the stop button expected: Loader2 spinner while transcribing; transcription text inserted into textarea result: [pending] ### 6. In a project-linked conversation, click the FolderUp button on a ChatFileCard expected: File is promoted to project scope; FolderUp button disappears result: [pending] ### 7. Upload any file and inspect the storage directory with 'git log' expected: A new commit with message 'Upload: ' appears in the git log for the storage directory result: [pending] ### 8. Call GET /api/files/:fileId/history for an uploaded file expected: JSON response with 'items' array containing objects with hash, date, message, author fields result: [pending] ## Summary total: 8 passed: 0 issues: 0 pending: 8 skipped: 0 blocked: 0 ## Gaps