canon(classification): add the publication category, standard v1.1

Implements CUST-WP-0070-T01.

New §5.7 publication: repos whose purpose is to publish and keep a body of
authored content for readers, where the corpus itself is the deliverable. It is
durable, unlike project — a published record is kept, not resolved and retired.
Disambiguated against research (which asks what we need to understand), product,
and tooling (a wiki engine is tooling; the corpus it serves is a publication).

Added to the §5 allowed values, the §11 decision procedure, the §16 agent
prompt, and allowed.yaml. history and participation join the
knowledge_and_evidence capability family so hall-of-helix's tags do not warn.

Version 1.1, not 2.0: §17 previously read any allowed-value change as major.
This addition is purely additive — no existing classification becomes invalid,
and neither validator enforces a version match, so the 125 repo files declaring
1.0 keep validating. §17 now distinguishes adding a permitted value (minor) from
removing or renaming one (major), rather than leaving the rule contradicted.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SQ6oF1DtVDKcD1FCpvRVLx
This commit is contained in:
codex 2026-09-05 22:14:07 +02:00
parent c70d7899bb
commit c0308bb573
2 changed files with 54 additions and 7 deletions

View file

@ -5,14 +5,14 @@ title: "Repo Classification Standard"
domain: custodian
scope: all-domains
status: active
version: "1.0"
version: "1.1"
created: "2026-06-22"
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
**Status:** Draft v1.1
**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.
@ -167,6 +167,7 @@ category:
- tooling
- product
- business
- publication
```
### 5.1 `experimental`
@ -316,6 +317,44 @@ category: business
---
### 5.7 `publication`
Use for repos whose purpose is to publish and keep a body of authored content
for readers — halls, records of participation, archives, anthologies, edited
collections. The corpus itself is the deliverable.
Main question:
> What do we put on the record, and keep readable?
Typical signs:
- the repository *is* the content, not a system that handles content,
- entries are authored and attributed rather than generated,
- the collection grows and is curated; it is not expected to retire,
- an explicit contract for what an entry must contain,
- tooling exists only to check or render the corpus.
Examples:
```yaml
category: publication
```
**Disambiguation.** `publication` is durable, like the other categories and
unlike `project`: a published record is kept, not resolved and retired.
- Not `research`: research asks "what do we need to understand?" and produces
standards, taxonomies, and reference material. A publication asks what should
be on the record and readable. This standard is `research`; a hall of authored
first-person entries is `publication`.
- Not `product`: a publication is not a repeatable offering with consumers to
onboard, even when it is public.
- Not `tooling`: a wiki engine, a documentation generator, or a citation service
is `tooling`; the corpus it serves may be a separate `publication` repo.
---
## 6. Domains
Allowed values:
@ -692,6 +731,7 @@ Ask:
4. Is this reusable internal tooling/infrastructure supporting other work? → `tooling`
5. Is this reusable and offerable to users/customers? → `product`
6. Is this about commercial, legal, financial, strategic, or organizational viability? → `business`
7. Is the repository itself an authored, curated body of content kept for readers? → `publication`
### Step 2: Identify the primary domain
@ -1118,7 +1158,7 @@ Use the following prompt for agent-assisted classification.
Classify this repository according to the Repo Classification Standard.
Return a YAML block with:
- category: one of experimental, research, project, tooling, product, business
- category: one of experimental, research, project, tooling, product, business, publication
- 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
@ -1137,14 +1177,18 @@ Provide a brief rationale after the YAML.
This standard SHOULD be versioned semantically.
- Patch version: wording clarifications, examples, typo fixes.
- Minor version: new optional fields, new examples, non-breaking guidance.
- Major version: renamed fields, changed allowed values, changed classification semantics.
- Minor version: new optional fields, new examples, non-breaking guidance, and
**adding** a permitted value to a controlled vocabulary — additive changes
leave every existing classification valid.
- Major version: renamed fields, **removed or renamed** allowed values, changed
classification semantics — anything that can invalidate a classification
already written.
Current version:
```yaml
standard: Repo Classification Standard
version: 1.0
version: 1.1
```
---

View file

@ -9,7 +9,7 @@
# to match the standard version. CUST-WP-0050 T01.
standard: "Repo Classification Standard"
version: "1.0"
version: "1.1"
canon_id: "canon-repo-classification"
# category — exactly 1 required (§5)
@ -20,6 +20,7 @@ categories:
- tooling
- product
- business
- publication
# domain / secondary_domains — primary exactly 1; secondaries 0..n (§6)
domains:
@ -81,6 +82,8 @@ capability_families:
- traceability
- documentation
- decision-support
- history
- participation
platform_and_operations:
- platform
- deployment