diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index 9cc2108..5f89131 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -46,12 +46,12 @@ Requirements for the initial Go+HTMX milestone. Each maps to exactly one roadmap ### Files -- [ ] **FILE-01**: User can upload a file (with size limit) to a tablo; metadata stored in Postgres, bytes stored in S3-compatible storage (R2) -- [ ] **FILE-02**: Uploads use direct-to-S3 presigned PUT URLs OR server-proxied upload (decided in plan-phase) -- [ ] **FILE-03**: User can list files attached to a tablo with original filename and size -- [ ] **FILE-04**: User can download a file via a signed time-limited URL -- [ ] **FILE-05**: User can delete an attached file (removes both DB row and S3 object) -- [ ] **FILE-06**: Authorization checks ensure only the tablo owner can upload/list/download/delete +- [x] **FILE-01**: User can upload a file (with size limit) to a tablo; metadata stored in Postgres, bytes stored in S3-compatible storage (R2) +- [x] **FILE-02**: Uploads use direct-to-S3 presigned PUT URLs OR server-proxied upload (decided in plan-phase) +- [x] **FILE-03**: User can list files attached to a tablo with original filename and size +- [x] **FILE-04**: User can download a file via a signed time-limited URL +- [x] **FILE-05**: User can delete an attached file (removes both DB row and S3 object) +- [x] **FILE-06**: Authorization checks ensure only the tablo owner can upload/list/download/delete ### Worker diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 0703f4a..dac1ef8 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -16,7 +16,7 @@ | 2 | Authentication | Complete (7/7) | AUTH-01..07 | | 3 | Tablos CRUD | Complete (3/3) | TABLO-01..06 | | 4 | 3/4 | In Progress| | -| 5 | Files | A user can attach, list, download, delete files on a tablo | FILE-01..06 | +| 5 | 4/4 | Complete | 2026-05-15 | | 6 | Background Worker | A second binary runs jobs against the same Postgres | WORK-01..04 | | 7 | Deploy v1 | The product runs in production on a single host | DEPLOY-01..05 | @@ -124,7 +124,7 @@ Plans: **User-in-loop:** Approve the `tablo_files` schema (key strategy, content-type handling, dedup). Approve upload method (direct PUT vs server-proxied). -**Plans:** 4 plans +**Plans:** 4/4 plans complete Plans: **Wave 1** - [x] 05-01-PLAN.md — Wave 1: go get aws-sdk-go-v2 + migration 0005_files + sqlc queries + files.Store + FileStorer interface + RED test scaffold + MinIO in compose.yaml diff --git a/.planning/STATE.md b/.planning/STATE.md index d34cd07..b3f0591 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -6,10 +6,10 @@ status: ready_to_plan last_updated: "2026-05-15T10:15:52.923Z" progress: total_phases: 7 - completed_phases: 4 + completed_phases: 5 total_plans: 22 completed_plans: 18 - percent: 82 + percent: 71 --- # STATE