audrey 2.0.0 → 2.1.1

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 (148) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/README.md +64 -60
  3. package/SECURITY.md +2 -3
  4. package/dist/mcp-server/config.d.ts +1 -11
  5. package/dist/mcp-server/config.d.ts.map +1 -1
  6. package/dist/mcp-server/config.js +42 -4
  7. package/dist/mcp-server/config.js.map +1 -1
  8. package/dist/mcp-server/index.d.ts +6 -2
  9. package/dist/mcp-server/index.d.ts.map +1 -1
  10. package/dist/mcp-server/index.js +147 -16
  11. package/dist/mcp-server/index.js.map +1 -1
  12. package/dist/mcp-server/tool-schemas.d.ts +46 -0
  13. package/dist/mcp-server/tool-schemas.d.ts.map +1 -1
  14. package/dist/mcp-server/tool-schemas.js +20 -1
  15. package/dist/mcp-server/tool-schemas.js.map +1 -1
  16. package/dist/src/action-key.d.ts.map +1 -1
  17. package/dist/src/action-key.js +7 -7
  18. package/dist/src/action-key.js.map +1 -1
  19. package/dist/src/audrey.d.ts +7 -4
  20. package/dist/src/audrey.d.ts.map +1 -1
  21. package/dist/src/audrey.js +210 -57
  22. package/dist/src/audrey.js.map +1 -1
  23. package/dist/src/autopilot.d.ts +1 -1
  24. package/dist/src/autopilot.d.ts.map +1 -1
  25. package/dist/src/autopilot.js +47 -224
  26. package/dist/src/autopilot.js.map +1 -1
  27. package/dist/src/capsule.d.ts +4 -17
  28. package/dist/src/capsule.d.ts.map +1 -1
  29. package/dist/src/capsule.js +21 -20
  30. package/dist/src/capsule.js.map +1 -1
  31. package/dist/src/chatgpt-auth.d.ts +82 -0
  32. package/dist/src/chatgpt-auth.d.ts.map +1 -0
  33. package/dist/src/chatgpt-auth.js +965 -0
  34. package/dist/src/chatgpt-auth.js.map +1 -0
  35. package/dist/src/chatgpt-llm.d.ts +18 -0
  36. package/dist/src/chatgpt-llm.d.ts.map +1 -0
  37. package/dist/src/chatgpt-llm.js +157 -0
  38. package/dist/src/chatgpt-llm.js.map +1 -0
  39. package/dist/src/consolidate.d.ts.map +1 -1
  40. package/dist/src/consolidate.js +30 -2
  41. package/dist/src/consolidate.js.map +1 -1
  42. package/dist/src/controller.d.ts +7 -1
  43. package/dist/src/controller.d.ts.map +1 -1
  44. package/dist/src/controller.js +88 -14
  45. package/dist/src/controller.js.map +1 -1
  46. package/dist/src/db.d.ts +1 -0
  47. package/dist/src/db.d.ts.map +1 -1
  48. package/dist/src/db.js +126 -45
  49. package/dist/src/db.js.map +1 -1
  50. package/dist/src/embedding.d.ts.map +1 -1
  51. package/dist/src/embedding.js +14 -1
  52. package/dist/src/embedding.js.map +1 -1
  53. package/dist/src/encode.d.ts +14 -0
  54. package/dist/src/encode.d.ts.map +1 -1
  55. package/dist/src/encode.js +56 -17
  56. package/dist/src/encode.js.map +1 -1
  57. package/dist/src/events.d.ts +17 -0
  58. package/dist/src/events.d.ts.map +1 -1
  59. package/dist/src/events.js +130 -3
  60. package/dist/src/events.js.map +1 -1
  61. package/dist/src/export.d.ts +1 -0
  62. package/dist/src/export.d.ts.map +1 -1
  63. package/dist/src/export.js +9 -2
  64. package/dist/src/export.js.map +1 -1
  65. package/dist/src/forget.d.ts.map +1 -1
  66. package/dist/src/forget.js +6 -2
  67. package/dist/src/forget.js.map +1 -1
  68. package/dist/src/fts.d.ts +2 -2
  69. package/dist/src/fts.d.ts.map +1 -1
  70. package/dist/src/fts.js +4 -4
  71. package/dist/src/fts.js.map +1 -1
  72. package/dist/src/grounding.d.ts +1 -1
  73. package/dist/src/grounding.d.ts.map +1 -1
  74. package/dist/src/grounding.js +24 -11
  75. package/dist/src/grounding.js.map +1 -1
  76. package/dist/src/hybrid-recall.d.ts +5 -8
  77. package/dist/src/hybrid-recall.d.ts.map +1 -1
  78. package/dist/src/hybrid-recall.js +25 -57
  79. package/dist/src/hybrid-recall.js.map +1 -1
  80. package/dist/src/import.d.ts +40 -3
  81. package/dist/src/import.d.ts.map +1 -1
  82. package/dist/src/import.js +101 -42
  83. package/dist/src/import.js.map +1 -1
  84. package/dist/src/index.d.ts +3 -0
  85. package/dist/src/index.d.ts.map +1 -1
  86. package/dist/src/index.js +2 -0
  87. package/dist/src/index.js.map +1 -1
  88. package/dist/src/llm-shared.d.ts +10 -0
  89. package/dist/src/llm-shared.d.ts.map +1 -0
  90. package/dist/src/llm-shared.js +20 -0
  91. package/dist/src/llm-shared.js.map +1 -0
  92. package/dist/src/llm.d.ts +2 -1
  93. package/dist/src/llm.d.ts.map +1 -1
  94. package/dist/src/llm.js +13 -22
  95. package/dist/src/llm.js.map +1 -1
  96. package/dist/src/migrate.d.ts.map +1 -1
  97. package/dist/src/migrate.js +34 -40
  98. package/dist/src/migrate.js.map +1 -1
  99. package/dist/src/preflight.d.ts +2 -0
  100. package/dist/src/preflight.d.ts.map +1 -1
  101. package/dist/src/preflight.js +5 -1
  102. package/dist/src/preflight.js.map +1 -1
  103. package/dist/src/project-memory.d.ts +14 -0
  104. package/dist/src/project-memory.d.ts.map +1 -0
  105. package/dist/src/project-memory.js +135 -0
  106. package/dist/src/project-memory.js.map +1 -0
  107. package/dist/src/project.d.ts +2 -0
  108. package/dist/src/project.d.ts.map +1 -1
  109. package/dist/src/project.js +12 -0
  110. package/dist/src/project.js.map +1 -1
  111. package/dist/src/promote.d.ts.map +1 -1
  112. package/dist/src/promote.js +2 -26
  113. package/dist/src/promote.js.map +1 -1
  114. package/dist/src/recall-scoring.d.ts +14 -0
  115. package/dist/src/recall-scoring.d.ts.map +1 -0
  116. package/dist/src/recall-scoring.js +167 -0
  117. package/dist/src/recall-scoring.js.map +1 -0
  118. package/dist/src/recall.d.ts.map +1 -1
  119. package/dist/src/recall.js +31 -168
  120. package/dist/src/recall.js.map +1 -1
  121. package/dist/src/rollback.d.ts +12 -0
  122. package/dist/src/rollback.d.ts.map +1 -1
  123. package/dist/src/rollback.js +118 -25
  124. package/dist/src/rollback.js.map +1 -1
  125. package/dist/src/routes.d.ts.map +1 -1
  126. package/dist/src/routes.js +102 -33
  127. package/dist/src/routes.js.map +1 -1
  128. package/dist/src/rules-compiler.d.ts +4 -0
  129. package/dist/src/rules-compiler.d.ts.map +1 -1
  130. package/dist/src/rules-compiler.js +34 -2
  131. package/dist/src/rules-compiler.js.map +1 -1
  132. package/dist/src/server.d.ts +2 -0
  133. package/dist/src/server.d.ts.map +1 -1
  134. package/dist/src/server.js +96 -38
  135. package/dist/src/server.js.map +1 -1
  136. package/dist/src/shell-command.d.ts.map +1 -1
  137. package/dist/src/shell-command.js +24 -7
  138. package/dist/src/shell-command.js.map +1 -1
  139. package/dist/src/success-checks.d.ts +41 -0
  140. package/dist/src/success-checks.d.ts.map +1 -0
  141. package/dist/src/success-checks.js +164 -0
  142. package/dist/src/success-checks.js.map +1 -0
  143. package/dist/src/types.d.ts +7 -1
  144. package/dist/src/types.d.ts.map +1 -1
  145. package/dist/src/validate.d.ts.map +1 -1
  146. package/dist/src/validate.js +23 -9
  147. package/dist/src/validate.js.map +1 -1
  148. package/package.json +7 -10
@@ -1,8 +1,10 @@
1
1
  import { createHash, randomUUID } from 'node:crypto';
2
+ import { capsuleEntryKey } from './capsule.js';
3
+ import { scopeCapsuleToProject, contextBelongsToProject } from './project-memory.js';
2
4
  import { MemoryController } from './controller.js';
3
5
  import { reconcileVectorIndex } from './db.js';
4
6
  import { deleteEventsBefore } from './events.js';
5
- import { projectNamespace, projectRoot } from './project.js';
7
+ import { projectNamespace, checkoutRoot } from './project.js';
6
8
  import { redact } from './redact.js';
7
9
  import { profileShellCommand } from './shell-command.js';
8
10
  import { TRUST_CONTEXT_KEY, USER_VERIFIED_TRUST } from './trust.js';
@@ -40,13 +42,6 @@ const SIDE_EFFECT_TOOLS = new Set([
40
42
  // hooks.ts's AUDREY_MCP_TOOL_PREFIX (itself built from SERVER_NAME) rather
41
43
  // than re-deriving the pattern independently, so the two can never drift.
42
44
  const AUDREY_TOOL_PREFIX = AUDREY_MCP_TOOL_PREFIX.toLowerCase();
43
- // 'preference'/'prefers'/'user-preference' are content-classification tags,
44
- // not scope signals — a project-local memory can be tagged 'preference' for
45
- // reasons that have nothing to do with cross-project sharing. Only the
46
- // explicit 'global-preference' tag (paired by autopilot's own capture path,
47
- // or the autopilotScope: 'global' context marker checked separately in
48
- // contextBelongsToProject) may bypass project isolation.
49
- const GLOBAL_PREFERENCE_TAGS = new Set(['global-preference']);
50
45
  const RETRY_INTENT_TTL_MS = 30 * 60 * 1000;
51
46
  const MAINTENANCE_LEASE_MS = 5 * 60 * 1000;
52
47
  const EVENT_RETENTION_LEASE_MS = 5 * 60 * 1000;
@@ -147,11 +142,24 @@ function filesFromInput(input) {
147
142
  .map(path => compact(path, 1000))
148
143
  .slice(0, 50);
149
144
  }
145
+ function canonicalInput(value) {
146
+ if (Array.isArray(value))
147
+ return value.map(canonicalInput);
148
+ if (value && typeof value === 'object') {
149
+ return Object.fromEntries(Object.entries(value)
150
+ .sort(([a], [b]) => a.localeCompare(b))
151
+ .map(([key, item]) => [key, canonicalInput(item)]));
152
+ }
153
+ return value;
154
+ }
150
155
  function summarizeAction(payload) {
151
156
  const tool = toolName(payload);
152
157
  const input = toolInput(payload);
153
158
  const files = filesFromInput(input);
154
- const serialized = JSON.stringify(input);
159
+ const identityInput = text(input.command)
160
+ ? Object.fromEntries(Object.entries(input).filter(([key]) => key !== 'description'))
161
+ : input;
162
+ const serialized = JSON.stringify(canonicalInput(identityInput));
155
163
  const rawActionHash = sha256(`${tool}\n${serialized}`);
156
164
  const identity = `input_chars=${serialized.length}`;
157
165
  const command = text(input.command);
@@ -259,7 +267,8 @@ export function inferAutopilotOutcome(payload, event = eventName(payload), host)
259
267
  if (outcome === 'succeeded' ||
260
268
  outcome === 'failed' ||
261
269
  outcome === 'blocked' ||
262
- outcome === 'skipped') {
270
+ outcome === 'skipped' ||
271
+ outcome === 'unknown') {
263
272
  return outcome;
264
273
  }
265
274
  if (responseIndicatesSuccess(toolOutput(payload)))
@@ -392,7 +401,7 @@ function parsedRecord(value) {
392
401
  }
393
402
  function existingCandidateId(audrey, candidate, namespace) {
394
403
  const rows = audrey.db
395
- .prepare('SELECT id, context FROM episodes WHERE agent = ? AND content = ?')
404
+ .prepare('SELECT id, context FROM episodes WHERE agent = ? AND content = ? AND superseded_by IS NULL')
396
405
  .all(audrey.agent, candidate.content);
397
406
  return rows.find(row => {
398
407
  const context = parsedRecord(row.context);
@@ -432,124 +441,6 @@ async function captureExplicitMemories(audrey, prompt, payload, host) {
432
441
  }
433
442
  return ids;
434
443
  }
435
- function stringList(value) {
436
- if (!value)
437
- return [];
438
- try {
439
- const parsed = JSON.parse(value);
440
- return Array.isArray(parsed)
441
- ? parsed.filter((item) => typeof item === 'string')
442
- : [];
443
- }
444
- catch {
445
- return value
446
- .split(',')
447
- .map(item => item.trim())
448
- .filter(Boolean);
449
- }
450
- }
451
- function hasGlobalPreferenceTag(tags) {
452
- return Boolean(tags?.some(tag => GLOBAL_PREFERENCE_TAGS.has(tag.toLowerCase())));
453
- }
454
- function contextBelongsToProject(context, namespace) {
455
- if (text(context.autopilotScope) === 'global')
456
- return true;
457
- const storedNamespace = text(context.projectNamespace);
458
- if (storedNamespace)
459
- return storedNamespace === namespace;
460
- const cwd = text(context.cwd);
461
- return cwd ? projectNamespace(cwd) === namespace : false;
462
- }
463
- function memoryIdBelongsToProject(audrey, memoryId, namespace, visited = new Set()) {
464
- if (visited.has(memoryId))
465
- return false;
466
- visited.add(memoryId);
467
- const episode = audrey.db
468
- .prepare('SELECT context, tags FROM episodes WHERE id = ? AND agent = ?')
469
- .get(memoryId, audrey.agent);
470
- if (episode) {
471
- if (hasGlobalPreferenceTag(stringList(episode.tags)))
472
- return true;
473
- return contextBelongsToProject(parsedRecord(episode.context), namespace);
474
- }
475
- const event = audrey.db
476
- .prepare('SELECT cwd FROM memory_events WHERE id = ? AND (actor_agent IS NULL OR actor_agent = ?)')
477
- .get(memoryId, audrey.agent);
478
- if (event)
479
- return Boolean(event.cwd && projectNamespace(event.cwd) === namespace);
480
- for (const table of ['semantics', 'procedures']) {
481
- const derived = audrey.db
482
- .prepare(`SELECT evidence_episode_ids FROM ${table} WHERE id = ? AND agent = ?`)
483
- .get(memoryId, audrey.agent);
484
- if (!derived)
485
- continue;
486
- const evidenceIds = stringList(derived.evidence_episode_ids);
487
- return (evidenceIds.length > 0 &&
488
- evidenceIds.every(id => memoryIdBelongsToProject(audrey, id, namespace, new Set(visited))));
489
- }
490
- const contradiction = audrey.db
491
- .prepare('SELECT claim_a_id, claim_b_id FROM contradictions WHERE id = ?')
492
- .get(memoryId);
493
- return Boolean(contradiction &&
494
- [contradiction.claim_a_id, contradiction.claim_b_id].every(id => memoryIdBelongsToProject(audrey, id, namespace, new Set(visited))));
495
- }
496
- function failureEntryBelongsToProject(audrey, entry, namespace) {
497
- if (!entry.created_at)
498
- return false;
499
- const rows = audrey.db
500
- .prepare(`
501
- SELECT cwd FROM memory_events
502
- WHERE created_at = ? AND actor_agent = ? AND outcome = 'failed'
503
- `)
504
- .all(entry.created_at, audrey.agent);
505
- return rows.some(row => Boolean(row.cwd && projectNamespace(row.cwd) === namespace));
506
- }
507
- function entryBelongsToProject(audrey, entry, namespace) {
508
- if (hasGlobalPreferenceTag(entry.tags))
509
- return true;
510
- if (entry.memory_type === 'tool_failure') {
511
- return failureEntryBelongsToProject(audrey, entry, namespace);
512
- }
513
- return memoryIdBelongsToProject(audrey, entry.memory_id, namespace);
514
- }
515
- function scopeCapsuleToProject(audrey, capsule, namespace) {
516
- const sections = {
517
- must_follow: [],
518
- project_facts: [],
519
- user_preferences: [],
520
- procedures: [],
521
- risks: [],
522
- recent_changes: [],
523
- contradictions: [],
524
- uncertain_or_disputed: [],
525
- };
526
- const evidenceIds = new Set();
527
- let removedEntries = 0;
528
- let usedChars = 0;
529
- for (const [section] of CONTEXT_SECTIONS) {
530
- for (const entry of capsule.sections[section]) {
531
- if (!entryBelongsToProject(audrey, entry, namespace)) {
532
- removedEntries += 1;
533
- continue;
534
- }
535
- sections[section].push(entry);
536
- evidenceIds.add(entry.memory_id);
537
- for (const id of entry.evidence ?? [])
538
- evidenceIds.add(id);
539
- usedChars += entry.content.length + (entry.recommended_action?.length ?? 0);
540
- }
541
- }
542
- return {
543
- capsule: {
544
- ...capsule,
545
- used_chars: usedChars,
546
- sections,
547
- evidence_ids: [...evidenceIds],
548
- },
549
- evidenceIds,
550
- removedEntries,
551
- };
552
- }
553
444
  /**
554
445
  * Session-delta injection. The host keeps the whole conversation in context,
555
446
  * so a memory injected at turn 1 is still visible at turn 40 — resending it
@@ -609,20 +500,12 @@ function clearInjectedIds(audrey, host, payload) {
609
500
  * reclassified after injection reinjects with its new standing instead of
610
501
  * leaving the session holding the stale version.
611
502
  */
612
- function injectedEntryKey(entry) {
613
- return entry.state ? `${entry.memory_id}@${entry.state}` : entry.memory_id;
614
- }
615
- /** Strips the `@state` suffix a tracked key may carry, back to a raw memory id. */
616
- function rawMemoryId(key) {
617
- const at = key.indexOf('@');
618
- return at === -1 ? key : key.slice(0, at);
619
- }
620
503
  function filterInjectedEntries(capsule, seen) {
621
504
  const sections = {};
622
505
  const renderedKeys = [];
623
506
  for (const [section, entries] of Object.entries(capsule.sections)) {
624
507
  sections[section] = entries.filter(entry => {
625
- const key = injectedEntryKey(entry);
508
+ const key = capsuleEntryKey(entry);
626
509
  if (seen.has(key))
627
510
  return false;
628
511
  renderedKeys.push(key);
@@ -632,7 +515,7 @@ function filterInjectedEntries(capsule, seen) {
632
515
  return { capsule: { ...capsule, sections }, renderedKeys };
633
516
  }
634
517
  function allEntryKeys(capsule) {
635
- return Object.values(capsule.sections).flatMap(entries => entries.map(injectedEntryKey));
518
+ return Object.values(capsule.sections).flatMap(entries => entries.map(capsuleEntryKey));
636
519
  }
637
520
  function contextQuery(event, payload) {
638
521
  if (event === 'UserPromptSubmit') {
@@ -747,7 +630,6 @@ async function contextForHook(audrey, event, payload, options) {
747
630
  const seen = injectedKey && event === 'UserPromptSubmit'
748
631
  ? loadInjectedIds(audrey, injectedKey, now)
749
632
  : new Set();
750
- const excludeIds = new Set([...seen].map(rawMemoryId));
751
633
  // cwd scopes tool-failure risks even under scope: 'shared' — semantic
752
634
  // knowledge is worth sharing across projects, but a failure streak in
753
635
  // another repo says nothing about this one.
@@ -756,7 +638,7 @@ async function contextForHook(audrey, event, payload, options) {
756
638
  mode: 'conservative',
757
639
  scope: options.scope ?? 'agent',
758
640
  cwd: text(payload.cwd) ?? process.cwd(),
759
- ...(excludeIds.size > 0 ? { excludeIds } : {}),
641
+ ...(seen.size > 0 ? { excludeEntryKeys: seen } : {}),
760
642
  recall: {
761
643
  scope: options.scope ?? 'agent',
762
644
  context: {
@@ -771,10 +653,8 @@ async function contextForHook(audrey, event, payload, options) {
771
653
  : scopeCapsuleToProject(audrey, unscopedCapsule, namespace).capsule;
772
654
  if (injectedKey) {
773
655
  if (event === 'UserPromptSubmit') {
774
- // excludeIds only carries raw memory ids (no state), so it cannot
775
- // reproduce this tracker's id@state distinction on its own —
776
- // filterInjectedEntries is the state-aware layer and stays as the
777
- // safety net for whatever excludeIds does not fully dedupe.
656
+ // Keep the same version-aware identity through budget selection and
657
+ // final injection bookkeeping.
778
658
  const filtered = filterInjectedEntries(capsule, seen);
779
659
  capsule = filtered.capsule;
780
660
  if (filtered.renderedKeys.length > 0) {
@@ -811,76 +691,6 @@ function guardExplanation(result) {
811
691
  lines.push(`Evidence: ${result.evidenceIds.slice(0, 6).join(', ')}`);
812
692
  return lines.join('\n');
813
693
  }
814
- function projectScopedGuardResult(audrey, result, namespace) {
815
- if (!result.capsule)
816
- return result;
817
- const scoped = scopeCapsuleToProject(audrey, result.capsule, namespace);
818
- if (scoped.removedEntries === 0)
819
- return result;
820
- const evidenceIds = result.evidenceIds.filter(id => scoped.evidenceIds.has(id) || memoryIdBelongsToProject(audrey, id, namespace));
821
- const hasMemoryHealthFailure = result.recommendedActions.some(action => /memory index|reembed/i.test(action));
822
- const hasProjectRisk = scoped.capsule.sections.must_follow.length > 0 ||
823
- scoped.capsule.sections.risks.length > 0 ||
824
- scoped.capsule.sections.contradictions.length > 0 ||
825
- scoped.capsule.sections.uncertain_or_disputed.length > 0;
826
- const hasProjectFailure = evidenceIds.some(id => {
827
- const event = audrey.db
828
- .prepare(`
829
- SELECT cwd FROM memory_events
830
- WHERE id = ? AND actor_agent = ? AND outcome = 'failed'
831
- `)
832
- .get(id, audrey.agent);
833
- return Boolean(event?.cwd && projectNamespace(event.cwd) === namespace);
834
- });
835
- const reflexes = result.reflexes.filter(reflex => reflex.source === 'memory_health' ||
836
- Boolean(reflex.evidence_id && evidenceIds.includes(reflex.evidence_id)));
837
- const warnings = result.warnings.filter(warning => warning.type === 'memory_health' ||
838
- !warning.evidence_id ||
839
- evidenceIds.includes(warning.evidence_id));
840
- if (result.decision !== 'allow' &&
841
- !hasProjectRisk &&
842
- !hasProjectFailure &&
843
- !hasMemoryHealthFailure) {
844
- return {
845
- ...result,
846
- decision: 'allow',
847
- riskScore: 0,
848
- summary: 'Allowed: memory signals from other projects were excluded by Autopilot isolation.',
849
- warnings: [],
850
- evidenceIds: [],
851
- recommendedActions: [],
852
- capsule: scoped.capsule,
853
- reflexes: [],
854
- };
855
- }
856
- const recommendedActions = [];
857
- if (hasProjectFailure) {
858
- recommendedActions.push('Review the project-scoped prior failure before retrying the same action.');
859
- }
860
- if (scoped.capsule.sections.must_follow.length > 0) {
861
- recommendedActions.push('Review and apply the project-scoped verified-rule evidence before acting.');
862
- }
863
- if (scoped.capsule.sections.risks.length > 0) {
864
- recommendedActions.push('Mitigate the project-scoped risk evidence before acting.');
865
- }
866
- if (scoped.capsule.sections.contradictions.length > 0) {
867
- recommendedActions.push('Resolve the project-scoped contradiction before relying on either claim.');
868
- }
869
- if (scoped.capsule.sections.uncertain_or_disputed.length > 0) {
870
- recommendedActions.push('Verify the project-scoped uncertain evidence before relying on it.');
871
- }
872
- if (hasMemoryHealthFailure) {
873
- recommendedActions.push('Repair Audrey memory health before relying on recall-sensitive decisions.');
874
- }
875
- return {
876
- ...result,
877
- warnings,
878
- evidenceIds,
879
- recommendedActions,
880
- capsule: scoped.capsule,
881
- reflexes,
882
- };
883
- }
884
694
  function updateReceiptCorrelation(audrey, receiptId, payload, host, rawActionHash, result) {
885
695
  const row = audrey.db
886
696
  .prepare('SELECT metadata FROM memory_events WHERE id = ?')
@@ -926,7 +736,7 @@ async function guardBeforeHook(audrey, payload, options) {
926
736
  return { event: 'PreToolUse', output: {} };
927
737
  const controller = new MemoryController(audrey);
928
738
  const retryAcknowledged = hasRetryIntent(audrey, payload, options);
929
- const unscopedResult = await controller.beforeAction({
739
+ const result = await controller.beforeAction({
930
740
  action: action.action,
931
741
  command: action.command,
932
742
  actionDigest: action.rawActionHash,
@@ -936,10 +746,10 @@ async function guardBeforeHook(audrey, payload, options) {
936
746
  sessionId: sessionId(payload),
937
747
  signatures: action.signatures,
938
748
  acknowledgePriorFailure: retryAcknowledged,
749
+ }, {
750
+ scope: options.scope ?? 'agent',
751
+ projectNamespace: options.scope === 'shared' ? undefined : payloadProjectNamespace(payload),
939
752
  });
940
- const result = options.scope === 'shared'
941
- ? unscopedResult
942
- : projectScopedGuardResult(audrey, unscopedResult, payloadProjectNamespace(payload));
943
753
  if (retryAcknowledged && /prior failure acknowledged/i.test(result.summary)) {
944
754
  consumeRetryIntent(audrey, payload, options.host);
945
755
  }
@@ -1063,7 +873,18 @@ function correlatedReceipt(audrey, payload, host) {
1063
873
  return row?.id;
1064
874
  }
1065
875
  async function learnFailure(audrey, payload, host, receiptId) {
1066
- const summary = errorSummary(payload);
876
+ // Result verification can fail even when the tool reports no error. Read
877
+ // the persisted outcome so first delivery and duplicate hooks learn the
878
+ // same verified failure, including retries after an interrupted encode.
879
+ const recorded = audrey.db
880
+ .prepare(`SELECT error_summary FROM memory_events
881
+ WHERE receipt_id = ? AND actor_agent = ?
882
+ AND event_type = 'PostToolUseFailure' AND outcome = 'failed'
883
+ ORDER BY created_at DESC, id DESC LIMIT 1`)
884
+ .get(receiptId, audrey.agent);
885
+ const summary = recorded?.error_summary
886
+ ? safeMemoryText(recorded.error_summary, 1600)
887
+ : errorSummary(payload);
1067
888
  if (!summary)
1068
889
  return undefined;
1069
890
  const action = summarizeAction(payload);
@@ -1102,7 +923,7 @@ async function learnFailure(audrey, payload, host, receiptId) {
1102
923
  });
1103
924
  }
1104
925
  async function guardAfterHook(audrey, event, payload, options) {
1105
- const outcome = inferAutopilotOutcome(payload, event, options.host);
926
+ let outcome = inferAutopilotOutcome(payload, event, options.host);
1106
927
  const existing = existingAutopilotOutcome(audrey, payload, options.host);
1107
928
  if (existing) {
1108
929
  const learnedFailureId = existing.outcome === 'failed' && existing.receiptId && !existing.learnedFailureId
@@ -1132,7 +953,7 @@ async function guardAfterHook(audrey, event, payload, options) {
1132
953
  ...(action.readOnly ? { read_only: true } : {}),
1133
954
  };
1134
955
  if (receiptId) {
1135
- audrey.afterAction({
956
+ const recorded = audrey.afterAction({
1136
957
  receiptId,
1137
958
  tool: toolName(payload),
1138
959
  sessionId: sessionId(payload),
@@ -1144,6 +965,7 @@ async function guardAfterHook(audrey, event, payload, options) {
1144
965
  files: action.files,
1145
966
  metadata,
1146
967
  });
968
+ outcome = recorded.outcome;
1147
969
  }
1148
970
  else {
1149
971
  const controller = new MemoryController(audrey);
@@ -1251,12 +1073,13 @@ function runEventRetention(audrey, options) {
1251
1073
  function runGroundingSweep(audrey, options, cwd) {
1252
1074
  const intervalMs = (options.maintenanceIntervalHours ?? 24) * 60 * 60 * 1000;
1253
1075
  const now = options.now ?? new Date();
1254
- const lastKey = `autopilot_last_grounding:${audrey.agent}`;
1076
+ const root = checkoutRoot(cwd ?? process.cwd());
1077
+ const lastKey = `autopilot_last_grounding:${sha256(`${audrey.agent}\n${root}`)}`;
1255
1078
  const last = audrey.db.prepare('SELECT value FROM audrey_config WHERE key = ?').get(lastKey);
1256
1079
  if (last && now.getTime() - Date.parse(last.value) < intervalMs)
1257
1080
  return;
1258
1081
  try {
1259
- const report = audrey.ground({ projectRoot: projectRoot(cwd ?? process.cwd()), now });
1082
+ const report = audrey.ground({ projectRoot: root, now });
1260
1083
  audrey.db
1261
1084
  .prepare(`INSERT INTO audrey_config (key, value) VALUES (?, ?)
1262
1085
  ON CONFLICT(key) DO UPDATE SET value = excluded.value`)
@@ -1 +1 @@
1
- {"version":3,"file":"autopilot.js","sourceRoot":"","sources":["../../src/autopilot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autopilot.js","sourceRoot":"","sources":["../../src/autopilot.ts"],"names":[],"mappings":"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"}