instar 1.3.954 → 1.3.955

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 (42) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +30 -10
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/DecisionQualityRecorderImpl.d.ts +22 -0
  5. package/dist/core/DecisionQualityRecorderImpl.d.ts.map +1 -1
  6. package/dist/core/DecisionQualityRecorderImpl.js +26 -0
  7. package/dist/core/DecisionQualityRecorderImpl.js.map +1 -1
  8. package/dist/core/MessagingToneGate.d.ts +67 -1
  9. package/dist/core/MessagingToneGate.d.ts.map +1 -1
  10. package/dist/core/MessagingToneGate.js +127 -19
  11. package/dist/core/MessagingToneGate.js.map +1 -1
  12. package/dist/core/PostUpdateMigrator.d.ts +10 -0
  13. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  14. package/dist/core/PostUpdateMigrator.js +44 -1
  15. package/dist/core/PostUpdateMigrator.js.map +1 -1
  16. package/dist/core/TelegramRelay.d.ts +27 -2
  17. package/dist/core/TelegramRelay.d.ts.map +1 -1
  18. package/dist/core/TelegramRelay.js +40 -1
  19. package/dist/core/TelegramRelay.js.map +1 -1
  20. package/dist/core/devGatedFeatures.d.ts.map +1 -1
  21. package/dist/core/devGatedFeatures.js +6 -0
  22. package/dist/core/devGatedFeatures.js.map +1 -1
  23. package/dist/data/provenanceCoverage.d.ts.map +1 -1
  24. package/dist/data/provenanceCoverage.js +22 -0
  25. package/dist/data/provenanceCoverage.js.map +1 -1
  26. package/dist/messaging/outbound-credential-guard.d.ts +116 -0
  27. package/dist/messaging/outbound-credential-guard.d.ts.map +1 -0
  28. package/dist/messaging/outbound-credential-guard.js +157 -0
  29. package/dist/messaging/outbound-credential-guard.js.map +1 -0
  30. package/dist/scaffold/templates.d.ts.map +1 -1
  31. package/dist/scaffold/templates.js +4 -2
  32. package/dist/scaffold/templates.js.map +1 -1
  33. package/dist/server/routes.d.ts.map +1 -1
  34. package/dist/server/routes.js +410 -11
  35. package/dist/server/routes.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/data/builtin-manifest.json +64 -64
  38. package/src/data/provenanceCoverage.ts +22 -0
  39. package/src/scaffold/templates.ts +4 -2
  40. package/src/templates/scripts/telegram-reply.sh +93 -2
  41. package/upgrades/1.3.955.md +73 -0
  42. package/upgrades/side-effects/tone-gate-advisory-migration.md +336 -0
@@ -138,6 +138,13 @@ export declare class DecisionQualityRecorderImpl implements DecisionQualityRecor
138
138
  private readonly log;
139
139
  private readonly nowFn;
140
140
  constructor(opts: DecisionQualityRecorderImplOptions);
141
+ /**
142
+ * True when an annotation would land durably (see
143
+ * `decisionQualityRecordingLive`). Read by callers that relax an enforcement
144
+ * decision in exchange for recorded evidence, so the relaxation can be made
145
+ * conditional on the evidence actually being collected.
146
+ */
147
+ isRecordingLive(): boolean;
141
148
  /** The resolved gate state (wiring-integrity/status surface). */
142
149
  gateState(): {
143
150
  enabled: boolean;
@@ -183,6 +190,21 @@ export declare function installDecisionQualityRecorder(impl: DecisionQualityReco
183
190
  * a clean no-op result.
184
191
  */
185
192
  export declare function annotateDecisionOutcome(a: DecisionOutcomeAnnotationInput): DecisionOutcomeAnnotationResult;
193
+ /**
194
+ * Would an outcome annotation land DURABLY right now? (`enabled && !dryRun`)
195
+ *
196
+ * WHY THIS EXISTS (review finding, 2026-07-25): a caller that RELAXES an
197
+ * enforcement decision in exchange for evidence must be able to check that the
198
+ * evidence is actually being collected. `annotateOutcome` returns
199
+ * `{applied:false, dryRun:true}` when the seam is dry — and `dryRun` DEFAULTS
200
+ * TRUE — so a feature that trades authority for recording could otherwise give
201
+ * up the authority and record nothing, silently, in the default configuration.
202
+ * Answering the question BEFORE the trade is the only way to make the trade
203
+ * conditional on its own premise.
204
+ *
205
+ * No installed recorder ⇒ false (a CLI process records nothing).
206
+ */
207
+ export declare function decisionQualityRecordingLive(): boolean;
186
208
  /**
187
209
  * Parse the machineId segment out of a §5.1 correlation id
188
210
  * (`d-<machineId8>-<uuid>` / `d-<uuid>`): the id itself is the carrier the
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionQualityRecorderImpl.d.ts","sourceRoot":"","sources":["../../src/core/DecisionQualityRecorderImpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DecisionQualityRecorderImpl.d.ts","sourceRoot":"","sources":["../../src/core/DecisionQualityRecorderImpl.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,15 @@ export class DecisionQualityRecorderImpl {
79
79
  this.log = opts.log ?? (() => { });
80
80
  this.nowFn = opts.now ?? (() => Date.now());
81
81
  }
82
+ /**
83
+ * True when an annotation would land durably (see
84
+ * `decisionQualityRecordingLive`). Read by callers that relax an enforcement
85
+ * decision in exchange for recorded evidence, so the relaxation can be made
86
+ * conditional on the evidence actually being collected.
87
+ */
88
+ isRecordingLive() {
89
+ return this.enabled && !this.dryRun;
90
+ }
82
91
  /** The resolved gate state (wiring-integrity/status surface). */
83
92
  gateState() {
84
93
  return { enabled: this.enabled, dryRun: this.dryRun };
@@ -327,6 +336,23 @@ export function annotateDecisionOutcome(a) {
327
336
  return { applied: false, disabled: true };
328
337
  return _activeAnnotator.annotateOutcome(a);
329
338
  }
339
+ /**
340
+ * Would an outcome annotation land DURABLY right now? (`enabled && !dryRun`)
341
+ *
342
+ * WHY THIS EXISTS (review finding, 2026-07-25): a caller that RELAXES an
343
+ * enforcement decision in exchange for evidence must be able to check that the
344
+ * evidence is actually being collected. `annotateOutcome` returns
345
+ * `{applied:false, dryRun:true}` when the seam is dry — and `dryRun` DEFAULTS
346
+ * TRUE — so a feature that trades authority for recording could otherwise give
347
+ * up the authority and record nothing, silently, in the default configuration.
348
+ * Answering the question BEFORE the trade is the only way to make the trade
349
+ * conditional on its own premise.
350
+ *
351
+ * No installed recorder ⇒ false (a CLI process records nothing).
352
+ */
353
+ export function decisionQualityRecordingLive() {
354
+ return _activeAnnotator?.isRecordingLive() === true;
355
+ }
330
356
  /* ── Small helpers ──────────────────────────────────────────────────────── */
331
357
  /** Log-hygiene clamp for identifiers interpolated into would-write lines. */
332
358
  function safeLabel(v) {
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionQualityRecorderImpl.js","sourceRoot":"","sources":["../../src/core/DecisionQualityRecorderImpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DecisionQualityRecorderImpl.js","sourceRoot":"","sources":["../../src/core/DecisionQualityRecorderImpl.ts"],"names":[],"mappings":"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"}
@@ -150,7 +150,7 @@ opts?: {
150
150
  * — so the slow and fast manifestations of the same outage degrade identically.
151
151
  * `latencyMs` is supplied by the caller (each site measures its own elapsed).
152
152
  */
153
- export declare function buildDegradedToneResult(text: string, latencyMs: number, reason: DegradeReason): ToneReviewResult;
153
+ export declare function buildDegradedToneResult(text: string, latencyMs: number, reason: DegradeReason, advisoryMigration?: boolean): ToneReviewResult;
154
154
  export interface ToneReviewResult {
155
155
  pass: boolean;
156
156
  /**
@@ -234,6 +234,24 @@ export interface ToneReviewResult {
234
234
  * Spec: docs/specs/tone-gate-graceful-degradation.md (postmortem F4).
235
235
  */
236
236
  degradedToDeterministic?: boolean;
237
+ /**
238
+ * The §5.1 decision-quality correlation id of THIS review, when the router
239
+ * minted one (absent on the degraded/deterministic paths, which never reach
240
+ * the router). The route seam returns it to the agent on an advisory verdict
241
+ * so a subsequent override/compliance can be JOINED to the decision it
242
+ * reacted to — the correlation that turns an override into gradeable
243
+ * evidence instead of an unattached log line.
244
+ */
245
+ decisionRef?: string;
246
+ /**
247
+ * Set by the route seam when an ADVISORY verdict was withdrawn back to a
248
+ * BLOCK because its reaction could not have been recorded (no correlation id,
249
+ * or the quality seam dark/dry-run). Audit-only — it exists so the fallback
250
+ * is observable rather than looking like an ordinary block.
251
+ */
252
+ advisoryUnrecordable?: boolean;
253
+ /** Bounded, scrubbed head of the agent's override reason — audit only. */
254
+ overrideReasonHead?: string;
237
255
  }
238
256
  export declare const VALID_RULES: Set<string>;
239
257
  /**
@@ -277,6 +295,42 @@ export declare const RULE_CLASSES: Record<string, GateRuleClass>;
277
295
  */
278
296
  export type GateRuleDisposition = 'blocking' | 'advisory';
279
297
  export declare const RULE_DISPOSITIONS: Record<string, GateRuleDisposition>;
298
+ /**
299
+ * The advisory MIGRATION (operator approval 2026-07-19, topic 33368 — the
300
+ * CMT-904 follow-up the map above anticipated). Under the migration EVERY
301
+ * `blocking` rule above resolves `advisory`: the gate names the pitfall and
302
+ * hands the message back to the AGENT, who may re-send unchanged with a
303
+ * RECORDED reason. Two things make this the right shape rather than a
304
+ * weakening:
305
+ *
306
+ * 1. The hard wall moved to where it belongs. A judgment about a file path or
307
+ * a phrasing is an opinion; a LIVE CREDENTIAL in outbound text is
308
+ * irreversible exposure. The latter is now a DETERMINISTIC, non-overridable
309
+ * guard at the route seam (`outbound-credential-guard`) that needs no LLM
310
+ * and cannot be acknowledged away — so removing the LLM hard-block removes
311
+ * no credential protection.
312
+ * 2. A hard block produces NO evidence. When the gate overrules the agent and
313
+ * the agent has no recourse, there is no disagreement to record, and the
314
+ * decision-quality meter can only ever grade `unknown` (observed: 1,440
315
+ * tone-gate decisions over 7 days, zero graded). The override reason IS the
316
+ * evidence source (`tone-agent-override-v1` / `tone-agent-complied-v1`).
317
+ *
318
+ * An override is a SIGNAL, never authority: it is recorded at the `self-report`
319
+ * rung, so it can never outrank an independent grader.
320
+ */
321
+ export declare const ADVISORY_MIGRATION_EXEMPT_RULES: ReadonlySet<string>;
322
+ /**
323
+ * The effective disposition of a cited rule. `RULE_DISPOSITIONS` is the
324
+ * unmigrated baseline (kept intact so the rollback is a flag, not a revert);
325
+ * this resolver applies the migration on top.
326
+ *
327
+ * A rule NOT in the baseline map — `GATE_UNAVAILABLE`, or any id a future
328
+ * caller invents — resolves `blocking`. That is deliberate and load-bearing:
329
+ * an AVAILABILITY hold ("the authority could not produce a verdict") is not a
330
+ * judgment the agent can acknowledge away, and an unregistered id must never
331
+ * inherit advisory leniency by omission.
332
+ */
333
+ export declare function resolveRuleDisposition(rule: string, advisoryMigration: boolean): GateRuleDisposition;
280
334
  export declare const PHASE2_MIGRATION_DEBT: {
281
335
  rules: readonly [];
282
336
  commitment: string;
@@ -591,6 +645,18 @@ export interface ToneGateConfig {
591
645
  * layer that does not exist yet.
592
646
  */
593
647
  recordCandidateBody?: boolean;
648
+ /**
649
+ * The advisory migration (see ADVISORY_MIGRATION_EXEMPT_RULES): every
650
+ * judgment/representation rule becomes an overridable NUDGE, with the live
651
+ * credential guard as the one remaining hard wall.
652
+ *
653
+ * OMITTED in ConfigDefaults ON PURPOSE — absence resolves through the
654
+ * development-agent gate (live on a dev agent, dark on the fleet). An
655
+ * explicit `false` is the operator rollback (restores the pre-migration
656
+ * blocking behaviour without a deploy, read live per review); an explicit
657
+ * `true` is the fleet flip.
658
+ */
659
+ advisoryMigration?: boolean;
594
660
  }
595
661
  /**
596
662
  * Resolve the operator's tone-gate knobs from a full InstarConfig-shaped object.
@@ -1 +1 @@
1
- {"version":3,"file":"MessagingToneGate.d.ts","sourceRoot":"","sources":["../../src/core/MessagingToneGate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessagingToneGate.d.ts","sourceRoot":"","sources":["../../src/core/MessagingToneGate.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ import { detectDeferralShape } from './deferral-floor.js';
26
26
  import { DP_MESSAGING_TONE_GATE } from '../data/provenanceCoverage.js';
27
27
  import { scrubForStore } from './durableSecretScrub.js';
28
28
  import { CONTENT_FULL_KEY } from './JudgmentProvenanceLog.js';
29
+ import { resolveDevAgentGate } from './devAgentGate.js';
29
30
  /** Normalize volatile fields so repeated automated templates share one identity. */
30
31
  export function normalizeAutomatedTemplate(text) {
31
32
  return text
@@ -285,7 +286,7 @@ function safeDeferralShapeDetected(text) {
285
286
  * — so the slow and fast manifestations of the same outage degrade identically.
286
287
  * `latencyMs` is supplied by the caller (each site measures its own elapsed).
287
288
  */
288
- export function buildDegradedToneResult(text, latencyMs, reason) {
289
+ export function buildDegradedToneResult(text, latencyMs, reason, advisoryMigration = false) {
289
290
  const leak = detectDeterministicLeak(text);
290
291
  if (leak) {
291
292
  return {
@@ -296,6 +297,10 @@ export function buildDegradedToneResult(text, latencyMs, reason) {
296
297
  latencyMs,
297
298
  failedClosed: true,
298
299
  degradedToDeterministic: true,
300
+ // The disposition follows the RULE, not the path that reached it: a file
301
+ // path is the same opinion whether the judge or the floor named it. The
302
+ // credential guard runs BEFORE this floor and is unaffected.
303
+ ...(resolveRuleDisposition(leak.rule, advisoryMigration) === 'advisory' ? { advisory: true } : {}),
299
304
  };
300
305
  }
301
306
  // ux-is-the-product-hardening §2.1 — the behavioral self-stop guard (B15/B18)
@@ -316,6 +321,9 @@ export function buildDegradedToneResult(text, latencyMs, reason) {
316
321
  latencyMs,
317
322
  failedClosed: true,
318
323
  degradedToDeterministic: true,
324
+ ...(resolveRuleDisposition('B15_CONTEXT_DEATH_STOP', advisoryMigration) === 'advisory'
325
+ ? { advisory: true }
326
+ : {}),
319
327
  };
320
328
  }
321
329
  return {
@@ -412,6 +420,84 @@ export const RULE_DISPOSITIONS = {
412
420
  B20_INTERNAL_ID_LEAK: 'blocking',
413
421
  B21_USER_TASK_SUBSTITUTION: 'advisory',
414
422
  };
423
+ /**
424
+ * The advisory MIGRATION (operator approval 2026-07-19, topic 33368 — the
425
+ * CMT-904 follow-up the map above anticipated). Under the migration EVERY
426
+ * `blocking` rule above resolves `advisory`: the gate names the pitfall and
427
+ * hands the message back to the AGENT, who may re-send unchanged with a
428
+ * RECORDED reason. Two things make this the right shape rather than a
429
+ * weakening:
430
+ *
431
+ * 1. The hard wall moved to where it belongs. A judgment about a file path or
432
+ * a phrasing is an opinion; a LIVE CREDENTIAL in outbound text is
433
+ * irreversible exposure. The latter is now a DETERMINISTIC, non-overridable
434
+ * guard at the route seam (`outbound-credential-guard`) that needs no LLM
435
+ * and cannot be acknowledged away — so removing the LLM hard-block removes
436
+ * no credential protection.
437
+ * 2. A hard block produces NO evidence. When the gate overrules the agent and
438
+ * the agent has no recourse, there is no disagreement to record, and the
439
+ * decision-quality meter can only ever grade `unknown` (observed: 1,440
440
+ * tone-gate decisions over 7 days, zero graded). The override reason IS the
441
+ * evidence source (`tone-agent-override-v1` / `tone-agent-complied-v1`).
442
+ *
443
+ * An override is a SIGNAL, never authority: it is recorded at the `self-report`
444
+ * rung, so it can never outrank an independent grader.
445
+ */
446
+ export const ADVISORY_MIGRATION_EXEMPT_RULES = new Set([
447
+ // ── The self-stop family stays a WALL (review finding, 2026-07-25) ────────
448
+ // The operator's directive was about REPRESENTATION — "a check blocking me
449
+ // from sending you a directory path is too much power". Reading it as also
450
+ // covering the behavioural self-stop guards is an inference, and the two rule
451
+ // families have opposite harm profiles:
452
+ //
453
+ // B1–B7 / B11–B14 / B20–B21: the agent judges an externally verifiable fact
454
+ // ("is this path useful to the user?"). It is a reasonably disinterested
455
+ // judge, a wrong override costs one leaked path, and the disagreement is
456
+ // genuinely informative evidence.
457
+ //
458
+ // B15–B19: the agent is THE PARTY THE RULE CONSTRAINS. The override reason
459
+ // would be produced by the same reasoning process that produced the stop —
460
+ // and the gate's founding premise is that this exact judgment, in this exact
461
+ // state, is the compromised one. Worse, the harm is not the message: it is
462
+ // the abandoned work, which happens the instant the message sends. Bulk
463
+ // judging at T+7d cannot un-abandon it, so the evidence rationale that
464
+ // justifies the whole migration does not reach this family.
465
+ //
466
+ // Migrating these is a real operator decision, surfaced rather than assumed.
467
+ // A future migration should give them a THIRD disposition rather than a plain
468
+ // nudge: overridable only by naming a `stop_reason_kind` from the enum the
469
+ // prompt already emits (external-blocker | design-fork | operator-stop |
470
+ // completion), with `agent-state` refused — a falsifiable claim that can be
471
+ // cross-checked against BlockerLedger instead of free prose.
472
+ 'B15_CONTEXT_DEATH_STOP',
473
+ 'B16_UNVERIFIED_WALL',
474
+ 'B17_FALSE_BLOCKER',
475
+ 'B18_AUTONOMY_STOP',
476
+ 'B19_PARKED_ON_USER',
477
+ ]);
478
+ /**
479
+ * The effective disposition of a cited rule. `RULE_DISPOSITIONS` is the
480
+ * unmigrated baseline (kept intact so the rollback is a flag, not a revert);
481
+ * this resolver applies the migration on top.
482
+ *
483
+ * A rule NOT in the baseline map — `GATE_UNAVAILABLE`, or any id a future
484
+ * caller invents — resolves `blocking`. That is deliberate and load-bearing:
485
+ * an AVAILABILITY hold ("the authority could not produce a verdict") is not a
486
+ * judgment the agent can acknowledge away, and an unregistered id must never
487
+ * inherit advisory leniency by omission.
488
+ */
489
+ export function resolveRuleDisposition(rule, advisoryMigration) {
490
+ if (!rule)
491
+ return 'blocking';
492
+ const baseline = RULE_DISPOSITIONS[rule];
493
+ if (baseline === undefined)
494
+ return 'blocking';
495
+ if (baseline === 'advisory')
496
+ return 'advisory';
497
+ if (!advisoryMigration)
498
+ return 'blocking';
499
+ return ADVISORY_MIGRATION_EXEMPT_RULES.has(rule) ? 'blocking' : 'advisory';
500
+ }
415
501
  export const PHASE2_MIGRATION_DEBT = {
416
502
  rules: [],
417
503
  commitment: 'CMT-1793',
@@ -455,6 +541,8 @@ export function resolveToneGateOperatorConfig(config) {
455
541
  failClosedMode: tg?.failClosedMode,
456
542
  toneTierDryRun: tg?.toneTierDryRun,
457
543
  recordCandidateBody: tg?.recordCandidateBody,
544
+ // Dev-gated: absent ⇒ live on a development agent, dark on the fleet.
545
+ advisoryMigration: resolveDevAgentGate(tg?.advisoryMigration, config),
458
546
  };
459
547
  }
460
548
  export class MessagingToneGate {
@@ -477,6 +565,12 @@ export class MessagingToneGate {
477
565
  }
478
566
  async review(text, context) {
479
567
  const start = Date.now();
568
+ // The router mints the decision-quality correlation id synchronously at
569
+ // entry (before the first attempt) and hands it to this callback. Captured
570
+ // here so an ADVISORY verdict can carry it back to the agent as
571
+ // `decisionRef` — without it an override is an orphan log line that no
572
+ // grader can ever join to the decision it disputes.
573
+ let decisionRef;
480
574
  const prompt = this.buildPrompt(text, context.channel, context.recentMessages, context.signals, context.targetStyle, context.messageKind, context.agentState, context.standingAuthorization);
481
575
  // F5: route the operator-facing SYNCHRONOUS reply (a human is waiting) to the
482
576
  // interactive reservation lane in the host spawn cap. Honored only when the
@@ -511,9 +605,15 @@ export class MessagingToneGate {
511
605
  }),
512
606
  optionsPresented: [...TONE_OPTIONS_PRESENTED],
513
607
  promptId: TONE_GATE_PROMPT_ID,
608
+ onCorrelationId: (id) => {
609
+ decisionRef = id;
610
+ },
514
611
  },
515
612
  };
516
613
  const cfg = this.getConfig();
614
+ const advisoryMigration = cfg.advisoryMigration === true;
615
+ /** Stamp the correlation id onto whichever disposition this review returns. */
616
+ const withRef = (r) => decisionRef ? { ...r, decisionRef } : r;
517
617
  // Availability-sensitive disposition (spec §Design 6 + tone-gate-graceful-
518
618
  // degradation F4). THREE-valued — distinguishes "operator forced pure-hold"
519
619
  // from "default degrade-to-deterministic". RAW tri-state (NOT normalized):
@@ -540,21 +640,21 @@ export class MessagingToneGate {
540
640
  };
541
641
  try {
542
642
  // First pass.
543
- let interp = this.interpret(this.parseResponse(await this.provider.evaluate(prompt, opts)), start);
643
+ let interp = this.interpret(this.parseResponse(await this.provider.evaluate(prompt, opts)), start, advisoryMigration);
544
644
  // ONE re-prompt on a model-output-discipline failure (invalid/empty rule,
545
645
  // unparseable response, or a contradictory structured verdict) — same
546
646
  // candidate + context envelope, no narrowing.
547
647
  if (interp.kind === 'retry') {
548
- interp = this.interpret(this.parseResponse(await this.provider.evaluate(prompt, opts)), start);
648
+ interp = this.interpret(this.parseResponse(await this.provider.evaluate(prompt, opts)), start, advisoryMigration);
549
649
  }
550
650
  if (interp.kind === 'ok')
551
- return interp.result;
651
+ return withRef(interp.result);
552
652
  // Still a discipline failure after one re-prompt → no usable verdict
553
653
  // (availability). Tier for the operator channel; else FAIL-CLOSED (hold).
554
654
  if (tierDeliver)
555
- return this.operatorChannelDeliver(start);
655
+ return withRef(this.operatorChannelDeliver(start));
556
656
  dryRunHold('unparseable-after-retry');
557
- return this.failClosed(start, interp.reason);
657
+ return withRef(this.failClosed(start, interp.reason));
558
658
  }
559
659
  catch (err) {
560
660
  // Fork-bomb P3 (forkbomb-prevention-simple §D-DISPOSITION): a capacity shed
@@ -566,16 +666,16 @@ export class MessagingToneGate {
566
666
  // so the P3 invariant (a spawn-cap shed of a gating call fails closed) holds.
567
667
  if (isCapacityUnavailable(err)) {
568
668
  if (tierDeliver)
569
- return this.operatorChannelDeliver(start);
669
+ return withRef(this.operatorChannelDeliver(start));
570
670
  dryRunHold('capacity-shed');
571
- return {
671
+ return withRef({
572
672
  pass: false,
573
673
  rule: 'CAPACITY_UNAVAILABLE',
574
674
  issue: 'Outbound tone review unavailable — host spawn capacity saturated.',
575
675
  suggestion: 'Held (fail-closed) under load; retry shortly.',
576
676
  latencyMs: Date.now() - start,
577
677
  capacityUnavailable: true,
578
- };
678
+ });
579
679
  }
580
680
  // Provider-exhaustion / error path — the SUSTAINED outage class that
581
681
  // silently cut the user off (rate-limit → breaker open → every verdict
@@ -583,29 +683,29 @@ export class MessagingToneGate {
583
683
  // operator; otherwise THREE-valued (tone-gate-graceful-degradation F4):
584
684
  // true → pure-hold · false → fail-open · undefined → degrade-to-deterministic.
585
685
  if (tierDeliver)
586
- return this.operatorChannelDeliver(start);
686
+ return withRef(this.operatorChannelDeliver(start));
587
687
  dryRunHold('provider-error');
588
688
  if (failClosedOnExhaustion === true) {
589
689
  // Operator override → pure-hold (legacy strict, No Silent Degradation).
590
- return this.failClosed(start, 'provider-error');
690
+ return withRef(this.failClosed(start, 'provider-error'));
591
691
  }
592
692
  if (failClosedOnExhaustion === false) {
593
693
  // Operator override → fail-open (legacy permissive: send unchecked).
594
- return {
694
+ return withRef({
595
695
  pass: true,
596
696
  rule: '',
597
697
  issue: '',
598
698
  suggestion: '',
599
699
  latencyMs: Date.now() - start,
600
700
  failedOpen: true,
601
- };
701
+ });
602
702
  }
603
703
  // DEFAULT (F4): degrade to the in-process deterministic leak floor. No LLM,
604
704
  // no subprocess — a clean message SENDS (the user is never silently cut
605
705
  // off during a backend outage); a real leaked artifact still HOLDS. The
606
706
  // SLOW manifestation of this same outage (the gate stalling past the route
607
707
  // budget) degrades identically at the route seam via `reviewWithinBudget`.
608
- return buildDegradedToneResult(text, Date.now() - start, 'provider-error');
708
+ return withRef(buildDegradedToneResult(text, Date.now() - start, 'provider-error', advisoryMigration));
609
709
  }
610
710
  }
611
711
  /**
@@ -646,7 +746,7 @@ export class MessagingToneGate {
646
746
  * reasoning). Back-compat: when no structured block is present, behavior is
647
747
  * exactly the legacy {pass,rule,issue,suggestion} path.
648
748
  */
649
- interpret(parsed, start) {
749
+ interpret(parsed, start, advisoryMigration = false) {
650
750
  if (!parsed)
651
751
  return { kind: 'retry', reason: 'unparseable' };
652
752
  const s = parsed.structured;
@@ -665,6 +765,14 @@ export class MessagingToneGate {
665
765
  suggestion: parsed.suggestion ||
666
766
  'Continue the work; reserve a stop for a genuine external blocker, a real design fork only the user can resolve, an operator instruction to stop, or a real completion.',
667
767
  latencyMs: Date.now() - start,
768
+ // The DERIVED B15 block carries the same disposition as a cited
769
+ // one. Before the migration this branch built its result inline and
770
+ // silently skipped the disposition lookup, so a B15 flipped to
771
+ // advisory would still have hard-blocked here — the one path where
772
+ // the two verdict routes could disagree.
773
+ ...(resolveRuleDisposition('B15_CONTEXT_DEATH_STOP', advisoryMigration) === 'advisory'
774
+ ? { advisory: true }
775
+ : {}),
668
776
  },
669
777
  };
670
778
  }
@@ -684,10 +792,10 @@ export class MessagingToneGate {
684
792
  issue: parsed.issue,
685
793
  suggestion: parsed.suggestion,
686
794
  latencyMs: Date.now() - start,
687
- // Advisory disposition (operator directive 2026-07-18): a cited
688
- // advisory rule is a NUDGE, not a block — the seam gives the agent the
689
- // final call with a recorded override path.
690
- ...(!parsed.pass && RULE_DISPOSITIONS[parsed.rule] === 'advisory'
795
+ // Advisory disposition (operator directive 2026-07-18, migrated
796
+ // 2026-07-19): a cited advisory rule is a NUDGE, not a block — the seam
797
+ // gives the agent the final call with a recorded override path.
798
+ ...(!parsed.pass && resolveRuleDisposition(parsed.rule, advisoryMigration) === 'advisory'
691
799
  ? { advisory: true }
692
800
  : {}),
693
801
  },