Revision Scheme
Overview
The revision scheme configuration system allows you to define how component revisions are managed throughout their lifecycle. It enables you to:
Define revision formats for different lifecycle stages
Configure validation rules for revision transitions
Specify allowed characters and patterns
Set up automatic increment rules
Establish consistent revision naming across your library
This configuration serves as the foundation for maintaining traceable and well-structured revision control in your product development process.
Schema
The revision scheme is defined in a YAML file that specifies how revisions should be formatted and validated at each lifecycle stage.
Basic Structure
version: "1.0"
schema_type: "revision_scheme_config"
defaults:
segments:
integer:
min_value: 1
max_value: 999
letter:
min_value: "A"
max_value: "ZZ"
delimiter: "."
empty_value: "-"
Define Status Order
Establish the progression of lifecycle stages:
status_order:
- "Design"
- "Prototype"
- "Production"
- "Obsolete"
Configure Revision Schemes
Define revision formats for each status:
schemes:
- status: "Design"
description: "Initial design phase revisions"
segments:
major:
type: "letter"
delimiter: ""
required: true
minor:
type: "integer"
min_value: 1
max_value: 99
required: false
examples:
- "A"
- "A.1"
Segment Types
Letter Segment
major:
type: "letter"
delimiter: ""
required: true
min_value: "A"
max_value: "Z"
Integer Segment
minor:
type: "integer"
delimiter: "."
required: false
min_value: 1
max_value: 99
Either Type Segment
identifier:
type: "either" # Allows both letter and integer
delimiter: ""
required: true
Validation Rules
Define rules for revision transitions and validation:
validation:
allowed_segment_types:
- "integer"
- "letter"
- "either"
required_fields:
- "status"
- "segments.major"
transitions:
allowed:
- from: "Design"
to: ["Prototype", "Obsolete"]
- from: "Prototype"
to: ["Production", "Obsolete"]
Character Blacklist
Specify characters to exclude from revision schemes:
blacklist:
- "I" # Avoid confusion with 1
- "O" # Avoid confusion with 0
- "Q" # Avoid confusion with 0
- "S" # Avoid confusion with 5
Common Patterns
Simple Letter-Based Revisions
schemes:
- status: "Design"
segments:
major:
type: "letter"
required: true
Letter with Numeric Suffix
schemes:
- status: "Production"
segments:
major:
type: "letter"
required: true
minor:
type: "integer"
delimiter: "."
required: true
Mixed Format for Obsolescence
schemes:
- status: "Obsolete"
segments:
major:
type: "either"
required: true
Best Practices
Revision Format
Keep formats simple and intuitive
Use consistent delimiters
Consider future scaling needs
Lifecycle Stages
Define clear progression paths
Limit revision format changes between stages
Document transition rules
Validation
Blacklist confusing characters
Set appropriate value ranges
Define clear transition rules
Documentation
Include examples for each scheme
Document special cases
Maintain transition matrices
Examples
Basic Development Scheme
schemes:
- status: "Design"
segments:
major:
type: "letter"
examples:
- "A"
- "B"
- "C"
Production Scheme
schemes:
- status: "Production"
segments:
major:
type: "letter"
minor:
type: "integer"
delimiter: "."
examples:
- "A.1"
- "B.2"
- "C.10"
Note: Examples should reflect your actual use cases and common scenarios.
Last updated