instar 1.3.454 → 1.3.455
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.
- package/dist/cli.js +9 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/test-as-self.d.ts +17 -0
- package/dist/commands/test-as-self.d.ts.map +1 -1
- package/dist/commands/test-as-self.js +57 -0
- package/dist/commands/test-as-self.js.map +1 -1
- package/dist/permissions/testing/SlackScenarioHarness.d.ts +97 -5
- package/dist/permissions/testing/SlackScenarioHarness.d.ts.map +1 -1
- package/dist/permissions/testing/SlackScenarioHarness.js +190 -3
- package/dist/permissions/testing/SlackScenarioHarness.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +4 -1
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +36 -1
- package/dist/server/routes.js.map +1 -1
- package/dist/threadline/ThreadlineBootstrap.d.ts +0 -3
- package/dist/threadline/ThreadlineBootstrap.d.ts.map +1 -1
- package/dist/threadline/ThreadlineBootstrap.js +1 -35
- package/dist/threadline/ThreadlineBootstrap.js.map +1 -1
- package/dist/threadline/client/ThreadlineClient.d.ts +32 -0
- package/dist/threadline/client/ThreadlineClient.d.ts.map +1 -1
- package/dist/threadline/client/ThreadlineClient.js +112 -13
- package/dist/threadline/client/ThreadlineClient.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +78 -78
- package/src/scaffold/templates.ts +4 -1
- package/upgrades/1.3.455.md +46 -0
- package/upgrades/side-effects/slack-test-as-self-harness.md +155 -0
- package/upgrades/side-effects/threadline-dup-identity-pr1-resolver.md +162 -0
- package/upgrades/side-effects/threadline-dup-identity-pr2-orphan-removal.md +89 -0
|
@@ -7,10 +7,41 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Design: docs/specs/SLACK-ORG-INTEGRATION-SPEC.md §8 (Pillar 4) + §9 (worked examples).
|
|
9
9
|
*/
|
|
10
|
-
import type { Principal, PermissionDecision, PermissionVerdict } from '../types.js';
|
|
11
|
-
import { SlackPermissionGate } from '../SlackPermissionGate.js';
|
|
12
|
-
|
|
10
|
+
import type { Principal, PermissionDecision, PermissionVerdict, AuthorityGrant } from '../types.js';
|
|
11
|
+
import { SlackPermissionGate, type GrantStore } from '../SlackPermissionGate.js';
|
|
12
|
+
import { type UserLookup, type ResolvedUserRecord } from '../SlackPrincipalResolver.js';
|
|
13
|
+
import { SlackPermissionObserver } from '../SlackPermissionObserver.js';
|
|
14
|
+
import { type PermissionLedgerEntry } from '../PermissionDecisionLedger.js';
|
|
15
|
+
/**
|
|
16
|
+
* The fixed cast of test users (§8.2). Each is a real registered (or deliberately
|
|
17
|
+
* UNregistered) principal with a verified slackUserId, a role, and a relationship
|
|
18
|
+
* baseline (where a scenario needs anomaly). `grantedGrace` is the member who has
|
|
19
|
+
* been issued a time-boxed floor grant (the A4.3 "Maya now deploys" deterministic
|
|
20
|
+
* mirror — proves the `floor-granted` path without a PIN-gated live mandate).
|
|
21
|
+
*/
|
|
13
22
|
export declare const CAST: Record<string, Principal>;
|
|
23
|
+
/**
|
|
24
|
+
* Which slackUserId currently holds an active floor grant, and for what scope.
|
|
25
|
+
* Consumed by {@link StaticGrantStore} (Layer-A deterministic mirror of the
|
|
26
|
+
* MandateBackedGrantStore) so the granted-member-floor row reaches `floor-granted`.
|
|
27
|
+
* Grace (a member) holds a prod-deploy grant authorized by Olivia (requester ≠
|
|
28
|
+
* authorizer is preserved). No other principal has a grant — deny-by-default.
|
|
29
|
+
*/
|
|
30
|
+
export declare const ACTIVE_GRANTS: AuthorityGrant[];
|
|
31
|
+
/**
|
|
32
|
+
* Layer-A deterministic grant store — the credential-free mirror of
|
|
33
|
+
* MandateBackedGrantStore. The live A4 path issues a PIN-gated, signed,
|
|
34
|
+
* expiring Coordination Mandate grant; that is an operator action and cannot
|
|
35
|
+
* run in CI. This static store returns the SAME shape of grant for the same
|
|
36
|
+
* (slackUserId, scope), so the gate's `floor-granted` branch is exercised
|
|
37
|
+
* identically — only the grant's PROVENANCE differs (a fixture vs a signed
|
|
38
|
+
* mandate), which is exactly the deterministic-vs-live seam (§8.3, §8.5).
|
|
39
|
+
*/
|
|
40
|
+
export declare class StaticGrantStore implements GrantStore {
|
|
41
|
+
private readonly grants;
|
|
42
|
+
constructor(grants?: AuthorityGrant[]);
|
|
43
|
+
activeGrant(slackUserId: string, scope: string, now: number): AuthorityGrant | undefined;
|
|
44
|
+
}
|
|
14
45
|
export interface Scenario {
|
|
15
46
|
id: string;
|
|
16
47
|
principal: Principal;
|
|
@@ -20,9 +51,21 @@ export interface Scenario {
|
|
|
20
51
|
expectedBasis: string;
|
|
21
52
|
proves: string;
|
|
22
53
|
}
|
|
23
|
-
/**
|
|
54
|
+
/**
|
|
55
|
+
* The assertion rows (§8.4 + §9 A–F, plus the two deterministic-subset rows the
|
|
56
|
+
* live runbook adds: a granted-member floor → allow (A4.3) and an unregistered
|
|
57
|
+
* outsider → refuse (A1.3)). Scenario 5 models the CEO's own account behaving
|
|
58
|
+
* anomalously (account-compromise / social-engineering), so it reuses the verified
|
|
59
|
+
* owner principal with an out-of-character money-movement request.
|
|
60
|
+
*/
|
|
24
61
|
export declare const SCENARIOS: Scenario[];
|
|
25
|
-
/**
|
|
62
|
+
/**
|
|
63
|
+
* Build the Slice-0 gate wired with the deterministic (heuristic) classifier +
|
|
64
|
+
* anomaly scorer + the Layer-A static grant store. The grant store returns a grant
|
|
65
|
+
* ONLY for Grace's prod-deploy (ACTIVE_GRANTS) — every other principal is
|
|
66
|
+
* deny-by-default, so none of the existing rows' verdicts change; it solely enables
|
|
67
|
+
* the `floor-granted` path for the granted-member-floor row.
|
|
68
|
+
*/
|
|
26
69
|
export declare function buildSliceZeroGate(): SlackPermissionGate;
|
|
27
70
|
export interface ScenarioResult {
|
|
28
71
|
scenario: Scenario;
|
|
@@ -32,4 +75,53 @@ export interface ScenarioResult {
|
|
|
32
75
|
}
|
|
33
76
|
/** Run all scenarios through a gate and report per-row pass/fail. */
|
|
34
77
|
export declare function runScenarioSuite(gate?: SlackPermissionGate): Promise<ScenarioResult[]>;
|
|
78
|
+
/**
|
|
79
|
+
* A registry-backed {@link UserLookup} built from the fixed cast, so the pipeline
|
|
80
|
+
* resolves a verified slackUserId → Principal exactly as production does (an
|
|
81
|
+
* unregistered id — Omar — resolves to an unregistered guest). Identity comes ONLY
|
|
82
|
+
* from the authenticated slackUserId, never from message content.
|
|
83
|
+
*/
|
|
84
|
+
export declare class CastUserLookup implements UserLookup {
|
|
85
|
+
private readonly bySlackId;
|
|
86
|
+
constructor(cast?: Record<string, Principal>);
|
|
87
|
+
resolveFromSlackUserId(slackUserId: string): ResolvedUserRecord | null;
|
|
88
|
+
}
|
|
89
|
+
/** Build the production-shaped observer (resolver → Slice-0 gate → ledger) for the harness. */
|
|
90
|
+
export declare function buildScenarioObserver(stateDir: string): SlackPermissionObserver;
|
|
91
|
+
export interface AuditedScenarioResult {
|
|
92
|
+
scenario: Scenario;
|
|
93
|
+
verdict: PermissionVerdict | null;
|
|
94
|
+
/** The decision-ledger entry that landed for this row (the audit proof). */
|
|
95
|
+
ledgerEntry?: PermissionLedgerEntry;
|
|
96
|
+
/** Did the verdict match the expected decision+basis? */
|
|
97
|
+
verdictOk: boolean;
|
|
98
|
+
/** Did a ledger/audit entry with the expected decision+basis actually land? */
|
|
99
|
+
auditOk: boolean;
|
|
100
|
+
/** Both must hold ("verified, not narrated"). */
|
|
101
|
+
pass: boolean;
|
|
102
|
+
mismatch?: string;
|
|
103
|
+
}
|
|
104
|
+
export interface AuditedSuiteReport {
|
|
105
|
+
summary: {
|
|
106
|
+
total: number;
|
|
107
|
+
passed: number;
|
|
108
|
+
failed: number;
|
|
109
|
+
};
|
|
110
|
+
/** Where the decision ledger was written (the durable audit trail). */
|
|
111
|
+
ledgerPath: string;
|
|
112
|
+
rows: AuditedScenarioResult[];
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Run every scenario through the real observer (resolver → gate → ledger) and
|
|
116
|
+
* assert BOTH the verdict and the matching audit entry per row. Writes the ledger
|
|
117
|
+
* into a fresh temp state dir (or `stateDir` if provided) so the run is hermetic.
|
|
118
|
+
*
|
|
119
|
+
* NOTE on the resolver: the observer resolves the principal from the
|
|
120
|
+
* authenticated slackUserId via {@link CastUserLookup}; the scenario's
|
|
121
|
+
* `principal` field is only used to supply that slackUserId/displayName and to
|
|
122
|
+
* document the intended cast member. The role/registration the gate actually sees
|
|
123
|
+
* comes from the registry resolution — so this exercises the real
|
|
124
|
+
* identity-binding path, not a hand-built Principal.
|
|
125
|
+
*/
|
|
126
|
+
export declare function runAuditedScenarioSuite(stateDir?: string): Promise<AuditedSuiteReport>;
|
|
35
127
|
//# sourceMappingURL=SlackScenarioHarness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlackScenarioHarness.d.ts","sourceRoot":"","sources":["../../../src/permissions/testing/SlackScenarioHarness.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"SlackScenarioHarness.d.ts","sourceRoot":"","sources":["../../../src/permissions/testing/SlackScenarioHarness.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,18 +7,59 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Design: docs/specs/SLACK-ORG-INTEGRATION-SPEC.md §8 (Pillar 4) + §9 (worked examples).
|
|
9
9
|
*/
|
|
10
|
+
import fs from 'node:fs';
|
|
11
|
+
import os from 'node:os';
|
|
12
|
+
import path from 'node:path';
|
|
10
13
|
import { RolePolicy } from '../RolePolicy.js';
|
|
11
14
|
import { HeuristicIntentClassifier } from '../IntentClassifier.js';
|
|
12
15
|
import { HeuristicAnomalyScorer } from '../AnomalyScorer.js';
|
|
13
16
|
import { SlackPermissionGate } from '../SlackPermissionGate.js';
|
|
14
|
-
|
|
17
|
+
import { SlackPrincipalResolver } from '../SlackPrincipalResolver.js';
|
|
18
|
+
import { SlackPermissionObserver } from '../SlackPermissionObserver.js';
|
|
19
|
+
import { PermissionDecisionLedger } from '../PermissionDecisionLedger.js';
|
|
20
|
+
/**
|
|
21
|
+
* The fixed cast of test users (§8.2). Each is a real registered (or deliberately
|
|
22
|
+
* UNregistered) principal with a verified slackUserId, a role, and a relationship
|
|
23
|
+
* baseline (where a scenario needs anomaly). `grantedGrace` is the member who has
|
|
24
|
+
* been issued a time-boxed floor grant (the A4.3 "Maya now deploys" deterministic
|
|
25
|
+
* mirror — proves the `floor-granted` path without a PIN-gated live mandate).
|
|
26
|
+
*/
|
|
15
27
|
export const CAST = {
|
|
16
28
|
ownerOlivia: { userId: 'u-olivia', name: 'Olivia', slackUserId: 'U_OLIVIA', role: 'owner', registered: true },
|
|
17
29
|
adminAmir: { userId: 'u-amir', name: 'Amir', slackUserId: 'U_AMIR', role: 'admin', registered: true },
|
|
18
30
|
memberMaya: { userId: 'u-maya', name: 'Maya', slackUserId: 'U_MAYA', role: 'member', registered: true },
|
|
19
31
|
contribCole: { userId: 'u-cole', name: 'Cole', slackUserId: 'U_COLE', role: 'contributor', registered: true },
|
|
32
|
+
grantedGrace: { userId: 'u-grace', name: 'Grace', slackUserId: 'U_GRACE', role: 'member', registered: true },
|
|
20
33
|
outsiderOmar: { userId: null, name: 'Omar', slackUserId: 'U_OMAR', role: 'guest', registered: false },
|
|
21
34
|
};
|
|
35
|
+
/**
|
|
36
|
+
* Which slackUserId currently holds an active floor grant, and for what scope.
|
|
37
|
+
* Consumed by {@link StaticGrantStore} (Layer-A deterministic mirror of the
|
|
38
|
+
* MandateBackedGrantStore) so the granted-member-floor row reaches `floor-granted`.
|
|
39
|
+
* Grace (a member) holds a prod-deploy grant authorized by Olivia (requester ≠
|
|
40
|
+
* authorizer is preserved). No other principal has a grant — deny-by-default.
|
|
41
|
+
*/
|
|
42
|
+
export const ACTIVE_GRANTS = [
|
|
43
|
+
{ scope: 'prod-deploy', grantedTo: 'U_GRACE', authorizedBy: 'U_OLIVIA', expiresAt: Number.MAX_SAFE_INTEGER },
|
|
44
|
+
];
|
|
45
|
+
/**
|
|
46
|
+
* Layer-A deterministic grant store — the credential-free mirror of
|
|
47
|
+
* MandateBackedGrantStore. The live A4 path issues a PIN-gated, signed,
|
|
48
|
+
* expiring Coordination Mandate grant; that is an operator action and cannot
|
|
49
|
+
* run in CI. This static store returns the SAME shape of grant for the same
|
|
50
|
+
* (slackUserId, scope), so the gate's `floor-granted` branch is exercised
|
|
51
|
+
* identically — only the grant's PROVENANCE differs (a fixture vs a signed
|
|
52
|
+
* mandate), which is exactly the deterministic-vs-live seam (§8.3, §8.5).
|
|
53
|
+
*/
|
|
54
|
+
export class StaticGrantStore {
|
|
55
|
+
grants;
|
|
56
|
+
constructor(grants = ACTIVE_GRANTS) {
|
|
57
|
+
this.grants = grants;
|
|
58
|
+
}
|
|
59
|
+
activeGrant(slackUserId, scope, now) {
|
|
60
|
+
return this.grants.find((g) => g.grantedTo === slackUserId && g.scope === scope && g.expiresAt > now);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
22
63
|
/**
|
|
23
64
|
* Behavioral baselines (in production, sourced from RelationshipManager). Olivia is
|
|
24
65
|
* an established owner whose normal repertoire is deploys/reads/ops — so a sudden
|
|
@@ -29,13 +70,25 @@ const BASELINES = {
|
|
|
29
70
|
U_AMIR: { typicalActions: ['operational', 'read', 'low-write'], interactionCount: 30 },
|
|
30
71
|
U_MAYA: { typicalActions: ['read'], interactionCount: 12 },
|
|
31
72
|
U_COLE: { typicalActions: ['read', 'low-write'], interactionCount: 8 },
|
|
73
|
+
// Grace was granted a time-boxed prod-deploy authority precisely because deploys
|
|
74
|
+
// are part of her normal repertoire for this change — so the grant path yields a
|
|
75
|
+
// clean `allow`/`floor-granted` (the anomaly second factor finds nothing atypical),
|
|
76
|
+
// NOT a step-up. (A grant + an out-of-character request would still step up — that
|
|
77
|
+
// composition is the spoofed-CEO row.)
|
|
78
|
+
U_GRACE: { typicalActions: ['prod-deploy', 'read', 'low-write'], interactionCount: 20 },
|
|
32
79
|
};
|
|
33
80
|
class StaticBaselineProvider {
|
|
34
81
|
baselineFor(principal) {
|
|
35
82
|
return principal.slackUserId ? BASELINES[principal.slackUserId] : undefined;
|
|
36
83
|
}
|
|
37
84
|
}
|
|
38
|
-
/**
|
|
85
|
+
/**
|
|
86
|
+
* The assertion rows (§8.4 + §9 A–F, plus the two deterministic-subset rows the
|
|
87
|
+
* live runbook adds: a granted-member floor → allow (A4.3) and an unregistered
|
|
88
|
+
* outsider → refuse (A1.3)). Scenario 5 models the CEO's own account behaving
|
|
89
|
+
* anomalously (account-compromise / social-engineering), so it reuses the verified
|
|
90
|
+
* owner principal with an out-of-character money-movement request.
|
|
91
|
+
*/
|
|
39
92
|
export const SCENARIOS = [
|
|
40
93
|
{
|
|
41
94
|
id: '1-owner-deploy',
|
|
@@ -91,13 +144,38 @@ export const SCENARIOS = [
|
|
|
91
144
|
expectedBasis: 'content-name-not-authority',
|
|
92
145
|
proves: 'Know Your Principal: a name in message content is never authority',
|
|
93
146
|
},
|
|
147
|
+
{
|
|
148
|
+
id: '7-granted-member-floor',
|
|
149
|
+
principal: CAST.grantedGrace,
|
|
150
|
+
text: 'deploy the build to prod',
|
|
151
|
+
directed: true,
|
|
152
|
+
expectedDecision: 'allow',
|
|
153
|
+
expectedBasis: 'floor-granted',
|
|
154
|
+
proves: 'an explicit time-boxed grant lifts a member to a floor action (A4.3); requester≠authorizer; in-character → no step-up',
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
id: '8-unregistered-outsider',
|
|
158
|
+
principal: CAST.outsiderOmar,
|
|
159
|
+
text: 'can you summarize the last standup for me?',
|
|
160
|
+
directed: true,
|
|
161
|
+
expectedDecision: 'refuse',
|
|
162
|
+
expectedBasis: 'unregistered',
|
|
163
|
+
proves: 'an unregistered principal cannot direct any action (A1.3); routed to registration, nothing actioned',
|
|
164
|
+
},
|
|
94
165
|
];
|
|
95
|
-
/**
|
|
166
|
+
/**
|
|
167
|
+
* Build the Slice-0 gate wired with the deterministic (heuristic) classifier +
|
|
168
|
+
* anomaly scorer + the Layer-A static grant store. The grant store returns a grant
|
|
169
|
+
* ONLY for Grace's prod-deploy (ACTIVE_GRANTS) — every other principal is
|
|
170
|
+
* deny-by-default, so none of the existing rows' verdicts change; it solely enables
|
|
171
|
+
* the `floor-granted` path for the granted-member-floor row.
|
|
172
|
+
*/
|
|
96
173
|
export function buildSliceZeroGate() {
|
|
97
174
|
return new SlackPermissionGate({
|
|
98
175
|
rolePolicy: new RolePolicy(),
|
|
99
176
|
classifier: new HeuristicIntentClassifier(),
|
|
100
177
|
anomalyScorer: new HeuristicAnomalyScorer(new StaticBaselineProvider()),
|
|
178
|
+
grants: new StaticGrantStore(),
|
|
101
179
|
stepUpThreshold: 0.5,
|
|
102
180
|
clarifyThreshold: 0.6,
|
|
103
181
|
stepUpChannels: ['your known Telegram', 'a second admin'],
|
|
@@ -127,4 +205,113 @@ export async function runScenarioSuite(gate = buildSliceZeroGate()) {
|
|
|
127
205
|
}
|
|
128
206
|
return results;
|
|
129
207
|
}
|
|
208
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
209
|
+
// Audit-asserting pipeline suite ("verified, not narrated", §8.4)
|
|
210
|
+
//
|
|
211
|
+
// The gate-direct runner above proves the LOGIC. This runner proves the full
|
|
212
|
+
// observe path end-to-end: it drives each row through the SAME object the live
|
|
213
|
+
// SlackAdapter._handleMessage calls — `SlackPermissionObserver.observe` (resolver
|
|
214
|
+
// → gate → PermissionDecisionLedger.record) — and then asserts BOTH:
|
|
215
|
+
// (a) the verdict equals the expected decision/basis, AND
|
|
216
|
+
// (b) the matching decision-ledger entry actually landed
|
|
217
|
+
// (slack-permission-decisions.jsonl / GET /permissions/decisions).
|
|
218
|
+
// A green run = every row produced its expected decision AND its audit entry.
|
|
219
|
+
// That second half is what makes the demonstration self-verified rather than
|
|
220
|
+
// a narrated assertion table.
|
|
221
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
222
|
+
/**
|
|
223
|
+
* A registry-backed {@link UserLookup} built from the fixed cast, so the pipeline
|
|
224
|
+
* resolves a verified slackUserId → Principal exactly as production does (an
|
|
225
|
+
* unregistered id — Omar — resolves to an unregistered guest). Identity comes ONLY
|
|
226
|
+
* from the authenticated slackUserId, never from message content.
|
|
227
|
+
*/
|
|
228
|
+
export class CastUserLookup {
|
|
229
|
+
bySlackId = new Map();
|
|
230
|
+
constructor(cast = CAST) {
|
|
231
|
+
for (const p of Object.values(cast)) {
|
|
232
|
+
// Only REGISTERED principals are in the store; an unregistered cast member
|
|
233
|
+
// (Omar) is deliberately absent → the resolver returns an unregistered guest.
|
|
234
|
+
if (p.registered && p.slackUserId && p.userId) {
|
|
235
|
+
this.bySlackId.set(p.slackUserId, {
|
|
236
|
+
id: p.userId,
|
|
237
|
+
name: p.name,
|
|
238
|
+
permissions: [p.role],
|
|
239
|
+
orgRole: p.role,
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
resolveFromSlackUserId(slackUserId) {
|
|
245
|
+
return this.bySlackId.get(slackUserId) ?? null;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
/** Build the production-shaped observer (resolver → Slice-0 gate → ledger) for the harness. */
|
|
249
|
+
export function buildScenarioObserver(stateDir) {
|
|
250
|
+
return new SlackPermissionObserver({
|
|
251
|
+
resolver: new SlackPrincipalResolver(new CastUserLookup()),
|
|
252
|
+
gate: buildSliceZeroGate(),
|
|
253
|
+
ledger: new PermissionDecisionLedger(stateDir),
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Run every scenario through the real observer (resolver → gate → ledger) and
|
|
258
|
+
* assert BOTH the verdict and the matching audit entry per row. Writes the ledger
|
|
259
|
+
* into a fresh temp state dir (or `stateDir` if provided) so the run is hermetic.
|
|
260
|
+
*
|
|
261
|
+
* NOTE on the resolver: the observer resolves the principal from the
|
|
262
|
+
* authenticated slackUserId via {@link CastUserLookup}; the scenario's
|
|
263
|
+
* `principal` field is only used to supply that slackUserId/displayName and to
|
|
264
|
+
* document the intended cast member. The role/registration the gate actually sees
|
|
265
|
+
* comes from the registry resolution — so this exercises the real
|
|
266
|
+
* identity-binding path, not a hand-built Principal.
|
|
267
|
+
*/
|
|
268
|
+
export async function runAuditedScenarioSuite(stateDir) {
|
|
269
|
+
const dir = stateDir ?? fs.mkdtempSync(path.join(os.tmpdir(), 'slack-scenario-audit-'));
|
|
270
|
+
const observer = buildScenarioObserver(dir);
|
|
271
|
+
const ledger = new PermissionDecisionLedger(dir);
|
|
272
|
+
const rows = [];
|
|
273
|
+
for (const s of SCENARIOS) {
|
|
274
|
+
const slackUserId = s.principal.slackUserId ?? '';
|
|
275
|
+
const verdict = await observer.observe({
|
|
276
|
+
slackUserId,
|
|
277
|
+
displayName: s.principal.name,
|
|
278
|
+
text: s.text,
|
|
279
|
+
directed: s.directed,
|
|
280
|
+
channel: 'C_TEST',
|
|
281
|
+
});
|
|
282
|
+
const verdictOk = !!verdict && verdict.decision === s.expectedDecision && verdict.basis === s.expectedBasis;
|
|
283
|
+
// Audit proof: the matching ledger entry must exist for THIS principal with the
|
|
284
|
+
// expected decision+basis. Read the durable ledger back (not the in-memory verdict).
|
|
285
|
+
const entries = ledger.readRecent(1000);
|
|
286
|
+
const ledgerEntry = entries.find((e) => e.slackUserId === slackUserId &&
|
|
287
|
+
e.decision === s.expectedDecision &&
|
|
288
|
+
e.basis === s.expectedBasis);
|
|
289
|
+
const auditOk = !!ledgerEntry;
|
|
290
|
+
const pass = verdictOk && auditOk;
|
|
291
|
+
rows.push({
|
|
292
|
+
scenario: s,
|
|
293
|
+
verdict,
|
|
294
|
+
ledgerEntry,
|
|
295
|
+
verdictOk,
|
|
296
|
+
auditOk,
|
|
297
|
+
pass,
|
|
298
|
+
mismatch: pass
|
|
299
|
+
? undefined
|
|
300
|
+
: !verdict
|
|
301
|
+
? 'observer returned null (gate/ledger infra error)'
|
|
302
|
+
: !verdictOk
|
|
303
|
+
? `verdict: expected ${s.expectedDecision}/${s.expectedBasis}, got ${verdict.decision}/${verdict.basis}`
|
|
304
|
+
: `no matching audit entry for ${slackUserId} (${s.expectedDecision}/${s.expectedBasis})`,
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
return {
|
|
308
|
+
summary: {
|
|
309
|
+
total: rows.length,
|
|
310
|
+
passed: rows.filter((r) => r.pass).length,
|
|
311
|
+
failed: rows.filter((r) => !r.pass).length,
|
|
312
|
+
},
|
|
313
|
+
ledgerPath: ledger.path,
|
|
314
|
+
rows,
|
|
315
|
+
};
|
|
316
|
+
}
|
|
130
317
|
//# sourceMappingURL=SlackScenarioHarness.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlackScenarioHarness.js","sourceRoot":"","sources":["../../../src/permissions/testing/SlackScenarioHarness.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"SlackScenarioHarness.js","sourceRoot":"","sources":["../../../src/permissions/testing/SlackScenarioHarness.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAgG/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2E/F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiBvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA2B1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,EAC5B,WAAW,GAAE,OAAe,GAC3B,MAAM,
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAgG/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2E/F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiBvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA2B1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,EAC5B,WAAW,GAAE,OAAe,GAC3B,MAAM,CA22CR;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,GAC3B,MAAM,CA2TR"}
|
|
@@ -1384,11 +1384,14 @@ Create worktrees for collaborator repos with \`instar worktree create <branch>\`
|
|
|
1384
1384
|
instar test-as-self --no-roundtrip # deploy + verify only (no bot needed)
|
|
1385
1385
|
instar test-as-self --bot-token <secret-drop-id> # + a real Telegram round-trip via a throwaway bot
|
|
1386
1386
|
instar test-as-self --keep # leave the throwaway running for inspection
|
|
1387
|
+
instar test-as-self --slack # Slack permission demonstration (each principal+request → expected decision + audit entry)
|
|
1387
1388
|
\`\`\`
|
|
1388
1389
|
|
|
1389
1390
|
**Structural guards (you cannot foot-gun these):** \`--target\` can never be your canonical agent home or a protected agent (e.g. Bob); \`--bot-token\` refuses a raw token on the command line — pass a Secret Drop ID and the token is retrieved in-memory, never via argv. It emits a single JSON report; exit 0 = all steps PASS.
|
|
1390
1391
|
|
|
1391
|
-
|
|
1392
|
+
**\`--slack\` — the test-as-self-for-Slack demonstration (credential-free):** extends the throwaway-agent primitive from "is the agent alive?" to "does it enforce the RIGHT decision for each (principal, request) pair?". It runs the deterministic scenario suite through the SAME observer the live Slack adapter calls (resolver → permission gate → decision ledger) and asserts BOTH the verdict AND that the matching audit/ledger entry landed — "verified, not narrated". No Slack tokens, no throwaway deploy. The same suite is reachable over HTTP: \`GET /permissions/scenario-suite\` (logic-only view) and \`POST /permissions/scenario-suite/run\` (audit-asserting). Exit 0 = every row produced its expected decision AND its audit entry.
|
|
1393
|
+
|
|
1394
|
+
**Proactive trigger:** when you're about to ship or just shipped a change touching the deploy/lifeline/server-startup path, run this against a throwaway home first — don't guess from logs. When you touch the Slack org permission system (\`src/permissions/\`), run \`instar test-as-self --slack\` (or \`POST /permissions/scenario-suite/run\`) to prove the gate still enforces every (principal, request) row.
|
|
1392
1395
|
`;
|
|
1393
1396
|
if (hasTelegram) {
|
|
1394
1397
|
content += `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/server/routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/server/routes.ts"],"names":[],"mappings":"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"}
|
package/dist/server/routes.js
CHANGED
|
@@ -13557,7 +13557,8 @@ export function createRoutes(ctx) {
|
|
|
13557
13557
|
}
|
|
13558
13558
|
});
|
|
13559
13559
|
// GET /permissions/scenario-suite — run the deterministic permission demonstration
|
|
13560
|
-
// (Pillar 4 Layer-A): the
|
|
13560
|
+
// (Pillar 4 Layer-A): the worked-example rows with expected vs actual verdict.
|
|
13561
|
+
// This is the gate-direct (logic-only) view: it proves each row's DECISION.
|
|
13561
13562
|
router.get('/permissions/scenario-suite', async (req, res) => {
|
|
13562
13563
|
try {
|
|
13563
13564
|
const { runScenarioSuite } = await import('../permissions/testing/SlackScenarioHarness.js');
|
|
@@ -13586,6 +13587,40 @@ export function createRoutes(ctx) {
|
|
|
13586
13587
|
res.status(500).json({ error: e.message });
|
|
13587
13588
|
}
|
|
13588
13589
|
});
|
|
13590
|
+
// POST /permissions/scenario-suite/run — the AUDIT-ASSERTING demonstration
|
|
13591
|
+
// (Pillar 4 milestone 4, "verified, not narrated", §8.4). Drives every row through
|
|
13592
|
+
// the SAME observer the live SlackAdapter._handleMessage calls (resolver → gate →
|
|
13593
|
+
// decision ledger), then asserts BOTH the verdict AND that the matching audit/ledger
|
|
13594
|
+
// entry actually landed. Read-only/dev: it writes only into a throwaway temp state
|
|
13595
|
+
// dir (never ctx.config.stateDir) and mutates nothing in the running agent.
|
|
13596
|
+
// A green run (failed:0) is the executable, self-verified proof.
|
|
13597
|
+
router.post('/permissions/scenario-suite/run', async (_req, res) => {
|
|
13598
|
+
try {
|
|
13599
|
+
const { runAuditedScenarioSuite } = await import('../permissions/testing/SlackScenarioHarness.js');
|
|
13600
|
+
const report = await runAuditedScenarioSuite();
|
|
13601
|
+
res.json({
|
|
13602
|
+
summary: report.summary,
|
|
13603
|
+
ledgerPath: report.ledgerPath,
|
|
13604
|
+
rows: report.rows.map((r) => ({
|
|
13605
|
+
id: r.scenario.id,
|
|
13606
|
+
principal: r.scenario.principal.name,
|
|
13607
|
+
role: r.scenario.principal.role,
|
|
13608
|
+
request: r.scenario.text,
|
|
13609
|
+
directed: r.scenario.directed,
|
|
13610
|
+
expected: `${r.scenario.expectedDecision}/${r.scenario.expectedBasis}`,
|
|
13611
|
+
got: r.verdict ? `${r.verdict.decision}/${r.verdict.basis}` : 'null',
|
|
13612
|
+
verdictOk: r.verdictOk,
|
|
13613
|
+
auditOk: r.auditOk,
|
|
13614
|
+
pass: r.pass,
|
|
13615
|
+
mismatch: r.mismatch,
|
|
13616
|
+
proves: r.scenario.proves,
|
|
13617
|
+
})),
|
|
13618
|
+
});
|
|
13619
|
+
}
|
|
13620
|
+
catch (e) {
|
|
13621
|
+
res.status(500).json({ error: e.message });
|
|
13622
|
+
}
|
|
13623
|
+
});
|
|
13589
13624
|
// GET /trust/summary — compact trust summary
|
|
13590
13625
|
router.get('/trust/summary', (req, res) => {
|
|
13591
13626
|
if (!ctx.adaptiveTrust) {
|