instar 0.28.84 → 0.28.86

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 (48) hide show
  1. package/dist/commands/intent.d.ts.map +1 -1
  2. package/dist/commands/intent.js +29 -2
  3. package/dist/commands/intent.js.map +1 -1
  4. package/dist/commands/server.d.ts.map +1 -1
  5. package/dist/commands/server.js +14 -0
  6. package/dist/commands/server.js.map +1 -1
  7. package/dist/core/DecisionJournal.d.ts +66 -3
  8. package/dist/core/DecisionJournal.d.ts.map +1 -1
  9. package/dist/core/DecisionJournal.js +116 -3
  10. package/dist/core/DecisionJournal.js.map +1 -1
  11. package/dist/core/DispatchExecutor.d.ts +74 -1
  12. package/dist/core/DispatchExecutor.d.ts.map +1 -1
  13. package/dist/core/DispatchExecutor.js +120 -1
  14. package/dist/core/DispatchExecutor.js.map +1 -1
  15. package/dist/core/EvolutionManager.d.ts +60 -0
  16. package/dist/core/EvolutionManager.d.ts.map +1 -1
  17. package/dist/core/EvolutionManager.js +118 -0
  18. package/dist/core/EvolutionManager.js.map +1 -1
  19. package/dist/core/InitiativeTracker.d.ts +256 -14
  20. package/dist/core/InitiativeTracker.d.ts.map +1 -1
  21. package/dist/core/InitiativeTracker.js +826 -34
  22. package/dist/core/InitiativeTracker.js.map +1 -1
  23. package/dist/core/LearnSkillBridge.d.ts +119 -0
  24. package/dist/core/LearnSkillBridge.d.ts.map +1 -0
  25. package/dist/core/LearnSkillBridge.js +160 -0
  26. package/dist/core/LearnSkillBridge.js.map +1 -0
  27. package/dist/core/types.d.ts +34 -0
  28. package/dist/core/types.d.ts.map +1 -1
  29. package/dist/core/types.js.map +1 -1
  30. package/dist/server/routes.d.ts.map +1 -1
  31. package/dist/server/routes.js +131 -14
  32. package/dist/server/routes.js.map +1 -1
  33. package/dist/threadline/ThreadlineMCPServer.d.ts +32 -0
  34. package/dist/threadline/ThreadlineMCPServer.d.ts.map +1 -1
  35. package/dist/threadline/ThreadlineMCPServer.js +82 -5
  36. package/dist/threadline/ThreadlineMCPServer.js.map +1 -1
  37. package/dist/threadline/mcp-stdio-entry.js +56 -0
  38. package/dist/threadline/mcp-stdio-entry.js.map +1 -1
  39. package/package.json +1 -1
  40. package/src/data/builtin-manifest.json +47 -47
  41. package/upgrades/0.28.85.md +64 -0
  42. package/upgrades/0.28.86.md +86 -0
  43. package/upgrades/side-effects/0.28.83.md +27 -0
  44. package/upgrades/side-effects/project-scope-phase1a-pr1.md +232 -0
  45. package/upgrades/side-effects/taskflow-phase4.md +377 -0
  46. package/upgrades/side-effects/threadline-discover-relay-and-trust.md +122 -0
  47. package/upgrades/side-effects/wikiclaim-evidence-phase2.md +148 -0
  48. package/upgrades/side-effects/wikiclaim-evidence-phase3.md +125 -0
@@ -8,8 +8,20 @@
8
8
  * Storage: JSONL file at {stateDir}/decision-journal.jsonl
9
9
  * Format: One JSON object per line, newest entries appended at the end.
10
10
  * Creation: Lazy — file is only created when the first entry is logged.
11
+ *
12
+ * WikiClaim Phase 3 (spec § Producers line 258, § Migration Plan line 339):
13
+ * Every recorded decision REQUIRES at least one evidence entry. When a
14
+ * SemanticMemory handle is wired via `setSemanticMemory()`, each `log()` call
15
+ * also promotes the entry to a `decision` MemoryEntity via
16
+ * `rememberWithEvidence(..., 'DecisionJournal')`, and the JSONL row carries
17
+ * the resulting `entityId` as a back-reference for inverse-traceability.
18
+ *
19
+ * The kind allowlist for DecisionJournal (per spec line 227):
20
+ * `message` | `commit` | `ledger-entry` | `session`
21
+ * Mismatches reject with `EvidencePolicyError` inside SemanticMemory.
11
22
  */
12
- import type { DecisionJournalEntry } from './types.js';
23
+ import type { DecisionJournalEntry, MemoryEvidence, PrivacyScopeType } from './types.js';
24
+ import type { SemanticMemory } from '../memory/SemanticMemory.js';
13
25
  export interface DecisionJournalStats {
14
26
  /** Total number of entries */
15
27
  count: number;
@@ -27,12 +39,63 @@ export interface DecisionJournalStats {
27
39
  }
28
40
  export declare class DecisionJournal {
29
41
  private journalFile;
42
+ /**
43
+ * SemanticMemory handle for the WikiClaim Phase 3 producer bridge. When set,
44
+ * `log()` promotes each entry to a `decision` MemoryEntity with the supplied
45
+ * evidence. Unset (null) by default for backwards compatibility with
46
+ * pre-Phase-3 wiring; callers must still pass evidence — the gate is
47
+ * structural, not opt-in.
48
+ *
49
+ * See spec § Producers line 217 (integration note).
50
+ */
51
+ private semanticMemory;
52
+ /**
53
+ * Privacy scope to use when promoting decision entries to MemoryEntity.
54
+ * Defaults to `shared-project` (matches `rememberWithEvidence` writer-scope
55
+ * default). Operators may override via `setSemanticMemory(memory, scope)`.
56
+ */
57
+ private entityPrivacyScope;
30
58
  constructor(stateDir: string);
59
+ /**
60
+ * Wire a SemanticMemory handle for the Phase 3 producer bridge.
61
+ *
62
+ * After this call, each `log()` invocation calls
63
+ * `memory.rememberWithEvidence(..., 'DecisionJournal')` inside the same
64
+ * append flow and stamps `entityId` onto the JSONL row.
65
+ *
66
+ * Wiring is OPTIONAL — without it, evidence is still required at the API
67
+ * level (compile-time + write-time gate), but no MemoryEntity is created.
68
+ * This lets callers adopt the contract change before the server fully wires
69
+ * SemanticMemory (Phase 4).
70
+ *
71
+ * @param memory SemanticMemory instance
72
+ * @param entityPrivacyScope Privacy scope for the promoted `decision`
73
+ * entity. Defaults to `shared-project`. Per spec § Storage and Privacy,
74
+ * evidence narrowing-only is enforced relative to this scope.
75
+ */
76
+ setSemanticMemory(memory: SemanticMemory, entityPrivacyScope?: PrivacyScopeType): void;
31
77
  /**
32
78
  * Log a decision to the journal.
33
- * Appends a JSONL line with an auto-generated timestamp.
79
+ *
80
+ * Spec § Producers line 258 + § Migration Plan line 339: every decision
81
+ * REQUIRES at least one evidence entry. Passing an empty array (or omitting
82
+ * the parameter) throws `EvidencePolicyError`. This is a breaking contract
83
+ * change from pre-Phase-3 callers — every call site MUST cite at least one
84
+ * source for the decision.
85
+ *
86
+ * When SemanticMemory is wired, the entry is also promoted to a `decision`
87
+ * MemoryEntity in the same flow; the resulting `entityId` is back-referenced
88
+ * onto the JSONL row.
89
+ *
90
+ * @param entry Decision payload (timestamp + entityId are filled in here)
91
+ * @param evidence At least one `MemoryEvidence` row. Allowed kinds for
92
+ * DecisionJournal per spec line 227: `message` | `commit` | `ledger-entry`
93
+ * | `session`. Mismatches reject with `EvidencePolicyError`.
94
+ * @returns The completed `DecisionJournalEntry` including timestamp and (if
95
+ * SemanticMemory is wired) `entityId`.
96
+ * @throws EvidencePolicyError if `evidence` is empty.
34
97
  */
35
- log(entry: Omit<DecisionJournalEntry, 'timestamp'>): DecisionJournalEntry;
98
+ log(entry: Omit<DecisionJournalEntry, 'timestamp' | 'evidence' | 'entityId'>, evidence: MemoryEvidence[]): DecisionJournalEntry;
36
99
  /**
37
100
  * Read journal entries with optional filtering.
38
101
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionJournal.d.ts","sourceRoot":"","sources":["../../src/core/DecisionJournal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAIvD,MAAM,WAAW,oBAAoB;IACnC,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,oCAAoC;IACpC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,qDAAqD;IACrD,aAAa,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,+CAA+C;IAC/C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAEhB,QAAQ,EAAE,MAAM;IAI5B;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,GAAG,oBAAoB;IAiBzE;;OAEG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE;QACb,wCAAwC;QACxC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,iCAAiC;QACjC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,oDAAoD;QACpD,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,oBAAoB,EAAE;IAuB1B;;OAEG;IACH,KAAK,IAAI,oBAAoB;IA0C7B;;OAEG;IACH,OAAO,CAAC,SAAS;CA2BlB"}
1
+ {"version":3,"file":"DecisionJournal.d.ts","sourceRoot":"","sources":["../../src/core/DecisionJournal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EACjB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAKlE,MAAM,WAAW,oBAAoB;IACnC,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,oCAAoC;IACpC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,qDAAqD;IACrD,aAAa,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,+CAA+C;IAC/C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc,CAA+B;IACrD;;;;OAIG;IACH,OAAO,CAAC,kBAAkB,CAAsC;gBAEpD,QAAQ,EAAE,MAAM;IAI5B;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CACf,MAAM,EAAE,cAAc,EACtB,kBAAkB,GAAE,gBAAmC,GACtD,IAAI;IAKP;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,GAAG,CACD,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC,EACxE,QAAQ,EAAE,cAAc,EAAE,GACzB,oBAAoB;IAuEvB;;OAEG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE;QACb,wCAAwC;QACxC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,iCAAiC;QACjC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,oDAAoD;QACpD,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,oBAAoB,EAAE;IAuB1B;;OAEG;IACH,KAAK,IAAI,oBAAoB;IA0C7B;;OAEG;IACH,OAAO,CAAC,SAAS;CA2BlB"}
@@ -8,24 +8,137 @@
8
8
  * Storage: JSONL file at {stateDir}/decision-journal.jsonl
9
9
  * Format: One JSON object per line, newest entries appended at the end.
10
10
  * Creation: Lazy — file is only created when the first entry is logged.
11
+ *
12
+ * WikiClaim Phase 3 (spec § Producers line 258, § Migration Plan line 339):
13
+ * Every recorded decision REQUIRES at least one evidence entry. When a
14
+ * SemanticMemory handle is wired via `setSemanticMemory()`, each `log()` call
15
+ * also promotes the entry to a `decision` MemoryEntity via
16
+ * `rememberWithEvidence(..., 'DecisionJournal')`, and the JSONL row carries
17
+ * the resulting `entityId` as a back-reference for inverse-traceability.
18
+ *
19
+ * The kind allowlist for DecisionJournal (per spec line 227):
20
+ * `message` | `commit` | `ledger-entry` | `session`
21
+ * Mismatches reject with `EvidencePolicyError` inside SemanticMemory.
11
22
  */
12
23
  import fs from 'node:fs';
13
24
  import path from 'node:path';
25
+ import { EvidencePolicyError } from '../memory/SemanticMemory.js';
14
26
  import { DegradationReporter } from '../monitoring/DegradationReporter.js';
15
27
  import { maybeRotateJsonl } from '../utils/jsonl-rotation.js';
16
28
  export class DecisionJournal {
17
29
  journalFile;
30
+ /**
31
+ * SemanticMemory handle for the WikiClaim Phase 3 producer bridge. When set,
32
+ * `log()` promotes each entry to a `decision` MemoryEntity with the supplied
33
+ * evidence. Unset (null) by default for backwards compatibility with
34
+ * pre-Phase-3 wiring; callers must still pass evidence — the gate is
35
+ * structural, not opt-in.
36
+ *
37
+ * See spec § Producers line 217 (integration note).
38
+ */
39
+ semanticMemory = null;
40
+ /**
41
+ * Privacy scope to use when promoting decision entries to MemoryEntity.
42
+ * Defaults to `shared-project` (matches `rememberWithEvidence` writer-scope
43
+ * default). Operators may override via `setSemanticMemory(memory, scope)`.
44
+ */
45
+ entityPrivacyScope = 'shared-project';
18
46
  constructor(stateDir) {
19
47
  this.journalFile = path.join(stateDir, 'decision-journal.jsonl');
20
48
  }
49
+ /**
50
+ * Wire a SemanticMemory handle for the Phase 3 producer bridge.
51
+ *
52
+ * After this call, each `log()` invocation calls
53
+ * `memory.rememberWithEvidence(..., 'DecisionJournal')` inside the same
54
+ * append flow and stamps `entityId` onto the JSONL row.
55
+ *
56
+ * Wiring is OPTIONAL — without it, evidence is still required at the API
57
+ * level (compile-time + write-time gate), but no MemoryEntity is created.
58
+ * This lets callers adopt the contract change before the server fully wires
59
+ * SemanticMemory (Phase 4).
60
+ *
61
+ * @param memory SemanticMemory instance
62
+ * @param entityPrivacyScope Privacy scope for the promoted `decision`
63
+ * entity. Defaults to `shared-project`. Per spec § Storage and Privacy,
64
+ * evidence narrowing-only is enforced relative to this scope.
65
+ */
66
+ setSemanticMemory(memory, entityPrivacyScope = 'shared-project') {
67
+ this.semanticMemory = memory;
68
+ this.entityPrivacyScope = entityPrivacyScope;
69
+ }
21
70
  /**
22
71
  * Log a decision to the journal.
23
- * Appends a JSONL line with an auto-generated timestamp.
72
+ *
73
+ * Spec § Producers line 258 + § Migration Plan line 339: every decision
74
+ * REQUIRES at least one evidence entry. Passing an empty array (or omitting
75
+ * the parameter) throws `EvidencePolicyError`. This is a breaking contract
76
+ * change from pre-Phase-3 callers — every call site MUST cite at least one
77
+ * source for the decision.
78
+ *
79
+ * When SemanticMemory is wired, the entry is also promoted to a `decision`
80
+ * MemoryEntity in the same flow; the resulting `entityId` is back-referenced
81
+ * onto the JSONL row.
82
+ *
83
+ * @param entry Decision payload (timestamp + entityId are filled in here)
84
+ * @param evidence At least one `MemoryEvidence` row. Allowed kinds for
85
+ * DecisionJournal per spec line 227: `message` | `commit` | `ledger-entry`
86
+ * | `session`. Mismatches reject with `EvidencePolicyError`.
87
+ * @returns The completed `DecisionJournalEntry` including timestamp and (if
88
+ * SemanticMemory is wired) `entityId`.
89
+ * @throws EvidencePolicyError if `evidence` is empty.
24
90
  */
25
- log(entry) {
91
+ log(entry, evidence) {
92
+ // Structural required-evidence gate. Spec § Migration Plan line 340:
93
+ // "DecisionJournal entries require at least one evidence entry."
94
+ if (!Array.isArray(evidence) || evidence.length === 0) {
95
+ throw new EvidencePolicyError('DecisionJournal.log requires at least one evidence entry ' +
96
+ '(spec § Producers line 258). Pass an array with at least one ' +
97
+ 'MemoryEvidence row citing the source that informed this decision.');
98
+ }
99
+ const timestamp = new Date().toISOString();
100
+ let entityId;
101
+ // Bridge to SemanticMemory if wired. The producer-kind allowlist + privacy
102
+ // narrowing + evidence cap are enforced inside `rememberWithEvidence`;
103
+ // we don't re-implement them here.
104
+ if (this.semanticMemory) {
105
+ try {
106
+ entityId = this.semanticMemory.rememberWithEvidence({
107
+ type: 'decision',
108
+ name: entry.decision.slice(0, 200),
109
+ content: entry.decision,
110
+ source: entry.sessionId ? `session:${entry.sessionId}` : 'decision-journal',
111
+ sourceSession: entry.sessionId,
112
+ confidence: entry.confidence ?? 0.8,
113
+ lastVerified: timestamp,
114
+ domain: entry.jobSlug,
115
+ tags: entry.tags ?? [],
116
+ privacyScope: this.entityPrivacyScope,
117
+ }, evidence, 'DecisionJournal');
118
+ }
119
+ catch (err) {
120
+ // EvidencePolicyError surfaces caller-facing policy violations
121
+ // (kind not allowed, narrowing-only breach, cap exceeded). Surface
122
+ // those as-is — the caller MUST fix the evidence shape.
123
+ if (err instanceof EvidencePolicyError)
124
+ throw err;
125
+ // Other errors (DB issues): degrade-report and continue with
126
+ // JSONL-only write so the journal stays functional. Spec § Threat
127
+ // Model: producer crash mid-bridge must not corrupt the journal.
128
+ DegradationReporter.getInstance().report({
129
+ feature: 'DecisionJournal.log/semanticMemoryBridge',
130
+ primary: 'Promote decision to MemoryEntity via rememberWithEvidence',
131
+ fallback: 'Write JSONL row without entityId back-reference',
132
+ reason: err instanceof Error ? err.message : String(err),
133
+ impact: 'Decision logged but not inverse-queryable by evidence',
134
+ });
135
+ }
136
+ }
26
137
  const full = {
27
138
  ...entry,
28
- timestamp: new Date().toISOString(),
139
+ timestamp,
140
+ evidence,
141
+ ...(entityId ? { entityId } : {}),
29
142
  };
30
143
  // Ensure parent directory exists (lazy creation)
31
144
  const dir = path.dirname(this.journalFile);
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionJournal.js","sourceRoot":"","sources":["../../src/core/DecisionJournal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DecisionJournal.js","sourceRoot":"","sources":["../../src/core/DecisionJournal.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@
31
31
  * - Destructive commands (rm -rf, etc.) are blocked
32
32
  */
33
33
  import type { SessionManager } from './SessionManager.js';
34
+ import type { SemanticMemory } from '../memory/SemanticMemory.js';
34
35
  export interface ActionStep {
35
36
  type: 'shell' | 'file_write' | 'file_patch' | 'config_merge' | 'agentic';
36
37
  /** Shell command to run */
@@ -99,17 +100,89 @@ export interface DispatchLedgerEvent {
99
100
  verified: boolean;
100
101
  timestamp: string;
101
102
  }
103
+ /**
104
+ * Per-execute provenance context for WikiClaim evidence emission. When
105
+ * provided AND a SemanticMemory handle is wired, a successful dispatch
106
+ * creates a `decision` MemoryEntity carrying evidence rows linking the
107
+ * decision back to the source cluster (`kind: 'pattern-entity'`) and to
108
+ * any prior dispatch attempts (`kind: 'job-run'`).
109
+ *
110
+ * Spec § Producers (DispatchExecutor): allowed kinds are
111
+ * `pattern-entity`, `job-run`, `ledger-entry`. The optional
112
+ * `priorDispatchEntityIds` field becomes `pattern-entity` rows pointing at
113
+ * the prior decision's own cluster — used when the new decision overrides
114
+ * a prior dispatch (the spec's "supersedes" semantics carried by the
115
+ * pattern-entity edge, not the kind label, since DispatchExecutor's
116
+ * allowlist does not include `supersedes-evidence`).
117
+ *
118
+ * See docs/specs/OPENCLAW-IMPORT-WIKICLAIM-EVIDENCE-SPEC.md § Producers.
119
+ */
120
+ export interface DispatchEvidenceContext {
121
+ /** Cluster MemoryEntity id (the EvolutionManager-created pattern entity). */
122
+ clusterEntityId: string;
123
+ /** Optional dispatch id; persisted as ledger-entry evidence on success. */
124
+ dispatchId?: string;
125
+ /** Optional prior dispatch run-ids; emitted as `job-run` evidence rows. */
126
+ priorRunIds?: string[];
127
+ /**
128
+ * Optional prior decision-entity ids. When present, a
129
+ * `pattern-entity` row is added per id, marking that the new decision
130
+ * supersedes those prior decisions. Allowed under DispatchExecutor's
131
+ * `pattern-entity` kind; the override semantics is captured by the edge,
132
+ * not by a `supersedes-evidence` kind.
133
+ */
134
+ priorDispatchEntityIds?: string[];
135
+ }
102
136
  export declare class DispatchExecutor {
103
137
  private projectDir;
104
138
  private sessionManager;
105
139
  private onLedgerEvent;
140
+ /**
141
+ * Optional SemanticMemory handle for WikiClaim Phase 2 evidence emission.
142
+ * When wired, `execute()` accepts a `DispatchEvidenceContext` and on
143
+ * successful completion records a `decision` MemoryEntity with evidence
144
+ * pointing at the source cluster and any prior dispatch runs. Without
145
+ * this handle, evidence emission is a no-op — dispatch flow is
146
+ * unaffected.
147
+ */
148
+ private semanticMemory;
149
+ /**
150
+ * Last decision-entity id created by `execute()`. Exposed for chaining —
151
+ * a follow-up dispatch can pass this in `priorDispatchEntityIds` to
152
+ * record the supersedes edge. Reset to null on each execute call before
153
+ * any evidence is emitted.
154
+ */
155
+ private lastDecisionEntityId;
106
156
  constructor(projectDir: string, sessionManager?: SessionManager | null);
107
157
  /**
108
158
  * Register a ledger-event sink (Integrated-Being v1). Signal-only; thrown
109
159
  * exceptions from the sink are swallowed.
110
160
  */
111
161
  setLedgerEventSink(sink: (evt: DispatchLedgerEvent) => void): void;
162
+ /**
163
+ * Wire a SemanticMemory handle for WikiClaim Phase 2 evidence emission.
164
+ * Idempotent — safe to call multiple times.
165
+ *
166
+ * See docs/specs/OPENCLAW-IMPORT-WIKICLAIM-EVIDENCE-SPEC.md § Producers.
167
+ */
168
+ setSemanticMemory(memory: SemanticMemory): void;
169
+ getSemanticMemory(): SemanticMemory | null;
170
+ /** Test/inspection hook: id of the most recent decision MemoryEntity. */
171
+ getLastDecisionEntityId(): string | null;
112
172
  private emitLedger;
173
+ /**
174
+ * Build the evidence array for a dispatch decision. Spec § Producers
175
+ * example shape: cluster reference at high weight, prior runs at low
176
+ * weight, optional ledger-entry for the dispatch id itself.
177
+ */
178
+ private buildDispatchEvidence;
179
+ /**
180
+ * Best-effort decision-entity emission. Never throws to the caller —
181
+ * dispatch execution is the source of truth; evidence emission is a
182
+ * downstream signal. Returns the entity id on success, null on failure or
183
+ * when memory is not wired.
184
+ */
185
+ private recordDispatchDecision;
113
186
  /**
114
187
  * Parse an action payload from dispatch content.
115
188
  * Returns null if the content is not valid action JSON.
@@ -123,7 +196,7 @@ export declare class DispatchExecutor {
123
196
  * 3. Verify success
124
197
  * 4. Rollback on failure (if rollback steps provided)
125
198
  */
126
- execute(payload: ActionPayload): Promise<ExecutionResult>;
199
+ execute(payload: ActionPayload, evidenceCtx?: DispatchEvidenceContext): Promise<ExecutionResult>;
127
200
  /**
128
201
  * Execute a single step.
129
202
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DispatchExecutor.d.ts","sourceRoot":"","sources":["../../src/core/DispatchExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DispatchExecutor.d.ts","sourceRoot":"","sources":["../../src/core/DispatchExecutor.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,22 @@ export class DispatchExecutor {
50
50
  projectDir;
51
51
  sessionManager;
52
52
  onLedgerEvent = null;
53
+ /**
54
+ * Optional SemanticMemory handle for WikiClaim Phase 2 evidence emission.
55
+ * When wired, `execute()` accepts a `DispatchEvidenceContext` and on
56
+ * successful completion records a `decision` MemoryEntity with evidence
57
+ * pointing at the source cluster and any prior dispatch runs. Without
58
+ * this handle, evidence emission is a no-op — dispatch flow is
59
+ * unaffected.
60
+ */
61
+ semanticMemory = null;
62
+ /**
63
+ * Last decision-entity id created by `execute()`. Exposed for chaining —
64
+ * a follow-up dispatch can pass this in `priorDispatchEntityIds` to
65
+ * record the supersedes edge. Reset to null on each execute call before
66
+ * any evidence is emitted.
67
+ */
68
+ lastDecisionEntityId = null;
53
69
  constructor(projectDir, sessionManager) {
54
70
  this.projectDir = projectDir;
55
71
  this.sessionManager = sessionManager ?? null;
@@ -61,6 +77,22 @@ export class DispatchExecutor {
61
77
  setLedgerEventSink(sink) {
62
78
  this.onLedgerEvent = sink;
63
79
  }
80
+ /**
81
+ * Wire a SemanticMemory handle for WikiClaim Phase 2 evidence emission.
82
+ * Idempotent — safe to call multiple times.
83
+ *
84
+ * See docs/specs/OPENCLAW-IMPORT-WIKICLAIM-EVIDENCE-SPEC.md § Producers.
85
+ */
86
+ setSemanticMemory(memory) {
87
+ this.semanticMemory = memory;
88
+ }
89
+ getSemanticMemory() {
90
+ return this.semanticMemory;
91
+ }
92
+ /** Test/inspection hook: id of the most recent decision MemoryEntity. */
93
+ getLastDecisionEntityId() {
94
+ return this.lastDecisionEntityId;
95
+ }
64
96
  emitLedger(evt) {
65
97
  if (!this.onLedgerEvent)
66
98
  return;
@@ -69,6 +101,80 @@ export class DispatchExecutor {
69
101
  }
70
102
  catch { /* signal-only */ }
71
103
  }
104
+ /**
105
+ * Build the evidence array for a dispatch decision. Spec § Producers
106
+ * example shape: cluster reference at high weight, prior runs at low
107
+ * weight, optional ledger-entry for the dispatch id itself.
108
+ */
109
+ buildDispatchEvidence(ctx) {
110
+ const now = new Date().toISOString();
111
+ const evidence = [
112
+ {
113
+ kind: 'pattern-entity',
114
+ sourceId: ctx.clusterEntityId,
115
+ weight: 0.6,
116
+ confidence: 0.85,
117
+ updatedAt: now,
118
+ },
119
+ ];
120
+ if (ctx.dispatchId) {
121
+ evidence.push({
122
+ kind: 'ledger-entry',
123
+ sourceId: ctx.dispatchId,
124
+ weight: 0.3,
125
+ confidence: 0.9,
126
+ updatedAt: now,
127
+ });
128
+ }
129
+ for (const runId of ctx.priorRunIds ?? []) {
130
+ evidence.push({
131
+ kind: 'job-run',
132
+ sourceId: runId,
133
+ weight: 0.1,
134
+ confidence: 0.7,
135
+ updatedAt: now,
136
+ });
137
+ }
138
+ for (const priorEntityId of ctx.priorDispatchEntityIds ?? []) {
139
+ evidence.push({
140
+ kind: 'pattern-entity',
141
+ sourceId: priorEntityId,
142
+ weight: 0.05,
143
+ confidence: 0.8,
144
+ note: 'supersedes prior dispatch decision',
145
+ updatedAt: now,
146
+ });
147
+ }
148
+ return evidence;
149
+ }
150
+ /**
151
+ * Best-effort decision-entity emission. Never throws to the caller —
152
+ * dispatch execution is the source of truth; evidence emission is a
153
+ * downstream signal. Returns the entity id on success, null on failure or
154
+ * when memory is not wired.
155
+ */
156
+ recordDispatchDecision(payload, ctx) {
157
+ if (!this.semanticMemory)
158
+ return null;
159
+ try {
160
+ const evidence = this.buildDispatchEvidence(ctx);
161
+ const id = this.semanticMemory.rememberWithEvidence({
162
+ type: 'decision',
163
+ name: `dispatch:${ctx.dispatchId ?? 'anon'}`.slice(0, 200),
164
+ content: payload.description,
165
+ confidence: 0.85,
166
+ lastVerified: new Date().toISOString(),
167
+ source: ctx.dispatchId ? `dispatch:${ctx.dispatchId}` : 'dispatch',
168
+ tags: ['dispatch', 'decision'],
169
+ privacyScope: 'shared-project',
170
+ }, evidence, 'DispatchExecutor');
171
+ return id;
172
+ }
173
+ catch (err) {
174
+ console.warn(`[DispatchExecutor] decision-entity record failed:`, err instanceof Error ? err.message : err);
175
+ return null;
176
+ }
177
+ }
72
178
  /**
73
179
  * Parse an action payload from dispatch content.
74
180
  * Returns null if the content is not valid action JSON.
@@ -95,9 +201,12 @@ export class DispatchExecutor {
95
201
  * 3. Verify success
96
202
  * 4. Rollback on failure (if rollback steps provided)
97
203
  */
98
- async execute(payload) {
204
+ async execute(payload, evidenceCtx) {
99
205
  const stepResults = [];
100
206
  let completedSteps = 0;
207
+ // Reset before any evidence is emitted; preserves "last successful"
208
+ // semantics — a failed dispatch leaves the prior decision id intact.
209
+ let nextDecisionEntityId = null;
101
210
  // Check preconditions
102
211
  if (payload.conditions) {
103
212
  const condResult = await this.checkConditions(payload.conditions);
@@ -153,12 +262,22 @@ export class DispatchExecutor {
153
262
  }
154
263
  // Integrated-Being ledger: emit decision entry on successful execution.
155
264
  this.emitLedger({
265
+ dispatchId: evidenceCtx?.dispatchId,
156
266
  description: payload.description,
157
267
  completedSteps,
158
268
  totalSteps: payload.steps.length,
159
269
  verified,
160
270
  timestamp: new Date().toISOString(),
161
271
  });
272
+ // WikiClaim Phase 2: record the decision MemoryEntity with evidence
273
+ // pointing at the source cluster + prior dispatch runs. Best-effort —
274
+ // failure does not affect the dispatch result.
275
+ if (evidenceCtx) {
276
+ nextDecisionEntityId = this.recordDispatchDecision(payload, evidenceCtx);
277
+ if (nextDecisionEntityId) {
278
+ this.lastDecisionEntityId = nextDecisionEntityId;
279
+ }
280
+ }
162
281
  return {
163
282
  success: true,
164
283
  completedSteps,
@@ -1 +1 @@
1
- {"version":3,"file":"DispatchExecutor.js","sourceRoot":"","sources":["../../src/core/DispatchExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DispatchExecutor.js","sourceRoot":"","sources":["../../src/core/DispatchExecutor.ts"],"names":[],"mappings":"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"}