@looprun-ai/core 0.3.0 → 0.6.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.
package/dist/guards.d.ts CHANGED
@@ -7,14 +7,16 @@
7
7
  * state / observed calls, NEVER the user text (the magnet firewall). The pure set is deterministic
8
8
  * by construction: no clock, no entropy, no network, no LLM call inside a check.
9
9
  *
10
- * DOMAIN-NEUTRALITY LAW (P8a): this package is truly language- and label-scheme-neutral. No generic
11
- * guard carries a linguistic regex (claim verbs, confirm-language) or a label scheme by default
12
- * those STRINGS/REGEXES live in the business bundle's own lexicon and are passed back in as REQUIRED
13
- * params (`labelProvenance(field, expect, scheme)`, `noFabricatedSuccess(tool, { claimRe, labelRe,
14
- * verbClaimRe, reason })`, `pendingConfirmMustAsk({ askRe })`, `destructiveClaimRequiresSuccess(tools,
15
- * { claimRe, askRe, offerRe, exemptRe? })`, `noFalseFailureClaim({ claimRe })`). The runtime holds
16
- * only the MECHANISM and the generic English prose. A domain-neutrality lint scans this package for
17
- * accented letters / language stems, so a re-introduced default fails CI.
10
+ * DOMAIN-NEUTRALITY LAW (P8a, completed by P8b): this package is truly language- and label-scheme-neutral
11
+ * and carries no MEDIA concept and no narration language either. No generic guard carries a linguistic
12
+ * regex (claim verbs, confirm-language) or a label scheme by default those STRINGS/REGEXES live in the
13
+ * business bundle's own lexicon and are passed back in as REQUIRED params (`noFabricatedSuccess(tool, {
14
+ * claimRe, labelRe, verbClaimRe, banRe, refExists, reason })`, `degenerationGuard({ selfNarrationRe })`,
15
+ * `pendingConfirmMustAsk({ askRe })`, `destructiveClaimRequiresSuccess(tools, { claimRe, askRe, offerRe,
16
+ * exemptRe? })`, `noFalseFailureClaim({ claimRe })`). Media/label INPUT guards are a DOMAIN concern
17
+ * a domain authors them as `custom({ dim:'input' })` over its world's own accessors, never a runtime kind.
18
+ * The runtime holds only the MECHANISM and the generic English prose. A domain-neutrality lint scans this
19
+ * package for accented letters / language stems, so a re-introduced default fails CI.
18
20
  */
19
21
  import type { Guard, GuardCtx, Dim, ReplyMutator, AgentWorld } from './rules.js';
20
22
  export declare function custom(opts: {
@@ -31,29 +33,20 @@ export declare function forbidThisTurn(reason: string): Guard;
31
33
  export declare function argRequired(field: string): Guard;
32
34
  /** Arg `field` must NOT be present. */
33
35
  export declare function argAbsent(field: string): Guard;
34
- /** A label-typed arg must resolve to an EXISTING media label. */
35
- export declare function labelExists(field: string): Guard;
36
36
  /** A PRESENT non-empty string arg must match `pattern`; absent/empty is left to argRequired. */
37
37
  export declare function argFormat(field: string, pattern: string, flags?: string, reason?: string): Guard;
38
- /**
39
- * A label-typed arg must come from the expected provenance class. The label SCHEME is business-owned
40
- * and injected — never hardcoded here: `scheme.uploadRe` is the predicate that decides whether a label
41
- * is an "uploaded" label; `scheme.labelNoun` (optional) names the scheme in the default deny/prose
42
- * message; `scheme.reason` overrides that message outright. The runtime carries ONLY the mechanism and
43
- * the generic English wording — the label regex + its noun live in the domain bundle's lexicon.
44
- */
45
- export declare function labelProvenance(field: string, expect: 'uploaded' | 'generated', scheme: {
46
- uploadRe: RegExp;
47
- labelNoun?: string;
48
- reason?: string;
49
- }): Guard;
50
38
  /** Generic state precondition: the call is allowed only while `ok(world)` holds. `prose` states the
51
39
  * CONDITION (always-rendered), separate from the deny `reason` (fires only when the condition is false). */
52
40
  export declare function precondition<W extends AgentWorld = AgentWorld>(ok: (world: W) => boolean, reason: string, prose?: string): Guard;
53
- /** `tool` may run at most `n` times per turn (counts the model's OWN successful calls). */
54
- export declare function maxCallsPerTurn(tool: string, n: number, reason: string): Guard;
55
- /** Side-effect budget ACROSS turns (maxCallsPerTurn minus the turnIndex filter). */
56
- export declare function maxCallsPerConversation(tool: string, n: number, reason: string): Guard;
41
+ /**
42
+ * `tool` may run at most `n` successful times within a budget WINDOW (counts the model's OWN OK calls):
43
+ * - `scope: 'turn'` (default) the per-turn budget (bulk cap): counts only OK calls of THIS turn.
44
+ * - `scope: 'conversation'` the cross-turn budget: counts OK calls across all turns.
45
+ * The two scopes share one deny message + prose (the caller-supplied `reason`).
46
+ */
47
+ export declare function maxCalls(tool: string, n: number, reason: string, opts?: {
48
+ scope?: 'turn' | 'conversation';
49
+ }): Guard;
57
50
  /** Key-order-independent canonical fingerprint of a call's args. */
58
51
  export declare function canonArgs(v: unknown): string;
59
52
  /** Deny a call whose (tool, canonical args) already SUCCEEDED this turn. */
@@ -85,16 +78,28 @@ export declare function noActAfterAskSameTurn(tools: string[]): Guard;
85
78
  export declare function destructiveThrottle(destructiveTools: string[]): Guard;
86
79
  export declare function resultInvariant<W extends AgentWorld = AgentWorld>(pred: (result: unknown, world: W) => boolean, reason: string): Guard;
87
80
  /**
88
- * If `tool` did NOT succeed this turn, the reply must not claim/imply it did (existence-keyed). Both
89
- * the label SCHEME (`labelRe`which tokens are media labels) and the verb-first claim regex
90
- * (`verbClaimRe` the "generating an image" phrasing) are business-owned and injected; the runtime
91
- * carries NO linguistic pattern of its own.
81
+ * If `tool` did NOT succeed this turn, the reply must not claim/imply it did (existence-keyed). Every
82
+ * seam is business-owned and injected the runtime carries NO linguistic pattern of its own:
83
+ * - `labelRe` (which tokens are artifact labels) + `refExists` (does a cited label exist in the world?
84
+ * the injected existence predicate that replaced the former hardcoded media coupling — absent ⇒ only
85
+ * labels produced THIS turn are known) → the invented-LABEL branch (attempt-independent: citing a
86
+ * nonexistent artifact is always fabrication).
87
+ * - `claimRe` / `verbClaimRe` (the "created/generating an image" phrasing) → the claim-LANGUAGE branch,
88
+ * ATTEMPT-KEYED (the destructiveClaimRequiresSuccess precedent): with no attempt on `tool` this turn
89
+ * (executed or vetoed), production vocabulary is descriptive/status talk (a fixed-duration explainer, a
90
+ * quota explanation) — left alone. The measured false-positives (fixed-duration + zero-quota cells)
91
+ * rejected CORRECT informational replies and forced the exhaustion fallback.
92
+ * - `banRe` (optional) → the UNCONDITIONAL ban: a phrase the reply may never carry, denied regardless of
93
+ * attempts (absorbs the former replyNoProductionClaim kind). Given ONLY `banRe` the guard is a pure
94
+ * ban; the other seams are absent and silent.
92
95
  */
93
96
  export declare function noFabricatedSuccess(tool: string, opts: {
94
- claimRe: RegExp;
95
- labelRe: RegExp;
96
- verbClaimRe: RegExp;
97
97
  reason: string;
98
+ claimRe?: RegExp;
99
+ labelRe?: RegExp;
100
+ verbClaimRe?: RegExp;
101
+ banRe?: RegExp;
102
+ refExists?: (world: AgentWorld, label: string) => boolean;
98
103
  }): Guard;
99
104
  /** The reply must contain at least one of `keywords` (case-insensitive). */
100
105
  export declare function replyMustMention(keywords: string[], reason: string): Guard;
@@ -102,22 +107,25 @@ export declare function replyMustMention(keywords: string[], reason: string): Gu
102
107
  export declare function replyMaxOccurrences(ctas: string[], n: number, reason: string): Guard;
103
108
  /** The reply must be a single short question (exactly one '?'). */
104
109
  export declare function replySingleQuestion(reason: string): Guard;
105
- /** The reply must not match a production-claim regex. */
106
- export declare function replyNoProductionClaim(claimRe: RegExp, reason: string): Guard;
107
110
  /** The reply must be non-empty and name ALL `labels`. */
108
111
  export declare function replyConfirmsLabels(labels: string[], reason: string): Guard;
109
112
  /** The final reply must be non-empty. */
110
113
  export declare function emptyReply(): Guard;
111
114
  /**
112
115
  * Output-channel DEGENERATION lint — domain-neutral, always-on (Minimal layer). Catches the weak-model
113
- * failure class measured 2026-07-14/15 (bench aw35b-Q3 full-117: 5/23 fails): leaked reasoning/tool markup
114
- * (`<think>`, `<tool_call>`, `<tool_response>`, chat-template tokens, raw `replyToUser{`), third-person
115
- * self-narration, and run-away repetition. A hit routes into the existing redrive → exhaustion battery
116
- * (redrives are reply-only regenerations, which is exactly what this class needs). Promoted after targeted
117
- * validation (+3 recoveries, 9/9 clean replies, 0 regressions) and a flash N=3 recert with ZERO firings on
118
- * the clean subject (the zero-diff path). Pure check: no clock/RNG/IO/user-text; fresh regexes per call.
116
+ * failure class (leaked reasoning/tool markup `<think>`, `<tool_call>`, `<tool_response>`, chat-template
117
+ * tokens, raw `replyToUser{` — and run-away repetition), the always-on, model-layer branches. The
118
+ * third-person SELF-NARRATION branch is language-specific, so its pattern is INJECTED
119
+ * (`opts.selfNarrationRe`, threaded from `cfg.lexicon.selfNarrationRe` at auto-install the same shape as
120
+ * `noFalseFailureClaim`'s `falseFailureClaimRe`); absent that branch is OFF and the runtime carries no
121
+ * narration language. A hit routes into the existing redrive exhaustion battery (redrives are reply-only
122
+ * regenerations, which is exactly what this class needs). Promoted after targeted validation (+3 recoveries,
123
+ * 9/9 clean replies, 0 regressions) and a flash N=3 recert with ZERO firings on the clean subject (the
124
+ * zero-diff path). Pure check: no clock/RNG/IO/user-text; fresh regexes per call.
119
125
  */
120
- export declare function degenerationGuard(): Guard;
126
+ export declare function degenerationGuard(opts?: {
127
+ selfNarrationRe?: RegExp;
128
+ }): Guard;
121
129
  /**
122
130
  * A destructive PROBE returned requiresConfirmation this turn — the reply MUST relay the question, UNLESS
123
131
  * that pending confirmation was already RESOLVED this turn: the SAME tool ran OK with the confirm flag set
@@ -1 +1 @@
1
- {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"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"}
package/dist/guards.js CHANGED
@@ -6,18 +6,6 @@ export function custom(opts) {
6
6
  const lc = (s) => String(s ?? '').toLowerCase();
7
7
  const ran = (observed, tool) => observed.some((o) => o.name === tool && o.ok);
8
8
  const ranThisTurn = (ctx, tool) => ctx.observed.some((o) => o.name === tool && o.ok && o.turnIndex === ctx.turnIndex);
9
- function resolveLabel(args, field) {
10
- const v = args[field];
11
- if (v == null)
12
- return null;
13
- if (typeof v === 'string')
14
- return v.trim() || null;
15
- if (typeof v === 'object' && 'label' in v) {
16
- const l = v.label;
17
- return l == null ? null : String(l).trim() || null;
18
- }
19
- return null;
20
- }
21
9
  // ── SPATIAL (graph / sequencing) ─────────────────────────────────────────────
22
10
  /** T may run only after EVERY dep has already run successfully this conversation. */
23
11
  export function requiresBefore(deps) {
@@ -60,25 +48,6 @@ export function argAbsent(field) {
60
48
  prose: () => `never pass "${field}" (it is not an argument of this tool)`,
61
49
  };
62
50
  }
63
- /** A label-typed arg must resolve to an EXISTING media label. */
64
- export function labelExists(field) {
65
- return {
66
- kind: 'labelExists',
67
- dim: 'input',
68
- check(ctx) {
69
- const w = ctx.world;
70
- const label = resolveLabel(ctx.args, field);
71
- if (label == null)
72
- return `Missing media label in "${field}".`;
73
- if (!w.hasMediaLabel(label)) {
74
- const known = w.mediaLabels();
75
- return `Label "${label}" does not exist in Recent Media. Use one the user referenced — available: ${known.join(', ') || '(none)'}. Do NOT invent a label.`;
76
- }
77
- return null;
78
- },
79
- prose: () => `"${field}" must be a real label from Recent Media (do not invent one)`,
80
- };
81
- }
82
51
  /** A PRESENT non-empty string arg must match `pattern`; absent/empty is left to argRequired. */
83
52
  export function argFormat(field, pattern, flags, reason) {
84
53
  const re = new RegExp(pattern, flags ?? '');
@@ -95,33 +64,6 @@ export function argFormat(field, pattern, flags, reason) {
95
64
  prose: () => `"${field}" must match ${pattern}`,
96
65
  };
97
66
  }
98
- /**
99
- * A label-typed arg must come from the expected provenance class. The label SCHEME is business-owned
100
- * and injected — never hardcoded here: `scheme.uploadRe` is the predicate that decides whether a label
101
- * is an "uploaded" label; `scheme.labelNoun` (optional) names the scheme in the default deny/prose
102
- * message; `scheme.reason` overrides that message outright. The runtime carries ONLY the mechanism and
103
- * the generic English wording — the label regex + its noun live in the domain bundle's lexicon.
104
- */
105
- export function labelProvenance(field, expect, scheme) {
106
- const noun = scheme.labelNoun;
107
- const msg = scheme.reason ?? (expect === 'uploaded'
108
- ? `"${field}" must be an UPLOADED image label${noun ? ` (${noun})` : ''} — for generated images use the matching tool instead.`
109
- : `"${field}" must be a GENERATED image label — uploads${noun ? ` (${noun})` : ''} are not valid here.`);
110
- return {
111
- kind: 'labelProvenance',
112
- dim: 'input',
113
- check(ctx) {
114
- const v = ctx.args[field];
115
- const label = typeof v === 'string' ? v.trim()
116
- : (v && typeof v === 'object' && 'label' in v) ? String(v.label ?? '').trim() : '';
117
- if (!label)
118
- return null;
119
- const isUp = scheme.uploadRe.test(label);
120
- return (expect === 'uploaded' ? isUp : !isUp) ? null : msg;
121
- },
122
- prose: () => msg,
123
- };
124
- }
125
67
  // ── RUN (execution preconditions) ────────────────────────────────────────────
126
68
  /** Generic state precondition: the call is allowed only while `ok(world)` holds. `prose` states the
127
69
  * CONDITION (always-rendered), separate from the deny `reason` (fires only when the condition is false). */
@@ -133,25 +75,19 @@ export function precondition(ok, reason, prose) {
133
75
  prose: () => prose ?? reason,
134
76
  };
135
77
  }
136
- /** `tool` may run at most `n` times per turn (counts the model's OWN successful calls). */
137
- export function maxCallsPerTurn(tool, n, reason) {
138
- return {
139
- kind: 'maxCallsPerTurn',
140
- dim: 'run',
141
- check(ctx) {
142
- const count = ctx.observed.filter((o) => o.name === tool && o.ok && o.turnIndex === ctx.turnIndex).length;
143
- return count >= n ? reason : null;
144
- },
145
- prose: () => reason,
146
- };
147
- }
148
- /** Side-effect budget ACROSS turns (maxCallsPerTurn minus the turnIndex filter). */
149
- export function maxCallsPerConversation(tool, n, reason) {
78
+ /**
79
+ * `tool` may run at most `n` successful times within a budget WINDOW (counts the model's OWN OK calls):
80
+ * - `scope: 'turn'` (default) — the per-turn budget (bulk cap): counts only OK calls of THIS turn.
81
+ * - `scope: 'conversation'` — the cross-turn budget: counts OK calls across all turns.
82
+ * The two scopes share one deny message + prose (the caller-supplied `reason`).
83
+ */
84
+ export function maxCalls(tool, n, reason, opts) {
85
+ const scope = opts?.scope ?? 'turn';
150
86
  return {
151
- kind: 'maxCallsPerConversation',
87
+ kind: 'maxCalls',
152
88
  dim: 'run',
153
89
  check(ctx) {
154
- const count = ctx.observed.filter((o) => o.name === tool && o.ok).length;
90
+ const count = ctx.observed.filter((o) => o.name === tool && o.ok && (scope === 'conversation' || o.turnIndex === ctx.turnIndex)).length;
155
91
  return count >= n ? reason : null;
156
92
  },
157
93
  prose: () => reason,
@@ -291,36 +227,47 @@ export function resultInvariant(pred, reason) {
291
227
  }
292
228
  // ── BEHAVIOR (reply-checks) ──────────────────────────────────────────────────
293
229
  /**
294
- * If `tool` did NOT succeed this turn, the reply must not claim/imply it did (existence-keyed). Both
295
- * the label SCHEME (`labelRe`which tokens are media labels) and the verb-first claim regex
296
- * (`verbClaimRe` the "generating an image" phrasing) are business-owned and injected; the runtime
297
- * carries NO linguistic pattern of its own.
230
+ * If `tool` did NOT succeed this turn, the reply must not claim/imply it did (existence-keyed). Every
231
+ * seam is business-owned and injected the runtime carries NO linguistic pattern of its own:
232
+ * - `labelRe` (which tokens are artifact labels) + `refExists` (does a cited label exist in the world?
233
+ * the injected existence predicate that replaced the former hardcoded media coupling — absent ⇒ only
234
+ * labels produced THIS turn are known) → the invented-LABEL branch (attempt-independent: citing a
235
+ * nonexistent artifact is always fabrication).
236
+ * - `claimRe` / `verbClaimRe` (the "created/generating an image" phrasing) → the claim-LANGUAGE branch,
237
+ * ATTEMPT-KEYED (the destructiveClaimRequiresSuccess precedent): with no attempt on `tool` this turn
238
+ * (executed or vetoed), production vocabulary is descriptive/status talk (a fixed-duration explainer, a
239
+ * quota explanation) — left alone. The measured false-positives (fixed-duration + zero-quota cells)
240
+ * rejected CORRECT informational replies and forced the exhaustion fallback.
241
+ * - `banRe` (optional) → the UNCONDITIONAL ban: a phrase the reply may never carry, denied regardless of
242
+ * attempts (absorbs the former replyNoProductionClaim kind). Given ONLY `banRe` the guard is a pure
243
+ * ban; the other seams are absent and silent.
298
244
  */
299
245
  export function noFabricatedSuccess(tool, opts) {
300
246
  return {
301
247
  kind: 'noFabricatedSuccess',
302
248
  dim: 'behavior',
303
249
  check(ctx) {
304
- if (ranThisTurn(ctx, tool))
305
- return null;
306
250
  const reply = ctx.reply ?? '';
307
- // Collect ALL label tokens. Build the global variant locally so a shared /g regex (whose
308
- // lastIndex would persist across turns) is never required on opts.labelRe.
309
- const labelRe = opts.labelRe.global ? opts.labelRe : new RegExp(opts.labelRe.source, opts.labelRe.flags + 'g');
310
- const labels = reply.match(labelRe) ?? [];
311
- const produced = ctx.producedThisTurn ?? [];
312
- const invented = labels.filter((l) => !produced.includes(l) && !ctx.world.hasMediaLabel(l));
313
- if (invented.length)
251
+ // Unconditional ban checked BEFORE the attempt short-circuit so it fires regardless of attempts.
252
+ if (opts.banRe?.test(reply))
314
253
  return opts.reason;
315
- // Claim-LANGUAGE branch is ATTEMPT-KEYED (2026-07-15, the destructiveClaimRequiresSuccess
316
- // precedent): with no attempt on `tool` this turn (executed or vetoed), production vocabulary is
317
- // descriptive/status talk (a fixed-duration explainer, a quota explanation) — left alone. The
318
- // measured false-positives (eight-second-limit + zero-quota cells) rejected CORRECT informational
319
- // replies and forced the exhaustion fallback. Invented LABELS (above) remain attempt-independent
320
- // citing a nonexistent artifact is fabrication regardless of attempts.
254
+ if (ranThisTurn(ctx, tool))
255
+ return null;
256
+ let labelsFound = 0;
257
+ if (opts.labelRe) {
258
+ // Collect ALL label tokens. Build the global variant locally so a shared /g regex (whose
259
+ // lastIndex would persist across turns) is never required on opts.labelRe.
260
+ const labelRe = opts.labelRe.global ? opts.labelRe : new RegExp(opts.labelRe.source, opts.labelRe.flags + 'g');
261
+ const labels = reply.match(labelRe) ?? [];
262
+ labelsFound = labels.length;
263
+ const produced = ctx.producedThisTurn ?? [];
264
+ const invented = labels.filter((l) => !produced.includes(l) && !(opts.refExists?.(ctx.world, l) ?? false));
265
+ if (invented.length)
266
+ return opts.reason;
267
+ }
321
268
  const attempted = ctx.observed.some((o) => o.turnIndex === ctx.turnIndex && o.name === tool);
322
- const claims = opts.claimRe.test(reply) || opts.verbClaimRe.test(reply);
323
- if (attempted && claims && labels.length === 0)
269
+ const claims = (opts.claimRe?.test(reply) ?? false) || (opts.verbClaimRe?.test(reply) ?? false);
270
+ if (attempted && claims && labelsFound === 0)
324
271
  return opts.reason;
325
272
  return null;
326
273
  },
@@ -364,17 +311,6 @@ export function replySingleQuestion(reason) {
364
311
  prose: () => reason,
365
312
  };
366
313
  }
367
- /** The reply must not match a production-claim regex. */
368
- export function replyNoProductionClaim(claimRe, reason) {
369
- return {
370
- kind: 'replyNoProductionClaim',
371
- dim: 'behavior',
372
- check(ctx) {
373
- return claimRe.test(ctx.reply ?? '') ? reason : null;
374
- },
375
- prose: () => reason,
376
- };
377
- }
378
314
  /** The reply must be non-empty and name ALL `labels`. */
379
315
  export function replyConfirmsLabels(labels, reason) {
380
316
  return {
@@ -404,14 +340,17 @@ export function emptyReply() {
404
340
  }
405
341
  /**
406
342
  * Output-channel DEGENERATION lint — domain-neutral, always-on (Minimal layer). Catches the weak-model
407
- * failure class measured 2026-07-14/15 (bench aw35b-Q3 full-117: 5/23 fails): leaked reasoning/tool markup
408
- * (`<think>`, `<tool_call>`, `<tool_response>`, chat-template tokens, raw `replyToUser{`), third-person
409
- * self-narration, and run-away repetition. A hit routes into the existing redrive → exhaustion battery
410
- * (redrives are reply-only regenerations, which is exactly what this class needs). Promoted after targeted
411
- * validation (+3 recoveries, 9/9 clean replies, 0 regressions) and a flash N=3 recert with ZERO firings on
412
- * the clean subject (the zero-diff path). Pure check: no clock/RNG/IO/user-text; fresh regexes per call.
343
+ * failure class (leaked reasoning/tool markup `<think>`, `<tool_call>`, `<tool_response>`, chat-template
344
+ * tokens, raw `replyToUser{` — and run-away repetition), the always-on, model-layer branches. The
345
+ * third-person SELF-NARRATION branch is language-specific, so its pattern is INJECTED
346
+ * (`opts.selfNarrationRe`, threaded from `cfg.lexicon.selfNarrationRe` at auto-install the same shape as
347
+ * `noFalseFailureClaim`'s `falseFailureClaimRe`); absent that branch is OFF and the runtime carries no
348
+ * narration language. A hit routes into the existing redrive exhaustion battery (redrives are reply-only
349
+ * regenerations, which is exactly what this class needs). Promoted after targeted validation (+3 recoveries,
350
+ * 9/9 clean replies, 0 regressions) and a flash N=3 recert with ZERO firings on the clean subject (the
351
+ * zero-diff path). Pure check: no clock/RNG/IO/user-text; fresh regexes per call.
413
352
  */
414
- export function degenerationGuard() {
353
+ export function degenerationGuard(opts) {
415
354
  return {
416
355
  kind: 'degenerationGuard',
417
356
  dim: 'behavior',
@@ -422,7 +361,7 @@ export function degenerationGuard() {
422
361
  if (/<think|<\/think|<tool_call|<tool_response|<\|im_(?:start|end)\|>|\[end of turn\]|<\|assistant\|>|replyToUser\s*\{/i.test(r)) {
423
362
  return 'the reply leaks internal scaffolding (think blocks / tool-call markup / chat-template tokens) — rewrite it as ONE short, clean user-facing message with none of that.';
424
363
  }
425
- if (/\b(?:I closed the turn|by calling replyToUser|The assistant (?:confirmed|called|then))\b/i.test(r)) {
364
+ if (opts?.selfNarrationRe?.test(r)) {
426
365
  return 'the reply narrates your own tool calls in third person instead of speaking TO the user — rewrite it addressing the user directly.';
427
366
  }
428
367
  // run-away repetition: any non-trivial line repeated 3+ times
@@ -435,7 +374,9 @@ export function degenerationGuard() {
435
374
  }
436
375
  return null;
437
376
  },
438
- prose: () => 'reply in ONE clean user-facing message — never leak internal reasoning, template tokens, self-narration, or repeated lines',
377
+ prose: () => opts?.selfNarrationRe
378
+ ? 'reply in ONE clean user-facing message — never leak internal reasoning, template tokens, self-narration, or repeated lines'
379
+ : 'reply in ONE clean user-facing message — never leak internal reasoning, template tokens, or repeated lines',
439
380
  };
440
381
  }
441
382
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"guards.js","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -16,7 +16,7 @@ export type { SpecWarning } from './validate.js';
16
16
  export { geminiThinkingOff, pinnedDecoding, normalizeModelParams, resolveModelSettings } from './model-params.js';
17
17
  export type { SamplingSettings } from './model-params.js';
18
18
  export type { ToolDef, TokenUsage, TurnInput, TurnRecord, RunResult, RuntimeTurnInput, RuntimeTurnRecord } from './runtime/types.js';
19
- export { createLedger, beginTurn, resultOk, recordVeto, recordToolResult, recordTerminal, vetoStormHit, VETO_STORM_LIMIT } from './runtime/ledger.js';
19
+ export { createLedger, beginTurn, resultOk, recordVeto, recordToolResult, recordTerminal, recordTerminalCall, vetoStormHit, VETO_STORM_LIMIT } from './runtime/ledger.js';
20
20
  export type { TurnLedger, PostToolViolation } from './runtime/ledger.js';
21
21
  export { TERMINAL_TOOLS, isTerminal, terminalProtocol, TERMINAL_PROTOCOL, TERMINAL_PROTOCOL_REPLY_ONLY, forcedTerminalPrompt, terminalToolDefs, } from './runtime/terminal.js';
22
22
  export { evaluatePreTool, evaluateOnInput, applyMutators, checkReply, enforcePostTool, redriveMessage, defaultExhaustionReply, finalizeReply, shouldFireChain, runChainCompletionPass, } from './runtime/turn.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,aAAa,EACb,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,IAAI,EACJ,UAAU,EACV,KAAK,GACN,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/D,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAClH,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACrI,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACtJ,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,4BAA4B,EAC5B,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,eAAe,EACf,eAAe,EACf,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,aAAa,EACb,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,IAAI,EACJ,UAAU,EACV,KAAK,GACN,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/D,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAClH,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACrI,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1K,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,4BAA4B,EAC5B,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,eAAe,EACf,eAAe,EACf,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ export { AgentSpecBase, resolveBindings, resolveGuards, resolveMutators, } from
11
11
  export { renderScopedSpecTrunk, chainOrder } from './trunk.js';
12
12
  export { validateSpec, MAX_TOOL_SURFACE } from './validate.js';
13
13
  export { geminiThinkingOff, pinnedDecoding, normalizeModelParams, resolveModelSettings } from './model-params.js';
14
- export { createLedger, beginTurn, resultOk, recordVeto, recordToolResult, recordTerminal, vetoStormHit, VETO_STORM_LIMIT } from './runtime/ledger.js';
14
+ export { createLedger, beginTurn, resultOk, recordVeto, recordToolResult, recordTerminal, recordTerminalCall, vetoStormHit, VETO_STORM_LIMIT } from './runtime/ledger.js';
15
15
  export { TERMINAL_TOOLS, isTerminal, terminalProtocol, TERMINAL_PROTOCOL, TERMINAL_PROTOCOL_REPLY_ONLY, forcedTerminalPrompt, terminalToolDefs, } from './runtime/terminal.js';
16
16
  export { evaluatePreTool, evaluateOnInput, applyMutators, checkReply, enforcePostTool, redriveMessage, defaultExhaustionReply, finalizeReply, shouldFireChain, runChainCompletionPass, } from './runtime/turn.js';
17
17
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,WAAW,CAAC;AAgBnB,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAKlH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEtJ,OAAO,EACL,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,4BAA4B,EAC5B,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,eAAe,EACf,eAAe,EACf,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,WAAW,CAAC;AAgBnB,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAKlH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE1K,OAAO,EACL,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,4BAA4B,EAC5B,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,eAAe,EACf,eAAe,EACf,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC"}
package/dist/rules.d.ts CHANGED
@@ -4,16 +4,16 @@
4
4
  * The governance primitives the agentspec skill authors: a deterministic `check` paired with an
5
5
  * LLM-facing `prose`, keyed only on tool args / world state / observed calls — NEVER the user
6
6
  * text (the magnet firewall: guards must not scope behavior by user intent). The world is an
7
- * opaque, host-injected seam (`AgentWorld`); domain guards narrow it (e.g. `MediaWorld`) the
8
- * package itself is domain-neutral.
7
+ * opaque, host-injected seam (`AgentWorld`); a domain reads its own accessors through the index
8
+ * signature — the package itself is domain-neutral.
9
9
  */
10
10
  /** The five enforcement dims (taxonomy metadata; the structural key is the hook it maps to). */
11
11
  export type Dim = 'spatial' | 'input' | 'run' | 'output' | 'behavior';
12
12
  /**
13
13
  * The read/exec world seam the runtime + guards depend on — host-injected, opaque to the package.
14
- * The core methods the runtime calls are typed; domain-specific accessors (hasMediaLabel,
15
- * imageQuotaRemaining, hasVisualStyle, …) flow through the index signature so a domain's
16
- * guards/theme can read them without the package knowing the domain.
14
+ * The core methods the runtime calls are typed; domain-specific accessors (imageQuotaRemaining,
15
+ * hasVisualStyle, …) flow through the index signature so a domain's guards/theme can read them
16
+ * without the package knowing the domain.
17
17
  */
18
18
  export interface AgentWorld {
19
19
  exec(name: string, args: Record<string, unknown>): Promise<unknown> | unknown;
@@ -28,11 +28,6 @@ export interface AgentWorld {
28
28
  sseActions: unknown[];
29
29
  [k: string]: any;
30
30
  }
31
- /** The media-label capability a media domain's world exposes (narrowed by label guards). */
32
- export interface MediaWorld {
33
- hasMediaLabel(label: string): boolean;
34
- mediaLabels(): string[];
35
- }
36
31
  /** One tool call observed this CONVERSATION. Magnet-safe: no user text. */
37
32
  export interface ObservedCall {
38
33
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,gGAAgG;AAChG,MAAM,MAAM,GAAG,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC9E,WAAW,IAAI,IAAI,CAAC;IACpB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1F,UAAU,EAAE,OAAO,EAAE,CAAC;IAEtB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED,4FAA4F;AAC5F,MAAM,WAAW,UAAU;IACzB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACtC,WAAW,IAAI,MAAM,EAAE,CAAC;CACzB;AAED,2EAA2E;AAC3E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAClD;AAED,qEAAqE;AACrE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,qGAAqG;AACrG,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7D,KAAK,IAAI,MAAM,CAAC;CACjB;AAED,4GAA4G;AAC5G,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC7C;AAED,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ"}
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,gGAAgG;AAChG,MAAM,MAAM,GAAG,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC9E,WAAW,IAAI,IAAI,CAAC;IACpB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1F,UAAU,EAAE,OAAO,EAAE,CAAC;IAEtB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED,2EAA2E;AAC3E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE;QAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAClD;AAED,qEAAqE;AACrE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,qGAAqG;AACrG,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7D,KAAK,IAAI,MAAM,CAAC;CACjB;AAED,4GAA4G;AAC5G,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC7C;AAED,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ"}
package/dist/rules.js CHANGED
@@ -4,8 +4,8 @@
4
4
  * The governance primitives the agentspec skill authors: a deterministic `check` paired with an
5
5
  * LLM-facing `prose`, keyed only on tool args / world state / observed calls — NEVER the user
6
6
  * text (the magnet firewall: guards must not scope behavior by user intent). The world is an
7
- * opaque, host-injected seam (`AgentWorld`); domain guards narrow it (e.g. `MediaWorld`) the
8
- * package itself is domain-neutral.
7
+ * opaque, host-injected seam (`AgentWorld`); a domain reads its own accessors through the index
8
+ * signature — the package itself is domain-neutral.
9
9
  */
10
10
  export {};
11
11
  //# sourceMappingURL=rules.js.map
@@ -44,5 +44,12 @@ export declare function recordVeto(ledger: TurnLedger, name: string, args: Recor
44
44
  /** Record an EXECUTED tool call's outcome (afterToolCall): ok flag, confirmation flag, produced label. */
45
45
  export declare function recordToolResult(ledger: TurnLedger, name: string, args: Record<string, unknown>, output: unknown): void;
46
46
  /** Record a TERMINAL tool call (replyToUser/askUser): capture the user-facing text. */
47
+ /** Record a terminal CALL in the observed ledger. Called from the guard hooks' SYNCHRONOUS segment
48
+ * (before any await): the model runtime dispatches a step's tool calls concurrently (Promise.all)
49
+ * but STARTS them in emission order, so a synchronous hook-time push makes a same-step `askUser`
50
+ * visible to a sibling destructive call's preTool checks — closing the noActAfterAskSameTurn
51
+ * same-step bypass (proof-suite finding, fixed 2026-07-15). */
52
+ export declare function recordTerminalCall(ledger: TurnLedger, name: string, args: Record<string, unknown>): void;
53
+ /** Capture the terminal REPLY text (the observed push happens at hook time via recordTerminalCall). */
47
54
  export declare function recordTerminal(ledger: TurnLedger, name: string, args: Record<string, unknown>): void;
48
55
  //# sourceMappingURL=ledger.d.ts.map