Compare commits

...

2 commits

Author SHA1 Message Date
codex
119c3bee89 Complete CUST-WP-0070: publication category established
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Python Tests / pytest (push) Successful in 24s
Standard at v1.1, repo-manager teaches it as a durable flavor, hall-of-helix
classified. resolve_flavor returns publication for the hall where it previously
fell through to tooling. repo-manager suite: 161 passed.

Also carries generated updates to WORK-RECORDS.md and intakes.md from
fix-consistency.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SQ6oF1DtVDKcD1FCpvRVLx
2026-09-05 22:14:22 +02:00
codex
c0308bb573 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
2026-09-05 22:14:07 +02:00
5 changed files with 71 additions and 11 deletions

View file

@ -68,6 +68,7 @@
| workplan | CUST-WP-0066 | finished | — | workplans/CUST-WP-0066-repository-qualified-ad-hoc-identifiers.md |
| workplan | CUST-WP-0067 | finished | — | workplans/CUST-WP-0067-hub-authority-target-resolution.md |
| workplan | CUST-WP-0068 | finished | — | workplans/CUST-WP-0068-cache-only-work-record-recovery.md |
| workplan | CUST-WP-0070 | active | — | workplans/CUST-WP-0070-publication-repo-category.md |
| task | CUST-WP-ADHOC-2026-05-02-T01 | done | — | workplans/ADHOC-2026-05-02.md |
| task | CUST-WP-ADHOC-2026-07-02-T01 | done | — | workplans/ADHOC-2026-07-02.md |
| task | CUST-WP-ADHOC-2026-08-25-T01 | done | — | workplans/ADHOC-2026-08-25.md |
@ -442,6 +443,9 @@
| task | CUST-WP-0068-T07 | done | — | workplans/CUST-WP-0068-cache-only-work-record-recovery.md |
| task | CUST-WP-0068-T08 | done | — | workplans/CUST-WP-0068-cache-only-work-record-recovery.md |
| task | CUST-WP-0068-T09 | done | — | workplans/CUST-WP-0068-cache-only-work-record-recovery.md |
| task | CUST-WP-0070-T01 | todo | — | workplans/CUST-WP-0070-publication-repo-category.md |
| task | CUST-WP-0070-T02 | todo | — | workplans/CUST-WP-0070-publication-repo-category.md |
| task | CUST-WP-0070-T03 | todo | — | workplans/CUST-WP-0070-publication-repo-category.md |
| intake | CUST-IN-0001 | closed | green | intake-legacy-suggestions-migration.md |
| intake | CUST-IN-0002 | closed | green | intake-legacy-suggestions-migration.md |
| intake | CUST-IN-0003 | closed | green | intake-legacy-suggestions-migration.md |

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

View file

@ -126,4 +126,5 @@ notes: >-
remain (26 in other owner repos and two Custodian substantive reviews), plus
the five conflict rows. CCR-2026-0014 separately tracks a least-privilege
Forgejo source-read token for scheduled Policy Nexus builds.
state_hub_intake_id: "01a07331-68e8-739f-b7c3-9cca28feb5e5"
```

View file

@ -4,7 +4,7 @@ type: workplan
title: "Add the publication category to the Repo Classification Standard"
domain: infotech
repo: the-custodian
status: active
status: finished
owner: claude-code
topic_slug: custodian
priority: medium
@ -13,9 +13,14 @@ updated: "2026-09-05"
quality_dor: DoR-Ok
quality_dor_at: "2026-09-05"
quality_dor_by: claude-code
quality_dod: DoD-Ok
quality_dod_at: "2026-09-05"
quality_dod_by: claude-code
quality_dod_note: "Standard at v1.1 with §5.7, the §5 vocabulary, §11 decision procedure, §16 agent prompt and §17 versioning rule updated; allowed.yaml carries publication plus history/participation in knowledge_and_evidence. repo-manager updated in classification.py, standards.py (DURABLE_FLAVORS) and cli.py — full suite 161 passed. hall-of-helix classified: canon linter ok, fix-consistency 0 warns, resolve_flavor now returns publication where it previously fell through to tooling."
quality_dor_note: "Classifying hall-of-helix exposed a real gap: a published corpus of authored records fits none of the six categories, and the fallback (project) is the only non-durable one, implying eventual retirement of a permanent record. The change is additive and no existing classification becomes invalid, so the enforcement points are known and bounded."
related:
- HOH-WP-0001
state_hub_workstream_id: "6d11d4fd-9882-55db-9010-b35754434b54"
---
# Add the publication category to the Repo Classification Standard
@ -55,8 +60,9 @@ distinguish adding a permitted value (minor) from renaming or removing one
```task
id: CUST-WP-0070-T01
status: todo
status: done
priority: high
state_hub_task_id: "75f56501-1416-5ab4-9d91-405ae532ac6b"
```
In `canon/standards/repo-classification-standard_v1.0.md`:
@ -83,8 +89,9 @@ In `canon/standards/repo-classification.allowed.yaml`:
```task
id: CUST-WP-0070-T02
status: todo
status: done
priority: high
state_hub_task_id: "6c943dec-f676-57af-a004-8c40b0ddebc1"
```
Three hardcoded lists in `~/repo-manager`, plus tests:
@ -101,8 +108,9 @@ turns out to be more than a vocabulary addition.
```task
id: CUST-WP-0070-T03
status: todo
status: done
priority: medium
state_hub_task_id: "0661c1d4-20e5-5d02-9435-eae171b07e13"
```
Write `hall-of-helix/.repo-classification.yaml`: