provenance: "Authored within the Helix Forge effort; promoted into custodian canon as the ecosystem-wide repo classification standard. Custodian is the interim steward."
---
# Repo Classification Standard
**Status:** Draft v1.0
**Scope:** Helix Forge, based and connected information and code repositories
**Purpose:** Provide a simple, stable, and practical classification model for clustering repositories by work category, intended market domain, capabilities, and business responsibility.
---
## 1. Intent
The Repo Classification Standard defines a compact metadata model for organizing repositories across exploratory, research, product, platform, and business work.
It is intended to support:
- repo discovery and clustering,
- product portfolio navigation,
- capability registry views,
- strategic planning,
- agentic coding workflows,
- product and business maturity reviews,
- prioritization across Coulomb, Helix Forge, Coulomb Social, and related efforts.
The standard separates four concerns that are often mixed together:
1.**Category** — what kind of work is this repo?
2.**Domain** — who is this primarily for?
3.**Capabilities** — what does this repo do or enable?
4.**Business stake** — which business responsibilities does this repo affect or support?
---
## 2. Core Classification Schema
Every classified repository SHOULD include the following metadata block.
```yaml
repo_classification:
category: project
domain: infotech
secondary_domains: []
capability_tags: []
business_stake: []
business_mechanics: []
```
A fuller example:
```yaml
repo_classification:
category: product
domain: communication
secondary_domains:
- financials
- agents
capability_tags:
- social-network
- marketplace
- challenges
- reputation
- collaboration
business_stake:
- product
- experience
- sales
- technology
- automation
- intelligence
business_mechanics:
- intention
- coordination
- operation
- adaptation
```
---
## 3. Field Overview
| Field | Required | Cardinality | Purpose |
|---|---:|---:|---|
| `category` | yes | exactly 1 | Work mode, maturity, or organizational purpose of the repo. |
| `secondary_domains` | no | 0..n | Other domains strongly affected or served. |
| `capability_tags` | no | 0..n | Functional or architectural capabilities provided by the repo. |
| `business_stake` | no | 0..n | Business responsibility areas that care about, sponsor, operate, or benefit from the repo. |
| `business_mechanics` | no | 0..n | Viable-business mechanics supported by the repo. |
---
## 4. Classification Principles
### 4.1 Use one primary category
Each repo MUST have exactly one `category`.
The category answers:
> What kind of work is this repo right now?
A repo may evolve from one category to another over time. For example, an `experimental` repo may become a `project`, then a `product`.
### 4.2 Use one primary domain
Each repo MUST have exactly one `domain`.
The domain answers:
> Who is this primarily for?
Classify by intended users, customers, or market context — not by internal implementation detail.
Example:
```yaml
# AI tool for hospitals
category: product
domain: health
secondary_domains:
- agents
```
The implementation uses AI, but the primary domain is `health` because the intended users are in healthcare.
### 4.3 Use secondary domains sparingly
Use `secondary_domains` only when the repo has a meaningful second market/user context.
Do not add every technically related domain. The list should improve navigation, not become noise.
Recommended maximum: **3 secondary domains**.
### 4.4 Use capability tags for what the repo does
Things like `identity`, `knowledge`, `citations`, `platform`, `governance`, `marketplace`, and `coordination` SHOULD usually be capability tags, not domains.
### 4.5 Use business stake for organizational relevance
The `business_stake` field identifies which business perspectives are materially involved.
It should answer:
> Which business responsibility areas need to understand, fund, use, operate, govern, sell, or improve this repo?
- [ ]`category` exists and has exactly one allowed value.
- [ ]`domain` exists and has exactly one allowed value.
- [ ]`secondary_domains` contains only allowed domain values.
- [ ]`secondary_domains` does not repeat the primary `domain`.
- [ ]`capability_tags` use lowercase kebab-case.
- [ ]`business_stake` contains only allowed values.
- [ ]`business_mechanics` contains only allowed values.
- [ ] The primary domain is based on intended users/customers, not implementation detail.
- [ ] The classification helps discovery and does not create unnecessary noise.
---
## 13. Example Classifications
### 13.1 Helix Forge
```yaml
repo_classification:
category: product
domain: infotech
secondary_domains:
- agents
capability_tags:
- platform
- capability-registry
- coordination
- knowledge
- product-development
business_stake:
- product
- technology
- execution
- automation
- intelligence
business_mechanics:
- intention
- coordination
- operation
- adaptation
```
### 13.2 Coulomb Social
```yaml
repo_classification:
category: product
domain: communication
secondary_domains:
- financials
- agents
capability_tags:
- social-network
- marketplace
- challenges
- reputation
- collaboration
business_stake:
- product
- experience
- sales
- technology
- automation
- intelligence
business_mechanics:
- intention
- coordination
- operation
- adaptation
```
### 13.3 Identity Canon
```yaml
repo_classification:
category: research
domain: infotech
secondary_domains:
- government
capability_tags:
- identity
- access-control
- terminology
- canon
- governance
business_stake:
- technology
- legal
- operations
- intelligence
business_mechanics:
- intention
- control
- adaptation
```
### 13.4 NetKingdom
```yaml
repo_classification:
category: product
domain: infotech
secondary_domains: []
capability_tags:
- security
- identity
- platform
- operations
- access-control
business_stake:
- technology
- operations
- legal
- automation
business_mechanics:
- control
- operation
- adaptation
```
### 13.5 Citation Evidence
```yaml
repo_classification:
category: product
domain: infotech
secondary_domains:
- communication
- government
capability_tags:
- citations
- evidence
- knowledge
- traceability
- source-management
business_stake:
- intelligence
- legal
- product
- technology
business_mechanics:
- control
- coordination
- adaptation
```
### 13.6 Adaptive Pricing
```yaml
repo_classification:
category: product
domain: financials
secondary_domains:
- infotech
- agents
capability_tags:
- pricing
- monetization
- lifecycle
- decision-support
- product-development
business_stake:
- finance
- product
- sales
- intelligence
- automation
business_mechanics:
- intention
- control
- adaptation
```
### 13.7 Reuse Surface
```yaml
repo_classification:
category: product
domain: infotech
secondary_domains:
- agents
capability_tags:
- capability-registry
- discovery
- reuse
- maturity
- evidence
business_stake:
- technology
- product
- intelligence
- automation
business_mechanics:
- intention
- control
- adaptation
```
### 13.8 Family Home
```yaml
repo_classification:
category: business
domain: realestate
secondary_domains:
- financials
capability_tags:
- rental-to-own
- ownership
- legal-structure
- housing
business_stake:
- finance
- legal
- sales
- operations
- sustainability
business_mechanics:
- intention
- control
- operation
- adaptation
```
### 13.9 Hallo Oma
```yaml
repo_classification:
category: product
domain: health
secondary_domains:
- communication
- consumer
capability_tags:
- elderly-care
- video-calling
- family-support
- emergency-checkin
business_stake:
- product
- experience
- operations
- technology
- sustainability
business_mechanics:
- coordination
- operation
- adaptation
```
---
## 14. Anti-Patterns
### 14.1 Mixing category and domain
Do not use `research` as a domain or `health` as a category.
Bad:
```yaml
category: health
```
Good:
```yaml
category: research
domain: health
```
### 14.2 Classifying by implementation detail
Bad:
```yaml
# A healthcare scheduling AI
domain: agents
```
Good:
```yaml
domain: health
secondary_domains:
- agents
```
### 14.3 Overusing secondary domains
Bad:
```yaml
secondary_domains:
- infotech
- financials
- communication
- consumer
- agents
- government
```
Good:
```yaml
secondary_domains:
- agents
- government
```
### 14.4 Using vague capability tags
Bad:
```yaml
capability_tags:
- stuff
- misc
- tool
- important
```
Good:
```yaml
capability_tags:
- identity
- access-control
- audit
- policy
```
---
## 15. Migration Notes from Older Statehub / Coulomb Perspectives
Older labels such as `Identity`, `Knowledge`, `Citations`, `Capabilities`, `Governance`, `Platform`, `Communication`, and `Experimental` mixed several different classification concerns.
Recommended migration:
| Old perspective | New placement |
|---|---|
| `Experimental` | `category: experimental` |
| `Identity` | `capability_tags: [identity]` and usually `domain: infotech` |
- domain: one of infotech, financials, communication, consumer, health, industrials, energy, utilities, materials, realestate, crypto, agents, space, government
- secondary_domains: zero or more allowed domains, excluding the primary domain
- capability_tags: lowercase kebab-case tags describing what the repo does or enables
- business_stake: zero or more of execution, intelligence, finance, legal, sales, experience, technology, operations, product, people, procurement, sustainability, automation
- business_mechanics: zero or more of intention, control, coordination, operation, adaptation
Classify by intended users/customers rather than implementation detail.