Skip to content

CM0 Sub-1: CM0 document grammar (α-Parts / β-Fit / γ-Evolve) + schemas/cm.cue #78

Description

@usurobor

Parent: #77 (CM0-compiler wave). Filing role: κ. Dispatch: .cdd/DISPATCH §5.2 single-session δ-as-γ — γ-axis grade capped at A− per release/SKILL.md §3.8 (state this in the closeout).
Mode: design-and-build. Depends on: nothing (foundation). Parallel with: Sub-2.

Problem

What exists: CM0 ships as a mature prose methodology — skills/cm-of-cms/SKILL.md (§1–§8: triad-against-an-instrument, consistency protocol, mechanical/LLM split, self-application fixed point, adversarial/admissibility doctrine) + schemas/skill.cue #CoherenceMethodology.
What is expected: CM0 restated as a typed document in the compiler grammar — # α — Parts, # β — Fit, # γ — Evolve with H2 clauses that are measurable, not prose comments; plus schemas/cm.cue defining the CM document contract a candidate CM must satisfy.
Where they diverge: the current skill is prose-structured (§1–§8), not the α-Parts/β-Fit/γ-Evolve H1/H2 form; there is no cm.cue; the required-parts list (Purpose, Scope, Axes, Evidence, Preregs, Factorization, Judgment, Aggregation, Consistency, Discrimination, Refusal, Report) is not a typed contract.

Impact

This is the first shipping unit of the wave: the grammar and schema, not the runner. Sub-3 (coh cm-compile) has nothing to typecheck against until cm.cue and the H2-clause form exist. Ship this wrong and every downstream sub inherits the drift.

Status truth

CM0 exists and is rich; this restructures it — no greenfield claim. schemas/skill.cue exists; cm.cue extends/supersedes it (state the relationship explicitly in the schema header — supersede vs. import).

Source of truth

Claim / surface Canonical source Status
Existing CM0 methodology skills/cm-of-cms/SKILL.md Shipped — restructured here
Existing comparable contract schemas/skill.cue (#CoherenceMethodology/#CMOfCMs) Shipped — cm.cue extends/supersedes
New CM0 canonical doc docs/beta/governance/CM0.md Created here
Master design intent #77 This issue's source

PINNED CONSTRAINT — the axis rename is a γ-migration event (do not drift)

The existing CM0 α = instrument self-agreement / consistency. The new CM0 α = Parts, with consistency pulled out into a separate standing axis (α Parts / β Fit / γ Evolve / Consistency standing). β (Fit) and γ (Evolve) align with the existing decomposition; α does not. Renaming an axis on the self-referential 0th methodology is exactly the γ ## Migration / ## Standing Discipline discipline CM0 itself demands. Therefore:

  • Treat the rename as a versioned migration: bump the CM0 document version, and add a ## Migration Rules entry that states old readings (α = consistency) remain interpretable and maps them onto the new decomposition (consistency → the separate standing axis).
  • The rewritten CM0 must pass its own Migration/Standing-Discipline clauses — i.e. CM0 may not silently redefine its own axes. If it can't satisfy its own migration clause, that is a finding, not a footnote.

Acceptance criteria

AC1: CM0 authored in its own grammar

docs/beta/governance/CM0.md exists with H1 α — Parts / β — Fit / γ — Evolve; skills/cm-of-cms/SKILL.md restructured to the same grammar (or a clear pointer to CM0.md as canonical, no contradiction between them).

  • Invariant: the three H1 sections are present and each H2 is a measurable clause (id, axis, evidence, mechanical_checks, semantic_checks, failure_modes, actions), not prose.
  • Oracle: a section-presence check over CM0.md.
  • Positive: all required α organs present → structural pass.
  • Negative: an α organ removed → structural fail.
  • Surface: docs/beta/governance/CM0.md, skills/cm-of-cms/SKILL.md.

AC2: schemas/cm.cue types the CM document

schemas/cm.cue defines the CM document contract: the required α-Parts organ set, the β-Fit relation set, the γ-Evolve clause set, and the H2-clause shape.

  • Oracle: cue vet CM0.md-as-data against cm.cue passes; a CM missing an organ fails vet.
  • Positive: CM0 itself vets clean. Negative: an organ-less stub fails.

AC3: the axis-rename migration is recorded (PINNED CONSTRAINT)

CM0.md ## Migration Rules records the α redefinition as a versioned migration with an old→new mapping; CM0 passes its own migration clause.

  • Oracle: migration entry present + self-consistency check.

AC4: cm.cue ↔ skill.cue relationship declared

cm.cue header states whether it imports, extends, or supersedes #CoherenceMethodology; no silent divergence between the two contracts.

Proof plan

  • Invariant: a CM document is well-formed iff it presents the required α/β/γ organs and each H2 is typed.
  • Oracle: cue vet + section-presence check.
  • Positive: CM0.md vets clean and self-passes its migration clause.
  • Negative: organ-less stub fails vet; a CM that renames an axis without a migration entry fails the self-check.
  • Known gap: this sub ships the grammar and contract, not the compiler that runs them (Sub-3).

Non-goals

No coh cm-compile implementation (Sub-3). No prereg schema (Sub-2). No change to the scalar meter; no meter-consistency reopen; no v3.2.5. CM0 claims no authority from self-checking.

Closure

Closeable when AC1–AC4 met, CM0.md vets against cm.cue, the axis-rename migration is recorded and self-passes, non-goals unviolated, and the γ cap A− is stated in the closeout.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High prioritycddApplied to every issue that runs a CDD cycle

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions