Skip to content

Commit 34e0637

Browse files
Update documentation to reflect SB15-SB99 subject category restriction
Co-authored-by: AmedeoPelliccia <164860269+AmedeoPelliccia@users.noreply.github.com>
1 parent 1f6d61e commit 34e0637

File tree

2 files changed

+61
-51
lines changed

2 files changed

+61
-51
lines changed

00_00_CAT_LC01_SPACET_nomenclature-quick-reference_v02.md

Lines changed: 42 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Nomenclature Standard Quick Reference
22

3-
## Pattern
3+
## Pattern (v2.0 - 8 Fields)
44

55
```
6-
[ROOT]_[BUCKET]_[TYPE]_[VARIANT]_[DESCRIPTION]_[VERSION].[EXT]
6+
[ROOT]_[BUCKET]_[TYPE]_[LC_OR_SUBBUCKET]_[VARIANT]_[DESCRIPTION]_[VERSION].[EXT]
77
```
88

99
## Field Rules
@@ -13,19 +13,26 @@
1313
| ROOT | 2-3 digits | `00`, `24`, `72`, `115`, `116` |
1414
| BUCKET | 2 digits | `00`, `10`, `20`, `30`, `40`, `50`, `60`, `70`, `80`, `90` |
1515
| TYPE | 2-8 uppercase | `PLAN`, `FHA`, `REQ`, `STD`, `IDX` |
16-
| VARIANT | Uppercase + hyphens | `SPACET`, `DRAFT`, `SYS`, `LC02-SPACET` |
16+
| LC_OR_SUBBUCKET | LC01-LC14 or SB15-SB99 | `LC01`, `LC14`, `SB15`, `SB99` |
17+
| VARIANT | Uppercase + hyphens | `SPACET`, `DRAFT`, `SYS`, `HW-01` |
1718
| DESCRIPTION | lowercase-kebab-case | `safety-program`, `propulsion`, `hazard-log` |
1819
| VERSION | v + 2 digits | `v01`, `v02`, `v10` |
1920
| EXT | lowercase | `md`, `json`, `xlsx`, `pdf` |
2021

2122
## Special Rules
2223

23-
### ⚠️ CRITICAL: BUCKET=00 requires LC prefix
24+
### ⚠️ CRITICAL: Subject Category Rules
2425

25-
If `BUCKET=00`, then `VARIANT` **MUST** start with `LC01` through `LC14`
26+
**If `BUCKET=00`** → Use **LC** (Lifecycle) category:
27+
- `LC_OR_SUBBUCKET` **MUST** be `LC01` through `LC14`
28+
- Example: ✅ `00_00_PLAN_LC02_SPACET_safety-program_v01.md`
29+
- Invalid: ❌ `00_00_PLAN_SB15_SPACET_safety-program_v01.md`
2630

27-
`00_00_PLAN_LC02-SPACET_safety-program_v01.md`
28-
`00_00_PLAN_SPACET_safety-program_v01.md`
31+
**If `BUCKET≠00`** → Use **SB** (Sub-bucket) category:
32+
- `LC_OR_SUBBUCKET` **MUST** be `SB15` through `SB99`
33+
- Example: ✅ `00_70_FHA_SB15_SYS_propulsion_v01.md`
34+
- Invalid: ❌ `00_70_FHA_SB00_SYS_propulsion_v01.md`
35+
- Invalid: ❌ `00_70_FHA_LC01_SYS_propulsion_v01.md`
2936

3037
### Delimiters
3138

@@ -34,18 +41,18 @@ If `BUCKET=00`, then `VARIANT` **MUST** start with `LC01` through `LC14`
3441

3542
## BUCKET Values
3643

37-
| Code | Domain |
38-
|------|--------|
39-
| `00` | Lifecycle (requires LC prefix in VARIANT) |
40-
| `10` | Operations |
41-
| `20` | Primary Subsystem |
42-
| `30` | Circularity |
43-
| `40` | Software |
44-
| `50` | Structures |
45-
| `60` | Storages |
46-
| `70` | Propulsion |
47-
| `80` | Energy |
48-
| `90` | Tables/Schemas/Diagrams/Reference |
44+
| Code | Domain | Subject Category |
45+
|------|--------|------------------|
46+
| `00` | Lifecycle | Uses LC01-LC14 |
47+
| `10` | Operations | Uses SB15-SB99 |
48+
| `20` | Primary Subsystem | Uses SB15-SB99 |
49+
| `30` | Circularity | Uses SB15-SB99 |
50+
| `40` | Software | Uses SB15-SB99 |
51+
| `50` | Structures | Uses SB15-SB99 |
52+
| `60` | Storages | Uses SB15-SB99 |
53+
| `70` | Propulsion | Uses SB15-SB99 |
54+
| `80` | Energy | Uses SB15-SB99 |
55+
| `90` | Tables/Schemas/Diagrams/Reference | Uses SB15-SB99 |
4956

5057
## Approved TYPE Codes
5158

@@ -76,28 +83,31 @@ python validate_nomenclature.py --check-all
7683
### ✅ Valid
7784

7885
```
79-
00_00_PLAN_LC02-SPACET_safety-program_v01.md
80-
00_70_FHA_SYS_propulsion_v01.md
81-
00_40_REQ_SW_software-safety-reqs_v01.md
82-
00_20_TRC_SPACET_traceability-matrix_v01.xlsx
83-
00_90_SCH_GEN_hazard-log-schema_v01.json
84-
24_40_REQ_SW-01_electrical-power-software_v01.md
86+
00_00_PLAN_LC02_SPACET_safety-program_v01.md
87+
00_70_FHA_SB15_SYS_propulsion_v01.md
88+
00_40_REQ_SB15_SW_software-safety-reqs_v01.md
89+
00_20_TRC_SB15_SPACET_traceability-matrix_v01.xlsx
90+
00_90_SCH_SB15_GEN_hazard-log-schema_v01.json
91+
24_40_REQ_SB20_SW_electrical-power-software_v01.md
8592
```
8693

8794
### ❌ Invalid
8895

8996
```
90-
00_00_PLAN_SPACET_safety-program_v01.md # Missing LC prefix
91-
00-70-FHA-SYS-propulsion-v01.md # Wrong delimiter
92-
00_70_FHA_SYS_propulsion_v1.md # VERSION must be vNN
93-
00_99_LST_GEN_glossary_v01.md # Invalid BUCKET
94-
00_70_FHA_SYS_PropulsionFHA_v01.md # Uppercase in DESCRIPTION
95-
00_70_fha_SYS_propulsion_v01.md # Lowercase TYPE
97+
00_00_PLAN_SB15_SPACET_safety-program_v01.md # BUCKET=00 requires LC, not SB
98+
00_70_FHA_SB00_SYS_propulsion_v01.md # SB00 not allowed (must be SB15+)
99+
00_70_FHA_LC01_SYS_propulsion_v01.md # BUCKET≠00 requires SB, not LC
100+
00-70-FHA-SB15-SYS-propulsion-v01.md # Wrong delimiter
101+
00_70_FHA_SB15_SYS_propulsion_v1.md # VERSION must be vNN
102+
00_99_LST_SB15_GEN_glossary_v01.md # Invalid BUCKET
103+
00_70_FHA_SB15_SYS_PropulsionFHA_v01.md # Uppercase in DESCRIPTION
104+
00_70_fha_SB15_SYS_propulsion_v01.md # Lowercase TYPE
96105
```
97106

98107
## Common Mistakes
99108

100-
1. **Missing LC prefix for BUCKET=00**
109+
1. **Wrong subject category for BUCKET=00**: Must use LC01-LC14, not SB
110+
2. **Using SB00-SB14**: Only SB15-SB99 are valid
101111
- Fix: Add `LC01` through `LC14` to start of VARIANT
102112
- Example: `SPACET``LC02-SPACET`
103113

00_00_STD_LC01_SPACET_nomenclature-standard_v02.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ All files must strictly adhere to the **8-field format**:
3636
| **ROOT** | ATA Chapter or Project Code | 2-3 digits | `^\d{2,3}$` |
3737
| **BUCKET** | Domain Classification (OPT-IN + LC) | 2 digits (enum) | `^(00\|10\|20\|30\|40\|50\|60\|70\|80\|90)$` |
3838
| **TYPE** | Artifact Type | 2–8 uppercase alphanumeric | `^[A-Z0-9]{2,8}$` |
39-
| **LC_OR_SUBBUCKET** | Lifecycle Stage or Sub-bucket | LC01-LC14 or SB00-SB99 | `^(LC(0[1-9]\|1[0-4])\|SB\d{2})$` |
39+
| **LC_OR_SUBBUCKET** | Lifecycle Stage or Sub-bucket | LC01-LC14 or SB15-SB99 | `^(LC(0[1-9]\|1[0-4])\|SB(1[5-9]\|[2-9]\d))$` |
4040
| **VARIANT** | Configuration / Baseline / Item Class | uppercase alphanumeric; hyphen allowed | `^[A-Z0-9]+(?:-[A-Z0-9]+)*$` |
4141
| **DESCRIPTION** | Human-readable content label | lowercase kebab-case | `^[a-z0-9]+(?:-[a-z0-9]+)*$` |
4242
| **VERSION** | Revision Control | `v` + 2 digits | `^v\d{2}$` |
@@ -94,7 +94,7 @@ The following set is **approved** for v1.0. Extensions require Configuration Man
9494

9595
This mandatory field encodes either:
9696
- **Lifecycle stage** (LC01-LC14) for `BUCKET=00` files
97-
- **Sub-bucket** identifier (SB00-SB99) for all other buckets
97+
- **Sub-bucket** identifier (SB15-SB99) for all other buckets
9898

9999
**Conditional rules (mandatory):**
100100

@@ -103,21 +103,21 @@ This mandatory field encodes either:
103103
^LC(0[1-9]|1[0-4])$
104104
```
105105
* Valid: `LC01`, `LC02`, ..., `LC14`
106-
* Invalid: `SB00`, `LC00`, `LC15`
106+
* Invalid: `SB15`, `LC00`, `LC15`
107107

108108
2. **If `BUCKET ≠ 00`**`LC_OR_SUBBUCKET` **must** match:
109109
```regex
110-
^SB\d{2}$
110+
^SB(1[5-9]|[2-9]\d)$
111111
```
112-
* Valid: `SB00`, `SB01`, ..., `SB99`
113-
* Invalid: `LC01`, `SB`, `SBXX`
114-
* **Convention**: Use `SB00` if no sub-bucket applies
112+
* Valid: `SB15`, `SB16`, ..., `SB99`
113+
* Invalid: `LC01`, `SB00`, `SB01`, ..., `SB14`, `SB`, `SBXX`
114+
* **Convention**: SB00-SB14 are reserved and not allowed
115115

116116
**Sub-bucket mapping:**
117-
* `SB00` = No sub-bucket / Not applicable
118-
* `SB01` = Maps to directory sub-bucket `*-01_*` (e.g., `00-20-01_*`)
119-
* `SB02` = Maps to directory sub-bucket `*-02_*`
117+
* `SB15` = First available sub-bucket
118+
* `SB16` = Maps to directory sub-bucket (implementation-specific)
120119
* etc.
120+
* Note: SB00-SB14 are reserved and not available for use
121121

122122
### 4.5 `[VARIANT]` (Configuration / Baseline)
123123

@@ -138,7 +138,7 @@ Hyphenated variants are allowed: `SYS-01`, `SW-PLAT-A`.
138138

139139
* Must be lowercase kebab-case.
140140
* Must not duplicate semantic content already encoded in `TYPE` or `BUCKET`.
141-
* Example: avoid `..._FHA_SYS_propulsion-fha_...` → use `..._FHA_SB00_SYS_propulsion_...`
141+
* Example: avoid `..._FHA_SYS_propulsion-fha_...` → use `..._FHA_SB15_SYS_propulsion_...`
142142

143143
### 4.7 `[VERSION]`
144144

@@ -154,7 +154,7 @@ Hyphenated variants are allowed: `SYS-01`, `SW-PLAT-A`.
154154
This regex validates the general filename structure for v2.0:
155155

156156
```regex
157-
^(?<root>\d{2})_(?<bucket>00|10|20|30|40|50|60|70|80|90)_(?<type>[A-Z0-9]{2,8})_(?<stage>(LC(0[1-9]|1[0-4])|SB\d{2}))_(?<variant>[A-Z0-9]+(?:-[A-Z0-9]+)*)_(?<desc>[a-z0-9]+(?:-[a-z0-9]+)*)_(?<ver>v\d{2})\.(?<ext>[a-z0-9]{1,6})$
157+
^(?<root>\d{2})_(?<bucket>00|10|20|30|40|50|60|70|80|90)_(?<type>[A-Z0-9]{2,8})_(?<stage>(LC(0[1-9]|1[0-4])|SB(1[5-9]|[2-9]\d)))_(?<variant>[A-Z0-9]+(?:-[A-Z0-9]+)*)_(?<desc>[a-z0-9]+(?:-[a-z0-9]+)*)_(?<ver>v\d{2})\.(?<ext>[a-z0-9]{1,6})$
158158
```
159159

160160
### 5.2 Conditional Rules (Mandatory)
@@ -168,7 +168,7 @@ CI shall additionally enforce:
168168

169169
* **If `bucket != "00"`** then `stage` matches:
170170
```regex
171-
^SB\d{2}$
171+
^SB(1[5-9]|[2-9]\d)$
172172
```
173173

174174
---
@@ -179,17 +179,17 @@ CI shall additionally enforce:
179179

180180
* Lifecycle (LC) plan:
181181
* `00_00_PLAN_LC02_SPACET_safety-program_v02.md`
182-
* Propulsion FHA (domain bucket with no sub-bucket):
183-
* `00_70_FHA_SB00_SYS_propulsion_v02.md`
182+
* Propulsion FHA (domain bucket with sub-bucket):
183+
* `00_70_FHA_SB15_SYS_propulsion_v02.md`
184184
* Software safety requirements:
185-
* `00_40_REQ_SB00_SW_software-safety-reqs_v02.md`
185+
* `00_40_REQ_SB15_SW_software-safety-reqs_v02.md`
186186
* Traceability matrix workbook:
187-
* `00_20_TRC_SPACET_traceability-matrix_v01.xlsx`
187+
* `00_20_TRC_SB15_SPACET_traceability-matrix_v01.xlsx`
188188
* Reference schema:
189-
* `00_90_SCH_GEN_hazard-log-schema_v01.json`
189+
* `00_90_SCH_SB15_GEN_hazard-log-schema_v01.json`
190190
* Extended ATA code (3-digit ROOT):
191191
* `115_00_PLAN_LC01_SPACET_supply-chain-plan_v01.md`
192-
* `116_70_FHA_SB00_SYS_facility-systems_v01.md`
192+
* `116_70_FHA_SB15_SYS_facility-systems_v01.md`
193193

194194
### 6.2 Invalid examples
195195

0 commit comments

Comments
 (0)