daftari 1.19.0 → 1.20.0

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.
@@ -0,0 +1,347 @@
1
+ // derives_from edge tools: vault_edge_observe (producer), vault_edge_contest
2
+ // (case-2 contest-and-revoke), vault_edges (read). Spec §11.3 — the earned
3
+ // re-derivation graph of the cortex loop.
4
+ //
5
+ // vault_edge_observe records a (re-)derivation sighting an edge. In v1 the
6
+ // matcher/loop that would normally call it does not exist yet, so the tool is
7
+ // exposed over MCP mainly for testing and for the future loop — the same
8
+ // posture vault_stage_action takes.
9
+ //
10
+ // vault_edge_contest records a case-2 contradiction (a re-derivation failed
11
+ // with NO upstream change): the edge drops to `revoked` AND a tension is
12
+ // logged — surface, don't silently decrement (strength-Q4). The tension is
13
+ // written first: a tension pointing at a still-live edge is harmless advisory
14
+ // noise, but a silent revoke is the exact failure mode the design forbids.
15
+ //
16
+ // RBAC: all three tools gate on hasAnyRead, the curation-surface posture
17
+ // (matching vault_tension_log / vault_stage_action). Note for §11.6: contest
18
+ // is destructive to the future loop's trigger graph and has no second gate
19
+ // the way ratify's inner write tools re-check canWrite — when the agent
20
+ // principal lands, contest belongs on its grant list.
21
+ import { relative, resolve } from "node:path";
22
+ import { hasAnyRead } from "../access/rbac.js";
23
+ import { contestEdge, EDGE_AXES, EDGE_STATUSES, getEdge, listEdges, observeEdge, } from "../curation/edges.js";
24
+ import { addTension, listTensions } from "../curation/tension.js";
25
+ import { err, ok } from "../frontmatter/types.js";
26
+ import { readFile, resolveVaultPath } from "../storage/local.js";
27
+ // Canonical vault-relative form of a caller-supplied path: trimmed, resolved
28
+ // against the vault root (rejecting traversal out of it), re-relativized. The
29
+ // edge store keys edges by raw string, so `./a.md`, `b/../a.md`, and `a.md`
30
+ // must all collapse to one key here — otherwise aliased inputs would split an
31
+ // edge's votes across phantom twins and slip past the self-edge guard (the
32
+ // same aliasing class vault_merge guards against).
33
+ function canonicalRelPath(vaultRoot, relPath) {
34
+ const resolved = resolveVaultPath(vaultRoot, relPath.trim());
35
+ if (!resolved.ok)
36
+ return resolved;
37
+ return ok(relative(resolve(vaultRoot), resolved.value));
38
+ }
39
+ function requireReadAccess(tool, access) {
40
+ if (access && !hasAnyRead(access.role)) {
41
+ return err(new Error(`access denied: role '${access.roleName}' cannot use ${tool}`));
42
+ }
43
+ return ok(undefined);
44
+ }
45
+ function requireString(args, field, tool) {
46
+ const v = args[field];
47
+ if (typeof v !== "string" || v.trim().length === 0) {
48
+ return err(new Error(`${tool} requires a non-empty '${field}' argument`));
49
+ }
50
+ return ok(v);
51
+ }
52
+ // Fail fast on a path that does not name a real document — an edge endpoint
53
+ // that never existed could never be re-derived (mirrors vault_stage_action's
54
+ // stage-time target check).
55
+ async function requireDocument(vaultRoot, relPath, tool) {
56
+ const resolved = resolveVaultPath(vaultRoot, relPath);
57
+ if (!resolved.ok)
58
+ return resolved;
59
+ const exists = await readFile(resolved.value);
60
+ if (!exists.ok) {
61
+ return err(new Error(`${tool}: document not found: ${relPath}`));
62
+ }
63
+ return ok(undefined);
64
+ }
65
+ // ---------------------------------------------------------------------------
66
+ // vault_edge_observe
67
+ // ---------------------------------------------------------------------------
68
+ export async function vaultEdgeObserve(vaultRoot, args, access) {
69
+ const allowed = requireReadAccess("vault_edge_observe", access);
70
+ if (!allowed.ok)
71
+ return allowed;
72
+ const fromPath = requireString(args, "from_path", "vault_edge_observe");
73
+ if (!fromPath.ok)
74
+ return fromPath;
75
+ const toPath = requireString(args, "to_path", "vault_edge_observe");
76
+ if (!toPath.ok)
77
+ return toPath;
78
+ const observedBy = requireString(args, "observed_by", "vault_edge_observe");
79
+ if (!observedBy.ok)
80
+ return observedBy;
81
+ if (typeof args.blind !== "boolean") {
82
+ return err(new Error("vault_edge_observe requires a boolean 'blind' argument"));
83
+ }
84
+ let axis;
85
+ if (args.varied_axis !== undefined && args.varied_axis !== null) {
86
+ if (typeof args.varied_axis !== "string" ||
87
+ !EDGE_AXES.includes(args.varied_axis)) {
88
+ return err(new Error(`vault_edge_observe 'varied_axis' must be one of: ${EDGE_AXES.join(", ")}`));
89
+ }
90
+ axis = args.varied_axis;
91
+ }
92
+ let note;
93
+ if (args.note !== undefined && args.note !== null) {
94
+ if (typeof args.note !== "string") {
95
+ return err(new Error("vault_edge_observe 'note' must be a string"));
96
+ }
97
+ const trimmed = args.note.trim();
98
+ if (trimmed.length > 0)
99
+ note = trimmed;
100
+ }
101
+ const canonFrom = canonicalRelPath(vaultRoot, fromPath.value);
102
+ if (!canonFrom.ok)
103
+ return canonFrom;
104
+ const canonTo = canonicalRelPath(vaultRoot, toPath.value);
105
+ if (!canonTo.ok)
106
+ return canonTo;
107
+ // Self-edge check on the CANONICAL paths, so `a.md` vs `b/../a.md` cannot
108
+ // slip a self-derivation past a raw string comparison.
109
+ if (canonFrom.value === canonTo.value) {
110
+ return err(new Error("vault_edge_observe: a document cannot derive from itself"));
111
+ }
112
+ const fromExists = await requireDocument(vaultRoot, canonFrom.value, "vault_edge_observe");
113
+ if (!fromExists.ok)
114
+ return fromExists;
115
+ const toExists = await requireDocument(vaultRoot, canonTo.value, "vault_edge_observe");
116
+ if (!toExists.ok)
117
+ return toExists;
118
+ return observeEdge(vaultRoot, {
119
+ fromPath: canonFrom.value,
120
+ toPath: canonTo.value,
121
+ observedBy: observedBy.value,
122
+ blind: args.blind,
123
+ ...(axis !== undefined ? { axis } : {}),
124
+ ...(note !== undefined ? { note } : {}),
125
+ });
126
+ }
127
+ export async function vaultEdgeContest(vaultRoot, args, access) {
128
+ const allowed = requireReadAccess("vault_edge_contest", access);
129
+ if (!allowed.ok)
130
+ return allowed;
131
+ const fromPath = requireString(args, "from_path", "vault_edge_contest");
132
+ if (!fromPath.ok)
133
+ return fromPath;
134
+ const toPath = requireString(args, "to_path", "vault_edge_contest");
135
+ if (!toPath.ok)
136
+ return toPath;
137
+ const contestedBy = requireString(args, "contested_by", "vault_edge_contest");
138
+ if (!contestedBy.ok)
139
+ return contestedBy;
140
+ const reason = requireString(args, "reason", "vault_edge_contest");
141
+ if (!reason.ok)
142
+ return reason;
143
+ // Canonicalize like observe does, so a contest addresses the same key the
144
+ // observation wrote. No doc-existence check here — an edge whose endpoint
145
+ // doc was since deleted is still contestable.
146
+ const canonFrom = canonicalRelPath(vaultRoot, fromPath.value);
147
+ if (!canonFrom.ok)
148
+ return canonFrom;
149
+ const canonTo = canonicalRelPath(vaultRoot, toPath.value);
150
+ if (!canonTo.ok)
151
+ return canonTo;
152
+ // Validate the edge is contestable BEFORE writing the tension, so a contest
153
+ // of a non-existent or already-revoked edge never leaves a junk tension.
154
+ const current = await getEdge(vaultRoot, canonFrom.value, canonTo.value);
155
+ if (!current.ok)
156
+ return current;
157
+ if (!current.value) {
158
+ return err(new Error(`vault_edge_contest: no such edge: ${canonFrom.value} derives_from ${canonTo.value}`));
159
+ }
160
+ if (current.value.status === "revoked") {
161
+ return err(new Error(`vault_edge_contest: edge already revoked: ${canonFrom.value} derives_from ${canonTo.value}`));
162
+ }
163
+ // Tension first (surface), then revoke. If the revoke fails after the
164
+ // tension landed, the tension stands as advisory noise — the safe side of
165
+ // the ordering (revoke-first would risk the silent revoke the design
166
+ // forbids). To keep a failed-revoke retry from stacking duplicate tensions,
167
+ // an unresolved tension with this exact title is reused instead of appended.
168
+ const title = `Contested derives_from edge: ${canonFrom.value} -> ${canonTo.value}`;
169
+ const existing = await listTensions(vaultRoot);
170
+ if (!existing.ok)
171
+ return existing;
172
+ const open = existing.value.find((t) => t.title === title && !t.resolved);
173
+ let tensionId;
174
+ if (open) {
175
+ tensionId = open.id;
176
+ }
177
+ else {
178
+ const tension = await addTension(vaultRoot, {
179
+ title,
180
+ kind: "factual",
181
+ sourceA: canonFrom.value,
182
+ claimA: `derives from ${canonTo.value} (k_survived=${current.value.kSurvived})`,
183
+ sourceB: canonTo.value,
184
+ claimB: `re-derivation failed with no upstream change — ${reason.value}`,
185
+ loggedBy: contestedBy.value,
186
+ });
187
+ if (!tension.ok)
188
+ return tension;
189
+ tensionId = tension.value.id;
190
+ }
191
+ const revoked = await contestEdge(vaultRoot, {
192
+ fromPath: canonFrom.value,
193
+ toPath: canonTo.value,
194
+ contestedBy: contestedBy.value,
195
+ reason: reason.value,
196
+ });
197
+ if (!revoked.ok)
198
+ return revoked;
199
+ return ok({ edge: revoked.value, tension_id: tensionId });
200
+ }
201
+ export async function vaultEdges(vaultRoot, args, access) {
202
+ const allowed = requireReadAccess("vault_edges", access);
203
+ if (!allowed.ok)
204
+ return allowed;
205
+ const filter = {};
206
+ for (const [argName, key] of [
207
+ ["from_path", "fromPath"],
208
+ ["to_path", "toPath"],
209
+ ]) {
210
+ const v = args[argName];
211
+ if (v === undefined || v === null)
212
+ continue;
213
+ if (typeof v !== "string" || v.trim().length === 0) {
214
+ return err(new Error(`vault_edges '${argName}' must be a non-empty string`));
215
+ }
216
+ const canon = canonicalRelPath(vaultRoot, v);
217
+ if (!canon.ok)
218
+ return canon;
219
+ filter[key] = canon.value;
220
+ }
221
+ if (args.status !== undefined && args.status !== null) {
222
+ if (typeof args.status !== "string" ||
223
+ !EDGE_STATUSES.includes(args.status)) {
224
+ return err(new Error(`vault_edges 'status' must be one of: ${EDGE_STATUSES.join(", ")}`));
225
+ }
226
+ filter.status = args.status;
227
+ }
228
+ const edges = await listEdges(vaultRoot, filter);
229
+ if (!edges.ok)
230
+ return edges;
231
+ return ok({ edges: edges.value, total: edges.value.length });
232
+ }
233
+ // ---------------------------------------------------------------------------
234
+ // MCP tool definitions
235
+ // ---------------------------------------------------------------------------
236
+ export const edgeTools = [
237
+ {
238
+ name: "vault_edge_observe",
239
+ title: "Record a derives_from observation",
240
+ annotations: { destructiveHint: false },
241
+ description: "Record that a (re-)derivation observed a derives_from edge between two " +
242
+ "documents. The first observation seeds the edge as a zero-strength " +
243
+ "candidate; an edge earns strength only through later blind observations " +
244
+ "that vary at least one axis (prompt | input-neighborhood | model). " +
245
+ "Normally called by the consolidation loop, not by a human directly.",
246
+ inputSchema: {
247
+ type: "object",
248
+ properties: {
249
+ from_path: {
250
+ type: "string",
251
+ description: "Vault-relative path of the deriving document",
252
+ },
253
+ to_path: {
254
+ type: "string",
255
+ description: "Vault-relative path of the document it derives from",
256
+ },
257
+ observed_by: {
258
+ type: "string",
259
+ description: "Principal observing the edge, e.g. 'agent:curation-loop'",
260
+ },
261
+ blind: {
262
+ type: "boolean",
263
+ description: "True if this pass could not see the edge's prior existence or " +
264
+ "strength. Only blind observations can count as independent votes.",
265
+ },
266
+ varied_axis: {
267
+ type: "string",
268
+ enum: [...EDGE_AXES],
269
+ description: "Which axis this re-derivation varied versus prior passes. " +
270
+ "Required for the observation to count as an independent vote.",
271
+ },
272
+ note: {
273
+ type: "string",
274
+ description: "Optional free-text context recorded with the observation",
275
+ },
276
+ },
277
+ required: ["from_path", "to_path", "observed_by", "blind"],
278
+ additionalProperties: false,
279
+ },
280
+ handler: (vaultRoot, args, access) => vaultEdgeObserve(vaultRoot, args, access),
281
+ },
282
+ {
283
+ name: "vault_edge_contest",
284
+ title: "Contest and revoke a derives_from edge",
285
+ annotations: { destructiveHint: true },
286
+ description: "Record a case-2 contradiction: a re-derivation failed with no upstream " +
287
+ "change. The edge is revoked (drops below trigger-bearing) and a tension " +
288
+ "is logged — contests surface loudly, never as silent decrements. A " +
289
+ "revoked edge can only be re-earned through fresh observations.",
290
+ inputSchema: {
291
+ type: "object",
292
+ properties: {
293
+ from_path: {
294
+ type: "string",
295
+ description: "Vault-relative path of the deriving document",
296
+ },
297
+ to_path: {
298
+ type: "string",
299
+ description: "Vault-relative path of the document it claimed to derive from",
300
+ },
301
+ contested_by: {
302
+ type: "string",
303
+ description: "Principal contesting the edge, e.g. 'agent:curation-loop'",
304
+ },
305
+ reason: {
306
+ type: "string",
307
+ description: "Why the re-derivation failed (recorded on the tension)",
308
+ },
309
+ },
310
+ required: ["from_path", "to_path", "contested_by", "reason"],
311
+ additionalProperties: false,
312
+ },
313
+ handler: (vaultRoot, args, access) => vaultEdgeContest(vaultRoot, args, access),
314
+ },
315
+ {
316
+ name: "vault_edges",
317
+ title: "List derives_from edges",
318
+ annotations: { readOnlyHint: true },
319
+ description: "List derives_from edges with their live aged strength, strongest " +
320
+ "first. Strength = independent-vote count decayed by time since the " +
321
+ "last qualifying re-derivation; an edge is trigger-bearing while its " +
322
+ "aged strength stays above the floor. Filter by endpoint or status " +
323
+ "(candidate | trigger-bearing | revoked).",
324
+ inputSchema: {
325
+ type: "object",
326
+ properties: {
327
+ from_path: {
328
+ type: "string",
329
+ description: "Only edges whose deriving document is this path",
330
+ },
331
+ to_path: {
332
+ type: "string",
333
+ description: "Only edges that derive from this path",
334
+ },
335
+ status: {
336
+ type: "string",
337
+ enum: [...EDGE_STATUSES],
338
+ description: "Only edges currently in this status",
339
+ },
340
+ },
341
+ required: [],
342
+ additionalProperties: false,
343
+ },
344
+ handler: (vaultRoot, args, access) => vaultEdges(vaultRoot, args, access),
345
+ },
346
+ ];
347
+ //# sourceMappingURL=edges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edges.js","sourceRoot":"","sources":["../../src/tools/edges.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,6 @@ export interface RatifyResult {
11
11
  decision: "approve" | "reject";
12
12
  applied: boolean;
13
13
  commit?: string;
14
- deferred_to?: string;
15
14
  }
16
15
  export declare function vaultRatify(vaultRoot: string, args: Record<string, unknown>, access?: AccessContext): Promise<Result<RatifyResult, Error>>;
17
16
  export declare const stagedActionTools: ToolDefinition[];
@@ -1 +1 @@
1
- {"version":3,"file":"staged-actions.d.ts","sourceRoot":"","sources":["../../src/tools/staged-actions.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,mBAAmB,CAAC;AAUnE,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA0BhD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAkD3C;AAMD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CA+GtC;AAMD,eAAO,MAAM,iBAAiB,EAAE,cAAc,EAwF7C,CAAC"}
1
+ {"version":3,"file":"staged-actions.d.ts","sourceRoot":"","sources":["../../src/tools/staged-actions.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,mBAAmB,CAAC;AASnE,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAiChD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAkD3C;AAMD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CA+KtC;AAMD,eAAO,MAAM,iBAAiB,EAAE,cAAc,EAyF7C,CAAC"}
@@ -7,16 +7,16 @@
7
7
  // would not normally call it directly.
8
8
  //
9
9
  // vault_ratify is the human's approve/reject gate. On approve it dispatches to
10
- // the existing write tool for the action type. The dispatch table is
11
- // hand-written for v1: promote and deprecate dispatch to real tools; supersede,
12
- // merge, and confidence-up are STAGED ONLY (their write tools are deferred to
13
- // §11.4) and approving one records a `ratified-pending-tool` status that
14
- // applies nothing.
10
+ // the matching write tool for the action type. Every action type now applies on
11
+ // ratify: promote vault_promote, deprecate vault_deprecate, supersede
12
+ // vault_supersede, confidence-up vault_set_confidence, merge vault_merge
13
+ // (the §11.4 write tools). A dispatch failure (including a malformed
14
+ // proposed_diff) leaves the action pending so it can be retried.
15
15
  import { hasAnyRead } from "../access/rbac.js";
16
- import { DEFERRED_ACTION_TYPES, getStagedActionById, nowISO, recordDecision, STAGED_ACTION_TYPES, stageAction, } from "../curation/staged-actions.js";
16
+ import { getStagedActionById, nowISO, recordDecision, STAGED_ACTION_TYPES, stageAction, } from "../curation/staged-actions.js";
17
17
  import { err, ok } from "../frontmatter/types.js";
18
18
  import { readFile, resolveVaultPath } from "../storage/local.js";
19
- import { vaultDeprecate, vaultPromote } from "./write.js";
19
+ import { vaultDeprecate, vaultMerge, vaultPromote, vaultSetConfidence, vaultSupersede, } from "./write.js";
20
20
  function requireReadAccess(tool, access) {
21
21
  if (access && !hasAnyRead(access.role)) {
22
22
  return err(new Error(`access denied: role '${access.roleName}' cannot use ${tool}`));
@@ -128,43 +128,85 @@ export async function vaultRatify(vaultRoot, args, access) {
128
128
  return recorded;
129
129
  return ok({ action_id: id.value, decision, applied: false });
130
130
  }
131
- // --- approve: dispatch by action type ---
132
- // Deferred types (§11.4) have no write tool yet: record the approval as
133
- // ratified-pending-tool and apply nothing.
134
- if (DEFERRED_ACTION_TYPES.includes(action.actionType)) {
135
- const recorded = await recordDecision(vaultRoot, id.value, {
136
- status: "ratified-pending-tool",
137
- ratifiedAt: decidedAt,
138
- ratifiedBy: principal.value,
139
- ...(reason ? { reason } : {}),
140
- });
141
- if (!recorded.ok)
142
- return recorded;
143
- return ok({ action_id: id.value, decision, applied: false, deferred_to: "§11.4" });
144
- }
145
- // promote / deprecate dispatch to real write tools. A dispatch failure leaves
146
- // the action pending so it can be retried — no decision record is written.
131
+ // --- approve: dispatch by action type to the matching write tool ---
132
+ // A dispatch failure including a malformed proposed_diff leaves the action
133
+ // pending so it can be retried; no decision record is written until a write
134
+ // lands. The proposed_diff carries the per-action payload set at stage time.
135
+ const diff = action.proposedDiff && typeof action.proposedDiff === "object"
136
+ ? action.proposedDiff
137
+ : {};
147
138
  let dispatched;
148
- if (action.actionType === "promote") {
149
- dispatched = await vaultPromote(vaultRoot, { path: action.targetPath, agent: principal.value }, access);
150
- }
151
- else if (action.actionType === "deprecate") {
152
- const deprecateArgs = {
153
- path: action.targetPath,
154
- agent: principal.value,
155
- reason: action.rationale,
156
- };
157
- // Carry through a superseded_by hint from the proposed diff if present.
158
- const diff = action.proposedDiff;
159
- if (diff &&
160
- typeof diff === "object" &&
161
- typeof diff.superseded_by === "string") {
162
- deprecateArgs.superseded_by = diff.superseded_by;
139
+ switch (action.actionType) {
140
+ case "promote":
141
+ dispatched = await vaultPromote(vaultRoot, { path: action.targetPath, agent: principal.value }, access);
142
+ break;
143
+ case "deprecate": {
144
+ const deprecateArgs = {
145
+ path: action.targetPath,
146
+ agent: principal.value,
147
+ reason: action.rationale,
148
+ };
149
+ // Carry through a superseded_by hint from the proposed diff if present.
150
+ if (typeof diff.superseded_by === "string") {
151
+ deprecateArgs.superseded_by = diff.superseded_by;
152
+ }
153
+ dispatched = await vaultDeprecate(vaultRoot, deprecateArgs, access);
154
+ break;
163
155
  }
164
- dispatched = await vaultDeprecate(vaultRoot, deprecateArgs, access);
165
- }
166
- else {
167
- return err(new Error(`vault_ratify: no dispatch for action type '${action.actionType}'`));
156
+ case "supersede": {
157
+ // proposed_diff = { superseded_by: "<new_path>" }
158
+ if (typeof diff.superseded_by !== "string" || diff.superseded_by.trim().length === 0) {
159
+ return err(new Error(`vault_ratify: supersede action ${id.value} needs proposed_diff.superseded_by`));
160
+ }
161
+ dispatched = await vaultSupersede(vaultRoot, {
162
+ old_path: action.targetPath,
163
+ new_path: diff.superseded_by,
164
+ reason: action.rationale,
165
+ agent: principal.value,
166
+ }, access);
167
+ break;
168
+ }
169
+ case "confidence-up": {
170
+ // proposed_diff = { confidence: "<low|medium|high>" }. The enum name is
171
+ // confidence-up; the tool that applies it is vault_set_confidence.
172
+ if (typeof diff.confidence !== "string") {
173
+ return err(new Error(`vault_ratify: confidence-up action ${id.value} needs proposed_diff.confidence`));
174
+ }
175
+ dispatched = await vaultSetConfidence(vaultRoot, {
176
+ path: action.targetPath,
177
+ confidence: diff.confidence,
178
+ reason: action.rationale,
179
+ agent: principal.value,
180
+ }, access);
181
+ break;
182
+ }
183
+ case "merge": {
184
+ // proposed_diff = { merge_from: [path_a, path_b], body, frontmatter? };
185
+ // the staged target_path is the merge target.
186
+ const mergeFrom = Array.isArray(diff.merge_from) ? diff.merge_from : null;
187
+ if (!mergeFrom ||
188
+ mergeFrom.length !== 2 ||
189
+ typeof mergeFrom[0] !== "string" ||
190
+ typeof mergeFrom[1] !== "string" ||
191
+ typeof diff.body !== "string") {
192
+ return err(new Error(`vault_ratify: merge action ${id.value} needs proposed_diff.merge_from ` +
193
+ "(two paths) and proposed_diff.body"));
194
+ }
195
+ const mergeArgs = {
196
+ path_a: mergeFrom[0],
197
+ path_b: mergeFrom[1],
198
+ target_path: action.targetPath,
199
+ body: diff.body,
200
+ agent: principal.value,
201
+ };
202
+ if (diff.frontmatter && typeof diff.frontmatter === "object") {
203
+ mergeArgs.frontmatter = diff.frontmatter;
204
+ }
205
+ dispatched = await vaultMerge(vaultRoot, mergeArgs, access);
206
+ break;
207
+ }
208
+ default:
209
+ return err(new Error(`vault_ratify: no dispatch for action type '${action.actionType}'`));
168
210
  }
169
211
  if (!dispatched.ok)
170
212
  return dispatched;
@@ -195,9 +237,10 @@ export const stagedActionTools = [
195
237
  "vault_ratify. The action waits in a pending queue and auto-expires after " +
196
238
  "ttl_days (default 14). This is the producer side of the staged-action " +
197
239
  "queue — normally called by the curation loop, not by a human directly. " +
198
- "Action types: promote, deprecate, supersede, merge, confidence-up " +
199
- "(supersede/merge/confidence-up are staged only in v1; their apply step " +
200
- "is deferred to §11.4).",
240
+ "Action types: promote, deprecate, supersede, merge, confidence-up. " +
241
+ "proposed_diff carries the per-action payload replayed on ratification: " +
242
+ "supersede {superseded_by}, confidence-up → {confidence}, " +
243
+ "merge → {merge_from: [path_a, path_b], body, frontmatter?}.",
201
244
  inputSchema: {
202
245
  type: "object",
203
246
  properties: {
@@ -240,10 +283,10 @@ export const stagedActionTools = [
240
283
  annotations: { destructiveHint: true },
241
284
  description: "Approve or reject a single pending staged action. On approve, dispatches " +
242
285
  "to the matching write tool (promote → vault_promote, deprecate → " +
243
- "vault_deprecate) and auto-commits; supersede/merge/confidence-up are " +
244
- "staged only in v1 and approving one returns applied=false with " +
245
- "deferred_to='§11.4'. On reject, records the rejection and applies " +
246
- "nothing. Errors if the id is unknown or the action is not pending " +
286
+ "vault_deprecate, supersede vault_supersede, confidence-up " +
287
+ "vault_set_confidence, merge vault_merge) and auto-commits. On reject, " +
288
+ "records the rejection and applies nothing. A dispatch failure leaves the " +
289
+ "action pending. Errors if the id is unknown or the action is not pending " +
247
290
  "(already decided or expired).",
248
291
  inputSchema: {
249
292
  type: "object",
@@ -1 +1 @@
1
- {"version":3,"file":"staged-actions.js","sourceRoot":"","sources":["../../src/tools/staged-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"staged-actions.js","sourceRoot":"","sources":["../../src/tools/staged-actions.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare function applyExtensionDefaults(raw: Record<string, unknown>, ext
6
6
  export declare function serializeDocument(fm: Frontmatter, body: string, extensions?: SchemaExtension[], raw?: Record<string, unknown>): string;
7
7
  export interface WriteResult {
8
8
  path: string;
9
- action: "create" | "update" | "append" | "promote" | "deprecate";
9
+ action: "create" | "update" | "append" | "promote" | "deprecate" | "supersede" | "merge" | "confidence-set";
10
10
  commit: string | null;
11
11
  committed: boolean;
12
12
  status: string;
@@ -18,5 +18,8 @@ export declare function vaultWrite(vaultRoot: string, args: Record<string, unkno
18
18
  export declare function vaultAppend(vaultRoot: string, args: Record<string, unknown>, access?: AccessContext): Promise<Result<WriteResult, Error>>;
19
19
  export declare function vaultPromote(vaultRoot: string, args: Record<string, unknown>, access?: AccessContext): Promise<Result<WriteResult, Error>>;
20
20
  export declare function vaultDeprecate(vaultRoot: string, args: Record<string, unknown>, access?: AccessContext): Promise<Result<WriteResult, Error>>;
21
+ export declare function vaultSetConfidence(vaultRoot: string, args: Record<string, unknown>, access?: AccessContext): Promise<Result<WriteResult, Error>>;
22
+ export declare function vaultSupersede(vaultRoot: string, args: Record<string, unknown>, access?: AccessContext): Promise<Result<WriteResult, Error>>;
23
+ export declare function vaultMerge(vaultRoot: string, args: Record<string, unknown>, access?: AccessContext): Promise<Result<WriteResult, Error>>;
21
24
  export declare const writeTools: ToolDefinition[];
22
25
  //# sourceMappingURL=write.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,aAAa,EAAwB,MAAM,mBAAmB,CAAC;AAI7E,OAAO,EAKL,KAAK,WAAW,EAGhB,KAAK,MAAM,EAGX,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAqDhD,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,UAAU,EAAE,eAAe,EAAE,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB;AAMD,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,eAAe,EAAO,EAClC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAChC,MAAM,CAqCR;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;IAGjE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,YAAY,EAAE,OAAO,CAAC;CACvB;AA8JD,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAiLrC;AAQD,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CA4FrC;AASD,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CA2ErC;AASD,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAuErC;AA8GD,eAAO,MAAM,UAAU,EAAE,cAAc,EA2GtC,CAAC"}
1
+ {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"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"}