Commit 2e35765
fix(plugin-sharing): the share-link admission seam derives the tenancy posture — an ex-member's org-stamped API key no longer mints links into the organization it left (#15996)
* fix(plugin-sharing): derive the tenancy posture at the share-link admission seam
`resolveAuthzContext` gates every posture-conditional refusal on a posture its
caller supplies; this door supplied none, so an API key stamped with an
organization its owner has left was admitted carrying that organization as its
tenant. Classified per #13906 decision 1 option A: never registered stays quiet,
every other rejection becomes AuthzStoreUnavailableError (503).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ARYe3yQTQCUFm5qPYNgKaJ
* test(plugin-sharing): the share-link admission matrix, its permanent wiring ablation and the 503 outage arm
Eight sections over the real booted plugin: controls in both directions, the
ex-member and organization-less API keys under `isolated`, the ablation that
removes the `tenancy` service and brings the leak back, the registered-and-broken
outage (503, never a quiet undefined), the #15409 session arm, `group` measured
rather than assumed, and the seam testkit now able to express a posture.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ARYe3yQTQCUFm5qPYNgKaJ
* chore(plugin-sharing): contract the harness slot lookups, re-anchor the system-context census
check:slot-lookup reddened on the new test's `const ctx: any` host double — the
one shape that gate exists to keep contracted. The double is now typed and the
cast narrowed to the single hand-over point. check:system-context-census
re-anchored one page citation the seam edit moved (line rot, --fix).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ARYe3yQTQCUFm5qPYNgKaJ
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent 1842a2a commit 2e35765
5 files changed
Lines changed: 818 additions & 4 deletions
File tree
- .changeset
- content/docs/permissions
- packages/plugins/plugin-sharing/src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
137 | | - | |
| 137 | + | |
138 | 138 | | |
139 | 139 | | |
140 | 140 | | |
| |||
Lines changed: 35 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
| |||
67 | 68 | | |
68 | 69 | | |
69 | 70 | | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
70 | 97 | | |
71 | 98 | | |
72 | 99 | | |
| |||
75 | 102 | | |
76 | 103 | | |
77 | 104 | | |
78 | | - | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
79 | 109 | | |
80 | 110 | | |
81 | 111 | | |
| |||
96 | 126 | | |
97 | 127 | | |
98 | 128 | | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
99 | 133 | | |
100 | 134 | | |
101 | 135 | | |
| |||
0 commit comments