daftari 1.30.0 → 1.32.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.
Files changed (310) hide show
  1. package/CHANGELOG.md +176 -0
  2. package/README.md +188 -4
  3. package/dist/access/rbac.d.ts +1 -0
  4. package/dist/access/rbac.d.ts.map +1 -1
  5. package/dist/access/rbac.js +7 -0
  6. package/dist/access/rbac.js.map +1 -1
  7. package/dist/audit/checks/broken_refs.d.ts +1 -1
  8. package/dist/audit/checks/broken_refs.d.ts.map +1 -1
  9. package/dist/audit/checks/broken_refs.js +77 -22
  10. package/dist/audit/checks/broken_refs.js.map +1 -1
  11. package/dist/audit/collect.d.ts +1 -0
  12. package/dist/audit/collect.d.ts.map +1 -1
  13. package/dist/audit/collect.js +22 -2
  14. package/dist/audit/collect.js.map +1 -1
  15. package/dist/audit/index.d.ts.map +1 -1
  16. package/dist/audit/index.js +9 -3
  17. package/dist/audit/index.js.map +1 -1
  18. package/dist/audit/links.d.ts.map +1 -1
  19. package/dist/audit/links.js +9 -3
  20. package/dist/audit/links.js.map +1 -1
  21. package/dist/audit/report.d.ts.map +1 -1
  22. package/dist/audit/report.js +2 -0
  23. package/dist/audit/report.js.map +1 -1
  24. package/dist/audit/types.d.ts +4 -1
  25. package/dist/audit/types.d.ts.map +1 -1
  26. package/dist/audit/types.js.map +1 -1
  27. package/dist/backfill/derive.d.ts.map +1 -1
  28. package/dist/backfill/derive.js +1 -0
  29. package/dist/backfill/derive.js.map +1 -1
  30. package/dist/cli.d.ts.map +1 -1
  31. package/dist/cli.js +24 -0
  32. package/dist/cli.js.map +1 -1
  33. package/dist/consolidate/index.d.ts.map +1 -1
  34. package/dist/consolidate/index.js +10 -12
  35. package/dist/consolidate/index.js.map +1 -1
  36. package/dist/court/precedent.d.ts.map +1 -1
  37. package/dist/court/precedent.js +6 -1
  38. package/dist/court/precedent.js.map +1 -1
  39. package/dist/curation/consumes.d.ts +24 -0
  40. package/dist/curation/consumes.d.ts.map +1 -0
  41. package/dist/curation/consumes.js +122 -0
  42. package/dist/curation/consumes.js.map +1 -0
  43. package/dist/curation/edge-staleness.d.ts +47 -0
  44. package/dist/curation/edge-staleness.d.ts.map +1 -0
  45. package/dist/curation/edge-staleness.js +258 -0
  46. package/dist/curation/edge-staleness.js.map +1 -0
  47. package/dist/curation/edges.d.ts.map +1 -1
  48. package/dist/curation/edges.js +190 -17
  49. package/dist/curation/edges.js.map +1 -1
  50. package/dist/curation/lint.d.ts +6 -1
  51. package/dist/curation/lint.d.ts.map +1 -1
  52. package/dist/curation/lint.js +87 -24
  53. package/dist/curation/lint.js.map +1 -1
  54. package/dist/curation/provenance.d.ts +2 -0
  55. package/dist/curation/provenance.d.ts.map +1 -1
  56. package/dist/curation/provenance.js +2 -0
  57. package/dist/curation/provenance.js.map +1 -1
  58. package/dist/curation/read-log.d.ts +19 -0
  59. package/dist/curation/read-log.d.ts.map +1 -0
  60. package/dist/curation/read-log.js +120 -0
  61. package/dist/curation/read-log.js.map +1 -0
  62. package/dist/curation/review-throughput.d.ts +24 -0
  63. package/dist/curation/review-throughput.d.ts.map +1 -0
  64. package/dist/curation/review-throughput.js +102 -0
  65. package/dist/curation/review-throughput.js.map +1 -0
  66. package/dist/curation/shadow.d.ts +1 -0
  67. package/dist/curation/shadow.d.ts.map +1 -1
  68. package/dist/curation/shadow.js +17 -11
  69. package/dist/curation/shadow.js.map +1 -1
  70. package/dist/curation/staged-actions.d.ts +12 -1
  71. package/dist/curation/staged-actions.d.ts.map +1 -1
  72. package/dist/curation/staged-actions.js +123 -48
  73. package/dist/curation/staged-actions.js.map +1 -1
  74. package/dist/curation/structural.d.ts +16 -0
  75. package/dist/curation/structural.d.ts.map +1 -0
  76. package/dist/curation/structural.js +64 -0
  77. package/dist/curation/structural.js.map +1 -0
  78. package/dist/curation/tension-blast.d.ts +4 -0
  79. package/dist/curation/tension-blast.d.ts.map +1 -1
  80. package/dist/curation/tension-blast.js +9 -0
  81. package/dist/curation/tension-blast.js.map +1 -1
  82. package/dist/curation/tension.d.ts +5 -2
  83. package/dist/curation/tension.d.ts.map +1 -1
  84. package/dist/curation/tension.js +68 -25
  85. package/dist/curation/tension.js.map +1 -1
  86. package/dist/curation/tier0.d.ts +27 -0
  87. package/dist/curation/tier0.d.ts.map +1 -0
  88. package/dist/curation/tier0.js +196 -0
  89. package/dist/curation/tier0.js.map +1 -0
  90. package/dist/curation/tier1.d.ts +30 -0
  91. package/dist/curation/tier1.d.ts.map +1 -0
  92. package/dist/curation/tier1.js +142 -0
  93. package/dist/curation/tier1.js.map +1 -0
  94. package/dist/curation/tier2.d.ts +43 -0
  95. package/dist/curation/tier2.d.ts.map +1 -0
  96. package/dist/curation/tier2.js +182 -0
  97. package/dist/curation/tier2.js.map +1 -0
  98. package/dist/curation/vault-docs.d.ts +5 -1
  99. package/dist/curation/vault-docs.d.ts.map +1 -1
  100. package/dist/curation/vault-docs.js +14 -0
  101. package/dist/curation/vault-docs.js.map +1 -1
  102. package/dist/eval/generate.d.ts.map +1 -1
  103. package/dist/eval/generate.js +38 -5
  104. package/dist/eval/generate.js.map +1 -1
  105. package/dist/eval/index.d.ts +1 -0
  106. package/dist/eval/index.d.ts.map +1 -1
  107. package/dist/eval/index.js +249 -50
  108. package/dist/eval/index.js.map +1 -1
  109. package/dist/eval/llm-openrouter.d.ts.map +1 -1
  110. package/dist/eval/llm-openrouter.js +158 -65
  111. package/dist/eval/llm-openrouter.js.map +1 -1
  112. package/dist/eval/llm.js +1 -1
  113. package/dist/eval/llm.js.map +1 -1
  114. package/dist/eval/prune.d.ts +24 -0
  115. package/dist/eval/prune.d.ts.map +1 -0
  116. package/dist/eval/prune.js +83 -0
  117. package/dist/eval/prune.js.map +1 -0
  118. package/dist/eval/storage.d.ts +3 -0
  119. package/dist/eval/storage.d.ts.map +1 -1
  120. package/dist/eval/storage.js +14 -0
  121. package/dist/eval/storage.js.map +1 -1
  122. package/dist/frontmatter/schema.d.ts.map +1 -1
  123. package/dist/frontmatter/schema.js +19 -1
  124. package/dist/frontmatter/schema.js.map +1 -1
  125. package/dist/frontmatter/types.d.ts +4 -1
  126. package/dist/frontmatter/types.d.ts.map +1 -1
  127. package/dist/frontmatter/types.js +8 -0
  128. package/dist/frontmatter/types.js.map +1 -1
  129. package/dist/import/index.d.ts.map +1 -1
  130. package/dist/import/index.js +44 -9
  131. package/dist/import/index.js.map +1 -1
  132. package/dist/import/langgraph-store.d.ts +53 -0
  133. package/dist/import/langgraph-store.d.ts.map +1 -0
  134. package/dist/import/langgraph-store.js +292 -0
  135. package/dist/import/langgraph-store.js.map +1 -0
  136. package/dist/index.d.ts +5 -0
  137. package/dist/index.d.ts.map +1 -1
  138. package/dist/index.js +56 -18
  139. package/dist/index.js.map +1 -1
  140. package/dist/interview/index.d.ts +7 -0
  141. package/dist/interview/index.d.ts.map +1 -0
  142. package/dist/interview/index.js +219 -0
  143. package/dist/interview/index.js.map +1 -0
  144. package/dist/interview/questions.d.ts +18 -0
  145. package/dist/interview/questions.d.ts.map +1 -0
  146. package/dist/interview/questions.js +169 -0
  147. package/dist/interview/questions.js.map +1 -0
  148. package/dist/interview/transcript.d.ts +23 -0
  149. package/dist/interview/transcript.d.ts.map +1 -0
  150. package/dist/interview/transcript.js +155 -0
  151. package/dist/interview/transcript.js.map +1 -0
  152. package/dist/lifecycle/lock.d.ts +9 -1
  153. package/dist/lifecycle/lock.d.ts.map +1 -1
  154. package/dist/lifecycle/lock.js +34 -9
  155. package/dist/lifecycle/lock.js.map +1 -1
  156. package/dist/okf/export.d.ts +12 -0
  157. package/dist/okf/export.d.ts.map +1 -0
  158. package/dist/okf/export.js +117 -0
  159. package/dist/okf/export.js.map +1 -0
  160. package/dist/okf/import.d.ts +24 -0
  161. package/dist/okf/import.d.ts.map +1 -0
  162. package/dist/okf/import.js +115 -0
  163. package/dist/okf/import.js.map +1 -0
  164. package/dist/okf/index.d.ts +2 -0
  165. package/dist/okf/index.d.ts.map +1 -0
  166. package/dist/okf/index.js +159 -0
  167. package/dist/okf/index.js.map +1 -0
  168. package/dist/okf/map.d.ts +27 -0
  169. package/dist/okf/map.d.ts.map +1 -0
  170. package/dist/okf/map.js +327 -0
  171. package/dist/okf/map.js.map +1 -0
  172. package/dist/okf/types.d.ts +13 -0
  173. package/dist/okf/types.d.ts.map +1 -0
  174. package/dist/okf/types.js +82 -0
  175. package/dist/okf/types.js.map +1 -0
  176. package/dist/search/coverage.d.ts.map +1 -1
  177. package/dist/search/coverage.js +1 -1
  178. package/dist/search/coverage.js.map +1 -1
  179. package/dist/search/hybrid.d.ts +19 -0
  180. package/dist/search/hybrid.d.ts.map +1 -1
  181. package/dist/search/hybrid.js +60 -15
  182. package/dist/search/hybrid.js.map +1 -1
  183. package/dist/search/reindex.d.ts +4 -0
  184. package/dist/search/reindex.d.ts.map +1 -1
  185. package/dist/search/reindex.js +64 -14
  186. package/dist/search/reindex.js.map +1 -1
  187. package/dist/search/watcher.d.ts +2 -0
  188. package/dist/search/watcher.d.ts.map +1 -1
  189. package/dist/search/watcher.js +29 -27
  190. package/dist/search/watcher.js.map +1 -1
  191. package/dist/serve/index.d.ts +36 -0
  192. package/dist/serve/index.d.ts.map +1 -0
  193. package/dist/serve/index.js +507 -0
  194. package/dist/serve/index.js.map +1 -0
  195. package/dist/server.d.ts +10 -1
  196. package/dist/server.d.ts.map +1 -1
  197. package/dist/server.js +89 -14
  198. package/dist/server.js.map +1 -1
  199. package/dist/sleep/index.d.ts +2 -0
  200. package/dist/sleep/index.d.ts.map +1 -1
  201. package/dist/sleep/index.js +212 -21
  202. package/dist/sleep/index.js.map +1 -1
  203. package/dist/sleep/report.d.ts +3 -0
  204. package/dist/sleep/report.d.ts.map +1 -1
  205. package/dist/sleep/report.js +52 -0
  206. package/dist/sleep/report.js.map +1 -1
  207. package/dist/sleep/tension-scan-state.d.ts +19 -0
  208. package/dist/sleep/tension-scan-state.d.ts.map +1 -0
  209. package/dist/sleep/tension-scan-state.js +0 -0
  210. package/dist/sleep/tension-scan-state.js.map +1 -0
  211. package/dist/sleep/tension-scan.d.ts +44 -0
  212. package/dist/sleep/tension-scan.d.ts.map +1 -0
  213. package/dist/sleep/tension-scan.js +0 -0
  214. package/dist/sleep/tension-scan.js.map +1 -0
  215. package/dist/storage/backend.d.ts +12 -0
  216. package/dist/storage/backend.d.ts.map +1 -0
  217. package/dist/storage/backend.js +231 -0
  218. package/dist/storage/backend.js.map +1 -0
  219. package/dist/storage/backends/fs.d.ts +4 -0
  220. package/dist/storage/backends/fs.d.ts.map +1 -0
  221. package/dist/storage/backends/fs.js +99 -0
  222. package/dist/storage/backends/fs.js.map +1 -0
  223. package/dist/storage/fs-walk.d.ts +5 -0
  224. package/dist/storage/fs-walk.d.ts.map +1 -0
  225. package/dist/storage/fs-walk.js +28 -0
  226. package/dist/storage/fs-walk.js.map +1 -0
  227. package/dist/storage/index-db.d.ts +16 -0
  228. package/dist/storage/index-db.d.ts.map +1 -1
  229. package/dist/storage/index-db.js +95 -5
  230. package/dist/storage/index-db.js.map +1 -1
  231. package/dist/storage/local.d.ts +1 -0
  232. package/dist/storage/local.d.ts.map +1 -1
  233. package/dist/storage/local.js +12 -0
  234. package/dist/storage/local.js.map +1 -1
  235. package/dist/storage/sync.d.ts +25 -0
  236. package/dist/storage/sync.d.ts.map +1 -0
  237. package/dist/storage/sync.js +308 -0
  238. package/dist/storage/sync.js.map +1 -0
  239. package/dist/sync/index.d.ts +2 -0
  240. package/dist/sync/index.d.ts.map +1 -0
  241. package/dist/sync/index.js +136 -0
  242. package/dist/sync/index.js.map +1 -0
  243. package/dist/themes/clustering.d.ts +6 -11
  244. package/dist/themes/clustering.d.ts.map +1 -1
  245. package/dist/themes/clustering.js +76 -84
  246. package/dist/themes/clustering.js.map +1 -1
  247. package/dist/tools/consumes.d.ts +14 -0
  248. package/dist/tools/consumes.d.ts.map +1 -0
  249. package/dist/tools/consumes.js +99 -0
  250. package/dist/tools/consumes.js.map +1 -0
  251. package/dist/tools/curation.d.ts +2 -0
  252. package/dist/tools/curation.d.ts.map +1 -1
  253. package/dist/tools/curation.js +53 -15
  254. package/dist/tools/curation.js.map +1 -1
  255. package/dist/tools/edge-staleness.d.ts +28 -0
  256. package/dist/tools/edge-staleness.d.ts.map +1 -0
  257. package/dist/tools/edge-staleness.js +205 -0
  258. package/dist/tools/edge-staleness.js.map +1 -0
  259. package/dist/tools/edges.d.ts.map +1 -1
  260. package/dist/tools/edges.js +27 -21
  261. package/dist/tools/edges.js.map +1 -1
  262. package/dist/tools/read.d.ts +15 -1
  263. package/dist/tools/read.d.ts.map +1 -1
  264. package/dist/tools/read.js +211 -76
  265. package/dist/tools/read.js.map +1 -1
  266. package/dist/tools/receipt.d.ts.map +1 -1
  267. package/dist/tools/receipt.js +16 -7
  268. package/dist/tools/receipt.js.map +1 -1
  269. package/dist/tools/search.d.ts +1 -0
  270. package/dist/tools/search.d.ts.map +1 -1
  271. package/dist/tools/search.js +147 -5
  272. package/dist/tools/search.js.map +1 -1
  273. package/dist/tools/staged-actions.d.ts +3 -0
  274. package/dist/tools/staged-actions.d.ts.map +1 -1
  275. package/dist/tools/staged-actions.js +225 -22
  276. package/dist/tools/staged-actions.js.map +1 -1
  277. package/dist/tools/themes.d.ts +8 -0
  278. package/dist/tools/themes.d.ts.map +1 -1
  279. package/dist/tools/themes.js +208 -122
  280. package/dist/tools/themes.js.map +1 -1
  281. package/dist/tools/tier1.d.ts +14 -0
  282. package/dist/tools/tier1.d.ts.map +1 -0
  283. package/dist/tools/tier1.js +169 -0
  284. package/dist/tools/tier1.js.map +1 -0
  285. package/dist/tools/tier2.d.ts +27 -0
  286. package/dist/tools/tier2.d.ts.map +1 -0
  287. package/dist/tools/tier2.js +344 -0
  288. package/dist/tools/tier2.js.map +1 -0
  289. package/dist/tools/write.d.ts +9 -1
  290. package/dist/tools/write.d.ts.map +1 -1
  291. package/dist/tools/write.js +596 -174
  292. package/dist/tools/write.js.map +1 -1
  293. package/dist/utils/config.d.ts +52 -0
  294. package/dist/utils/config.d.ts.map +1 -1
  295. package/dist/utils/config.js +394 -24
  296. package/dist/utils/config.js.map +1 -1
  297. package/dist/utils/dates.d.ts +1 -0
  298. package/dist/utils/dates.d.ts.map +1 -1
  299. package/dist/utils/dates.js +5 -0
  300. package/dist/utils/dates.js.map +1 -1
  301. package/dist/utils/run-id.d.ts +3 -0
  302. package/dist/utils/run-id.d.ts.map +1 -0
  303. package/dist/utils/run-id.js +19 -0
  304. package/dist/utils/run-id.js.map +1 -0
  305. package/dist/utils/vault-gitignore.d.ts +1 -1
  306. package/dist/utils/vault-gitignore.d.ts.map +1 -1
  307. package/dist/utils/vault-gitignore.js +4 -1
  308. package/dist/utils/vault-gitignore.js.map +1 -1
  309. package/package.json +21 -1
  310. package/templates/config.yaml +8 -0
@@ -12,12 +12,18 @@
12
12
  // vault_supersede, confidence-up → vault_set_confidence, merge → vault_merge
13
13
  // (the §11.4 write tools). A dispatch failure (including a malformed
14
14
  // proposed_diff) leaves the action pending so it can be retried.
15
- import { canRatify, canWrite } from "../access/rbac.js";
16
- import { getStagedActionById, nowISO, recordDecision, STAGED_ACTION_TYPES, stageAction, } from "../curation/staged-actions.js";
15
+ import { canRatify, canRead, canWrite, isProposeOnly } from "../access/rbac.js";
16
+ import { getStagedActionById, nowISO, recordDecision, STAGED_ACTION_TYPES, stageActionWithConflictCheck, } from "../curation/staged-actions.js";
17
+ import { bucketHiddenDownstream } from "../curation/tension-blast.js";
18
+ import { tier0DeprecateGate, tier0PromoteGate } from "../curation/tier0.js";
19
+ import { loadDocuments } from "../curation/vault-docs.js";
17
20
  import { parseDocument } from "../frontmatter/parser.js";
21
+ import { validateFrontmatter } from "../frontmatter/schema.js";
18
22
  import { err, ok } from "../frontmatter/types.js";
19
23
  import { readFile, resolveVaultPath } from "../storage/local.js";
20
- import { vaultDeprecate, vaultMerge, vaultPromote, vaultSetConfidence, vaultSupersede, } from "./write.js";
24
+ import { loadConfig } from "../utils/config.js";
25
+ import { readRunId } from "../utils/run-id.js";
26
+ import { vaultDeprecate, vaultMerge, vaultPromote, vaultSetConfidence, vaultSupersede, vaultWrite, } from "./write.js";
21
27
  function requireString(args, field, tool) {
22
28
  const v = args[field];
23
29
  if (typeof v !== "string" || v.trim().length === 0) {
@@ -44,6 +50,22 @@ export async function vaultStageAction(vaultRoot, args, access) {
44
50
  if (args.proposed_diff === undefined || args.proposed_diff === null) {
45
51
  return err(new Error("vault_stage_action requires a 'proposed_diff' object argument"));
46
52
  }
53
+ const runId = readRunId(args, "vault_stage_action");
54
+ if (!runId.ok)
55
+ return runId;
56
+ // A `write` proposal carries full content; validate the payload shape at
57
+ // stage time so a malformed one never sits in the queue until ratify.
58
+ const isWrite = actionType.value === "write";
59
+ if (isWrite) {
60
+ const diff = args.proposed_diff;
61
+ if (typeof args.proposed_diff !== "object" ||
62
+ diff.frontmatter === null ||
63
+ typeof diff.frontmatter !== "object" ||
64
+ typeof diff.body !== "string") {
65
+ return err(new Error("vault_stage_action: a 'write' action needs proposed_diff.frontmatter " +
66
+ "(object) and proposed_diff.body (string)"));
67
+ }
68
+ }
47
69
  const resolved = resolveVaultPath(vaultRoot, targetPath.value);
48
70
  if (!resolved.ok)
49
71
  return resolved;
@@ -56,21 +78,28 @@ export async function vaultStageAction(vaultRoot, args, access) {
56
78
  // to the queue. The gate runs BEFORE the not-found branch so a role lacking
57
79
  // write cannot probe document existence (not-found vs access-denied). The
58
80
  // collection is authoritative from the document's own frontmatter when it is
59
- // readable; for a not-yet-existing target it falls back to the path's leading
60
- // segment (the same convention the write tools use).
81
+ // readable; for a not-yet-existing target it falls back to the leading
82
+ // segment of the NORMALIZED path (resolved.relPath), never the raw caller
83
+ // string — `pricing/../competitive-intel/x.md` splits to "pricing" raw but
84
+ // resolves to competitive-intel, and with `write` targets allowed to not
85
+ // exist, gating on the raw string would let a pricing-only role queue
86
+ // proposals into collections it cannot write (same S1 rule as write.ts's
87
+ // targetCollection).
61
88
  if (access) {
62
89
  const parsed = exists.ok ? parseDocument(exists.value) : null;
63
90
  const collection = (parsed?.ok ? parsed.value.frontmatter.collection : "") ||
64
- (targetPath.value.split("/")[0] ?? "");
91
+ (resolved.value.relPath.split("/")[0] ?? "");
65
92
  if (!canWrite(access.role, collection)) {
66
93
  return err(new Error(`access denied: role '${access.roleName}' cannot stage actions for collection '${collection}'`));
67
94
  }
68
95
  }
69
- // Fail fast: an action that targets a non-existent document can never be
70
- // ratified (the write-tool dispatch would reject "document not found"). Catch
71
- // it at stage time so a bad target never sits in the queue for 14 days. This
72
- // is reached only by callers that already hold write access (checked above).
73
- if (!exists.ok) {
96
+ // Fail fast: a lifecycle action that targets a non-existent document can
97
+ // never be ratified (the write-tool dispatch would reject "document not
98
+ // found"). Catch it at stage time so a bad target never sits in the queue
99
+ // for 14 days. This is reached only by callers that already hold write
100
+ // access (checked above). `write` proposals are exempt — creating a new
101
+ // document is their point.
102
+ if (!exists.ok && !isWrite) {
74
103
  return err(new Error(`vault_stage_action: target document not found: ${targetPath.value}`));
75
104
  }
76
105
  let ttlDays;
@@ -80,15 +109,39 @@ export async function vaultStageAction(vaultRoot, args, access) {
80
109
  }
81
110
  ttlDays = args.ttl_days;
82
111
  }
83
- return stageAction(vaultRoot, {
112
+ // Stage the CANONICAL relPath, not the raw caller string, so aliased
113
+ // spellings of one target contend in conflict detection and the queued
114
+ // target matches what dispatch will actually write (#127/#128 rule).
115
+ return stageActionWithConflictCheck(vaultRoot, {
84
116
  actionType: actionType.value,
85
- targetPath: targetPath.value,
117
+ targetPath: resolved.value.relPath,
86
118
  proposedBy: proposedBy.value,
87
119
  rationale: rationale.value,
88
120
  proposedDiff: args.proposed_diff,
121
+ ...(runId.value !== undefined ? { runId: runId.value } : {}),
89
122
  ...(ttlDays !== undefined ? { ttlDays } : {}),
90
123
  });
91
124
  }
125
+ // The two tier-0 gate problem assemblies, shared by the four ratify gate
126
+ // sites (direct promote/deprecate and their synthetic-write mirrors). Hidden
127
+ // counts are coarsened (#217) — never exact. Null when the gate passes.
128
+ function promoteGateProblems(gate) {
129
+ const problems = [...gate.violations];
130
+ if (gate.hiddenConflicts > 0) {
131
+ problems.push(`non-canonical sources hidden from your role: ${bucketHiddenDownstream(gate.hiddenConflicts)}`);
132
+ }
133
+ return problems.length > 0 ? problems.join("; ") : null;
134
+ }
135
+ function deprecateGateProblems(gate) {
136
+ const problems = [];
137
+ if (gate.dependents.length > 0) {
138
+ problems.push(`cited as a source by canonical: ${gate.dependents.join(", ")}`);
139
+ }
140
+ if (gate.hiddenDependents > 0) {
141
+ problems.push(`hidden canonical dependents: ${bucketHiddenDownstream(gate.hiddenDependents)}`);
142
+ }
143
+ return problems.length > 0 ? problems.join("; ") : null;
144
+ }
92
145
  export async function vaultRatify(vaultRoot, args, access) {
93
146
  // Ratifying is the curation-verdict tier (§11.6): it needs the explicit
94
147
  // `ratify` grant, not merely any read grant. The inner write tools still
@@ -96,6 +149,15 @@ export async function vaultRatify(vaultRoot, args, access) {
96
149
  if (access && !canRatify(access.role)) {
97
150
  return err(new Error(`access denied: role '${access.roleName}' cannot ratify staged actions`));
98
151
  }
152
+ // A propose-only role must never ratify, even if a hand-built role grants
153
+ // both (config load rejects the combination, but AccessContexts constructed
154
+ // in code bypass that). Without this, approving a `write` action would be
155
+ // coerced by vaultWrite's propose-only path into staging a NEW proposal
156
+ // while the original got marked ratified/applied — a silent no-op.
157
+ if (access && isProposeOnly(access.role)) {
158
+ return err(new Error(`access denied: role '${access.roleName}' is propose-only — it cannot ` +
159
+ `ratify staged actions`));
160
+ }
99
161
  const id = requireString(args, "id", "vault_ratify");
100
162
  if (!id.ok)
101
163
  return id;
@@ -150,8 +212,133 @@ export async function vaultRatify(vaultRoot, args, access) {
150
212
  const diff = action.proposedDiff && typeof action.proposedDiff === "object"
151
213
  ? action.proposedDiff
152
214
  : {};
215
+ // Tier 0 ratify gate (#232; quick win 1 of #236). Ratification is already a
216
+ // gate, so blocking here does not violate the advisory-curation rule — the
217
+ // direct write tools stay unblocked. A blocked approval is an error, which
218
+ // leaves the action pending (same contract as a dispatch failure): fix the
219
+ // underlying state and re-approve, or reject. Under RBAC the error names
220
+ // only docs the ratifier can read; a hidden remainder is coarsened
221
+ // (#217 B′), never reported as an exact count.
222
+ // A `write` proposal's payload shape is needed by both the gate and the
223
+ // dispatch — validate it once, up front. A malformed payload errors and
224
+ // leaves the action pending, same contract as a malformed supersede diff.
225
+ let writePayload = null;
226
+ if (action.actionType === "write") {
227
+ if (diff.frontmatter === null || typeof diff.frontmatter !== "object") {
228
+ return err(new Error(`vault_ratify: write action ${id.value} needs proposed_diff.frontmatter`));
229
+ }
230
+ if (typeof diff.body !== "string") {
231
+ return err(new Error(`vault_ratify: write action ${id.value} needs proposed_diff.body`));
232
+ }
233
+ writePayload = { frontmatter: diff.frontmatter, body: diff.body };
234
+ }
235
+ if (action.actionType === "promote" ||
236
+ action.actionType === "deprecate" ||
237
+ action.actionType === "write") {
238
+ const loaded = await loadDocuments(vaultRoot);
239
+ // Fail closed: without the doc set there is no gate, so no dispatch.
240
+ if (!loaded.ok)
241
+ return loaded;
242
+ const visible = access
243
+ ? (d) => canRead(access.role, d.frontmatter.collection)
244
+ : undefined;
245
+ if (action.actionType === "write" && writePayload) {
246
+ // A write proposal whose POST-state is canonical is a promote in one
247
+ // step — hold it to the same tier-0 bar. The post-state is NOT the
248
+ // payload as submitted: vaultWrite's update path merges the payload
249
+ // UNDER the existing frontmatter (#113 — omitted keys are inherited,
250
+ // explicit nulls delete), so gate the same merge. Judging the payload
251
+ // alone has two bypasses: omitted `sources` inherit the on-disk value
252
+ // unseen, and an omitted `status` on an already-canonical doc keeps it
253
+ // canonical while dodging a payload-declared-status check.
254
+ const existing = loaded.value.find((d) => d.path === action.targetPath);
255
+ const mergedRaw = existing
256
+ ? { ...existing.frontmatter }
257
+ : {};
258
+ for (const [key, value] of Object.entries(writePayload.frontmatter)) {
259
+ if (value === null)
260
+ delete mergedRaw[key];
261
+ else
262
+ mergedRaw[key] = value;
263
+ }
264
+ // Validate with the vault's schema extensions, same as the dispatch —
265
+ // without them a required extension field missing from a canonical
266
+ // write proposal would slip past the tier-0 schema check and only fail
267
+ // later with the generic invalid-frontmatter error.
268
+ const gateConfig = loadConfig(vaultRoot);
269
+ if (!gateConfig.ok)
270
+ return gateConfig;
271
+ const { frontmatter, report } = validateFrontmatter(mergedRaw, gateConfig.value.schemaExtensions);
272
+ if (frontmatter.status === "canonical") {
273
+ // Splice the merged post-state in as a synthetic doc (replacing any
274
+ // existing doc at the target) and reuse the promote gate wholesale.
275
+ const synthetic = {
276
+ path: action.targetPath,
277
+ frontmatter,
278
+ content: writePayload.body,
279
+ validation: report,
280
+ };
281
+ const docs = [...loaded.value.filter((d) => d.path !== action.targetPath), synthetic];
282
+ const problems = promoteGateProblems(tier0PromoteGate(docs, action.targetPath, visible));
283
+ if (problems !== null) {
284
+ return err(new Error(`vault_ratify: tier-0 gate blocked canonical write of ${action.targetPath}: ` +
285
+ `${problems} — the action stays pending`));
286
+ }
287
+ }
288
+ else if (existing?.frontmatter.status === "canonical" &&
289
+ !(typeof frontmatter.superseded_by === "string" && frontmatter.superseded_by.length > 0)) {
290
+ // The mirror case: a write whose merged post-state moves an
291
+ // already-canonical doc AWAY from canonical is a deprecate in one
292
+ // step — without a superseded_by forward it strands canonical
293
+ // dependents exactly like an unforwarded staged deprecate, so it
294
+ // gets the same gate. A merged superseded_by provides the
295
+ // resolution path and passes, same as a forwarded deprecate.
296
+ const problems = deprecateGateProblems(tier0DeprecateGate(loaded.value, action.targetPath, visible));
297
+ if (problems !== null) {
298
+ return err(new Error(`vault_ratify: tier-0 gate blocked demoting write of ${action.targetPath} ` +
299
+ `(canonical → ${frontmatter.status}): ${problems} — supersede ` +
300
+ `with a successor or update the dependents first; the action stays pending`));
301
+ }
302
+ }
303
+ }
304
+ else if (action.actionType === "promote") {
305
+ const problems = promoteGateProblems(tier0PromoteGate(loaded.value, action.targetPath, visible));
306
+ if (problems !== null) {
307
+ return err(new Error(`vault_ratify: tier-0 gate blocked promote of ${action.targetPath}: ` +
308
+ `${problems} — the action stays pending`));
309
+ }
310
+ }
311
+ else if (typeof diff.superseded_by !== "string") {
312
+ // A deprecate carrying a superseded_by hint forwards dependents to a
313
+ // successor (same as supersede) — only an unforwarded deprecate can
314
+ // strand canonical dependents on a retired source.
315
+ const problems = deprecateGateProblems(tier0DeprecateGate(loaded.value, action.targetPath, visible));
316
+ if (problems !== null) {
317
+ return err(new Error(`vault_ratify: tier-0 gate blocked deprecate of ${action.targetPath}: ` +
318
+ `${problems} — supersede with a successor or update the ` +
319
+ `dependents first; the action stays pending`));
320
+ }
321
+ }
322
+ }
153
323
  let dispatched;
154
324
  switch (action.actionType) {
325
+ case "write": {
326
+ // Payload validated above (writePayload is always set for this type).
327
+ // The proposer's run_id (stamped at stage time) is carried into the
328
+ // write so provenance correlates the landed content with the run that
329
+ // proposed it (#235 → #233).
330
+ if (!writePayload) {
331
+ return err(new Error(`vault_ratify: write action ${id.value} lost its payload`));
332
+ }
333
+ dispatched = await vaultWrite(vaultRoot, {
334
+ path: action.targetPath,
335
+ frontmatter: writePayload.frontmatter,
336
+ body: writePayload.body,
337
+ agent: principal.value,
338
+ ...(action.runId ? { run_id: action.runId } : {}),
339
+ }, access);
340
+ break;
341
+ }
155
342
  case "promote":
156
343
  dispatched = await vaultPromote(vaultRoot, { path: action.targetPath, agent: principal.value }, access);
157
344
  break;
@@ -199,8 +386,7 @@ export async function vaultRatify(vaultRoot, args, access) {
199
386
  // proposed_diff = { merge_from: [path_a, path_b], body, frontmatter? };
200
387
  // the staged target_path is the merge target.
201
388
  const mergeFrom = Array.isArray(diff.merge_from) ? diff.merge_from : null;
202
- if (!mergeFrom ||
203
- mergeFrom.length !== 2 ||
389
+ if (mergeFrom?.length !== 2 ||
204
390
  typeof mergeFrom[0] !== "string" ||
205
391
  typeof mergeFrom[1] !== "string" ||
206
392
  typeof diff.body !== "string") {
@@ -259,11 +445,15 @@ export const stagedActionTools = [
259
445
  description: "Record a proposed change to the vault for later human ratification via " +
260
446
  "vault_ratify. The action waits in a pending queue and auto-expires after " +
261
447
  "ttl_days (default 14). This is the producer side of the staged-action " +
262
- "queue — normally called by the curation loop, not by a human directly. " +
263
- "Action types: promote, deprecate, supersede, merge, confidence-up. " +
264
- "proposed_diff carries the per-action payload replayed on ratification: " +
265
- "supersede → {superseded_by}, confidence-up → {confidence}, " +
266
- "merge → {merge_from: [path_a, path_b], body, frontmatter?}.",
448
+ "queue — normally called by the curation loop or an agent, not by a human " +
449
+ "directly. Action types: promote, deprecate, supersede, merge, " +
450
+ "confidence-up, write. proposed_diff carries the per-action payload " +
451
+ "replayed on ratification: supersede → {superseded_by}, confidence-up → " +
452
+ "{confidence}, merge → {merge_from: [path_a, path_b], body, frontmatter?}, " +
453
+ "write → {frontmatter, body} (full content; the target may be a new " +
454
+ "document). If other pending proposals already target the same document, " +
455
+ "the new one still lands — both stay pending — and an inter-proposal " +
456
+ "tension is logged; the result carries conflicts_with and tension_id.",
267
457
  inputSchema: {
268
458
  type: "object",
269
459
  properties: {
@@ -294,6 +484,12 @@ export const stagedActionTools = [
294
484
  type: "number",
295
485
  description: "Days until the action auto-expires if not ratified (default 14)",
296
486
  },
487
+ run_id: {
488
+ type: "string",
489
+ description: "Optional trace/run identifier of the proposing run. Recorded on " +
490
+ "the proposal and carried into provenance when a write action is " +
491
+ "ratified.",
492
+ },
297
493
  },
298
494
  required: ["action_type", "target_path", "proposed_by", "rationale", "proposed_diff"],
299
495
  additionalProperties: false,
@@ -307,9 +503,16 @@ export const stagedActionTools = [
307
503
  description: "Approve or reject a single pending staged action. On approve, dispatches " +
308
504
  "to the matching write tool (promote → vault_promote, deprecate → " +
309
505
  "vault_deprecate, supersede → vault_supersede, confidence-up → " +
310
- "vault_set_confidence, merge → vault_merge) and auto-commits. On reject, " +
506
+ "vault_set_confidence, merge → vault_merge, write vault_write) and " +
507
+ "auto-commits. On reject, " +
311
508
  "records the rejection and applies nothing. A dispatch failure leaves the " +
312
- "action pending. Errors if the id is unknown or the action is not pending " +
509
+ "action pending. Approving a promote, an unforwarded deprecate, or a " +
510
+ "write that declares status canonical runs the " +
511
+ "tier-0 gate first (#232): if applying would create a certain structural " +
512
+ "violation (broken source refs, canonical citing draft/deprecated/archived, " +
513
+ "schema-invalid frontmatter, stranded canonical dependents), the approval " +
514
+ "errors and the action stays pending — fix the state and re-approve, or " +
515
+ "reject. Errors if the id is unknown or the action is not pending " +
313
516
  "(already decided or expired). Requires the role's 'ratify' grant. If " +
314
517
  "the vault runs shadow_mode, an approved dispatch is computed and " +
315
518
  "shadow-logged but NOT applied — the result carries shadow: true and " +
@@ -1 +1 @@
1
- {"version":3,"file":"staged-actions.js","sourceRoot":"","sources":["../../src/tools/staged-actions.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,uEAAuE;AACvE,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,+EAA+E;AAC/E,uCAAuC;AACvC,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,4EAA4E;AAC5E,6EAA6E;AAC7E,qEAAqE;AACrE,iEAAiE;AAEjE,OAAO,EAAsB,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EACL,mBAAmB,EACnB,MAAM,EACN,cAAc,EACd,mBAAmB,EAEnB,WAAW,GACZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EACL,cAAc,EACd,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,cAAc,GAEf,MAAM,YAAY,CAAC;AAEpB,SAAS,aAAa,CACpB,IAA6B,EAC7B,KAAa,EACb,IAAY;IAEZ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACtB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,0BAA0B,KAAK,YAAY,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACf,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAiB,EACjB,IAA6B,EAC7B,MAAsB;IAEtB,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;IAC5E,IAAI,CAAC,UAAU,CAAC,EAAE;QAAE,OAAO,UAAU,CAAC;IACtC,IAAI,CAAE,mBAAyC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3E,OAAO,GAAG,CACR,IAAI,KAAK,CACP,oDAAoD,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CACF,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;IAC5E,IAAI,CAAC,UAAU,CAAC,EAAE;QAAE,OAAO,UAAU,CAAC;IACtC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;IAC5E,IAAI,CAAC,UAAU,CAAC,EAAE;QAAE,OAAO,UAAU,CAAC;IACtC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC;IACzE,IAAI,CAAC,SAAS,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAEpC,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QACpE,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/D,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEtD,uEAAuE;IACvE,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,8EAA8E;IAC9E,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IAC7E,8EAA8E;IAC9E,qDAAqD;IACrD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,MAAM,UAAU,GACd,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;YACvC,OAAO,GAAG,CACR,IAAI,KAAK,CACP,wBAAwB,MAAM,CAAC,QAAQ,0CAA0C,UAAU,GAAG,CAC/F,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,kDAAkD,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,OAA2B,CAAC;IAChC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC1D,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzE,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC1B,CAAC;IAED,OAAO,WAAW,CAAC,SAAS,EAAE;QAC5B,UAAU,EAAE,UAAU,CAAC,KAAyB;QAChD,UAAU,EAAE,UAAU,CAAC,KAAK;QAC5B,UAAU,EAAE,UAAU,CAAC,KAAK;QAC5B,SAAS,EAAE,SAAS,CAAC,KAAK;QAC1B,YAAY,EAAE,IAAI,CAAC,aAAa;QAChC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC,CAAC;AACL,CAAC;AAgBD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,SAAiB,EACjB,IAA6B,EAC7B,MAAsB;IAEtB,wEAAwE;IACxE,yEAAyE;IACzE,sDAAsD;IACtD,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,QAAQ,gCAAgC,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IACpE,IAAI,CAAC,WAAW,CAAC,EAAE;QAAE,OAAO,WAAW,CAAC;IACxC,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACtE,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC;IACnC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IACnE,IAAI,CAAC,SAAS,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAEpC,IAAI,MAA0B,CAAC;IAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACtD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,GAAG,OAAO,CAAC;IAC3C,CAAC;IAED,gDAAgD;IAChD,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,wCAAwC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,GAAG,CACR,IAAI,KAAK,CACP,+BAA+B,EAAE,CAAC,KAAK,QAAQ,MAAM,CAAC,MAAM,qBAAqB;YAC/E,uBAAuB,CAC1B,CACF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;IAE3B,2CAA2C;IAC3C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE;YACzD,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,SAAS,CAAC,KAAK;YAC3B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC;QAClC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,sEAAsE;IACtE,+EAA+E;IAC/E,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,IAAI,GACR,MAAM,CAAC,YAAY,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ;QAC5D,CAAC,CAAE,MAAM,CAAC,YAAwC;QAClD,CAAC,CAAC,EAAE,CAAC;IAET,IAAI,UAAsC,CAAC;IAC3C,QAAQ,MAAM,CAAC,UAA8B,EAAE,CAAC;QAC9C,KAAK,SAAS;YACZ,UAAU,GAAG,MAAM,YAAY,CAC7B,SAAS,EACT,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,EACnD,MAAM,CACP,CAAC;YACF,MAAM;QACR,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,aAAa,GAA4B;gBAC7C,IAAI,EAAE,MAAM,CAAC,UAAU;gBACvB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,MAAM,EAAE,MAAM,CAAC,SAAS;aACzB,CAAC;YACF,wEAAwE;YACxE,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;gBAC3C,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACnD,CAAC;YACD,UAAU,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;YACpE,MAAM;QACR,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,kDAAkD;YAClD,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrF,OAAO,GAAG,CACR,IAAI,KAAK,CAAC,kCAAkC,EAAE,CAAC,KAAK,oCAAoC,CAAC,CAC1F,CAAC;YACJ,CAAC;YACD,UAAU,GAAG,MAAM,cAAc,CAC/B,SAAS,EACT;gBACE,QAAQ,EAAE,MAAM,CAAC,UAAU;gBAC3B,QAAQ,EAAE,IAAI,CAAC,aAAa;gBAC5B,MAAM,EAAE,MAAM,CAAC,SAAS;gBACxB,KAAK,EAAE,SAAS,CAAC,KAAK;aACvB,EACD,MAAM,CACP,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,wEAAwE;YACxE,mEAAmE;YACnE,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACxC,OAAO,GAAG,CACR,IAAI,KAAK,CACP,sCAAsC,EAAE,CAAC,KAAK,iCAAiC,CAChF,CACF,CAAC;YACJ,CAAC;YACD,UAAU,GAAG,MAAM,kBAAkB,CACnC,SAAS,EACT;gBACE,IAAI,EAAE,MAAM,CAAC,UAAU;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,MAAM,EAAE,MAAM,CAAC,SAAS;gBACxB,KAAK,EAAE,SAAS,CAAC,KAAK;aACvB,EACD,MAAM,CACP,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,wEAAwE;YACxE,8CAA8C;YAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1E,IACE,CAAC,SAAS;gBACV,SAAS,CAAC,MAAM,KAAK,CAAC;gBACtB,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ;gBAChC,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ;gBAChC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAC7B,CAAC;gBACD,OAAO,GAAG,CACR,IAAI,KAAK,CACP,8BAA8B,EAAE,CAAC,KAAK,kCAAkC;oBACtE,oCAAoC,CACvC,CACF,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAA4B;gBACzC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;gBACpB,WAAW,EAAE,MAAM,CAAC,UAAU;gBAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,SAAS,CAAC,KAAK;aACvB,CAAC;YACF,IAAI,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC7D,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3C,CAAC;YACD,UAAU,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAC5D,MAAM;QACR,CAAC;QACD;YACE,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,8CAA8C,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,EAAE;QAAE,OAAO,UAAU,CAAC;IAEtC,6EAA6E;IAC7E,2EAA2E;IAC3E,0EAA0E;IAC1E,0CAA0C;IAC1C,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE;QACzD,MAAM,EAAE,UAAU;QAClB,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS,CAAC,KAAK;QAC3B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC;IAElC,OAAO,EAAE,CAAC;QACR,SAAS,EAAE,EAAE,CAAC,KAAK;QACnB,QAAQ;QACR,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,iBAAiB,GAAqB;IACjD;QACE,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,kCAAkC;QACzC,WAAW,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;QACvC,WAAW,EACT,yEAAyE;YACzE,2EAA2E;YAC3E,wEAAwE;YACxE,yEAAyE;YACzE,qEAAqE;YACrE,yEAAyE;YACzE,6DAA6D;YAC7D,6DAA6D;QAC/D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,GAAG,mBAAmB,CAAC;oBAC9B,WAAW,EAAE,mCAAmC;iBACjD;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wDAAwD;iBACtE;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4DAA4D;iBAC1E;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yDAAyD;iBACvE;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,mEAAmE;wBACnE,+DAA+D;oBACjE,oBAAoB,EAAE,IAAI;iBAC3B;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iEAAiE;iBAC/E;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC;YACrF,oBAAoB,EAAE,KAAK;SAC5B;QACD,OAAO,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC;KAChF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,mCAAmC;QAC1C,WAAW,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;QACtC,WAAW,EACT,2EAA2E;YAC3E,mEAAmE;YACnE,gEAAgE;YAChE,0EAA0E;YAC1E,2EAA2E;YAC3E,2EAA2E;YAC3E,uEAAuE;YACvE,mEAAmE;YACnE,sEAAsE;YACtE,yDAAyD;QAC3D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qDAAqD;iBACnE;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;oBAC3B,WAAW,EAAE,iDAAiD;iBAC/D;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4EAA4E;iBAC1F;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sDAAsD;iBACpE;aACF;YACD,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC;YACzC,oBAAoB,EAAE,KAAK;SAC5B;QACD,OAAO,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC;KAC3E;CACF,CAAC"}
1
+ {"version":3,"file":"staged-actions.js","sourceRoot":"","sources":["../../src/tools/staged-actions.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,10 @@ import { type AccessContext } from "../access/rbac.js";
2
2
  import { type Result } from "../frontmatter/types.js";
3
3
  import type { ToolDefinition } from "./read.js";
4
4
  export interface VaultTheme {
5
+ id: number;
5
6
  label: string;
6
7
  documentCount: number;
8
+ primaryDocumentCount: number;
7
9
  coherence: number | null;
8
10
  representativeDocs: string[];
9
11
  secondaryDocs: string[];
@@ -11,9 +13,15 @@ export interface VaultTheme {
11
13
  }
12
14
  export interface VaultThemesResult {
13
15
  themes: VaultTheme[];
16
+ docMemberships: Record<string, {
17
+ theme: number;
18
+ weight: number;
19
+ }[]>;
14
20
  totalDocuments: number;
21
+ totalChunks: number;
15
22
  skippedDocuments: number;
16
23
  selectedK: number;
24
+ droppedClusters: number;
17
25
  clusteredAt: string;
18
26
  }
19
27
  export declare function __resetThemesCache(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../src/tools/themes.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,aAAa,EAAW,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAW/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAuChD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IAKtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAM7B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAiJD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAsPD,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,iBAAiB,EAAE,KAAK,CAAC,CAAC,CA2I3C;AAMD,eAAO,MAAM,WAAW,EAAE,cAAc,EAuCvC,CAAC"}
1
+ {"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../src/tools/themes.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,KAAK,aAAa,EAAW,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAW/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA6ChD,MAAM,WAAW,UAAU;IAIzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IAId,aAAa,EAAE,MAAM,CAAC;IAGtB,oBAAoB,EAAE,MAAM,CAAC;IAM7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAKzB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAI7B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,EAAE,CAAC;IAOrB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IACpE,cAAc,EAAE,MAAM,CAAC;IAGvB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IASlB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAmJD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAqPD,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,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAkO3C;AAMD,eAAO,MAAM,WAAW,EAAE,cAAc,EA0CvC,CAAC"}