Files
silo/docs/STATUS.md
2026-01-29 13:10:12 -06:00

3.5 KiB

Silo Development Status

Last Updated: 2026-01-29


Implementation Status

Core Systems

Component Status Notes
PostgreSQL schema Complete 7 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
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)
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

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.

Not Yet Implemented

Feature Notes
Location API endpoints Database tables exist (locations, inventory), no REST handlers
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

Infrastructure

Service Host Status
PostgreSQL psql.kindred.internal:5432 Running
MinIO localhost:9000 (API) / :9001 (console) Configured
Silo API localhost:8080 Builds successfully

Schema Status

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:

  • F01-F18: Fasteners
  • C01-C17: Fluid Fittings
  • R01-R44: Motion Components
  • S01-S17: Structural Materials
  • E01-E27: Electrical Components
  • M01-M18: Mechanical Components
  • T01-T08: Tooling and Fixtures
  • A01-A07: Assemblies
  • P01-P05: Purchased/Off-the-Shelf
  • X01-X08: Custom Fabricated Parts

Database Migrations

Migration Description
001_initial.sql Core schema (items, revisions, relationships, locations, inventory, sequences)
002_sequence_by_name.sql Sequence naming changes
003_remove_material.sql Schema cleanup
004_cad_sync_state.sql CAD synchronization state
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