Skip to content

Release v7.35.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 12:34
2089cdc

Summary

The AI corpus is synced with the latest releases across Cratis, and it now records which release of each product it was last synced to, with a weekly report of what has drifted since.

Added

  • A product sync ledger (.cratis/ai/product-sync.json) records, for each Cratis product, the release the corpus was last synced to and the skills and rules that depend on it; verification keeps it complete and well formed (#619)
  • A drift report (yarn workspace @cratis/ai-verification run drift) and a weekly workflow keep one "AI corpus product drift" issue up to date with the releases not yet read into the corpus; private repositories without access are listed as not checked, and an optional PRODUCT_DRIFT_TOKEN secret lets the workflow check them
  • New skills: cratis-arc-hosting, cratis-chronicle-hosting, cratis-chronicle-decision-reads, cratis-arc-testing-kotlin, cratis-arc-identity-and-tenancy-kotlin and cratis-arc-spring-data-kotlin
  • Experimental Go guidance: cratis/language/go, cratis/engineering/go, cratis/chronicle/client-go and cratis/arc/go profiles with Go rules and skills for Chronicle.Go 0.9.1, Arc.Go 0.1.1 and Fundamentals.Go 0.3.2 (part of #479)
  • An elixir.md language rule, so the Elixir language profile carries guidance
  • The Screenplay skills teach propose-property rename and remove (Screenplay 4.140.0) (part of #597)
  • Specification examples typed by an event, command or read model imported from another document, with PLAY0520 (#604)
  • The auth skill names AuthProxy and its header contract; the application profile points to dotnet new cratis templates; the C# rules name the Cratis architecture analyzers (CRARCH)

Changed

  • Synced with Arc 22.76.0, Chronicle 19.51.0, Fundamentals 7.23.0, Specifications 4.1.1, Orleans 1.16.3, Components 4.26.4, Chronicle.TypeScript 6.51.0, Arc.TypeScript 0.57.2, Chronicle.Kotlin 6.13.0, Arc.Kotlin 7.7.0, Chronicle.Elixir 3.10.2, cratis CLI 3.53.1 and Chronicle.Mcp 2.0.0; each skill's verified sources name the release read (#620)
  • The standalone Screenplay pin moves to 4.141.0 with its published contract; Stage 4.74.0 to 4.76.0 capabilities are taught as standalone Stage, since cratis CLI 3.53.1 still bundles Stage 4.73.1
  • The Chronicle MCP skill states the exact effect of each Chronicle.Mcp 2.0.0 tool, its read-only default and the mutation profile, and warns that it targets the active cratis context
  • The CLI operations guard treats observers remove and observers clear-partition-quarantine as mutating commands
  • Concurrency guidance teaches decision reads (IStreamReads, [ProtectedDecision] with DecisionRead<T>, IDecisionReads) instead of advisory read-model injection
  • Scene packages are named @cratis/scene.* in the Stage scaffold tables

Fixed

  • Arc identity guidance: forwarded identity headers are trusted only with TrustForwardedIdentityHeaders=true, discovery endpoints need authentication outside Development, and the .cratis-identity cookie is gone; the Lens skill states what an app must configure for identity switching
  • Chronicle Workbench guidance: forwarded headers are trusted only from loopback or known proxies, and the screen list includes the Dashboard
  • [OnceOnly] excludes replays; it does not limit a handler to one run per event source
  • Wrong API claims across the Components, TypeScript, Kotlin, Elixir, Fundamentals and Specifications skills, among them toast options, DataPage.onRefresh, multi-selection, the Specifications package name, QueryValidator, QueryPage<T> and the Elixir event struct defaults
  • A (#n) inside an HTML comment no longer closes the issue; the release-notes guidance and hook now give that reason (#505)