Skip to content

Release v0.3.0

Choose a tag to compare

@github-actions github-actions released this 06 Sep 21:04
6975ac4

Three skills move out of the legacy .ai/skills tree into the canonical trees that profiles actually ship from, and the catalog stops describing them as unclassified placeholders. The legacy twins stay in place — retiring them is sequenced by #256.

Added

  • cratis-specifications-csharp — C# Specification by Example with Cratis.Specifications: the Establish/Because/should_ pattern, the for_/when_/and_ hierarchy, reusable given/ contexts, the four in-process scenario helpers, and out-of-process Chronicle integration. Available through public-specifications-dotnet (#174)
  • cratis-specifications-typescript — TypeScript specifications with the given() helper, context classes, Sinon stubbing, and the Chai .should interface. Available through public-specifications-typescript (#174)
  • cratis-engineering-csharp-conventions — the Cratis C# house conventions: formatting, naming, records and primary constructors, nullable handling, XML documentation, custom exceptions, structured logging, dependency injection and service lifetimes, and the CUPID/domain-based philosophy. Available through engineering-base, and inherited by engineering-specifications (#174)

Changed

  • The three skills are self-contained. The rule content they previously linked to under .ai/rules is repository-only and cannot ship through a profile, so the folder and naming philosophy, the never-sleep discipline, the scenario family, the singleton/tenant lifetime rule, and the implementation-discovery rule are carried in the skills and their references instead of linked (#174)
  • Package versions are stated from the published Cratis.Specifications, Cratis.Arc.Testing, and Cratis.Chronicle.Testing releases rather than inherited from the legacy text (#174)
  • public-specifications-dotnet, public-specifications-typescript, and engineering-base carry real content and move to preview-source-candidate, with gap summaries describing what is still missing rather than everything (#174)
  • The three catalog targets are classified: capability kind, invocation, applicability, trust effects, dependency edges, source contracts, and authoring contract. Security disposition stays pending and evaluation statuses stay missing, because no review or evaluation has been run for them (#174)
  • Each source record and distribution component points at the canonical tree with matching repository-snapshot provenance, so the digest, the revision, and the shipped bytes agree. Each retained legacy twin is modeled as its own repository-only component, and the .claude/.agents/.github skill projections move onto it — those folder symlinks resolve into .ai/skills and never exposed the canonical tree (#174)
  • public-skill-sources-and-resources moves from blocked-by-distribution-decision to retire-after-evidence, and mcp-generated-guidance-references to retain. #266 replaced the generated distribution with direct installation from main, so nothing about how content ships blocks them; what remains is retirement sequencing (#174)