instar 0.28.83 → 0.28.85
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.
- package/dashboard/index.html +239 -0
- package/dist/cli.js +10 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/intent.d.ts.map +1 -1
- package/dist/commands/intent.js +29 -2
- package/dist/commands/intent.js.map +1 -1
- package/dist/commands/memoryBackfillEvidence.d.ts +69 -0
- package/dist/commands/memoryBackfillEvidence.d.ts.map +1 -0
- package/dist/commands/memoryBackfillEvidence.js +220 -0
- package/dist/commands/memoryBackfillEvidence.js.map +1 -0
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +86 -1
- package/dist/commands/server.js.map +1 -1
- package/dist/core/DecisionJournal.d.ts +66 -3
- package/dist/core/DecisionJournal.d.ts.map +1 -1
- package/dist/core/DecisionJournal.js +116 -3
- package/dist/core/DecisionJournal.js.map +1 -1
- package/dist/core/DispatchExecutor.d.ts +74 -1
- package/dist/core/DispatchExecutor.d.ts.map +1 -1
- package/dist/core/DispatchExecutor.js +120 -1
- package/dist/core/DispatchExecutor.js.map +1 -1
- package/dist/core/EvolutionManager.d.ts +133 -0
- package/dist/core/EvolutionManager.d.ts.map +1 -1
- package/dist/core/EvolutionManager.js +494 -0
- package/dist/core/EvolutionManager.js.map +1 -1
- package/dist/core/InitiativeTracker.d.ts +82 -15
- package/dist/core/InitiativeTracker.d.ts.map +1 -1
- package/dist/core/InitiativeTracker.js +502 -31
- package/dist/core/InitiativeTracker.js.map +1 -1
- package/dist/core/LearnSkillBridge.d.ts +119 -0
- package/dist/core/LearnSkillBridge.d.ts.map +1 -0
- package/dist/core/LearnSkillBridge.js +160 -0
- package/dist/core/LearnSkillBridge.js.map +1 -0
- package/dist/core/SharedStateLedger.d.ts.map +1 -1
- package/dist/core/SharedStateLedger.js +4 -0
- package/dist/core/SharedStateLedger.js.map +1 -1
- package/dist/core/types.d.ts +124 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +8 -0
- package/dist/core/types.js.map +1 -1
- package/dist/memory/EvidenceRenderer.d.ts +64 -0
- package/dist/memory/EvidenceRenderer.d.ts.map +1 -0
- package/dist/memory/EvidenceRenderer.js +119 -0
- package/dist/memory/EvidenceRenderer.js.map +1 -0
- package/dist/memory/SemanticMemory.d.ts +61 -1
- package/dist/memory/SemanticMemory.d.ts.map +1 -1
- package/dist/memory/SemanticMemory.js +381 -11
- package/dist/memory/SemanticMemory.js.map +1 -1
- package/dist/server/AgentServer.d.ts +4 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +2 -0
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/routes.d.ts +8 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +500 -14
- package/dist/server/routes.js.map +1 -1
- package/dist/tasks/DivergenceChecker.d.ts +89 -0
- package/dist/tasks/DivergenceChecker.d.ts.map +1 -0
- package/dist/tasks/DivergenceChecker.js +255 -0
- package/dist/tasks/DivergenceChecker.js.map +1 -0
- package/dist/tasks/LruCache.d.ts +33 -0
- package/dist/tasks/LruCache.d.ts.map +1 -0
- package/dist/tasks/LruCache.js +88 -0
- package/dist/tasks/LruCache.js.map +1 -0
- package/dist/tasks/RateLimiter.d.ts +61 -0
- package/dist/tasks/RateLimiter.d.ts.map +1 -0
- package/dist/tasks/RateLimiter.js +108 -0
- package/dist/tasks/RateLimiter.js.map +1 -0
- package/dist/tasks/TaskFlowDueWaker.d.ts +29 -0
- package/dist/tasks/TaskFlowDueWaker.d.ts.map +1 -0
- package/dist/tasks/TaskFlowDueWaker.js +73 -0
- package/dist/tasks/TaskFlowDueWaker.js.map +1 -0
- package/dist/tasks/TaskFlowMaintenanceSweeper.d.ts +40 -0
- package/dist/tasks/TaskFlowMaintenanceSweeper.d.ts.map +1 -0
- package/dist/tasks/TaskFlowMaintenanceSweeper.js +131 -0
- package/dist/tasks/TaskFlowMaintenanceSweeper.js.map +1 -0
- package/dist/tasks/TaskFlowRegistry.d.ts +180 -0
- package/dist/tasks/TaskFlowRegistry.d.ts.map +1 -0
- package/dist/tasks/TaskFlowRegistry.js +791 -0
- package/dist/tasks/TaskFlowRegistry.js.map +1 -0
- package/dist/tasks/ThreadlineFlowBridge.d.ts +54 -0
- package/dist/tasks/ThreadlineFlowBridge.d.ts.map +1 -0
- package/dist/tasks/ThreadlineFlowBridge.js +129 -0
- package/dist/tasks/ThreadlineFlowBridge.js.map +1 -0
- package/dist/tasks/task-flow-registry.store.sqlite.d.ts +77 -0
- package/dist/tasks/task-flow-registry.store.sqlite.d.ts.map +1 -0
- package/dist/tasks/task-flow-registry.store.sqlite.js +350 -0
- package/dist/tasks/task-flow-registry.store.sqlite.js.map +1 -0
- package/dist/tasks/task-flow-types.d.ts +229 -0
- package/dist/tasks/task-flow-types.d.ts.map +1 -0
- package/dist/tasks/task-flow-types.js +128 -0
- package/dist/tasks/task-flow-types.js.map +1 -0
- package/dist/threadline/ThreadlineMCPServer.d.ts +32 -0
- package/dist/threadline/ThreadlineMCPServer.d.ts.map +1 -1
- package/dist/threadline/ThreadlineMCPServer.js +82 -5
- package/dist/threadline/ThreadlineMCPServer.js.map +1 -1
- package/dist/threadline/mcp-stdio-entry.js +56 -0
- package/dist/threadline/mcp-stdio-entry.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +78 -78
- package/upgrades/0.28.84.md +89 -0
- package/upgrades/0.28.85.md +64 -0
- package/upgrades/side-effects/0.28.83.md +27 -0
- package/upgrades/side-effects/taskflow-phase1.md +130 -0
- package/upgrades/side-effects/taskflow-phase2.md +110 -0
- package/upgrades/side-effects/taskflow-phase3a.md +138 -0
- package/upgrades/side-effects/taskflow-phase4.md +377 -0
- package/upgrades/side-effects/taskflow-phase5.md +234 -0
- package/upgrades/side-effects/threadline-discover-relay-and-trust.md +122 -0
- package/upgrades/side-effects/wikiclaim-evidence-phase1.md +138 -0
- package/upgrades/side-effects/wikiclaim-evidence-phase2.md +148 -0
- package/upgrades/side-effects/wikiclaim-evidence-phase3.md +125 -0
- package/upgrades/side-effects/wikiclaim-evidence-phase4.md +129 -0
- package/upgrades/side-effects/wikiclaim-evidence-phase5.md +285 -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
|
-
*
|
|
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'
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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":"AAAA
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
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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"}
|