instar 1.2.72 → 1.2.74

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.
@@ -23,11 +23,23 @@
23
23
  */
24
24
  import type { SemanticMemory } from './SemanticMemory.js';
25
25
  import type { EpisodicMemory } from './EpisodicMemory.js';
26
+ import type { TopicIntentStore } from '../core/TopicIntent.js';
26
27
  export interface WorkingMemoryConfig {
27
28
  /** SemanticMemory instance (optional — degrades gracefully) */
28
29
  semanticMemory?: SemanticMemory;
29
30
  /** EpisodicMemory instance (optional — degrades gracefully) */
30
31
  episodicMemory?: EpisodicMemory;
32
+ /**
33
+ * TopicIntentStore (rung 2) — when provided, the topic's established refs join
34
+ * the unified working-set section. Optional; absent → that source is empty.
35
+ */
36
+ topicIntentStore?: TopicIntentStore;
37
+ /**
38
+ * State dir (rung 2) — when provided, Playbook manifest items matching the
39
+ * query join the unified working-set section (read-only manifest scan, no
40
+ * Python). Optional; absent → that source is empty.
41
+ */
42
+ stateDir?: string;
31
43
  /** Token budgets per source. Defaults provided. */
32
44
  tokenBudgets?: Partial<TokenBudgets>;
33
45
  }
@@ -38,6 +50,8 @@ export interface TokenBudgets {
38
50
  episodes: number;
39
51
  /** Max tokens for relationship/people context */
40
52
  relationships: number;
53
+ /** Max tokens for the unified working set (topic-intent + Playbook) — rung 2 */
54
+ workingSet: number;
41
55
  /** Total max tokens (hard cap on entire assembly) */
42
56
  total: number;
43
57
  }
@@ -74,6 +88,8 @@ export interface WorkingMemoryAssembly {
74
88
  export declare class WorkingMemoryAssembler {
75
89
  private semanticMemory?;
76
90
  private episodicMemory?;
91
+ private topicIntentStore?;
92
+ private stateDir?;
77
93
  private budgets;
78
94
  constructor(config: WorkingMemoryConfig);
79
95
  /**
@@ -87,6 +103,16 @@ export declare class WorkingMemoryAssembler {
87
103
  private assembleKnowledge;
88
104
  private assembleEpisodes;
89
105
  private assembleRelationships;
106
+ /**
107
+ * Assemble the unified working set: topic-intent refs (relevance = confidence,
108
+ * recency = lastReinforcedAt) + Playbook manifest items matching the query
109
+ * (relevance = trigger/tag match + usefulness, recency = freshness), ranked
110
+ * together by blended relevance×recency-decay and rendered under budget. Both
111
+ * sources are read-only + degrade-safe — a missing/erroring source contributes
112
+ * nothing and never breaks assembly.
113
+ */
114
+ private assembleWorkingSet;
115
+ private renderWorkingSet;
90
116
  /**
91
117
  * Render entities with the tiered strategy:
92
118
  * - Top 3: Full content (name + content + confidence + connections)
@@ -1 +1 @@
1
- {"version":3,"file":"WorkingMemoryAssembler.d.ts","sourceRoot":"","sources":["../../src/memory/WorkingMemoryAssembler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAoC,MAAM,qBAAqB,CAAC;AAM5F,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC,mDAAmD;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B;IAC1B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,+CAA+C;IAC/C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB;AAaD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,OAAO,CAAe;gBAElB,MAAM,EAAE,mBAAmB;IAMvC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,qBAAqB;IA4DzD,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,gBAAgB;IA8CxB,OAAO,CAAC,qBAAqB;IAuB7B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAuDtB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,mBAAmB;IAM3B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAsCrB,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,aAAa;IAWrB;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE;IA8BrD;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAgDtB,OAAO,CAAC,YAAY;IASpB,8DAA8D;IAC9D,UAAU,IAAI,YAAY;CAG3B"}
1
+ {"version":3,"file":"WorkingMemoryAssembler.d.ts","sourceRoot":"","sources":["../../src/memory/WorkingMemoryAssembler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAoC,MAAM,qBAAqB,CAAC;AAE5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,mDAAmD;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B;IAC1B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,+CAA+C;IAC/C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB;AAcD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAe;gBAElB,MAAM,EAAE,mBAAmB;IAQvC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,qBAAqB;IA8EzD,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,gBAAgB;IA8CxB,OAAO,CAAC,qBAAqB;IAuB7B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,gBAAgB;IAoBxB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAuDtB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,mBAAmB;IAM3B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAsCrB,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,aAAa;IAYrB;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE;IA8BrD;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAgDtB,OAAO,CAAC,YAAY;IASpB,8DAA8D;IAC9D,UAAU,IAAI,YAAY;CAG3B"}
@@ -21,22 +21,28 @@
21
21
  *
22
22
  * Implements Phase 4 of PROP-memory-architecture v3.1.
23
23
  */
24
+ import { rankWorkingSet, topicIntentToWorkingSet, playbookManifestToWorkingSet } from './WorkingSet.js';
24
25
  import { estimateTokens } from './Chunker.js';
25
26
  // ─── Constants ──────────────────────────────────────────────────────
26
27
  const DEFAULT_BUDGETS = {
27
28
  knowledge: 800,
28
29
  episodes: 400,
29
30
  relationships: 300,
31
+ workingSet: 500,
30
32
  total: 2000,
31
33
  };
32
34
  // ─── Assembler ──────────────────────────────────────────────────────
33
35
  export class WorkingMemoryAssembler {
34
36
  semanticMemory;
35
37
  episodicMemory;
38
+ topicIntentStore;
39
+ stateDir;
36
40
  budgets;
37
41
  constructor(config) {
38
42
  this.semanticMemory = config.semanticMemory;
39
43
  this.episodicMemory = config.episodicMemory;
44
+ this.topicIntentStore = config.topicIntentStore;
45
+ this.stateDir = config.stateDir;
40
46
  this.budgets = { ...DEFAULT_BUDGETS, ...config.tokenBudgets };
41
47
  }
42
48
  /**
@@ -81,6 +87,20 @@ export class WorkingMemoryAssembler {
81
87
  }
82
88
  }
83
89
  }
90
+ // 4. Unified working set (rung 2): topic-intent refs + Playbook items, ranked
91
+ // together by blended relevance×recency. Appended AFTER the existing
92
+ // sources and gated on the new deps, so when neither is configured the
93
+ // assembled output is byte-for-byte unchanged (regression pin).
94
+ if (this.topicIntentStore || this.stateDir) {
95
+ const remainingBudget = Math.min(this.budgets.workingSet, this.budgets.total - totalTokens);
96
+ if (remainingBudget > 50) {
97
+ const workingSetSection = this.assembleWorkingSet(trigger.topicId, queryTerms, remainingBudget);
98
+ if (workingSetSection.content) {
99
+ sections.push(workingSetSection);
100
+ totalTokens += workingSetSection.tokens;
101
+ }
102
+ }
103
+ }
84
104
  // Build final context string
85
105
  const context = this.formatAssembly(sections);
86
106
  return {
@@ -156,6 +176,41 @@ export class WorkingMemoryAssembler {
156
176
  }
157
177
  return this.renderEntities(people, budget, 'relationships');
158
178
  }
179
+ // ─── Working Set Assembly (rung 2 — unified read path) ────────────
180
+ /**
181
+ * Assemble the unified working set: topic-intent refs (relevance = confidence,
182
+ * recency = lastReinforcedAt) + Playbook manifest items matching the query
183
+ * (relevance = trigger/tag match + usefulness, recency = freshness), ranked
184
+ * together by blended relevance×recency-decay and rendered under budget. Both
185
+ * sources are read-only + degrade-safe — a missing/erroring source contributes
186
+ * nothing and never breaks assembly.
187
+ */
188
+ assembleWorkingSet(topicId, queryTerms, budget) {
189
+ const items = [
190
+ ...topicIntentToWorkingSet(this.topicIntentStore, topicId),
191
+ ...playbookManifestToWorkingSet(this.stateDir, queryTerms),
192
+ ];
193
+ if (items.length === 0) {
194
+ return { name: 'working-set', content: '', tokens: 0, count: 0 };
195
+ }
196
+ const ranked = rankWorkingSet(items);
197
+ return this.renderWorkingSet(ranked, budget);
198
+ }
199
+ renderWorkingSet(items, budget) {
200
+ const lines = [];
201
+ let tokens = 0;
202
+ let count = 0;
203
+ for (const item of items) {
204
+ const entry = `- **[${item.source}/${item.kind}]** ${item.text}`;
205
+ const entryTokens = estimateTokens(entry);
206
+ if (tokens + entryTokens > budget)
207
+ break;
208
+ lines.push(entry);
209
+ tokens += entryTokens;
210
+ count++;
211
+ }
212
+ return { name: 'working-set', content: lines.join('\n'), tokens, count };
213
+ }
159
214
  // ─── Rendering ────────────────────────────────────────────────────
160
215
  /**
161
216
  * Render entities with the tiered strategy:
@@ -293,6 +348,7 @@ export class WorkingMemoryAssembler {
293
348
  case 'knowledge': return 'Relevant Knowledge';
294
349
  case 'episodes': return 'Recent Activity';
295
350
  case 'relationships': return 'People Context';
351
+ case 'working-set': return 'Working Set (tracked context)';
296
352
  default: return name;
297
353
  }
298
354
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WorkingMemoryAssembler.js","sourceRoot":"","sources":["../../src/memory/WorkingMemoryAssembler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkingMemoryAssembler.js","sourceRoot":"","sources":["../../src/memory/WorkingMemoryAssembler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * WorkingSet — the lingua franca that lets the WorkingMemoryAssembler rank items
3
+ * from different stores (topic-intent, Playbook, …) in one list (rung 2 of
4
+ * continuous-working-awareness).
5
+ *
6
+ * Each store adapts its native model into a `WorkingSetItem`; `rankWorkingSet`
7
+ * blends relevance with a recency-decay factor so a single ranked reading list
8
+ * draws from all sources consistently. Decay is demotion, not deletion — a faded
9
+ * item sinks in the ranking but stays in its backing store and re-warms on
10
+ * reference. Pure functions + read-only adapters; degrade-safe (a missing/empty
11
+ * source contributes nothing). Spec: docs/specs/cwa-unify-stores.md.
12
+ */
13
+ import type { TopicIntentStore } from '../core/TopicIntent.js';
14
+ export interface WorkingSetItem {
15
+ /** Which store the item came from. */
16
+ source: 'topic-intent' | 'playbook';
17
+ /** Stable id within the source. */
18
+ id: string;
19
+ /** Short human-readable descriptor (the line shown in assembled context). */
20
+ text: string;
21
+ /** Native relevance, normalized to 0–1 (confidence, usefulness, match score). */
22
+ relevance: number;
23
+ /** ISO8601 of the item's last reinforcement / freshness (drives recency decay). */
24
+ recencyAt: string;
25
+ /** Item kind/category (for labelling). */
26
+ kind: string;
27
+ }
28
+ /** Recency half-life (days) for the blended score's decay factor. Tunable. */
29
+ export declare const RECENCY_HALF_LIFE_DAYS = 30;
30
+ /**
31
+ * Blended score = relevance × recency-decay-factor. The recency factor is
32
+ * exp(-ln2 · ageDays / halfLife): 1.0 today, 0.5 at one half-life, etc. Items
33
+ * with no parseable recency are treated as "now" (factor 1) so a source that
34
+ * doesn't track recency isn't unfairly sunk.
35
+ */
36
+ export declare function blendedScore(item: WorkingSetItem, nowMs?: number): number;
37
+ /** Rank a mixed working set by blended score (descending). Stable, pure. */
38
+ export declare function rankWorkingSet(items: WorkingSetItem[], nowMs?: number): WorkingSetItem[];
39
+ /**
40
+ * Map a topic's established refs (at/above tentative) to WorkingSetItems.
41
+ * Relevance = the confidence projection; recency = lastReinforcedAt. Read-only,
42
+ * degrade-safe (no store / no topic / error → []).
43
+ */
44
+ export declare function topicIntentToWorkingSet(store: TopicIntentStore | null | undefined, topicId: number | undefined, nowMs?: number): WorkingSetItem[];
45
+ /**
46
+ * Read Playbook manifest JSONs under {stateDir}/playbook and map matching items
47
+ * to WorkingSetItems. Relevance blends trigger/tag overlap with the query and the
48
+ * item's usefulness signal; recency = freshness. Read-only (never invokes the
49
+ * Python scripts) and degrade-safe (no dir / parse error → []). When no query
50
+ * terms are given, returns [] (Playbook items are trigger-gated, not always-on).
51
+ */
52
+ export declare function playbookManifestToWorkingSet(stateDir: string | undefined, queryTerms: string[], nowMs?: number): WorkingSetItem[];
53
+ //# sourceMappingURL=WorkingSet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkingSet.d.ts","sourceRoot":"","sources":["../../src/memory/WorkingSet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,MAAM,EAAE,cAAc,GAAG,UAAU,CAAC;IACpC,mCAAmC;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,8EAA8E;AAC9E,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAGzC;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,GAAE,MAAmB,GAAG,MAAM,CAOrF;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,KAAK,GAAE,MAAmB,GAAG,cAAc,EAAE,CAKpG;AAID;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,EAC1C,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,CAAC,EAAE,MAAM,GACb,cAAc,EAAE,CAelB;AAeD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,UAAU,EAAE,MAAM,EAAE,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,cAAc,EAAE,CAgDlB"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * WorkingSet — the lingua franca that lets the WorkingMemoryAssembler rank items
3
+ * from different stores (topic-intent, Playbook, …) in one list (rung 2 of
4
+ * continuous-working-awareness).
5
+ *
6
+ * Each store adapts its native model into a `WorkingSetItem`; `rankWorkingSet`
7
+ * blends relevance with a recency-decay factor so a single ranked reading list
8
+ * draws from all sources consistently. Decay is demotion, not deletion — a faded
9
+ * item sinks in the ranking but stays in its backing store and re-warms on
10
+ * reference. Pure functions + read-only adapters; degrade-safe (a missing/empty
11
+ * source contributes nothing). Spec: docs/specs/cwa-unify-stores.md.
12
+ */
13
+ import fs from 'node:fs';
14
+ import path from 'node:path';
15
+ /** Recency half-life (days) for the blended score's decay factor. Tunable. */
16
+ export const RECENCY_HALF_LIFE_DAYS = 30;
17
+ const MS_PER_DAY = 24 * 60 * 60 * 1000;
18
+ /**
19
+ * Blended score = relevance × recency-decay-factor. The recency factor is
20
+ * exp(-ln2 · ageDays / halfLife): 1.0 today, 0.5 at one half-life, etc. Items
21
+ * with no parseable recency are treated as "now" (factor 1) so a source that
22
+ * doesn't track recency isn't unfairly sunk.
23
+ */
24
+ export function blendedScore(item, nowMs = Date.now()) {
25
+ const rel = Number.isFinite(item.relevance) ? Math.max(0, Math.min(1, item.relevance)) : 0;
26
+ let ageDays = 0;
27
+ const t = Date.parse(item.recencyAt);
28
+ if (Number.isFinite(t))
29
+ ageDays = Math.max(0, (nowMs - t) / MS_PER_DAY);
30
+ const recencyFactor = Math.exp((-Math.LN2 * ageDays) / RECENCY_HALF_LIFE_DAYS);
31
+ return rel * recencyFactor;
32
+ }
33
+ /** Rank a mixed working set by blended score (descending). Stable, pure. */
34
+ export function rankWorkingSet(items, nowMs = Date.now()) {
35
+ return [...items]
36
+ .map((it, i) => ({ it, i, s: blendedScore(it, nowMs) }))
37
+ .sort((a, b) => (b.s - a.s) || (a.i - b.i))
38
+ .map(x => x.it);
39
+ }
40
+ // ── Source adapter: topic-intent ───────────────────────────────────────────
41
+ /**
42
+ * Map a topic's established refs (at/above tentative) to WorkingSetItems.
43
+ * Relevance = the confidence projection; recency = lastReinforcedAt. Read-only,
44
+ * degrade-safe (no store / no topic / error → []).
45
+ */
46
+ export function topicIntentToWorkingSet(store, topicId, nowMs) {
47
+ if (!store || typeof topicId !== 'number')
48
+ return [];
49
+ try {
50
+ const refs = store.getRefsAtOrAbove(topicId, 'tentative', nowMs);
51
+ return refs.map(r => ({
52
+ source: 'topic-intent',
53
+ id: r.refId,
54
+ text: r.text,
55
+ relevance: r.projection.confidence,
56
+ recencyAt: r.lastReinforcedAt,
57
+ kind: r.kind,
58
+ }));
59
+ }
60
+ catch {
61
+ return [];
62
+ }
63
+ }
64
+ /**
65
+ * Read Playbook manifest JSONs under {stateDir}/playbook and map matching items
66
+ * to WorkingSetItems. Relevance blends trigger/tag overlap with the query and the
67
+ * item's usefulness signal; recency = freshness. Read-only (never invokes the
68
+ * Python scripts) and degrade-safe (no dir / parse error → []). When no query
69
+ * terms are given, returns [] (Playbook items are trigger-gated, not always-on).
70
+ */
71
+ export function playbookManifestToWorkingSet(stateDir, queryTerms, nowMs) {
72
+ void nowMs;
73
+ if (!stateDir || queryTerms.length === 0)
74
+ return [];
75
+ const dir = path.join(stateDir, 'playbook');
76
+ let files;
77
+ try {
78
+ files = collectJsonFiles(dir);
79
+ }
80
+ catch {
81
+ return [];
82
+ }
83
+ const terms = queryTerms.map(t => t.toLowerCase()).filter(Boolean);
84
+ const out = [];
85
+ for (const file of files) {
86
+ let parsed;
87
+ try {
88
+ parsed = JSON.parse(fs.readFileSync(file, 'utf-8'));
89
+ }
90
+ catch {
91
+ continue; // skip a corrupt manifest, keep going
92
+ }
93
+ if (!parsed || !Array.isArray(parsed.items))
94
+ continue;
95
+ for (const it of parsed.items) {
96
+ if (!it || !it.id)
97
+ continue;
98
+ const haystack = [
99
+ ...(it.load_triggers ?? []),
100
+ ...(it.tags?.domains ?? []),
101
+ ...(it.tags?.qualifiers ?? []),
102
+ it.category ?? '',
103
+ it.id,
104
+ ].join(' ').toLowerCase();
105
+ const matches = terms.filter(t => haystack.includes(t)).length;
106
+ if (matches === 0)
107
+ continue; // trigger-gated: only surface items the query touches
108
+ const matchScore = Math.min(1, matches / Math.max(1, terms.length));
109
+ const help = it.usefulness?.helpful ?? 0;
110
+ const mis = it.usefulness?.misleading ?? 0;
111
+ const usefulnessBoost = help + mis > 0 ? Math.max(0, (help - mis) / (help + mis)) : 0;
112
+ // Relevance = mostly match, with a small usefulness lift (capped at 1).
113
+ const relevance = Math.min(1, matchScore * 0.8 + usefulnessBoost * 0.2);
114
+ out.push({
115
+ source: 'playbook',
116
+ id: it.id,
117
+ text: `${it.id}${it.path ? ` (${it.path})` : ''}`,
118
+ relevance,
119
+ recencyAt: it.freshness ?? new Date(0).toISOString(),
120
+ kind: it.category ?? 'playbook',
121
+ });
122
+ }
123
+ }
124
+ return out;
125
+ }
126
+ /** Recursively collect *.json files under a dir (shallow-ish; returns [] if missing). */
127
+ function collectJsonFiles(dir, depth = 3) {
128
+ if (depth < 0 || !fs.existsSync(dir))
129
+ return [];
130
+ const out = [];
131
+ for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
132
+ const full = path.join(dir, entry.name);
133
+ if (entry.isDirectory())
134
+ out.push(...collectJsonFiles(full, depth - 1));
135
+ else if (entry.isFile() && entry.name.endsWith('.json'))
136
+ out.push(full);
137
+ }
138
+ return out;
139
+ }
140
+ //# sourceMappingURL=WorkingSet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkingSet.js","sourceRoot":"","sources":["../../src/memory/WorkingSet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAkB7B,8EAA8E;AAC9E,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAoB,EAAE,QAAgB,IAAI,CAAC,GAAG,EAAE;IAC3E,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,sBAAsB,CAAC,CAAC;IAC/E,OAAO,GAAG,GAAG,aAAa,CAAC;AAC7B,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,cAAc,CAAC,KAAuB,EAAE,QAAgB,IAAI,CAAC,GAAG,EAAE;IAChF,OAAO,CAAC,GAAG,KAAK,CAAC;SACd,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACvD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC;AAED,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAA0C,EAC1C,OAA2B,EAC3B,KAAc;IAEd,IAAI,CAAC,KAAK,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpB,MAAM,EAAE,cAAuB;YAC/B,EAAE,EAAE,CAAC,CAAC,KAAK;YACX,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU;YAClC,SAAS,EAAE,CAAC,CAAC,gBAAgB;YAC7B,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAeD;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAC1C,QAA4B,EAC5B,UAAoB,EACpB,KAAc;IAEd,KAAK,KAAK,CAAC;IACX,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC5C,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnE,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,MAAqC,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,CAAC,sCAAsC;QAClD,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,SAAS;QACtD,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,SAAS;YAC5B,MAAM,QAAQ,GAAG;gBACf,GAAG,CAAC,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC;gBAC3B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;gBAC3B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;gBAC9B,EAAE,CAAC,QAAQ,IAAI,EAAE;gBACjB,EAAE,CAAC,EAAE;aACN,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/D,IAAI,OAAO,KAAK,CAAC;gBAAE,SAAS,CAAC,sDAAsD;YACnF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACpE,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,EAAE,OAAO,IAAI,CAAC,CAAC;YACzC,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,EAAE,UAAU,IAAI,CAAC,CAAC;YAC3C,MAAM,eAAe,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,wEAAwE;YACxE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,GAAG,GAAG,eAAe,GAAG,GAAG,CAAC,CAAC;YACxE,GAAG,CAAC,IAAI,CAAC;gBACP,MAAM,EAAE,UAAU;gBAClB,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjD,SAAS;gBACT,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBACpD,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,UAAU;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,yFAAyF;AACzF,SAAS,gBAAgB,CAAC,GAAW,EAAE,KAAK,GAAG,CAAC;IAC9C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAChD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;aACnE,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "1.2.72",
3
+ "version": "1.2.74",
4
4
  "description": "Coherence infrastructure for self-evolving AI agents — on the Claude Code or Codex subscription you already have.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "./builtin-manifest.schema.json",
3
3
  "schemaVersion": 1,
4
- "generatedAt": "2026-05-25T07:03:59.683Z",
5
- "instarVersion": "1.2.72",
4
+ "generatedAt": "2026-05-25T09:17:32.200Z",
5
+ "instarVersion": "1.2.74",
6
6
  "entryCount": 191,
7
7
  "entries": {
8
8
  "hook:session-start": {
@@ -11,7 +11,7 @@
11
11
  "domain": "identity",
12
12
  "sourcePath": "src/core/PostUpdateMigrator.ts",
13
13
  "installedPath": ".instar/hooks/instar/session-start.sh",
14
- "contentHash": "b4bdac2474bf38d74e5cb801067dfe0e3bf8fb147591b589238735a0ff4c5945",
14
+ "contentHash": "76e7cdbc6c2b46d64f2cda9d4b530feae85122b051288fc842e60d9290c85024",
15
15
  "since": "2025-01-01"
16
16
  },
17
17
  "hook:dangerous-command-guard": {
@@ -20,7 +20,7 @@
20
20
  "domain": "safety",
21
21
  "sourcePath": "src/core/PostUpdateMigrator.ts",
22
22
  "installedPath": ".instar/hooks/instar/dangerous-command-guard.sh",
23
- "contentHash": "b4bdac2474bf38d74e5cb801067dfe0e3bf8fb147591b589238735a0ff4c5945",
23
+ "contentHash": "76e7cdbc6c2b46d64f2cda9d4b530feae85122b051288fc842e60d9290c85024",
24
24
  "since": "2025-01-01"
25
25
  },
26
26
  "hook:grounding-before-messaging": {
@@ -29,7 +29,7 @@
29
29
  "domain": "safety",
30
30
  "sourcePath": "src/core/PostUpdateMigrator.ts",
31
31
  "installedPath": ".instar/hooks/instar/grounding-before-messaging.sh",
32
- "contentHash": "b4bdac2474bf38d74e5cb801067dfe0e3bf8fb147591b589238735a0ff4c5945",
32
+ "contentHash": "76e7cdbc6c2b46d64f2cda9d4b530feae85122b051288fc842e60d9290c85024",
33
33
  "since": "2025-01-01"
34
34
  },
35
35
  "hook:compaction-recovery": {
@@ -38,7 +38,7 @@
38
38
  "domain": "identity",
39
39
  "sourcePath": "src/core/PostUpdateMigrator.ts",
40
40
  "installedPath": ".instar/hooks/instar/compaction-recovery.sh",
41
- "contentHash": "b4bdac2474bf38d74e5cb801067dfe0e3bf8fb147591b589238735a0ff4c5945",
41
+ "contentHash": "76e7cdbc6c2b46d64f2cda9d4b530feae85122b051288fc842e60d9290c85024",
42
42
  "since": "2025-01-01"
43
43
  },
44
44
  "hook:external-operation-gate": {
@@ -47,7 +47,7 @@
47
47
  "domain": "safety",
48
48
  "sourcePath": "src/core/PostUpdateMigrator.ts",
49
49
  "installedPath": ".instar/hooks/instar/external-operation-gate.js",
50
- "contentHash": "b4bdac2474bf38d74e5cb801067dfe0e3bf8fb147591b589238735a0ff4c5945",
50
+ "contentHash": "76e7cdbc6c2b46d64f2cda9d4b530feae85122b051288fc842e60d9290c85024",
51
51
  "since": "2025-01-01"
52
52
  },
53
53
  "hook:deferral-detector": {
@@ -56,7 +56,7 @@
56
56
  "domain": "safety",
57
57
  "sourcePath": "src/core/PostUpdateMigrator.ts",
58
58
  "installedPath": ".instar/hooks/instar/deferral-detector.js",
59
- "contentHash": "b4bdac2474bf38d74e5cb801067dfe0e3bf8fb147591b589238735a0ff4c5945",
59
+ "contentHash": "76e7cdbc6c2b46d64f2cda9d4b530feae85122b051288fc842e60d9290c85024",
60
60
  "since": "2025-01-01"
61
61
  },
62
62
  "hook:post-action-reflection": {
@@ -65,7 +65,7 @@
65
65
  "domain": "evolution",
66
66
  "sourcePath": "src/core/PostUpdateMigrator.ts",
67
67
  "installedPath": ".instar/hooks/instar/post-action-reflection.js",
68
- "contentHash": "b4bdac2474bf38d74e5cb801067dfe0e3bf8fb147591b589238735a0ff4c5945",
68
+ "contentHash": "76e7cdbc6c2b46d64f2cda9d4b530feae85122b051288fc842e60d9290c85024",
69
69
  "since": "2025-01-01"
70
70
  },
71
71
  "hook:external-communication-guard": {
@@ -74,7 +74,7 @@
74
74
  "domain": "safety",
75
75
  "sourcePath": "src/core/PostUpdateMigrator.ts",
76
76
  "installedPath": ".instar/hooks/instar/external-communication-guard.js",
77
- "contentHash": "b4bdac2474bf38d74e5cb801067dfe0e3bf8fb147591b589238735a0ff4c5945",
77
+ "contentHash": "76e7cdbc6c2b46d64f2cda9d4b530feae85122b051288fc842e60d9290c85024",
78
78
  "since": "2025-01-01"
79
79
  },
80
80
  "hook:scope-coherence-collector": {
@@ -83,7 +83,7 @@
83
83
  "domain": "coherence",
84
84
  "sourcePath": "src/core/PostUpdateMigrator.ts",
85
85
  "installedPath": ".instar/hooks/instar/scope-coherence-collector.js",
86
- "contentHash": "b4bdac2474bf38d74e5cb801067dfe0e3bf8fb147591b589238735a0ff4c5945",
86
+ "contentHash": "76e7cdbc6c2b46d64f2cda9d4b530feae85122b051288fc842e60d9290c85024",
87
87
  "since": "2025-01-01"
88
88
  },
89
89
  "hook:scope-coherence-checkpoint": {
@@ -92,7 +92,7 @@
92
92
  "domain": "coherence",
93
93
  "sourcePath": "src/core/PostUpdateMigrator.ts",
94
94
  "installedPath": ".instar/hooks/instar/scope-coherence-checkpoint.js",
95
- "contentHash": "b4bdac2474bf38d74e5cb801067dfe0e3bf8fb147591b589238735a0ff4c5945",
95
+ "contentHash": "76e7cdbc6c2b46d64f2cda9d4b530feae85122b051288fc842e60d9290c85024",
96
96
  "since": "2025-01-01"
97
97
  },
98
98
  "hook:free-text-guard": {
@@ -101,7 +101,7 @@
101
101
  "domain": "safety",
102
102
  "sourcePath": "src/core/PostUpdateMigrator.ts",
103
103
  "installedPath": ".instar/hooks/instar/free-text-guard.sh",
104
- "contentHash": "b4bdac2474bf38d74e5cb801067dfe0e3bf8fb147591b589238735a0ff4c5945",
104
+ "contentHash": "76e7cdbc6c2b46d64f2cda9d4b530feae85122b051288fc842e60d9290c85024",
105
105
  "since": "2025-01-01"
106
106
  },
107
107
  "hook:claim-intercept": {
@@ -110,7 +110,7 @@
110
110
  "domain": "coherence",
111
111
  "sourcePath": "src/core/PostUpdateMigrator.ts",
112
112
  "installedPath": ".instar/hooks/instar/claim-intercept.js",
113
- "contentHash": "b4bdac2474bf38d74e5cb801067dfe0e3bf8fb147591b589238735a0ff4c5945",
113
+ "contentHash": "76e7cdbc6c2b46d64f2cda9d4b530feae85122b051288fc842e60d9290c85024",
114
114
  "since": "2025-01-01"
115
115
  },
116
116
  "hook:claim-intercept-response": {
@@ -119,7 +119,7 @@
119
119
  "domain": "coherence",
120
120
  "sourcePath": "src/core/PostUpdateMigrator.ts",
121
121
  "installedPath": ".instar/hooks/instar/claim-intercept-response.js",
122
- "contentHash": "b4bdac2474bf38d74e5cb801067dfe0e3bf8fb147591b589238735a0ff4c5945",
122
+ "contentHash": "76e7cdbc6c2b46d64f2cda9d4b530feae85122b051288fc842e60d9290c85024",
123
123
  "since": "2025-01-01"
124
124
  },
125
125
  "hook:auto-approve-permissions": {
@@ -128,7 +128,7 @@
128
128
  "domain": "safety",
129
129
  "sourcePath": "src/core/PostUpdateMigrator.ts",
130
130
  "installedPath": ".instar/hooks/instar/auto-approve-permissions.js",
131
- "contentHash": "b4bdac2474bf38d74e5cb801067dfe0e3bf8fb147591b589238735a0ff4c5945",
131
+ "contentHash": "76e7cdbc6c2b46d64f2cda9d4b530feae85122b051288fc842e60d9290c85024",
132
132
  "since": "2025-01-01"
133
133
  },
134
134
  "job:health-check": {
@@ -1472,7 +1472,7 @@
1472
1472
  "type": "subsystem",
1473
1473
  "domain": "updates",
1474
1474
  "sourcePath": "src/core/PostUpdateMigrator.ts",
1475
- "contentHash": "b4bdac2474bf38d74e5cb801067dfe0e3bf8fb147591b589238735a0ff4c5945",
1475
+ "contentHash": "76e7cdbc6c2b46d64f2cda9d4b530feae85122b051288fc842e60d9290c85024",
1476
1476
  "since": "2025-01-01"
1477
1477
  },
1478
1478
  "subsystem:scheduler": {
@@ -0,0 +1,34 @@
1
+ # Upgrade Guide — NEXT (Never a False Blocker + landing A Wall Is a Hypothesis)
2
+
3
+ <!-- bump: minor -->
4
+ <!-- minor = new capability (two new outbound-authority guard rules) -->
5
+
6
+ ## What Changed
7
+
8
+ **Two sibling guard rules in the outbound-message authority (`MessagingToneGate`), closing a pair of "surrender" gravity wells.**
9
+
10
+ 1. **B16_UNVERIFIED_WALL — "A Wall Is a Hypothesis"** (landing approved-but-stranded work). Blocks an outbound message that declares a path impossible/infeasible because an interface/API/mechanism is missing, when the agent showed no inventory of its own capabilities first. This was built and approved earlier (topic 12143) but never committed; it ships here as the base for its sibling.
11
+
12
+ 2. **B17_FALSE_BLOCKER — "Never a False Blocker"** (new, topic 12896). Holds an outbound message that defers a *doable* task to a person — "needs a human / I can't / blocked pending you / I'd want a second opinion / this needs reverse-engineering" — when the message names no genuinely-human-only item and shows no inventory of the agent's own means (computer use, terminal, send-keys, MCP). Where B16 surrenders on *feasibility* ("no mechanism exists"), B17 surrenders on *agency* ("a person is required"). The fused straddle ("there's no API, so a human must") is evaluated under B17 so it can't slip between the two rules. Severity favors false-negatives — genuine escalations (a password only you hold, a CAPTCHA, legal/billing authorization, a required approval, an account only you can grant, a real value judgment, a self-fetched cross-model review) all pass.
13
+
14
+ The `deferral-detector` PreToolUse hook is extended (signal-only — it primes a checklist, never blocks) to recognize the new excuse-shapes, with self-fetched cross-model review suppressed so legitimate "let me ask GPT" messages aren't flagged.
15
+
16
+ Both rules are always-evaluated inside the single outbound authority (no new detector with block power, no new endpoint). The rule ships with the server; the detector reaches existing agents via the always-overwrite built-in-hook migration path.
17
+
18
+ Specs: `docs/specs/never-a-false-blocker-standard.md` (+ `.eli16.md`), `docs/specs/wall-is-a-hypothesis-standard.md`.
19
+ Constitution: `docs/STANDARDS-REGISTRY.md` (The Substrate), `docs/INSTAR-DESIGN-PRINCIPLES-AND-LESSONS.md` (P11, P12).
20
+ Side-effects reviews: `upgrades/side-effects/never-a-false-blocker-standard.md`, `upgrades/side-effects/wall-is-a-hypothesis-standard.md`.
21
+
22
+ ## What to Tell Your User
23
+
24
+ Your agent will stop quietly handing work back to you that it could just do itself. If it ever says "this needs a human" or "I'd want a second opinion first" when it actually has the tools to do the thing, that message gets held and the agent is nudged to try its own means first. The genuinely-yours things — a password only you know, a CAPTCHA, anything about money or legal sign-off, a real decision that's yours — still come straight to you, exactly as before.
25
+
26
+ ## Summary of New Capabilities
27
+
28
+ - **B17_FALSE_BLOCKER** outbound guard (the "Never a False Blocker" standard).
29
+ - **B16_UNVERIFIED_WALL** outbound guard (the "A Wall Is a Hypothesis" standard) — first time it lands on main.
30
+
31
+ ## Evidence
32
+
33
+ - Unit: `messaging-tone-gate-b17.test.ts` (13), `messaging-tone-gate-b16.test.ts` (9); integration: `telegram-reply-b17-false-blocker.test.ts` (2), `telegram-reply-b16-wall.test.ts` (2). Smoke suite (62 files / 2371 tests) green; tsc clean.
34
+ - **Real-LLM test-as-self** (real `ClaudeCliIntelligenceProvider` → Haiku): the founding codex-trust false blocker and the fused straddle both BLOCK with B17; password escalation, value judgment, required approval, self-fetched second opinion, and post-inventory deferral all PASS. The founding case initially passed; the prompt was tightened (UI-interaction clarification + worked example) until it reliably blocks — a gap only the live-LLM pass surfaced.