instar 1.3.1304 → 1.3.1306

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 (46) hide show
  1. package/dashboard/feedback-readiness-authority.js +155 -0
  2. package/dashboard/index.html +34 -0
  3. package/dist/commands/server.d.ts.map +1 -1
  4. package/dist/commands/server.js +1 -0
  5. package/dist/commands/server.js.map +1 -1
  6. package/dist/core/IntelligenceRouter.d.ts +19 -0
  7. package/dist/core/IntelligenceRouter.d.ts.map +1 -1
  8. package/dist/core/IntelligenceRouter.js +37 -0
  9. package/dist/core/IntelligenceRouter.js.map +1 -1
  10. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  11. package/dist/core/PostUpdateMigrator.js +30 -0
  12. package/dist/core/PostUpdateMigrator.js.map +1 -1
  13. package/dist/core/TopicIntentCapture.d.ts +4 -1
  14. package/dist/core/TopicIntentCapture.d.ts.map +1 -1
  15. package/dist/core/TopicIntentCapture.js +13 -0
  16. package/dist/core/TopicIntentCapture.js.map +1 -1
  17. package/dist/data/standards-guard-index.json +1 -1
  18. package/dist/data/standards-guard-index.meta.json +2 -2
  19. package/dist/data/standards-registry.meta.json +1 -1
  20. package/dist/feedback-factory/drain/readinessAuthorityProposal.d.ts +70 -0
  21. package/dist/feedback-factory/drain/readinessAuthorityProposal.d.ts.map +1 -0
  22. package/dist/feedback-factory/drain/readinessAuthorityProposal.js +93 -0
  23. package/dist/feedback-factory/drain/readinessAuthorityProposal.js.map +1 -0
  24. package/dist/monitoring/WorktreeMonitor.d.ts +15 -0
  25. package/dist/monitoring/WorktreeMonitor.d.ts.map +1 -1
  26. package/dist/monitoring/WorktreeMonitor.js +90 -14
  27. package/dist/monitoring/WorktreeMonitor.js.map +1 -1
  28. package/dist/scaffold/templates.d.ts.map +1 -1
  29. package/dist/scaffold/templates.js +11 -0
  30. package/dist/scaffold/templates.js.map +1 -1
  31. package/dist/server/AgentServer.d.ts.map +1 -1
  32. package/dist/server/AgentServer.js +3 -1
  33. package/dist/server/AgentServer.js.map +1 -1
  34. package/dist/server/routes.d.ts +5 -0
  35. package/dist/server/routes.d.ts.map +1 -1
  36. package/dist/server/routes.js +44 -1
  37. package/dist/server/routes.js.map +1 -1
  38. package/package.json +1 -1
  39. package/src/data/builtin-manifest.json +64 -64
  40. package/src/data/standards-guard-index.json +1 -1
  41. package/src/data/standards-guard-index.meta.json +2 -2
  42. package/src/data/standards-registry.meta.json +1 -1
  43. package/src/scaffold/templates.ts +11 -0
  44. package/upgrades/1.3.1306.md +125 -0
  45. package/upgrades/side-effects/feedback-readiness-authority-card.md +105 -0
  46. package/upgrades/side-effects/worktree-monitor-dedupe.md +133 -0
@@ -27,6 +27,7 @@
27
27
  import type { IntelligenceProvider } from './types.js';
28
28
  import type { TopicIntentStore, EstablishedRef, ProjectionResult } from './TopicIntent.js';
29
29
  import type { TopicIntentExtractor } from './TopicIntentExtractor.js';
30
+ import type { MessageProvenance } from '../messaging/shared/MessageProvenance.js';
30
31
  /**
31
32
  * Decide whether a turn is worth sending to the extractor. Deterministic and
32
33
  * FAIL-OPEN: returns true (capture) unless the turn is high-confidence trivial.
@@ -80,6 +81,8 @@ export interface CaptureTurnEntry {
80
81
  fromUser: boolean;
81
82
  /** ISO8601 string or epoch ms. */
82
83
  timestamp?: string | number;
84
+ /** Structural origin stamped at the send/receive seam. `automation` is not captured. */
85
+ provenance?: MessageProvenance;
83
86
  }
84
87
  /** Minimal rolling-summary surface (satisfied by TopicMemory). */
85
88
  export interface RollingSummaryProvider {
@@ -101,7 +104,7 @@ export interface CaptureLoopDeps {
101
104
  };
102
105
  now?: () => number;
103
106
  }
104
- export type CaptureStatus = 'captured' | 'skipped-prefilter' | 'skipped-shed' | 'skipped-rate' | 'no-topic' | 'degraded';
107
+ export type CaptureStatus = 'captured' | 'skipped-prefilter' | 'skipped-automation' | 'skipped-shed' | 'skipped-rate' | 'no-topic' | 'degraded';
105
108
  export interface CaptureOutcome {
106
109
  status: CaptureStatus;
107
110
  emitted?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"TopicIntentCapture.d.ts","sourceRoot":"","sources":["../../src/core/TopicIntentCapture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TopicIntentCapture.d.ts","sourceRoot":"","sources":["../../src/core/TopicIntentCapture.ts"],"names":[],"mappings":"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"}
@@ -186,6 +186,19 @@ export async function captureTurn(deps, entry, rateState) {
186
186
  const turn = entry.fromUser
187
187
  ? deps.store.bumpTurn(topicId)
188
188
  : (deps.store.read(topicId).turn ?? 0);
189
+ // Server-generated traffic (job sends, monitor/sentinel notices, standby
190
+ // lines) is not conversation. It was ~64% of extractor tokens and mostly
191
+ // filed near-identical "unmerged branches" facts
192
+ // (docs/research/jev/field-notes/2026-09-30-idea1-intent-skip.md). Keyed on
193
+ // the structural provenance stamp, never on text; a missing stamp (legacy
194
+ // or unstamped path) is still captured. Skipping also skips this message's
195
+ // awareness refresh; the rolling topic summary still covers automated
196
+ // messages, so the next conversational turn's extraction sees them as
197
+ // context.
198
+ if (entry.provenance === 'automation') {
199
+ deps.store.bumpCaptureCounters(topicId, { turns_seen: 1, prefilter_skipped: 1 });
200
+ return { status: 'skipped-automation' };
201
+ }
189
202
  // Pre-filter — deterministic, fail-open.
190
203
  if (!isSubstantiveTurn(entry.text, entry.fromUser)) {
191
204
  deps.store.bumpCaptureCounters(topicId, { turns_seen: 1, prefilter_skipped: 1 });
@@ -1 +1 @@
1
- {"version":3,"file":"TopicIntentCapture.js","sourceRoot":"","sources":["../../src/core/TopicIntentCapture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TopicIntentCapture.js","sourceRoot":"","sources":["../../src/core/TopicIntentCapture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAOH,6EAA6E;AAE7E;;;;GAIG;AACH,MAAM,WAAW,GACf,2JAA2J,CAAC;AAE9J;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAClC;IACE,eAAe,EAAoC,+BAA+B;IAClF,oCAAoC,EAAe,iCAAiC;IACpF,gDAAgD,EAAG,0BAA0B;IAC7E,yBAAyB,EAA2B,4BAA4B;IAChF,2BAA2B,EAAyB,4BAA4B;CACjF,CAAC,IAAI,CAAC,GAAG,CAAC,EACX,GAAG,CACJ,CAAC;AAEF,+EAA+E;AAC/E,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAA+B,EAAE,QAAiB;IAClF,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACjC,kDAAkD;IAClD,IAAI,CAAC,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,mEAAmE;IACnE,IAAI,CAAC,CAAC,MAAM,IAAI,iBAAiB,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACvE,OAAO,IAAI,CAAC,CAAC,YAAY;AAC3B,CAAC;AAYD;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAmB;IACvD,iCAAiC;IACjC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE;IAChF,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAC1F,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE;IAC5E,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACnF;QACE,IAAI,EAAE,2FAA2F;QACjG,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB;KAC1E;IACD,EAAE,IAAI,EAAE,qCAAqC,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE;IACtH,0BAA0B;IAC1B;QACE,IAAI,EAAE,iFAAiF;QACvF,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe;KAChE;IACD;QACE,IAAI,EAAE,wFAAwF;QAC9F,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,+BAA+B;KAChF;IACD;QACE,IAAI,EAAE,gFAAgF;QACtF,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,sCAAsC;KACxF;CACF,CAAC;AAOF,wDAAwD;AACxD,MAAM,UAAU,kBAAkB;IAChC,MAAM,QAAQ,GAA6B,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,yBAAyB,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,GAAG,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;AACjD,CAAC;AAUD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAAkC,EAClC,OAAkB,EAClB,YAAoB,+BAA+B;IAEnD,OAAO;QACL,QAAQ,EAAE,CAAC,MAAc,EAAE,OAA6B,EAAmB,EAAE,CAC3E,OAAO,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC;KACjF,CAAC;AACJ,CAAC;AAgDD,SAAS,KAAK,CAAC,SAAsC,EAAE,GAAiB;IACtE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IACjE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1G,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC;AAED,6FAA6F;AAC7F,SAAS,gBAAgB,CAAC,CAAiB;IACzC,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC,MAAM,SAAS,GAA6C,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;AAE/G;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAS,EACT,MAAc,eAAe;IAE7B,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,EAAE,GAAG,CAAC,GAAW,EAAU,EAAE;QACjC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,IAAI,CAAC;SACb,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACb,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;WACxD,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;WAC/C,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACzD,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAqB,EACrB,KAAuB,EACvB,SAAiC;IAEjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,IAAI,OAA2B,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAEzD,0EAA0E;QAC1E,yEAAyE;QACzE,qEAAqE;QACrE,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ;YACzB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC9B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QAEzC,yEAAyE;QACzE,yEAAyE;QACzE,iDAAiD;QACjD,4EAA4E;QAC5E,0EAA0E;QAC1E,2EAA2E;QAC3E,sEAAsE;QACtE,sEAAsE;QACtE,WAAW;QACX,IAAI,KAAK,CAAC,UAAU,KAAK,YAAY,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;YACjF,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;QAC1C,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;YACjF,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QACzC,CAAC;QAED,sCAAsC;QACtC,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QACpC,CAAC;QAED,gEAAgE;QAChE,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;YACpD,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;YACjF,IAAI,MAAM,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;gBAClC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC5E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;YACpC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,yEAAyE;QACzE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;aACvF,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACzB,IAAI,cAAkC,CAAC;QACvC,IAAI,CAAC;YACH,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC,CAAC,yDAAyD,CAAC,CAAC;QAErE,MAAM,KAAK,GAAmB;YAC5B,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;YACnC,OAAO,EAAE;gBACP,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,IAAI;gBACJ,EAAE;aACH;YACD,YAAY;YACZ,cAAc;YACd,iBAAiB,EAAE,SAAS,CAAC,SAAS;SACvC,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAC5B,OAAO,EACP;YACE,UAAU,EAAE,CAAC;YACb,qBAAqB,EAAE,CAAC;YACxB,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM;YACvC,iBAAiB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACnD,EACD,EAAE,EACF,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACpC,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IACxG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,yEAAyE;QACzE,OAAO,CAAC,KAAK,CAAC,kDAAkD,OAAO,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3F,IAAI,CAAC;YACH,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACtC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAqB;IAErB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC9C,OAAO,CAAC,KAAuB,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AAC1E,CAAC"}
@@ -2,7 +2,7 @@
2
2
  "schemaVersion": 1,
3
3
  "generatedFrom": "source-tree",
4
4
  "registrySha256": "35448db940d659661ebdfb09761439033f93a15157540ee2f6eecf825488e1e6",
5
- "packageVersion": "1.3.1304",
5
+ "packageVersion": "1.3.1306",
6
6
  "guards": [
7
7
  {
8
8
  "ref": "docs/audits/phase-b/f10-triage.md",
@@ -1,5 +1,5 @@
1
1
  {
2
- "sha256": "89a4650f409c642954463fcdd1993c440940b631793c8136f6dbf17f16fb7f81",
2
+ "sha256": "9d2b94ed062abcb19c926d4a3bf67ef895b0512f7976e9e27dcdf0ae6b37152a",
3
3
  "registrySha256": "35448db940d659661ebdfb09761439033f93a15157540ee2f6eecf825488e1e6",
4
- "packageVersion": "1.3.1304"
4
+ "packageVersion": "1.3.1306"
5
5
  }
@@ -2,5 +2,5 @@
2
2
  "sha256": "35448db940d659661ebdfb09761439033f93a15157540ee2f6eecf825488e1e6",
3
3
  "articleCount": 92,
4
4
  "generatedFrom": "docs/STANDARDS-REGISTRY.md",
5
- "packageVersion": "1.3.1304"
5
+ "packageVersion": "1.3.1306"
6
6
  }
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Server-computed proposal for the feedback readiness authority record.
3
+ *
4
+ * The operator approves the authority from the dashboard with their PIN; they never
5
+ * type technical fields. Every binding the runtime later compares (agent id, owner
6
+ * machine + epoch, resolved provider/model, prompt/schema/decision-point ids) is
7
+ * derived here from the live server, so a registration made from this proposal is
8
+ * the one the drain tick and the arbiter will accept. Only the spend/batch envelope
9
+ * is operator-editable. This module decides nothing: registration stays behind the
10
+ * PIN-gated route (docs/specs/feedback-factory-operating-drain.md §2).
11
+ */
12
+ import type { AuthorityRecord } from './FeedbackDrainStore.js';
13
+ import type { IntelligenceFramework } from '../../core/intelligenceProviderFactory.js';
14
+ export declare const READINESS_AUTHORITY_ID = "feedback-readiness-default";
15
+ /** The attribution the arbiter sends on every call — the preview must use the same facts. */
16
+ export declare const READINESS_ARBITER_ROUTING: {
17
+ readonly component: "FeedbackReadinessArbiter";
18
+ readonly category: "gate";
19
+ readonly nature: "B";
20
+ readonly injectionExposed: true;
21
+ readonly model: "capable";
22
+ };
23
+ /** Operator-approved defaults (Justin, topic 95267, 2026-09-30): 50 per batch, $5/day. The arbiter clamps tokens to 1200. */
24
+ export declare const READINESS_ENVELOPE_DEFAULTS: {
25
+ readonly maxBatch: 50;
26
+ readonly maxTokens: 1200;
27
+ readonly maxDailySpendUsd: 5;
28
+ };
29
+ export type ReadinessEnvelope = {
30
+ maxBatch: number;
31
+ maxTokens: number;
32
+ maxDailySpendUsd: number;
33
+ };
34
+ export type ReadinessAuthorityFields = Omit<AuthorityRecord, 'generation' | 'revoked'>;
35
+ export interface ReadinessAuthorityProposalInput {
36
+ agentId: string;
37
+ /** The drain's owner binding; ownerMachineId null when no operated host is configured. */
38
+ binding: {
39
+ ownerMachineId: string | null;
40
+ ownerEpoch: number;
41
+ };
42
+ /** IntelligenceRouter.previewPrimary for READINESS_ARBITER_ROUTING; null = no route. */
43
+ route: {
44
+ framework: IntelligenceFramework;
45
+ model: string | undefined;
46
+ } | null;
47
+ /** config.sessions.frameworkDefaultModels['pi-cli'] — pi reports this pattern regardless of hints. */
48
+ piModel?: string;
49
+ current: AuthorityRecord | null;
50
+ currentMode?: 'active' | 'proposal-only';
51
+ envelope?: Partial<ReadinessEnvelope>;
52
+ }
53
+ export interface ReadinessAuthorityProposal {
54
+ status: 'none' | 'active' | 'proposal-only' | 'revoked';
55
+ current: (AuthorityRecord & {
56
+ matchesProposal: boolean;
57
+ }) | null;
58
+ proposal: ReadinessAuthorityFields | null;
59
+ /** Plain reasons the proposal cannot be approved yet; empty when it can. */
60
+ blockers: string[];
61
+ /** The action an Approve tap performs in this state, or null when nothing to approve. */
62
+ approveAction: 'create' | 'replace' | 'restore' | null;
63
+ summary: string;
64
+ }
65
+ /** The model string the provider will report via onModel for this hint (what the arbiter compares). */
66
+ export declare function reportedModelFor(framework: IntelligenceFramework, hint: string | undefined, piModel?: string): string | null;
67
+ export declare function envelopeProblems(envelope: ReadinessEnvelope): string[];
68
+ export declare function plainSummary(envelope: ReadinessEnvelope): string;
69
+ export declare function buildReadinessAuthorityProposal(input: ReadinessAuthorityProposalInput): ReadinessAuthorityProposal;
70
+ //# sourceMappingURL=readinessAuthorityProposal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readinessAuthorityProposal.d.ts","sourceRoot":"","sources":["../../../src/feedback-factory/drain/readinessAuthorityProposal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAUvF,eAAO,MAAM,sBAAsB,+BAA+B,CAAC;AACnE,6FAA6F;AAC7F,eAAO,MAAM,yBAAyB;;;;;;CAA8H,CAAC;AACrK,6HAA6H;AAC7H,eAAO,MAAM,2BAA2B;;;;CAAkE,CAAC;AAE3G,MAAM,MAAM,iBAAiB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC;AAClG,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,SAAS,CAAC,CAAC;AAEvF,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,OAAO,EAAE;QAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,wFAAwF;IACxF,KAAK,EAAE;QAAE,SAAS,EAAE,qBAAqB,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9E,sGAAsG;IACtG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,WAAW,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,eAAe,GAAG,SAAS,CAAC;IACxD,OAAO,EAAE,CAAC,eAAe,GAAG;QAAE,eAAe,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IACjE,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC1C,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,yFAAyF;IACzF,aAAa,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,uGAAuG;AACvG,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ5H;AAYD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAMtE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAGhE;AAID,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,+BAA+B,GAAG,0BAA0B,CA8ClH"}
@@ -0,0 +1,93 @@
1
+ import { FEEDBACK_READINESS_DECISION_POINT, FEEDBACK_READINESS_PROMPT_ID, FEEDBACK_READINESS_SCHEMA_ID, } from './FeedbackReadinessArbiter.js';
2
+ import { resolveCliFlag } from '../../core/models.js';
3
+ import { resolveCliModelFlag as codexModelFlag } from '../../providers/adapters/openai-codex/models.js';
4
+ import { resolveCliModelFlag as geminiModelFlag } from '../../providers/adapters/gemini-cli/models.js';
5
+ export const READINESS_AUTHORITY_ID = 'feedback-readiness-default';
6
+ /** The attribution the arbiter sends on every call — the preview must use the same facts. */
7
+ export const READINESS_ARBITER_ROUTING = { component: 'FeedbackReadinessArbiter', category: 'gate', nature: 'B', injectionExposed: true, model: 'capable' };
8
+ /** Operator-approved defaults (Justin, topic 95267, 2026-09-30): 50 per batch, $5/day. The arbiter clamps tokens to 1200. */
9
+ export const READINESS_ENVELOPE_DEFAULTS = { maxBatch: 50, maxTokens: 1200, maxDailySpendUsd: 5 };
10
+ /** The model string the provider will report via onModel for this hint (what the arbiter compares). */
11
+ export function reportedModelFor(framework, hint, piModel) {
12
+ switch (framework) {
13
+ case 'claude-code': return resolveCliFlag(hint ?? 'capable');
14
+ case 'codex-cli': return codexModelFlag(hint);
15
+ case 'gemini-cli': return geminiModelFlag(hint);
16
+ case 'pi-cli': return piModel?.trim() || null;
17
+ default: return hint?.trim() || null;
18
+ }
19
+ }
20
+ function envelopeFrom(input, fallback) {
21
+ const base = fallback ?? READINESS_ENVELOPE_DEFAULTS;
22
+ const pick = (value, dflt) => (value === undefined || value === null || value === '' ? dflt : Number(value));
23
+ return {
24
+ maxBatch: pick(input?.maxBatch, base.maxBatch),
25
+ maxTokens: pick(input?.maxTokens, base.maxTokens),
26
+ maxDailySpendUsd: pick(input?.maxDailySpendUsd, base.maxDailySpendUsd),
27
+ };
28
+ }
29
+ export function envelopeProblems(envelope) {
30
+ const out = [];
31
+ if (!Number.isSafeInteger(envelope.maxBatch) || envelope.maxBatch < 1 || envelope.maxBatch > 50)
32
+ out.push('Batch size must be a whole number from 1 to 50.');
33
+ if (!Number.isSafeInteger(envelope.maxTokens) || envelope.maxTokens < 128 || envelope.maxTokens > 100_000)
34
+ out.push('Token limit must be a whole number from 128 to 100000.');
35
+ if (!Number.isFinite(envelope.maxDailySpendUsd) || envelope.maxDailySpendUsd <= 0 || envelope.maxDailySpendUsd > 1000)
36
+ out.push('Daily spend cap must be more than $0 and at most $1000.');
37
+ return out;
38
+ }
39
+ export function plainSummary(envelope) {
40
+ return `Let the sorting model decide which feedback reports become work items: up to ${envelope.maxBatch} reports per batch, ` +
41
+ `at most $${envelope.maxDailySpendUsd} per day. Anything outside that comes to you.`;
42
+ }
43
+ const BINDING_FIELDS = ['agentId', 'ownerMachineId', 'ownerEpoch', 'provider', 'modelFamily', 'promptVersion', 'schemaVersion', 'decisionPointId'];
44
+ export function buildReadinessAuthorityProposal(input) {
45
+ const current = input.current;
46
+ // An existing record's envelope is the operator's last decision; keep it unless they edit it.
47
+ const envelope = envelopeFrom(input.envelope, current && !current.revoked
48
+ ? { maxBatch: current.maxBatch, maxTokens: current.maxTokens, maxDailySpendUsd: current.maxDailySpendUsd } : undefined);
49
+ const blockers = [];
50
+ if (!input.agentId.trim())
51
+ blockers.push('This agent has no name configured.');
52
+ if (!input.binding.ownerMachineId)
53
+ blockers.push('No machine is configured to run the feedback drain here, so there is nothing to bind the authority to.');
54
+ if (!Number.isSafeInteger(input.binding.ownerEpoch) || input.binding.ownerEpoch < 1)
55
+ blockers.push('The drain owner epoch is not readable right now.');
56
+ const model = input.route ? reportedModelFor(input.route.framework, input.route.model, input.piModel) : null;
57
+ if (!input.route || !model)
58
+ blockers.push('No model is currently available to route the sorting decision to, so there is nothing to approve.');
59
+ blockers.push(...envelopeProblems(envelope));
60
+ const proposal = input.route && model && input.binding.ownerMachineId ? {
61
+ authorityId: READINESS_AUTHORITY_ID,
62
+ agentId: input.agentId,
63
+ ownerMachineId: input.binding.ownerMachineId,
64
+ ownerEpoch: input.binding.ownerEpoch,
65
+ provider: input.route.framework,
66
+ modelFamily: model,
67
+ promptVersion: FEEDBACK_READINESS_PROMPT_ID,
68
+ schemaVersion: FEEDBACK_READINESS_SCHEMA_ID,
69
+ decisionPointId: FEEDBACK_READINESS_DECISION_POINT,
70
+ ...envelope,
71
+ } : null;
72
+ const matches = Boolean(current && proposal &&
73
+ BINDING_FIELDS.every((field) => current[field] === proposal[field]) &&
74
+ current.maxBatch === proposal.maxBatch && current.maxTokens === proposal.maxTokens &&
75
+ current.maxDailySpendUsd === proposal.maxDailySpendUsd);
76
+ const status = !current ? 'none'
77
+ : current.revoked ? 'revoked'
78
+ : input.currentMode === 'proposal-only' ? 'proposal-only' : 'active';
79
+ // A revoked record must be restored before it can be replaced (store rule); a demoted
80
+ // (proposal-only) record returns to active only through a new generation.
81
+ const approveAction = status === 'none' ? 'create'
82
+ : status === 'revoked' ? 'restore'
83
+ : matches && status === 'active' ? null : 'replace';
84
+ return {
85
+ status,
86
+ current: current ? { ...current, matchesProposal: matches } : null,
87
+ proposal,
88
+ blockers,
89
+ approveAction: blockers.length > 0 && approveAction !== 'restore' ? null : approveAction,
90
+ summary: plainSummary(envelope),
91
+ };
92
+ }
93
+ //# sourceMappingURL=readinessAuthorityProposal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readinessAuthorityProposal.js","sourceRoot":"","sources":["../../../src/feedback-factory/drain/readinessAuthorityProposal.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,12 @@
9
9
  * 1. Post-session scan: fires after each session completes, checks for new worktrees
10
10
  * 2. Periodic health scan: runs on interval, detects stale/orphan worktrees
11
11
  *
12
+ * Announce on change only: each alert kind remembers the fingerprint of the
13
+ * set it last announced (persisted, so a restart does not re-announce). An
14
+ * unchanged set is re-announced at most once per `reminderIntervalMs`. Before
15
+ * this, the same two notices about one unmerged branch went out ~550 times a
16
+ * day (docs/research/jev/field-notes/2026-09-30-idea4-notification-tiering.md).
17
+ *
12
18
  * Part of the Claude Code Feature Integration Audit (Item 1: Worktree Support).
13
19
  */
14
20
  import { EventEmitter } from 'node:events';
@@ -52,6 +58,8 @@ export interface WorktreeMonitorConfig {
52
58
  pollIntervalMs?: number;
53
59
  /** Max worktree age before flagging as stale (ms). Default: 86400000 (24h). */
54
60
  staleThresholdMs?: number;
61
+ /** Re-announce an unchanged, still-open finding at most this often (ms). Default: 86400000 (24h). */
62
+ reminderIntervalMs?: number;
55
63
  /** Callback for sending alerts */
56
64
  alertCallback?: (message: string) => Promise<void>;
57
65
  }
@@ -60,6 +68,8 @@ export declare class WorktreeMonitor extends EventEmitter {
60
68
  private interval;
61
69
  private stateFile;
62
70
  private lastReport;
71
+ private announcedFile;
72
+ private announced;
63
73
  constructor(config: WorktreeMonitorConfig);
64
74
  /** Start periodic health scanning. */
65
75
  start(): void;
@@ -124,6 +134,11 @@ export declare class WorktreeMonitor extends EventEmitter {
124
134
  * on a non-zero exit / timeout (matching the old spawnSync `result.stdout ?? ''`).
125
135
  */
126
136
  private gitCommand;
137
+ /** True when `items` differ from the last announced set, or the reminder interval has passed. */
138
+ private isAnnounceDue;
139
+ /** Record the announced set; an empty set clears it so a reappearance announces again. */
140
+ private markAnnounced;
141
+ /** Returns true when the alert was delivered (or there is no callback to deliver to). */
127
142
  private sendAlert;
128
143
  private loadState;
129
144
  private saveState;
@@ -1 +1 @@
1
- {"version":3,"file":"WorktreeMonitor.d.ts","sourceRoot":"","sources":["../../src/monitoring/WorktreeMonitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAMhD,MAAM,WAAW,QAAQ;IACvB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,wCAAwC;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,oDAAoD;IACpD,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,kDAAkD;IAClD,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,+CAA+C;IAC/C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,wCAAwC;IACxC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD;AAOD,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAA+B;gBAErC,MAAM,EAAE,qBAAqB;IAWzC,sCAAsC;IACtC,KAAK,IAAI,IAAI;IAMb,8BAA8B;IAC9B,IAAI,IAAI,IAAI;IAOZ,gCAAgC;IAChC,aAAa,IAAI,cAAc,GAAG,IAAI;IAItC;;;OAGG;IACG,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IAsBlE;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IA+D/B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC;IAsB7C;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,cAAc,CAAC;IAoC9C;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IA2C1C;;OAEG;IACG,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAoB9F;;OAEG;IACG,kBAAkB,CAAC,eAAe,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBxE;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAezC;;OAEG;IACG,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAU1D,OAAO,CAAC,kBAAkB;YA2BZ,mBAAmB;IAsBjC;;;;;;;;;OASG;YACW,UAAU;YAeV,SAAS;IAUvB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,SAAS;CAQlB"}
1
+ {"version":3,"file":"WorktreeMonitor.d.ts","sourceRoot":"","sources":["../../src/monitoring/WorktreeMonitor.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,12 @@
9
9
  * 1. Post-session scan: fires after each session completes, checks for new worktrees
10
10
  * 2. Periodic health scan: runs on interval, detects stale/orphan worktrees
11
11
  *
12
+ * Announce on change only: each alert kind remembers the fingerprint of the
13
+ * set it last announced (persisted, so a restart does not re-announce). An
14
+ * unchanged set is re-announced at most once per `reminderIntervalMs`. Before
15
+ * this, the same two notices about one unmerged branch went out ~550 times a
16
+ * day (docs/research/jev/field-notes/2026-09-30-idea4-notification-tiering.md).
17
+ *
12
18
  * Part of the Claude Code Feature Integration Audit (Item 1: Worktree Support).
13
19
  */
14
20
  import { execFile } from 'node:child_process';
@@ -20,11 +26,14 @@ const execFileAsync = promisify(execFile);
20
26
  // ── Implementation ─────────────────────────────────────────────────
21
27
  const DEFAULT_POLL_INTERVAL = 300_000; // 5 minutes
22
28
  const DEFAULT_STALE_THRESHOLD = 86_400_000; // 24 hours
29
+ const DEFAULT_REMINDER_INTERVAL = 86_400_000; // 24 hours
23
30
  export class WorktreeMonitor extends EventEmitter {
24
31
  config;
25
32
  interval = null;
26
33
  stateFile;
27
34
  lastReport = null;
35
+ announcedFile;
36
+ announced = {};
28
37
  constructor(config) {
29
38
  super();
30
39
  this.config = config;
@@ -33,6 +42,7 @@ export class WorktreeMonitor extends EventEmitter {
33
42
  fs.mkdirSync(stateDir, { recursive: true });
34
43
  }
35
44
  this.stateFile = path.join(stateDir, 'last-report.json');
45
+ this.announcedFile = path.join(stateDir, 'announced.json');
36
46
  this.loadState();
37
47
  }
38
48
  /** Start periodic health scanning. */
@@ -66,10 +76,23 @@ export class WorktreeMonitor extends EventEmitter {
66
76
  report.actions.push(`Copied ${copied} serendipity finding(s) from worktree ${wt.branch ?? wt.path}`);
67
77
  }
68
78
  }
69
- if (report.withUnmergedWork.length > 0 || report.orphanBranches.length > 0) {
70
- const message = this.formatSessionAlert(session, report);
71
- report.actions.push(`Alert generated for session ${session.name}`);
72
- await this.sendAlert(message);
79
+ const items = [
80
+ ...report.withUnmergedWork.map(d => `unmerged:${d.worktree.branch}`),
81
+ ...report.orphanBranches.map(b => `orphan:${b}`),
82
+ ];
83
+ if (items.length > 0) {
84
+ if (this.isAnnounceDue('session', items)) {
85
+ const message = this.formatSessionAlert(session, report);
86
+ report.actions.push(`Alert generated for session ${session.name}`);
87
+ if (await this.sendAlert(message))
88
+ this.markAnnounced('session', items);
89
+ }
90
+ else {
91
+ report.actions.push('Alert suppressed: findings unchanged since last announcement');
92
+ }
93
+ }
94
+ else {
95
+ this.markAnnounced('session', []);
73
96
  }
74
97
  this.saveState(report);
75
98
  this.emit('scan', report);
@@ -153,10 +176,23 @@ export class WorktreeMonitor extends EventEmitter {
153
176
  const age = ages[i];
154
177
  return age !== null && age > staleThreshold;
155
178
  });
179
+ const items = [
180
+ ...staleWorktrees.map(wt => `stale:${wt.branch ?? wt.path}`),
181
+ ...report.orphanBranches.map(b => `orphan:${b}`),
182
+ ];
156
183
  if (staleWorktrees.length > 0) {
157
- const message = await this.formatPeriodicAlert(report, staleWorktrees);
158
- report.actions.push(`Stale worktree alert: ${staleWorktrees.length} worktree(s)`);
159
- await this.sendAlert(message);
184
+ if (this.isAnnounceDue('stale', items)) {
185
+ const message = await this.formatPeriodicAlert(report, staleWorktrees);
186
+ report.actions.push(`Stale worktree alert: ${staleWorktrees.length} worktree(s)`);
187
+ if (await this.sendAlert(message))
188
+ this.markAnnounced('stale', items);
189
+ }
190
+ else {
191
+ report.actions.push('Stale worktree alert suppressed: findings unchanged since last announcement');
192
+ }
193
+ }
194
+ else {
195
+ this.markAnnounced('stale', []);
160
196
  }
161
197
  this.saveState(report);
162
198
  this.emit('scan', report);
@@ -363,14 +399,42 @@ export class WorktreeMonitor extends EventEmitter {
363
399
  return typeof stdout === 'string' ? stdout : '';
364
400
  }
365
401
  }
402
+ /** True when `items` differ from the last announced set, or the reminder interval has passed. */
403
+ isAnnounceDue(kind, items) {
404
+ const prev = this.announced[kind];
405
+ if (!prev || prev.fingerprint !== fingerprintOf(items))
406
+ return true;
407
+ const reminder = this.config.reminderIntervalMs ?? DEFAULT_REMINDER_INTERVAL;
408
+ return Date.now() - prev.at >= reminder;
409
+ }
410
+ /** Record the announced set; an empty set clears it so a reappearance announces again. */
411
+ markAnnounced(kind, items) {
412
+ if (items.length === 0) {
413
+ if (!this.announced[kind])
414
+ return;
415
+ delete this.announced[kind];
416
+ }
417
+ else {
418
+ this.announced[kind] = { fingerprint: fingerprintOf(items), at: Date.now() };
419
+ }
420
+ try {
421
+ fs.writeFileSync(this.announcedFile, JSON.stringify(this.announced, null, 2));
422
+ }
423
+ catch {
424
+ // Non-fatal — worst case is one repeat announcement after a restart
425
+ }
426
+ }
427
+ /** Returns true when the alert was delivered (or there is no callback to deliver to). */
366
428
  async sendAlert(message) {
367
- if (this.config.alertCallback) {
368
- try {
369
- await this.config.alertCallback(message);
370
- }
371
- catch (err) {
372
- this.emit('error', err);
373
- }
429
+ if (!this.config.alertCallback)
430
+ return true;
431
+ try {
432
+ await this.config.alertCallback(message);
433
+ return true;
434
+ }
435
+ catch (err) {
436
+ this.emit('error', err);
437
+ return false;
374
438
  }
375
439
  }
376
440
  loadState() {
@@ -382,6 +446,15 @@ export class WorktreeMonitor extends EventEmitter {
382
446
  catch {
383
447
  this.lastReport = null;
384
448
  }
449
+ try {
450
+ if (fs.existsSync(this.announcedFile)) {
451
+ const parsed = JSON.parse(fs.readFileSync(this.announcedFile, 'utf-8'));
452
+ this.announced = parsed && typeof parsed === 'object' ? parsed : {};
453
+ }
454
+ }
455
+ catch {
456
+ this.announced = {};
457
+ }
385
458
  }
386
459
  saveState(report) {
387
460
  this.lastReport = report;
@@ -393,4 +466,7 @@ export class WorktreeMonitor extends EventEmitter {
393
466
  }
394
467
  }
395
468
  }
469
+ function fingerprintOf(items) {
470
+ return [...items].sort().join('\n');
471
+ }
396
472
  //# sourceMappingURL=WorktreeMonitor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorktreeMonitor.js","sourceRoot":"","sources":["../../src/monitoring/WorktreeMonitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorktreeMonitor.js","sourceRoot":"","sources":["../../src/monitoring/WorktreeMonitor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAaH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAgG/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2E/F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiBvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA2B1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,EAC5B,WAAW,GAAE,OAAe,GAC3B,MAAM,CAqtDR;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,GAC3B,MAAM,CAwUR;AAED,4FAA4F;AAC5F,eAAO,MAAM,6BAA6B,mDAAmD,CAAC;AAE9F;+EAC+E;AAC/E,eAAO,MAAM,6BAA6B,qvBAAquB,CAAC;AAEhxB;;+DAE+D;AAC/D,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;+DAE+D;AAC/D,wBAAgB,8BAA8B,IAAI,MAAM,CAEvD"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAaH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAgG/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2E/F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiBvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA2B1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,EAC5B,WAAW,GAAE,OAAe,GAC3B,MAAM,CAguDR;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,GAC3B,MAAM,CAwUR;AAED,4FAA4F;AAC5F,eAAO,MAAM,6BAA6B,mDAAmD,CAAC;AAE9F;+EAC+E;AAC/E,eAAO,MAAM,6BAA6B,qvBAAquB,CAAC;AAEhxB;;+DAE+D;AAC/D,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;+DAE+D;AAC/D,wBAAgB,8BAA8B,IAAI,MAAM,CAEvD"}