diff --git a/docs/GAP_ANALYSIS.md b/docs/GAP_ANALYSIS.md index e94c9cb..a347833 100644 --- a/docs/GAP_ANALYSIS.md +++ b/docs/GAP_ANALYSIS.md @@ -1,6 +1,6 @@ # Silo Gap Analysis and Revision Control Roadmap -**Date:** 2026-02-06 +**Date:** 2026-02-08 **Status:** Analysis Complete (Updated) --- @@ -21,9 +21,12 @@ This document analyzes the current state of the Silo project against its specifi | `docs/SPECIFICATION.md` | Design specification, API reference | Current | | `docs/STATUS.md` | Implementation status summary | Current | | `docs/DEPLOYMENT.md` | Production deployment guide | Current | -| `docs/GAP_ANALYSIS.md` | SOLIDWORKS PDM comparison, roadmap | Current | -| `ROADMAP.md` | Feature roadmap and phases | Current | -| `silo-spec.md` | Redirect to `docs/SPECIFICATION.md` | Consolidated | +| `docs/CONFIGURATION.md` | Configuration reference (all config.yaml options) | Current | +| `docs/AUTH.md` | Authentication system design | Current | +| `docs/AUTH_USER_GUIDE.md` | User guide for login, tokens, and roles | Current | +| `docs/GAP_ANALYSIS.md` | Revision control roadmap | Current | +| `ROADMAP.md` | Feature roadmap and SOLIDWORKS PDM comparison | Current | +| `frontend-spec.md` | React SPA frontend specification | Current | ### 1.2 Documentation Gaps (Priority Order) @@ -34,7 +37,7 @@ This document analyzes the current state of the Silo project against its specifi | **API Reference** | Users cannot integrate programmatically | Medium | Addressed in SPECIFICATION.md Section 11 | | **Deployment Guide** | Cannot deploy to production | Medium | Complete (`docs/DEPLOYMENT.md`) | | **Database Schema Guide** | Migration troubleshooting difficult | Low | Open | -| **Configuration Reference** | config.yaml options undocumented | Low | Open | +| **Configuration Reference** | config.yaml options undocumented | Low | Complete (`docs/CONFIGURATION.md`) | #### Medium Priority @@ -54,10 +57,10 @@ This document analyzes the current state of the Silo project against its specifi ### 1.3 Recommended Actions -1. ~~**Consolidate specs**: Remove `silo-spec.md` duplicate~~ Done +1. ~~**Consolidate specs**: Remove `silo-spec.md` duplicate~~ Done (deleted) 2. ~~**Create API reference**: Full REST endpoint documentation~~ Addressed in SPECIFICATION.md 3. ~~**Create `docs/DEPLOYMENT.md`**: Production deployment guide~~ Done -4. **Create configuration reference**: Document all `config.yaml` options +4. ~~**Create configuration reference**: Document all `config.yaml` options~~ Done (`docs/CONFIGURATION.md`) 5. **Create database schema guide**: Document migrations and troubleshooting --- @@ -207,7 +210,7 @@ Audit logging is implemented via migration 009 with the `audit_log` table and co - `GET /api/audit/completeness` — summary of all items - `GET /api/audit/completeness/{partNumber}` — per-item scoring with weighted fields and tier classification -Code: `internal/api/handlers_audit.go` +Code: `internal/api/audit_handlers.go` --- @@ -304,7 +307,6 @@ Effort: Medium | Priority: Low | Risk: Low 7. **Release Management** - Product milestone tracking 8. **Thumbnail Generation** - Visual preview capability -9. **Documentation Overhaul** - API reference, deployment guide ### Long-term (Future) @@ -351,19 +353,33 @@ These design decisions remain unresolved: ## Appendix A: File Structure -Revision endpoints, status, labels, authentication, and audit logging are implemented. Current structure: +Revision endpoints, status, labels, authentication, audit logging, and file attachments are implemented. Current structure: ``` internal/ api/ - handlers_audit.go # Audit/completeness endpoints (implemented) - middleware.go # Auth middleware (implemented) + audit_handlers.go # Audit/completeness endpoints + auth_handlers.go # Login, tokens, OIDC + bom_handlers.go # Flat BOM, cost roll-up + file_handlers.go # Presigned uploads, item files, thumbnails + handlers.go # Items, schemas, projects, revisions + middleware.go # Auth middleware + odoo_handlers.go # Odoo integration endpoints + routes.go # Route registration (75 endpoints) + search.go # Fuzzy search auth/ - auth.go # Auth service: local, LDAP, OIDC (implemented) + auth.go # Auth service: local, LDAP, OIDC + db/ + items.go # Item and revision repository + item_files.go # File attachment repository + relationships.go # BOM repository + projects.go # Project repository + storage/ + storage.go # MinIO file storage helpers migrations/ - 008_odoo_integration.sql # Odoo ERP tables (implemented) - 009_auth.sql # Auth + audit tables (implemented) - 010_item_extended_fields.sql # Extended item fields (implemented) + 001_initial.sql # Core schema + ... + 011_item_files.sql # Item file attachments (latest) ``` Future features would add: @@ -371,13 +387,13 @@ Future features would add: ``` internal/ api/ - handlers_lock.go # Locking endpoints + lock_handlers.go # Locking endpoints db/ locks.go # Lock repository releases.go # Release repository migrations/ - 011_item_locks.sql # Locking table - 012_releases.sql # Release management + 012_item_locks.sql # Locking table + 013_releases.sql # Release management ``` --- @@ -407,6 +423,18 @@ GET /api/audit/completeness # All items completeness summary GET /api/audit/completeness/{partNumber} # Per-item scoring ``` +**File Attachments (Implemented):** +``` +GET /api/auth/config # Auth config (public) +POST /api/uploads/presign # Presigned upload URL +GET /api/items/{pn}/files # List item files +POST /api/items/{pn}/files # Associate file with item +DELETE /api/items/{pn}/files/{fileId} # Delete file association +PUT /api/items/{pn}/thumbnail # Set item thumbnail +GET /api/items/{pn}/bom/flat # Flattened BOM +GET /api/items/{pn}/bom/cost # Assembly cost roll-up +``` + **Locking (Not Implemented):** ``` POST /api/items/{pn}/lock # Acquire lock