docs: update stale documentation to reflect current state

Closes #1 — Bring documentation in line with implemented features.

GAP_ANALYSIS.md:
- Mark auth system and audit log gaps as Implemented
- Replace FreeCAD Integration section with Client Integration (silo-mod)
- Update Phase 2 sections: auth and audit marked COMPLETE
- Update Appendix A file structure and Appendix B endpoints

STATUS.md:
- Update client integrations to reference silo-mod and silo-calc repos
- Update unit tests row to remove pkg/calc/tests reference

ROADMAP.md:
- Update executive summary with links to silo-mod and silo-calc
- Update unit tests row, CAD gap section references

SPECIFICATION.md:
- Update architecture overview to reference silo-mod and silo-calc
- Update Section 5 Client Integration with both repos

REPOSITORY_STATUS.md:
- Remove Python/FreeCAD row from language stats, update totals
This commit is contained in:
Forbes
2026-02-06 16:18:58 -06:00
parent 31586755b7
commit 004dc9aef0
5 changed files with 356 additions and 310 deletions

View File

@@ -1,6 +1,6 @@
# Silo Development Status
**Last Updated:** 2026-01-29
**Last Updated:** 2026-02-06
---
@@ -10,34 +10,33 @@
| Component | Status | Notes |
|-----------|--------|-------|
| PostgreSQL schema | Complete | 7 migrations applied |
| PostgreSQL schema | Complete | 10 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 | 35+ REST endpoints via chi/v5 |
| API server (`silod`) | Complete | 74 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 |
| Project management | Complete | CRUD, many-to-many item tagging |
| CSV import/export | Complete | Dry-run validation, template generation |
| Web UI | Complete | Items and schemas pages (htmx) |
| ODS import/export | Complete | Items, BOMs, project sheets, templates |
| Multi-level BOM | Complete | Recursive expansion, where-used, CSV/ODS export/import |
| Authentication | Complete | Local (bcrypt), LDAP/FreeIPA, OIDC/Keycloak |
| Role-based access control | Complete | admin > editor > viewer hierarchy |
| API token management | Complete | SHA-256 hashed, bearer auth |
| Session management | Complete | PostgreSQL-backed (pgxstore), 24h lifetime |
| Audit logging | Complete | audit_log table, completeness scoring |
| CSRF protection | Complete | nosurf on web forms |
| Fuzzy search | Complete | sahilm/fuzzy library |
| Web UI | Complete | Items, projects, schemas, audit pages (htmx) |
| Odoo ERP integration | Partial | Config and sync-log CRUD functional; push/pull are stubs |
| Docker Compose | Complete | Dev and production configurations |
| Deployment scripts | Complete | setup-host, deploy, init-db, setup-ipa-nginx |
| systemd service | Complete | Unit file and environment template |
### FreeCAD Workbench
### Client Integrations
| Command | Status | Notes |
|---------|--------|-------|
| Silo_Save | Implemented | Auto-save + upload to MinIO |
| Silo_Commit | Implemented | Save with revision comment |
| Silo_Pull | Implemented | Download / create items |
| Silo_Push | Implemented | Batch upload modified files |
| Silo_Info | Implemented | View revision history |
| Silo_Register | Implemented | Generate part number for document |
| Silo_Open | Implemented | Open item by part number |
| Silo_Browse | Implemented | Browse items in list dialog |
Workbench needs end-to-end testing with a running Silo instance.
FreeCAD workbench and LibreOffice Calc extension are maintained in separate repositories ([silo-mod](https://git.kindred-systems.com/kindred/silo-mod), [silo-calc](https://git.kindred-systems.com/kindred/silo-calc)). The server provides the REST API and ODS endpoints consumed by those clients.
### Not Yet Implemented
@@ -47,7 +46,7 @@ Workbench needs end-to-end testing with a running Silo instance.
| Inventory API endpoints | Database tables exist, no REST handlers |
| Date segment type | Schema parser placeholder only |
| Part number format validation | API accepts but does not validate format on creation |
| Unit tests | No test coverage |
| Unit tests | Minimal: 1 Go test file (`internal/ods/ods_test.go`) |
---
@@ -65,7 +64,7 @@ Workbench needs end-to-end testing with a running Silo instance.
The part numbering schema (`kindred-rd`) is at **version 3** using the `{category}-{sequence}` format (e.g., `F01-0001`). This replaced the earlier `{project}-{type}-{sequence}` format. Projects are now managed as many-to-many tags rather than being embedded in part numbers.
The schema defines 70+ categories across 10 groups:
The schema defines 170 category codes across 10 groups:
- F01-F18: Fasteners
- C01-C17: Fluid Fittings
- R01-R44: Motion Components
@@ -90,3 +89,6 @@ The schema defines 70+ categories across 10 groups:
| 005_property_schema_version.sql | Property versioning framework |
| 006_project_tags.sql | Many-to-many project-item relationships |
| 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) |