docs: update GAP_ANALYSIS.md for current state
- Remove silo-spec.md from doc table (deleted) - Add CONFIGURATION.md, AUTH.md, AUTH_USER_GUIDE.md, frontend-spec.md to doc table - Mark Configuration Reference as complete - Fix audit_handlers.go filename (was handlers_audit.go) - Update Appendix A file structure to match actual codebase - Fix future migration numbering (012/013, since 011 is taken) - Add file attachment endpoints to Appendix B - Remove completed Documentation Overhaul from medium-term Closes #28
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user