From 73195be6a19139c9cae07386fa4720c7e6c49dc9 Mon Sep 17 00:00:00 2001 From: forbes-0023 Date: Wed, 11 Feb 2026 11:37:53 -0600 Subject: [PATCH] docs: fix stale migration and endpoint counts, add missing endpoints - Update migration count from 11 to 13 across all docs (012_bom_source, 013_move_cost_sourcing_to_props) - Update endpoint count from 75 to 78 across all docs - Add 3 missing endpoints to SPECIFICATION.md section 11.1: GET /api/events (SSE), GET /api/items/by-uuid/{uuid}, POST /api/items/{pn}/bom/merge - Add migrations 012 and 013 to STATUS.md table - Fix migration 010 description (sourcing_link and standard_cost moved to revision properties in 013) --- README.md | 2 +- ROADMAP.md | 8 ++++---- docs/GAP_ANALYSIS.md | 2 +- docs/SPECIFICATION.md | 13 +++++++++---- docs/STATUS.md | 8 +++++--- 5 files changed, 20 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 58c2e80..4dedb2e 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ silo/ │ ├── silo/ # CLI tool │ └── silod/ # API server ├── internal/ -│ ├── api/ # HTTP handlers and routes (75 endpoints) +│ ├── api/ # HTTP handlers and routes (78 endpoints) │ ├── auth/ # Authentication (local, LDAP, OIDC) │ ├── config/ # Configuration loading │ ├── db/ # PostgreSQL repositories diff --git a/ROADMAP.md b/ROADMAP.md index f3a3609..dc6db61 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -39,7 +39,7 @@ This document compares Silo's current capabilities against SOLIDWORKS PDM—the ### Implemented Features (MVP Complete) #### Core Database System -- PostgreSQL schema with 11 migrations +- PostgreSQL schema with 13 migrations - UUID-based identifiers throughout - Soft delete support via `archived_at` timestamps - Atomic sequence generation for part numbers @@ -92,7 +92,7 @@ This document compares Silo's current capabilities against SOLIDWORKS PDM—the - Template generation for import formatting #### API & Web Interface -- REST API with 75 endpoints +- REST API with 78 endpoints - Authentication: local (bcrypt), LDAP/FreeIPA, OIDC/Keycloak - Role-based access control (admin > editor > viewer) - API token management (SHA-256 hashed) @@ -255,14 +255,14 @@ CAD integration is maintained in separate repositories ([silo-mod](https://git.k | Feature | SOLIDWORKS PDM | Silo Status | Priority | Complexity | |---------|---------------|-------------|----------|------------| | ERP integration | SAP, Dynamics, etc. | Partial (Odoo stubs) | Medium | Complex | -| API access | Full COM/REST API | Full REST API (75 endpoints) | - | - | +| API access | Full COM/REST API | Full REST API (78 endpoints) | - | - | | Dispatch scripts | Automation without coding | None | Medium | Moderate | | Task scheduler | Background processing | None | Medium | Moderate | | Email system | SMTP integration | None | High | Simple | | Web portal | Browser access | Full (React SPA + auth) | - | - | **Gap Analysis:** -Silo has a comprehensive REST API (75 endpoints) and a full web UI with authentication. Odoo ERP integration has config/sync-log scaffolding but push/pull operations are stubs. Remaining gaps: email notifications, task scheduler, dispatch automation. +Silo has a comprehensive REST API (78 endpoints) and a full web UI with authentication. Odoo ERP integration has config/sync-log scaffolding but push/pull operations are stubs. Remaining gaps: email notifications, task scheduler, dispatch automation. --- diff --git a/docs/GAP_ANALYSIS.md b/docs/GAP_ANALYSIS.md index a347833..bf0c0c7 100644 --- a/docs/GAP_ANALYSIS.md +++ b/docs/GAP_ANALYSIS.md @@ -365,7 +365,7 @@ internal/ handlers.go # Items, schemas, projects, revisions middleware.go # Auth middleware odoo_handlers.go # Odoo integration endpoints - routes.go # Route registration (75 endpoints) + routes.go # Route registration (78 endpoints) search.go # Fuzzy search auth/ auth.go # Auth service: local, LDAP, OIDC diff --git a/docs/SPECIFICATION.md b/docs/SPECIFICATION.md index 739efd1..ac8a93d 100644 --- a/docs/SPECIFICATION.md +++ b/docs/SPECIFICATION.md @@ -37,7 +37,7 @@ Silo treats **part numbering schemas as configuration, not code**. Multiple numb ▼ ┌─────────────────────────────────────────────────────────────┐ │ Silo Server (silod) │ -│ - REST API (75 endpoints) │ +│ - REST API (78 endpoints) │ │ - Authentication (local, LDAP, OIDC) │ │ - Schema parsing and validation │ │ - Part number generation engine │ @@ -598,7 +598,7 @@ See [AUTH.md](AUTH.md) for full architecture details and [AUTH_USER_GUIDE.md](AU ## 11. API Design -### 11.1 REST Endpoints (75 Implemented) +### 11.1 REST Endpoints (78 Implemented) ``` # Health (no auth) @@ -615,6 +615,9 @@ GET /auth/callback # OIDC callback # Public API (no auth required) GET /api/auth/config # Auth backend configuration (for login UI) +# Server-Sent Events (require auth) +GET /api/events # SSE stream for real-time updates + # Auth API (require auth) GET /api/auth/me # Current authenticated user GET /api/auth/tokens # List user's API tokens @@ -644,6 +647,7 @@ DELETE /api/projects/{code} # Delete project [ed # Items (read: viewer, write: editor) GET /api/items # List/filter items GET /api/items/search # Fuzzy search +GET /api/items/by-uuid/{uuid} # Get item by UUID GET /api/items/export.csv # Export items to CSV GET /api/items/template.csv # CSV import template GET /api/items/export.ods # Export items to ODS @@ -689,6 +693,7 @@ GET /api/items/{partNumber}/bom/export.csv # Export BOM as CSV GET /api/items/{partNumber}/bom/export.ods # Export BOM as ODS POST /api/items/{partNumber}/bom # Add BOM entry [editor] POST /api/items/{partNumber}/bom/import # Import BOM from CSV [editor] +POST /api/items/{partNumber}/bom/merge # Merge BOM from ODS with conflict resolution [editor] PUT /api/items/{partNumber}/bom/{childPartNumber} # Update BOM entry [editor] DELETE /api/items/{partNumber}/bom/{childPartNumber} # Remove BOM entry [editor] @@ -734,11 +739,11 @@ POST /api/inventory/{partNumber}/move ### 12.1 Implemented -- [x] PostgreSQL database schema (11 migrations) +- [x] PostgreSQL database schema (13 migrations) - [x] YAML schema parser for part numbering - [x] Part number generation engine - [x] CLI tool (`cmd/silo`) -- [x] API server (`cmd/silod`) with 75 endpoints +- [x] API server (`cmd/silod`) with 78 endpoints - [x] MinIO integration for file storage with versioning - [x] BOM relationships (component, alternate, reference) - [x] Multi-level BOM (recursive expansion with configurable depth) diff --git a/docs/STATUS.md b/docs/STATUS.md index 3196d27..cac9bbb 100644 --- a/docs/STATUS.md +++ b/docs/STATUS.md @@ -10,10 +10,10 @@ | Component | Status | Notes | |-----------|--------|-------| -| PostgreSQL schema | Complete | 11 migrations applied | +| PostgreSQL schema | Complete | 13 migrations applied | | YAML schema parser | Complete | Supports enum, serial, constant, string segments | | Part number generator | Complete | Scoped sequences, category-based format | -| API server (`silod`) | Complete | 75 REST endpoints via chi/v5 | +| API server (`silod`) | Complete | 78 REST endpoints via chi/v5 | | CLI tool (`silo`) | Complete | Item registration and management | | MinIO file storage | Complete | Upload, download, versioning, checksums | | Revision control | Complete | Append-only history, rollback, comparison, status/labels | @@ -92,5 +92,7 @@ The schema defines 170 category codes across 10 groups: | 007_revision_status.sql | Revision status and labels | | 008_odoo_integration.sql | Odoo ERP integration tables (integrations, sync_log) | | 009_auth.sql | Authentication system (users, api_tokens, sessions, audit_log, user tracking columns) | -| 010_item_extended_fields.sql | Extended item fields (sourcing_type, sourcing_link, standard_cost, long_description) | +| 010_item_extended_fields.sql | Extended item fields (sourcing_type, long_description) | | 011_item_files.sql | Item file attachments (item_files table, thumbnail_key column) | +| 012_bom_source.sql | BOM entry source tracking | +| 013_move_cost_sourcing_to_props.sql | Move sourcing_link and standard_cost from item columns to revision properties |