@cratis/pi 7.60.1 → 7.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/package/corpus/agents/spec-writer.md +2 -2
  2. package/package/corpus/harnesses/copilot/instructions/application-profile.instructions.md +2 -2
  3. package/package/corpus/harnesses/copilot/instructions/glossary.instructions.md +2 -2
  4. package/package/corpus/harnesses/copilot/instructions/profiles.instructions.md +2 -0
  5. package/package/corpus/harnesses/copilot/instructions/specs.scenarios.csharp.instructions.md +7 -4
  6. package/package/corpus/harnesses/copilot/instructions/vertical-slices.instructions.md +22 -13
  7. package/package/corpus/product-sync.json +3 -2
  8. package/package/corpus/prompts/add-business-rule.prompt.md +1 -1
  9. package/package/corpus/rules/application-profile.md +2 -2
  10. package/package/corpus/rules/glossary.md +2 -2
  11. package/package/corpus/rules/issue-assignment.md +31 -0
  12. package/package/corpus/rules/profiles.md +2 -0
  13. package/package/corpus/rules/specs.scenarios.csharp.md +7 -4
  14. package/package/corpus/rules/vertical-slices.md +22 -13
  15. package/package/corpus/skills/cratis-application-slice-specifications/SKILL.md +4 -3
  16. package/package/corpus/skills/cratis-application-slice-specifications/references/query-and-decision-scenarios.md +12 -3
  17. package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/SKILL.md +12 -7
  18. package/package/corpus/skills/cratis-arc-authentication-authorization-and-identity/references/authorization.md +11 -11
  19. package/package/corpus/skills/cratis-arc-command/SKILL.md +3 -2
  20. package/package/corpus/skills/cratis-arc-command/references/decisions-and-routing.md +95 -51
  21. package/package/corpus/skills/cratis-arc-command/references/fresh-identifiers.md +5 -2
  22. package/package/corpus/skills/cratis-arc-command/references/read-model-injection.md +9 -5
  23. package/package/corpus/skills/cratis-arc-command-validation/SKILL.md +99 -52
  24. package/package/corpus/skills/cratis-chronicle-decision-reads/SKILL.md +37 -15
  25. package/package/corpus/skills/cratis-chronicle-decision-reads/references/admission-and-ownership.md +3 -2
  26. package/package/corpus/skills/cratis-chronicle-decision-reads/references/choosing-how-a-rule-holds.md +277 -138
  27. package/package/corpus/skills/cratis-chronicle-event-constraints/SKILL.md +4 -4
  28. package/package/corpus/skills/cratis-chronicle-event-modeling/SKILL.md +6 -4
  29. package/package/corpus/skills/cratis-chronicle-read-model/SKILL.md +2 -1
  30. package/package/corpus/skills/cratis-chronicle-reducer/SKILL.md +6 -3
  31. package/package/corpus/skills/cratis-code-review/SKILL.md +6 -3
  32. package/package/corpus/skills/cratis-screenplay-streams-and-consistency/references/consistency-and-concurrency.md +5 -3
  33. package/package/corpus/skills/cratis-specifications-csharp/SKILL.md +3 -2
  34. package/package/corpus/skills/cratis-specifications-csharp/references/application-scenarios.md +1 -1
  35. package/package.json +1 -1
@@ -101,9 +101,11 @@ another event source) in `Provide()`/`Handle()` and returning a validation resul
101
101
  at commit is reported as a concurrency violation. Equivalently a Chronicle decision-consistency
102
102
  read with a `concurrency` scope on the event source or stream. A passive read is fresh
103
103
  computation, not an atomic read-and-append; a plain materialized view and a validator are
104
- advisory. Protection covers only a single projection keyed directly by the event source id (routing key
105
- empty or `$eventSourceId`). Reducers, joins, children, nested sources and **event-property
106
- routing** (fan-in from many streams by a payload reference) are refused, and a concurrency scope
104
+ advisory under Arc read protection `Off` (the default); under `On` (Arc 22.106.0 or later) the read
105
+ model parameters of `Handle()` and of a validator constructor are guarded. Protection covers a single
106
+ projection keyed directly by the event source id (routing key empty or `$eventSourceId`) and an
107
+ unfiltered reducer without constructor dependencies. Filtered reducers, reducers with dependencies,
108
+ joins, children, nested sources and **event-property routing** (fan-in from many streams by a payload reference) are refused, and a concurrency scope
107
109
  on the referenced source does not see appends made on other sources. A rule over such a view, for
108
110
  example a course capacity computed from enrolment streams, needs option a or b: write the
109
111
  deciding fact on the source that owns the state, or give each scarce item its own identity. Sources: Arc `Documentation/backend/csharp/chronicle/read-models/injecting-into-commands.md` (limits unchanged);
@@ -14,8 +14,9 @@ focused assertions.
14
14
 
15
15
  Read [query and decision scenarios](../cratis-application-slice-specifications/references/query-and-decision-scenarios.md)
16
16
  when specifying query emissions, routed conflicts or protected projection reads.
17
- Call `UseDecisionReads()` before seeding actual events; pinned models cannot
18
- supply a guard. `Perform`/`Observe` need configured services/principal, and
17
+ Seed actual events for a guarded command; pinned models cannot supply a guard.
18
+ `new CommandScenario<T>()` selects the in-process decision log from the command's
19
+ read-protection mode and dependencies, so `UseDecisionReads()` is not called. `Perform`/`Observe` need configured services/principal, and
19
20
  MongoDB observations still need real infrastructure.
20
21
 
21
22
  ## Verified product sources
@@ -16,7 +16,7 @@ call. A library or framework repository reaches for a scenario only to test the
16
16
  very engine it provides.
17
17
 
18
18
  Read [query and decision scenarios](../../cratis-application-slice-specifications/references/query-and-decision-scenarios.md)
19
- when using `QueryScenario<T>`, buffered emissions or `UseDecisionReads()`.
19
+ when using `QueryScenario<T>`, buffered emissions or guarded command scenarios.
20
20
  Guarded decisions need actual seeded events, not pinned models; their given
21
21
  state and appends share one in-process log, unlike legacy dictionary seeding.
22
22
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cratis/pi",
3
- "version": "7.60.1",
3
+ "version": "7.62.0",
4
4
  "description": "Configuration-aware Cratis AI integration for Pi",
5
5
  "type": "module",
6
6
  "files": [