Add revision control and project tagging migration

This commit is contained in:
Forbes
2026-01-24 16:27:18 -06:00
parent c327baf36f
commit b396097715
11 changed files with 2941 additions and 229 deletions

View File

@@ -1,22 +1,24 @@
# Kindred Systems R&D Part Numbering Schema
#
# Format: XXXXX-CCC-NNNN
# XXXXX = Project code (5 alphanumeric chars)
# Format: CCC-NNNN
# CCC = Category/subcategory code (e.g., F01, R27)
# NNNN = Sequence (4 alphanumeric, scoped per category)
# NNNN = Sequence (4 digits, scoped per category)
#
# Examples:
# CS100-F01-0001 (Current Sensor, Screws/Bolts, seq 1)
# 3DX15-R27-0001 (3D Printer Extruder, Servo Motor, seq 1)
# 3DX10-S05-0002 (Extrusion Screw Unit, T-Slot Extrusion, seq 2)
# F01-0001 (Screws/Bolts, seq 1)
# R27-0001 (Servo Motor, seq 1)
# S05-0002 (T-Slot Extrusion, seq 2)
#
# Note: Projects are managed separately as tags (many-to-many relationship).
# Parts can be associated with multiple projects.
#
# Note: Documents and drawings share part numbers with the items they describe
# and are managed as attachments/revisions rather than separate items.
schema:
name: kindred-rd
version: 2
description: "Kindred Systems R&D hierarchical part numbering"
version: 3
description: "Kindred Systems R&D part numbering (category-sequence)"
separator: "-"
@@ -25,17 +27,6 @@ schema:
case_sensitive: false
segments:
# Project identifier (5 alphanumeric characters)
- name: project
type: string
length: 5
case: upper
description: "5-character project identifier"
validation:
pattern: "^[A-Z0-9]{5}$"
message: "Project code must be exactly 5 alphanumeric characters"
required: true
# Category/subcategory code
- name: category
type: enum
@@ -118,7 +109,7 @@ schema:
R34: "Pneumatic Actuator"
R35: "Pneumatic Valve"
R36: "Pneumatic Regulator"
R37: "Pneumatic FRL Unit"
R37: "Other Pneumatic Device"
R38: "Air Compressor"
R39: "Vacuum Pump"
R40: "Hydraulic Cylinder"
@@ -231,23 +222,23 @@ schema:
X07: "Laser Cut Part"
X08: "Waterjet Cut Part"
# Sequence number (alphanumeric, scoped per category)
# Sequence number (scoped per category)
- name: sequence
type: serial
length: 4
padding: "0"
start: 1
description: "Sequential identifier (alphanumeric, per category)"
description: "Sequential identifier (per category)"
scope: "{category}"
format: "{project}-{category}-{sequence}"
format: "{category}-{sequence}"
examples:
- "CS100-F01-0001"
- "3DX15-R27-0001"
- "3DX10-S05-0002"
- "CS100-E20-0001"
- "3DX15-A01-0001"
- "F01-0001"
- "R27-0001"
- "S05-0002"
- "E20-0001"
- "A01-0001"
# Property schemas per category
property_schemas: