diff --git a/WORK-RECORDS.md b/WORK-RECORDS.md index e731973..f52b6b4 100644 --- a/WORK-RECORDS.md +++ b/WORK-RECORDS.md @@ -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 | diff --git a/canon/standards/repo-classification-standard_v1.0.md b/canon/standards/repo-classification-standard_v1.0.md index 6c8fb56..279cd13 100755 --- a/canon/standards/repo-classification-standard_v1.0.md +++ b/canon/standards/repo-classification-standard_v1.0.md @@ -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 ``` --- diff --git a/canon/standards/repo-classification.allowed.yaml b/canon/standards/repo-classification.allowed.yaml index be42d49..1469da0 100644 --- a/canon/standards/repo-classification.allowed.yaml +++ b/canon/standards/repo-classification.allowed.yaml @@ -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 diff --git a/intakes.md b/intakes.md index f22d865..bd4356a 100644 --- a/intakes.md +++ b/intakes.md @@ -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" ``` diff --git a/workplans/CUST-WP-0070-publication-repo-category.md b/workplans/CUST-WP-0070-publication-repo-category.md index 6b54a6c..ecf9c4a 100644 --- a/workplans/CUST-WP-0070-publication-repo-category.md +++ b/workplans/CUST-WP-0070-publication-repo-category.md @@ -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`: