055-release-and-crate-publication

Release the library crates: a tag publishes, a human cuts the tag, and nothing else is implied

Lifecycle approvedImplementation completeVerification unknownQualification unknown

No aicortex crate has been published, so host-library consumers (053) pin an exact source revision. This spec makes the five library crates that host-library mode needs (types, claims, gate, store, embed) publishable to crates.io under one lockstep version, adds a release check that packages them and builds a registry-only consumer, and adds a workflow that publishes only from an annotated tag a human pushed. Publication stays a separate human act from merge, deployment, and qualification, and a release note must say which of those it is.

Read the full pinned specification ↗

Relationships

Claimed units

  • establishes
    {
      "kind": "file",
      "path": ".github/workflows/release.yml"
    }
  • establishes
    {
      "kind": "file",
      "path": "scripts/release-check.sh"
    }
  • establishes
    {
      "anchor": "releasing-the-library-crates",
      "file": "docs/release.md",
      "kind": "section"
    }
  • establishes
    {
      "anchor": "changelog",
      "file": "CHANGELOG.md",
      "kind": "section"
    }
  • establishes
    {
      "anchor": "aicortex-types",
      "file": "crates/aicortex-types/README.md",
      "kind": "section"
    }
  • establishes
    {
      "anchor": "aicortex-claims",
      "file": "crates/aicortex-claims/README.md",
      "kind": "section"
    }
  • establishes
    {
      "anchor": "aicortex-gate",
      "file": "crates/aicortex-gate/README.md",
      "kind": "section"
    }
  • establishes
    {
      "anchor": "aicortex-store",
      "file": "crates/aicortex-store/README.md",
      "kind": "section"
    }
  • establishes
    {
      "anchor": "aicortex-embed",
      "file": "crates/aicortex-embed/README.md",
      "kind": "section"
    }
  • extends
    {
      "nature": "additive",
      "spec": "011-memory-model",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-types/Cargo.toml"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "012-store-schema-and-repositories",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-store/Cargo.toml"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "013-write-gate-and-redaction",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-gate/Cargo.toml"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "050-typed-claims-and-predicate-registry",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-claims/Cargo.toml"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "015-embedding-pipeline",
      "unit": {
        "kind": "file",
        "path": "crates/aicortex-embed/Cargo.toml"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "010-chassis-adoption-and-workspace",
      "unit": {
        "kind": "file",
        "path": "deny.toml"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "010-chassis-adoption-and-workspace",
      "unit": {
        "anchor": "workspace.package",
        "file": "Cargo.toml",
        "kind": "section"
      }
    }

Source headings

  1. 055: Release and crate publication
  2. 1. Purpose
  3. 2. Territory
  4. 3. Behavior
  5. 3.1 What publishes and who decides
  6. 3.2 The release check
  7. 3.3 What a release says
  8. 4. Functional requirements
  9. 5. Acceptance criteria
  10. 6. Out of scope
  11. 7. Resolved decisions
  12. Verification

Frozen anchors

No frozen anchors declared.