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?
---
## 5. Categories
Allowed values:
```yaml
category:
- experimental
- research
- project
- product
- business
```
### 5.1 `experimental`
Use for spikes, prototypes, playgrounds, speculative implementations, or early technical experiments.
Main question:
> Can this work?
Typical signs:
- unclear scope,
- unstable architecture,
- created to test an idea,
- may be abandoned without consequence,
- not yet intended for serious reuse.
Examples:
```yaml
category: experimental
```
### 5.2 `research`
Use for knowledge work, standards, canons, terminology, market research, technical exploration, architectural inquiry, and decision support.
Main question:
> What do we need to understand?
Typical signs:
- produces documents, taxonomies, standards, evaluations, or reference material,
- may seed later products or projects,
- not primarily a deployable product,
- often contains `INTENT.md`, research notes, standards, catalogs, or decision records.
Examples:
```yaml
category: research
```
### 5.3 `project`
Use for concrete implementation work with a bounded goal, but not yet productized as a repeatable offering.
Main question:
> Can we build this?
Typical signs:
- defined implementation goal,
- specific deliverables,
- may be internal or external,
- may become a product later,
- may depend on active development milestones.
Examples:
```yaml
category: project
```
### 5.4 `product`
Use for reusable, offerable products or product components with intended users or customers.
Main question:
> Can users or customers use and value this repeatedly?
Typical signs:
- stable user or customer intent,
- repeatable value proposition,
- product requirements exist or are emerging,
- may have pricing, onboarding, support, releases, documentation, UX, or roadmap concerns,
- intended to be used beyond a one-off project.
Examples:
```yaml
category: product
```
### 5.5 `business`
Use for repos organizing commercial, operational, legal, strategic, financial, or organizational activity.
Main question:
> Can this become or support a viable business?
Typical signs:
- company setup,
- business model design,
- legal/compliance work,
- finance planning,
- sales enablement,
- operating model,
- strategy,
- partner management,
- product portfolio control.
Examples:
```yaml
category: business
```
---
## 6. Domains
Allowed values:
```yaml
domain:
- infotech
- financials
- communication
- consumer
- health
- industrials
- energy
- utilities
- materials
- realestate
- crypto
- agents
- space
- government
```
### 6.1 Domain Selection Rule
Choose the primary domain by answering this question:
> If this repo becomes successful, which customer/user sector primarily benefits from it?
Do not classify by technology stack unless the technology stack itself is the product.
Examples:
```yaml
# Generic developer platform
domain: infotech
# AI-based feed editor for general users
domain: communication
secondary_domains:
- agents
# AI orchestration infrastructure for autonomous software work
- [ ]`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` |
| `Platform` | `capability_tags: [platform]`, often `domain: infotech` |
| `Communication` | `domain: communication` if it describes the intended market; otherwise `capability_tags: [communication]` |
| `Civic` | usually `domain: government` |
| `Procurement` | `business_stake: [procurement]`, and sometimes `capability_tags: [procurement]` |
| `Marketplace` | `capability_tags: [marketplace]`, often `domain: financials` or `communication` depending on user/customer context |
---
## 16. Agent Prompt for Repo Classification
Use the following prompt for agent-assisted classification.
```text
Classify this repository according to the Repo Classification Standard.
Return a YAML block with:
- category: one of experimental, research, project, product, business
- 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.