@astram/guide 0.2.17 → 0.2.18

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 (2) hide show
  1. package/CAPABILITIES.md +10 -2
  2. package/package.json +1 -1
package/CAPABILITIES.md CHANGED
@@ -493,8 +493,16 @@ imports: [
493
493
  name only what concerns its recipient.
494
494
  - Retention: read notices are deleted after `NOTIFICATION_READ_RETENTION_DAYS` (90), every notice
495
495
  after `NOTIFICATION_MAX_RETENTION_DAYS` (365), counted from posting; an hourly job does it.
496
- - Not yet: personal notices when a user's access changes (G-027 step 3), admin tasks for new
497
- permissions (step 4), the frontend-core service and the scaffold bell (step 5), email delivery.
496
+ - **Access-change notices (G-027 step 3):** the framework posts its own `shield.access_changed`
497
+ notices (category `personal`, title "Your access changed", body "You can now: …" / "You can no
498
+ longer: …" with permission labels) when a user's effective keys change. The triggers are role
499
+ grant/revoke, bundle grant/revoke, role delete, posting replace/add and switching or creating the
500
+ active membership. They are written on the same transaction as the change, so a rolled-back
501
+ change sends nothing; a notice failure never blocks the change. `bootstrap:org --apply` sends
502
+ none. You do not register or post this kind (apps cannot use `shield.*`); label your permissions
503
+ (`@ObjectType({ permissions })`) so the notices read well.
504
+ - Not yet: admin tasks for new permissions (step 4), the frontend-core service and the scaffold
505
+ bell (step 5), email delivery.
498
506
 
499
507
  ## Separation of duties (ADR-0048; core 1.12, engine 0.14, guard 0.21, identity 0.18)
500
508
  - **Declare it on the type** when the people who started or asked about a record must not
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astram/guide",
3
- "version": "0.2.17",
3
+ "version": "0.2.18",
4
4
  "license": "MIT",
5
5
  "description": "Astram framework — the AI/dev GUIDE layer (ADR-0025). Ships the framework's hard rules + capabilities manifest as installed, upgrade-refreshed docs. A consumer app's CLAUDE.md references FRAMEWORK_RULES.md from this package; `npm update` replaces it wholesale so new rules arrive cleanly, while the app's own .astram/guide/ layer is never touched. This is the framework-owned FLOOR: an app rule may tighten it, never weaken it.",
6
6
  "type": "commonjs",