@astram/guide 0.2.20 → 0.2.21

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 +6 -3
  2. package/package.json +1 -1
package/CAPABILITIES.md CHANGED
@@ -169,7 +169,10 @@ imports: [
169
169
  `GET /identity/auth-facts` feeds the frontend's permission-gated navigation.
170
170
  - **Scoped-hierarchy tenancy** (ADR-0027): a tenant is a company node; an admin's authority covers
171
171
  its subtree. Reads, updates, deletes AND creates of subtree-scoped types are walled in the query
172
- (ADR-0030, ADR-0034). Non-root admins cannot create top-level tenants.
172
+ (ADR-0030, ADR-0034). Non-root admins cannot create top-level tenants. With
173
+ `IdentityFeatureModule` wired, a session's subtree (its company and every company below) is
174
+ resolved at sign-in automatically (identity 0.24); pass `ShieldModule.forRoot({ scopeSubtreeResolver })`
175
+ only to replace identity's resolver. Without identity, reach is the active company only.
173
176
  - **No escalation**: you can grant, revoke or assign (via postings) only roles and keys you hold
174
177
  (ADR-0029); a role used outside your subtree is root-only; changing another user's email or
175
178
  status needs dominance over that user. Grant changes are audited in the same transaction.
@@ -506,8 +509,8 @@ imports: [
506
509
  (directly or through `identity:<type>:*` / `identity:*`). `GET /identity/permission-announcements
507
510
  ?status=open|dismissed&page=&limit=&companyUuid=` lists the tasks the caller can act on: holders
508
511
  of `identity:role:update` whose grant ceiling covers the key, for the companies below them (their
509
- own company already holds what they can grant; this needs `scopeSubtreeResolver` wired in
510
- `ShieldModule.forRoot`, which the scaffold does not do yet); root sees every company. On a fresh
512
+ own company already holds what they can grant; the subtree comes with `IdentityFeatureModule`,
513
+ identity 0.24); root sees every company. On a fresh
511
514
  install the keys from the very first catalogue pass raise no task (identity 0.23). Granting the key to any of the company's roles closes the
512
515
  task on the next read; `POST /identity/permission-announcements/:companyUuid/:key/dismiss`
513
516
  ("Reviewed, not needed", audited) closes it on purpose and `…/reopen` undoes that. A key removed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astram/guide",
3
- "version": "0.2.20",
3
+ "version": "0.2.21",
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",