# SPECUS Product Naming System

*Scalable code system for Specus products, modules, files, kits and art objects*

Статус: working draft  
Назначение: продуктовые коды, архив, GitHub repositories, документация, component cards, packaging, website, API / dataset clarity.

Связанные документы: [Методологический словарь](./specus-methodological-glossary.md), [SGDO-1 / SGH-O1](../gear/sgdo-1/sgdo-1-project-description.md), [Future Memory Art Object](../art/future-memory/specus-future-memory-art-object-variants.md), [Content Plan](../content-plan/specus-content-plan.md)

---

## 1. Core Principle

Each symbol in the name represents exactly one dimension.

The naming system must not mix:

- origin;
- product type;
- access model;
- index;
- descriptive title.

The code should be readable as a system code, not as a poetic name.

---

## 2. Canonical Structure

```text
[Brand][Type]-[Access][Index]
```

If access is not yet specified:

```text
[Brand][Type]-[Index]
```

The descriptive product name comes after the code:

```text
SGH-O1 / D-Ring Open
```

This keeps the system scalable while allowing human-readable names.

---

## 3. Brand / Origin Layer

The brand layer defines where the object belongs.

```text
S  = Specus
SG = Specus Gear
SW = Specus Watch
SO = Specus Objects / Specus Art Objects
```

Notes:

- `SA-1` already exists as the watch model name, so `SA` should not be used as a product-origin code.
- `SO` keeps the art-object branch legible without colliding with the existing watch name.
- `SPC` remains the methodological / system layer, not a product origin code.

---

## 4. Product Type Layer

The type layer defines what kind of thing the object is.

```text
H = Hardware / physical product
D = Digital / files, datasets, models
K = Kit / bundled system
I = Interface / standard, protocol, connection rule
M = Module / component within a larger system
A = Art Object / exhibition object
```

Rules:

- `Open` is not a product type.
- `D-Ring` is not a product type in the system code. It is a descriptive product title.
- A watch, a D-ring, a crown cap and a pin can all be hardware, but their descriptive titles remain separate from the code.

---

## 5. Access Model Layer

The access layer defines how the object is distributed.

```text
O = Open / free, community-driven, open-source
P = Paid / Pro / commercial
C = Core / flagship / controlled mainline
```

The access layer is optional when the access model is not yet confirmed.

Examples:

```text
SGH-1  = Specus Gear hardware product #1, access not specified
SGH-O1 = Specus Gear hardware product #1, open version
SGH-P1 = Specus Gear hardware product #1, paid / pro version
SGD-O1 = Specus Gear digital product #1, open version
SWM-P1 = Specus Watch module #1, paid / pro version
```

Preferred art-object example:

```text
SOA-1  = Specus Objects art object #1, access not specified
SOA-O1 = Specus Objects art object #1, open documentation / public version
```

---

## 6. Index Layer

The index identifies the product number or version inside the selected origin/type/access combination.

Rules:

- use numeric indexes;
- keep the first product as `1`, not `01`, unless the whole system commits to two-digit indexes;
- open and paid versions of the same base product share the same index;
- variants should not create unrelated names.

Example:

```text
SGH-O1 = open hardware version of Specus Gear product #1
SGH-P1 = paid / pro hardware version of the same product family
```

---

## 7. Current Project Mapping

### 7.1. SGDO-1

Current public / repository name:

```text
SGDO-1 — Specus Gear D-Ring Open #1
```

Recommended system code:

```text
SGH-O1 / D-Ring Open
```

Why:

- `SG` = Specus Gear;
- `H` = hardware;
- `O` = open;
- `1` = first product;
- `D-Ring Open` remains the descriptive name.

Important:

`SGDO-1` should be treated as an early descriptive slug or legacy public name. It should not become the pattern for future products, because `D` would conflict with `Digital`.

### 7.2. Future Memory Art Object

Recommended system code, if the art-origin layer is accepted:

```text
SOA-1 / Future Memory Art Object
```

For now, the object can remain title-first:

```text
Specus Future Memory Art Object
```

The system code can be added when it becomes a physical prototype or exhibition object.

### 7.3. SA-1 Watch

`SA-1` should remain a model name for the first watch project.

If a future system code is needed, use a separate mapping rather than renaming the watch:

```text
SA-1 / SWH-C1
```

Meaning:

- `SW` = Specus Watch;
- `H` = hardware;
- `C` = core / flagship;
- `1` = first watch hardware product.

---

## 8. Rules

1. Do not mix dimensions.
2. One symbol must have one meaning.
3. Product descriptors must stay outside the system code.
4. Open and production versions are variants of the same base product.
5. The code should work in filenames, repositories, packaging, component cards and APIs.
6. Public names can be more expressive, but documentation should include the system code.

---

## 9. Recommended Format in Documents

Use this pattern:

```text
System code: SGH-O1
Public name: SGDO-1 / Specus Gear D-Ring Open #1
Descriptive title: D-Ring Open
Status: open-source prototype
```

This allows Specus to keep early names while building a scalable architecture.
