daftari 1.29.0 → 1.31.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 (369) hide show
  1. package/CHANGELOG.md +281 -0
  2. package/README.md +263 -9
  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/asof/git-read.d.ts +17 -0
  8. package/dist/asof/git-read.d.ts.map +1 -0
  9. package/dist/asof/git-read.js +163 -0
  10. package/dist/asof/git-read.js.map +1 -0
  11. package/dist/asof/index.d.ts +2 -0
  12. package/dist/asof/index.d.ts.map +1 -0
  13. package/dist/asof/index.js +151 -0
  14. package/dist/asof/index.js.map +1 -0
  15. package/dist/asof/report.d.ts +11 -0
  16. package/dist/asof/report.d.ts.map +1 -0
  17. package/dist/asof/report.js +119 -0
  18. package/dist/asof/report.js.map +1 -0
  19. package/dist/asof/snapshot.d.ts +72 -0
  20. package/dist/asof/snapshot.d.ts.map +1 -0
  21. package/dist/asof/snapshot.js +207 -0
  22. package/dist/asof/snapshot.js.map +1 -0
  23. package/dist/audit/checks/broken_refs.d.ts +1 -1
  24. package/dist/audit/checks/broken_refs.d.ts.map +1 -1
  25. package/dist/audit/checks/broken_refs.js +77 -22
  26. package/dist/audit/checks/broken_refs.js.map +1 -1
  27. package/dist/audit/collect.d.ts +1 -0
  28. package/dist/audit/collect.d.ts.map +1 -1
  29. package/dist/audit/collect.js +22 -2
  30. package/dist/audit/collect.js.map +1 -1
  31. package/dist/audit/index.d.ts.map +1 -1
  32. package/dist/audit/index.js +9 -3
  33. package/dist/audit/index.js.map +1 -1
  34. package/dist/audit/links.d.ts.map +1 -1
  35. package/dist/audit/links.js +9 -3
  36. package/dist/audit/links.js.map +1 -1
  37. package/dist/audit/report.d.ts.map +1 -1
  38. package/dist/audit/report.js +2 -0
  39. package/dist/audit/report.js.map +1 -1
  40. package/dist/audit/types.d.ts +4 -1
  41. package/dist/audit/types.d.ts.map +1 -1
  42. package/dist/audit/types.js.map +1 -1
  43. package/dist/backfill/apply.js +2 -2
  44. package/dist/backfill/apply.js.map +1 -1
  45. package/dist/backfill/derive.d.ts.map +1 -1
  46. package/dist/backfill/derive.js +1 -0
  47. package/dist/backfill/derive.js.map +1 -1
  48. package/dist/backfill/plan.js +2 -2
  49. package/dist/backfill/plan.js.map +1 -1
  50. package/dist/cli.d.ts.map +1 -1
  51. package/dist/cli.js +36 -0
  52. package/dist/cli.js.map +1 -1
  53. package/dist/consolidate/call-budget.d.ts +3 -0
  54. package/dist/consolidate/call-budget.d.ts.map +1 -0
  55. package/dist/consolidate/call-budget.js +37 -0
  56. package/dist/consolidate/call-budget.js.map +1 -0
  57. package/dist/consolidate/constants.d.ts +1 -0
  58. package/dist/consolidate/constants.d.ts.map +1 -1
  59. package/dist/consolidate/constants.js +5 -0
  60. package/dist/consolidate/constants.js.map +1 -1
  61. package/dist/consolidate/index.d.ts.map +1 -1
  62. package/dist/consolidate/index.js +96 -27
  63. package/dist/consolidate/index.js.map +1 -1
  64. package/dist/court/docket.d.ts +39 -0
  65. package/dist/court/docket.d.ts.map +1 -0
  66. package/dist/court/docket.js +103 -0
  67. package/dist/court/docket.js.map +1 -0
  68. package/dist/court/index.d.ts +2 -0
  69. package/dist/court/index.d.ts.map +1 -0
  70. package/dist/court/index.js +169 -0
  71. package/dist/court/index.js.map +1 -0
  72. package/dist/court/precedent.d.ts +18 -0
  73. package/dist/court/precedent.d.ts.map +1 -0
  74. package/dist/court/precedent.js +89 -0
  75. package/dist/court/precedent.js.map +1 -0
  76. package/dist/court/report.d.ts +10 -0
  77. package/dist/court/report.d.ts.map +1 -0
  78. package/dist/court/report.js +77 -0
  79. package/dist/court/report.js.map +1 -0
  80. package/dist/curation/consumes.d.ts +24 -0
  81. package/dist/curation/consumes.d.ts.map +1 -0
  82. package/dist/curation/consumes.js +122 -0
  83. package/dist/curation/consumes.js.map +1 -0
  84. package/dist/curation/edge-staleness.d.ts +47 -0
  85. package/dist/curation/edge-staleness.d.ts.map +1 -0
  86. package/dist/curation/edge-staleness.js +258 -0
  87. package/dist/curation/edge-staleness.js.map +1 -0
  88. package/dist/curation/edges.d.ts.map +1 -1
  89. package/dist/curation/edges.js +164 -10
  90. package/dist/curation/edges.js.map +1 -1
  91. package/dist/curation/lint.d.ts +4 -1
  92. package/dist/curation/lint.d.ts.map +1 -1
  93. package/dist/curation/lint.js +61 -6
  94. package/dist/curation/lint.js.map +1 -1
  95. package/dist/curation/provenance.d.ts +2 -0
  96. package/dist/curation/provenance.d.ts.map +1 -1
  97. package/dist/curation/provenance.js +2 -0
  98. package/dist/curation/provenance.js.map +1 -1
  99. package/dist/curation/read-log.d.ts +19 -0
  100. package/dist/curation/read-log.d.ts.map +1 -0
  101. package/dist/curation/read-log.js +120 -0
  102. package/dist/curation/read-log.js.map +1 -0
  103. package/dist/curation/review-throughput.d.ts +24 -0
  104. package/dist/curation/review-throughput.d.ts.map +1 -0
  105. package/dist/curation/review-throughput.js +102 -0
  106. package/dist/curation/review-throughput.js.map +1 -0
  107. package/dist/curation/staged-actions.d.ts +11 -1
  108. package/dist/curation/staged-actions.d.ts.map +1 -1
  109. package/dist/curation/staged-actions.js +117 -30
  110. package/dist/curation/staged-actions.js.map +1 -1
  111. package/dist/curation/staleness.js +1 -1
  112. package/dist/curation/staleness.js.map +1 -1
  113. package/dist/curation/structural.d.ts +16 -0
  114. package/dist/curation/structural.d.ts.map +1 -0
  115. package/dist/curation/structural.js +64 -0
  116. package/dist/curation/structural.js.map +1 -0
  117. package/dist/curation/tension-access.d.ts +7 -0
  118. package/dist/curation/tension-access.d.ts.map +1 -0
  119. package/dist/curation/tension-access.js +44 -0
  120. package/dist/curation/tension-access.js.map +1 -0
  121. package/dist/curation/tension-blast.d.ts +6 -1
  122. package/dist/curation/tension-blast.d.ts.map +1 -1
  123. package/dist/curation/tension-blast.js +11 -2
  124. package/dist/curation/tension-blast.js.map +1 -1
  125. package/dist/curation/tension-clusters.d.ts +1 -1
  126. package/dist/curation/tension-clusters.d.ts.map +1 -1
  127. package/dist/curation/tension-clusters.js +5 -2
  128. package/dist/curation/tension-clusters.js.map +1 -1
  129. package/dist/curation/tension.d.ts +6 -2
  130. package/dist/curation/tension.d.ts.map +1 -1
  131. package/dist/curation/tension.js +86 -35
  132. package/dist/curation/tension.js.map +1 -1
  133. package/dist/curation/tier0.d.ts +27 -0
  134. package/dist/curation/tier0.d.ts.map +1 -0
  135. package/dist/curation/tier0.js +196 -0
  136. package/dist/curation/tier0.js.map +1 -0
  137. package/dist/curation/tier1.d.ts +30 -0
  138. package/dist/curation/tier1.d.ts.map +1 -0
  139. package/dist/curation/tier1.js +142 -0
  140. package/dist/curation/tier1.js.map +1 -0
  141. package/dist/curation/tier2.d.ts +43 -0
  142. package/dist/curation/tier2.d.ts.map +1 -0
  143. package/dist/curation/tier2.js +182 -0
  144. package/dist/curation/tier2.js.map +1 -0
  145. package/dist/curation/vault-docs.d.ts +5 -1
  146. package/dist/curation/vault-docs.d.ts.map +1 -1
  147. package/dist/curation/vault-docs.js +15 -1
  148. package/dist/curation/vault-docs.js.map +1 -1
  149. package/dist/eval/generate.js +22 -5
  150. package/dist/eval/generate.js.map +1 -1
  151. package/dist/eval/index.d.ts.map +1 -1
  152. package/dist/eval/index.js +173 -25
  153. package/dist/eval/index.js.map +1 -1
  154. package/dist/eval/llm-openrouter.d.ts +9 -0
  155. package/dist/eval/llm-openrouter.d.ts.map +1 -0
  156. package/dist/eval/llm-openrouter.js +171 -0
  157. package/dist/eval/llm-openrouter.js.map +1 -0
  158. package/dist/eval/llm.js +1 -1
  159. package/dist/eval/llm.js.map +1 -1
  160. package/dist/eval/prune.d.ts +24 -0
  161. package/dist/eval/prune.d.ts.map +1 -0
  162. package/dist/eval/prune.js +83 -0
  163. package/dist/eval/prune.js.map +1 -0
  164. package/dist/eval/storage.d.ts +3 -0
  165. package/dist/eval/storage.d.ts.map +1 -1
  166. package/dist/eval/storage.js +14 -0
  167. package/dist/eval/storage.js.map +1 -1
  168. package/dist/frontmatter/parser.d.ts +1 -0
  169. package/dist/frontmatter/parser.d.ts.map +1 -1
  170. package/dist/frontmatter/parser.js +12 -0
  171. package/dist/frontmatter/parser.js.map +1 -1
  172. package/dist/frontmatter/schema.d.ts.map +1 -1
  173. package/dist/frontmatter/schema.js +38 -3
  174. package/dist/frontmatter/schema.js.map +1 -1
  175. package/dist/frontmatter/types.d.ts +4 -1
  176. package/dist/frontmatter/types.d.ts.map +1 -1
  177. package/dist/frontmatter/types.js +8 -0
  178. package/dist/frontmatter/types.js.map +1 -1
  179. package/dist/import/index.d.ts.map +1 -1
  180. package/dist/import/index.js +44 -9
  181. package/dist/import/index.js.map +1 -1
  182. package/dist/import/langgraph-store.d.ts +53 -0
  183. package/dist/import/langgraph-store.d.ts.map +1 -0
  184. package/dist/import/langgraph-store.js +292 -0
  185. package/dist/import/langgraph-store.js.map +1 -0
  186. package/dist/index.d.ts +5 -0
  187. package/dist/index.d.ts.map +1 -1
  188. package/dist/index.js +56 -18
  189. package/dist/index.js.map +1 -1
  190. package/dist/lifecycle/lock.d.ts +9 -1
  191. package/dist/lifecycle/lock.d.ts.map +1 -1
  192. package/dist/lifecycle/lock.js +34 -9
  193. package/dist/lifecycle/lock.js.map +1 -1
  194. package/dist/okf/export.d.ts +12 -0
  195. package/dist/okf/export.d.ts.map +1 -0
  196. package/dist/okf/export.js +115 -0
  197. package/dist/okf/export.js.map +1 -0
  198. package/dist/okf/import.d.ts +24 -0
  199. package/dist/okf/import.d.ts.map +1 -0
  200. package/dist/okf/import.js +107 -0
  201. package/dist/okf/import.js.map +1 -0
  202. package/dist/okf/index.d.ts +2 -0
  203. package/dist/okf/index.d.ts.map +1 -0
  204. package/dist/okf/index.js +147 -0
  205. package/dist/okf/index.js.map +1 -0
  206. package/dist/okf/map.d.ts +16 -0
  207. package/dist/okf/map.d.ts.map +1 -0
  208. package/dist/okf/map.js +149 -0
  209. package/dist/okf/map.js.map +1 -0
  210. package/dist/okf/types.d.ts +9 -0
  211. package/dist/okf/types.d.ts.map +1 -0
  212. package/dist/okf/types.js +48 -0
  213. package/dist/okf/types.js.map +1 -0
  214. package/dist/search/contested.d.ts +18 -0
  215. package/dist/search/contested.d.ts.map +1 -0
  216. package/dist/search/contested.js +119 -0
  217. package/dist/search/contested.js.map +1 -0
  218. package/dist/search/coverage.d.ts.map +1 -1
  219. package/dist/search/coverage.js +1 -1
  220. package/dist/search/coverage.js.map +1 -1
  221. package/dist/search/hybrid.d.ts +23 -0
  222. package/dist/search/hybrid.d.ts.map +1 -1
  223. package/dist/search/hybrid.js +75 -15
  224. package/dist/search/hybrid.js.map +1 -1
  225. package/dist/search/reindex.d.ts +1 -0
  226. package/dist/search/reindex.d.ts.map +1 -1
  227. package/dist/search/reindex.js +57 -24
  228. package/dist/search/reindex.js.map +1 -1
  229. package/dist/search/watcher.d.ts +2 -0
  230. package/dist/search/watcher.d.ts.map +1 -1
  231. package/dist/search/watcher.js +23 -12
  232. package/dist/search/watcher.js.map +1 -1
  233. package/dist/serve/index.d.ts +36 -0
  234. package/dist/serve/index.d.ts.map +1 -0
  235. package/dist/serve/index.js +507 -0
  236. package/dist/serve/index.js.map +1 -0
  237. package/dist/server.d.ts +10 -1
  238. package/dist/server.d.ts.map +1 -1
  239. package/dist/server.js +91 -12
  240. package/dist/server.js.map +1 -1
  241. package/dist/sleep/cycle.d.ts +59 -0
  242. package/dist/sleep/cycle.d.ts.map +1 -0
  243. package/dist/sleep/cycle.js +127 -0
  244. package/dist/sleep/cycle.js.map +1 -0
  245. package/dist/sleep/index.d.ts +5 -0
  246. package/dist/sleep/index.d.ts.map +1 -0
  247. package/dist/sleep/index.js +320 -0
  248. package/dist/sleep/index.js.map +1 -0
  249. package/dist/sleep/report.d.ts +14 -0
  250. package/dist/sleep/report.d.ts.map +1 -0
  251. package/dist/sleep/report.js +139 -0
  252. package/dist/sleep/report.js.map +1 -0
  253. package/dist/sleep/tension-scan-state.d.ts +19 -0
  254. package/dist/sleep/tension-scan-state.d.ts.map +1 -0
  255. package/dist/sleep/tension-scan-state.js +0 -0
  256. package/dist/sleep/tension-scan-state.js.map +1 -0
  257. package/dist/sleep/tension-scan.d.ts +44 -0
  258. package/dist/sleep/tension-scan.d.ts.map +1 -0
  259. package/dist/sleep/tension-scan.js +0 -0
  260. package/dist/sleep/tension-scan.js.map +1 -0
  261. package/dist/storage/backend.d.ts +12 -0
  262. package/dist/storage/backend.d.ts.map +1 -0
  263. package/dist/storage/backend.js +231 -0
  264. package/dist/storage/backend.js.map +1 -0
  265. package/dist/storage/backends/fs.d.ts +4 -0
  266. package/dist/storage/backends/fs.d.ts.map +1 -0
  267. package/dist/storage/backends/fs.js +99 -0
  268. package/dist/storage/backends/fs.js.map +1 -0
  269. package/dist/storage/fs-walk.d.ts +5 -0
  270. package/dist/storage/fs-walk.d.ts.map +1 -0
  271. package/dist/storage/fs-walk.js +28 -0
  272. package/dist/storage/fs-walk.js.map +1 -0
  273. package/dist/storage/index-db.d.ts +18 -0
  274. package/dist/storage/index-db.d.ts.map +1 -1
  275. package/dist/storage/index-db.js +159 -22
  276. package/dist/storage/index-db.js.map +1 -1
  277. package/dist/storage/local.d.ts +7 -1
  278. package/dist/storage/local.d.ts.map +1 -1
  279. package/dist/storage/local.js +42 -4
  280. package/dist/storage/local.js.map +1 -1
  281. package/dist/storage/sync.d.ts +25 -0
  282. package/dist/storage/sync.d.ts.map +1 -0
  283. package/dist/storage/sync.js +308 -0
  284. package/dist/storage/sync.js.map +1 -0
  285. package/dist/sync/index.d.ts +2 -0
  286. package/dist/sync/index.d.ts.map +1 -0
  287. package/dist/sync/index.js +136 -0
  288. package/dist/sync/index.js.map +1 -0
  289. package/dist/themes/clustering.d.ts +6 -11
  290. package/dist/themes/clustering.d.ts.map +1 -1
  291. package/dist/themes/clustering.js +76 -84
  292. package/dist/themes/clustering.js.map +1 -1
  293. package/dist/tools/consumes.d.ts +14 -0
  294. package/dist/tools/consumes.d.ts.map +1 -0
  295. package/dist/tools/consumes.js +99 -0
  296. package/dist/tools/consumes.js.map +1 -0
  297. package/dist/tools/curation.d.ts +2 -0
  298. package/dist/tools/curation.d.ts.map +1 -1
  299. package/dist/tools/curation.js +102 -7
  300. package/dist/tools/curation.js.map +1 -1
  301. package/dist/tools/edge-staleness.d.ts +28 -0
  302. package/dist/tools/edge-staleness.d.ts.map +1 -0
  303. package/dist/tools/edge-staleness.js +205 -0
  304. package/dist/tools/edge-staleness.js.map +1 -0
  305. package/dist/tools/edges.d.ts.map +1 -1
  306. package/dist/tools/edges.js +28 -22
  307. package/dist/tools/edges.js.map +1 -1
  308. package/dist/tools/read.d.ts +15 -1
  309. package/dist/tools/read.d.ts.map +1 -1
  310. package/dist/tools/read.js +144 -31
  311. package/dist/tools/read.js.map +1 -1
  312. package/dist/tools/receipt.d.ts +65 -0
  313. package/dist/tools/receipt.d.ts.map +1 -0
  314. package/dist/tools/receipt.js +257 -0
  315. package/dist/tools/receipt.js.map +1 -0
  316. package/dist/tools/search.d.ts +1 -0
  317. package/dist/tools/search.d.ts.map +1 -1
  318. package/dist/tools/search.js +186 -12
  319. package/dist/tools/search.js.map +1 -1
  320. package/dist/tools/staged-actions.d.ts +3 -0
  321. package/dist/tools/staged-actions.d.ts.map +1 -1
  322. package/dist/tools/staged-actions.js +228 -23
  323. package/dist/tools/staged-actions.js.map +1 -1
  324. package/dist/tools/themes.d.ts +9 -0
  325. package/dist/tools/themes.d.ts.map +1 -1
  326. package/dist/tools/themes.js +333 -133
  327. package/dist/tools/themes.js.map +1 -1
  328. package/dist/tools/tier1.d.ts +14 -0
  329. package/dist/tools/tier1.d.ts.map +1 -0
  330. package/dist/tools/tier1.js +169 -0
  331. package/dist/tools/tier1.js.map +1 -0
  332. package/dist/tools/tier2.d.ts +27 -0
  333. package/dist/tools/tier2.d.ts.map +1 -0
  334. package/dist/tools/tier2.js +344 -0
  335. package/dist/tools/tier2.js.map +1 -0
  336. package/dist/tools/witness.d.ts +9 -0
  337. package/dist/tools/witness.d.ts.map +1 -0
  338. package/dist/tools/witness.js +66 -0
  339. package/dist/tools/witness.js.map +1 -0
  340. package/dist/tools/write.d.ts +9 -1
  341. package/dist/tools/write.d.ts.map +1 -1
  342. package/dist/tools/write.js +593 -59
  343. package/dist/tools/write.js.map +1 -1
  344. package/dist/utils/config.d.ts +54 -0
  345. package/dist/utils/config.d.ts.map +1 -1
  346. package/dist/utils/config.js +420 -4
  347. package/dist/utils/config.js.map +1 -1
  348. package/dist/utils/paths.d.ts +2 -0
  349. package/dist/utils/paths.d.ts.map +1 -0
  350. package/dist/utils/paths.js +15 -0
  351. package/dist/utils/paths.js.map +1 -0
  352. package/dist/utils/redos.d.ts +2 -0
  353. package/dist/utils/redos.d.ts.map +1 -0
  354. package/dist/utils/redos.js +101 -0
  355. package/dist/utils/redos.js.map +1 -0
  356. package/dist/utils/run-id.d.ts +3 -0
  357. package/dist/utils/run-id.d.ts.map +1 -0
  358. package/dist/utils/run-id.js +19 -0
  359. package/dist/utils/run-id.js.map +1 -0
  360. package/dist/utils/vault-gitignore.d.ts +1 -1
  361. package/dist/utils/vault-gitignore.d.ts.map +1 -1
  362. package/dist/utils/vault-gitignore.js +6 -1
  363. package/dist/utils/vault-gitignore.js.map +1 -1
  364. package/dist/witness/track-record.d.ts +42 -0
  365. package/dist/witness/track-record.d.ts.map +1 -0
  366. package/dist/witness/track-record.js +189 -0
  367. package/dist/witness/track-record.js.map +1 -0
  368. package/package.json +27 -2
  369. 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,10 +50,26 @@ 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;
50
- const exists = await readFile(resolved.value);
72
+ const exists = await readFile(resolved.value.absPath);
51
73
  // RBAC (S2): staging proposes a mutation to the target document, so it
52
74
  // requires WRITE access to that document's collection — not merely any read
53
75
  // grant. vault_ratify re-checks the `ratify` grant and the inner write tools
@@ -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,12 +109,16 @@ 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
  }
@@ -96,6 +129,15 @@ export async function vaultRatify(vaultRoot, args, access) {
96
129
  if (access && !canRatify(access.role)) {
97
130
  return err(new Error(`access denied: role '${access.roleName}' cannot ratify staged actions`));
98
131
  }
132
+ // A propose-only role must never ratify, even if a hand-built role grants
133
+ // both (config load rejects the combination, but AccessContexts constructed
134
+ // in code bypass that). Without this, approving a `write` action would be
135
+ // coerced by vaultWrite's propose-only path into staging a NEW proposal
136
+ // while the original got marked ratified/applied — a silent no-op.
137
+ if (access && isProposeOnly(access.role)) {
138
+ return err(new Error(`access denied: role '${access.roleName}' is propose-only — it cannot ` +
139
+ `ratify staged actions`));
140
+ }
99
141
  const id = requireString(args, "id", "vault_ratify");
100
142
  if (!id.ok)
101
143
  return id;
@@ -150,8 +192,155 @@ export async function vaultRatify(vaultRoot, args, access) {
150
192
  const diff = action.proposedDiff && typeof action.proposedDiff === "object"
151
193
  ? action.proposedDiff
152
194
  : {};
195
+ // Tier 0 ratify gate (#232; quick win 1 of #236). Ratification is already a
196
+ // gate, so blocking here does not violate the advisory-curation rule — the
197
+ // direct write tools stay unblocked. A blocked approval is an error, which
198
+ // leaves the action pending (same contract as a dispatch failure): fix the
199
+ // underlying state and re-approve, or reject. Under RBAC the error names
200
+ // only docs the ratifier can read; a hidden remainder is coarsened
201
+ // (#217 B′), never reported as an exact count.
202
+ // A `write` proposal's payload shape is needed by both the gate and the
203
+ // dispatch — validate it once, up front. A malformed payload errors and
204
+ // leaves the action pending, same contract as a malformed supersede diff.
205
+ let writePayload = null;
206
+ if (action.actionType === "write") {
207
+ if (diff.frontmatter === null || typeof diff.frontmatter !== "object") {
208
+ return err(new Error(`vault_ratify: write action ${id.value} needs proposed_diff.frontmatter`));
209
+ }
210
+ if (typeof diff.body !== "string") {
211
+ return err(new Error(`vault_ratify: write action ${id.value} needs proposed_diff.body`));
212
+ }
213
+ writePayload = { frontmatter: diff.frontmatter, body: diff.body };
214
+ }
215
+ if (action.actionType === "promote" ||
216
+ action.actionType === "deprecate" ||
217
+ action.actionType === "write") {
218
+ const loaded = await loadDocuments(vaultRoot);
219
+ // Fail closed: without the doc set there is no gate, so no dispatch.
220
+ if (!loaded.ok)
221
+ return loaded;
222
+ const visible = access
223
+ ? (d) => canRead(access.role, d.frontmatter.collection)
224
+ : undefined;
225
+ if (action.actionType === "write" && writePayload) {
226
+ // A write proposal whose POST-state is canonical is a promote in one
227
+ // step — hold it to the same tier-0 bar. The post-state is NOT the
228
+ // payload as submitted: vaultWrite's update path merges the payload
229
+ // UNDER the existing frontmatter (#113 — omitted keys are inherited,
230
+ // explicit nulls delete), so gate the same merge. Judging the payload
231
+ // alone has two bypasses: omitted `sources` inherit the on-disk value
232
+ // unseen, and an omitted `status` on an already-canonical doc keeps it
233
+ // canonical while dodging a payload-declared-status check.
234
+ const existing = loaded.value.find((d) => d.path === action.targetPath);
235
+ const mergedRaw = existing
236
+ ? { ...existing.frontmatter }
237
+ : {};
238
+ for (const [key, value] of Object.entries(writePayload.frontmatter)) {
239
+ if (value === null)
240
+ delete mergedRaw[key];
241
+ else
242
+ mergedRaw[key] = value;
243
+ }
244
+ // Validate with the vault's schema extensions, same as the dispatch —
245
+ // without them a required extension field missing from a canonical
246
+ // write proposal would slip past the tier-0 schema check and only fail
247
+ // later with the generic invalid-frontmatter error.
248
+ const gateConfig = loadConfig(vaultRoot);
249
+ if (!gateConfig.ok)
250
+ return gateConfig;
251
+ const { frontmatter, report } = validateFrontmatter(mergedRaw, gateConfig.value.schemaExtensions);
252
+ if (frontmatter.status === "canonical") {
253
+ // Splice the merged post-state in as a synthetic doc (replacing any
254
+ // existing doc at the target) and reuse the promote gate wholesale.
255
+ const synthetic = {
256
+ path: action.targetPath,
257
+ frontmatter,
258
+ content: writePayload.body,
259
+ validation: report,
260
+ };
261
+ const docs = [...loaded.value.filter((d) => d.path !== action.targetPath), synthetic];
262
+ const gate = tier0PromoteGate(docs, action.targetPath, visible);
263
+ const problems = [...gate.violations];
264
+ if (gate.hiddenConflicts > 0) {
265
+ problems.push(`non-canonical sources hidden from your role: ${bucketHiddenDownstream(gate.hiddenConflicts)}`);
266
+ }
267
+ if (problems.length > 0) {
268
+ return err(new Error(`vault_ratify: tier-0 gate blocked canonical write of ${action.targetPath}: ` +
269
+ `${problems.join("; ")} — the action stays pending`));
270
+ }
271
+ }
272
+ else if (existing?.frontmatter.status === "canonical" &&
273
+ !(typeof frontmatter.superseded_by === "string" && frontmatter.superseded_by.length > 0)) {
274
+ // The mirror case: a write whose merged post-state moves an
275
+ // already-canonical doc AWAY from canonical is a deprecate in one
276
+ // step — without a superseded_by forward it strands canonical
277
+ // dependents exactly like an unforwarded staged deprecate, so it
278
+ // gets the same gate. A merged superseded_by provides the
279
+ // resolution path and passes, same as a forwarded deprecate.
280
+ const gate = tier0DeprecateGate(loaded.value, action.targetPath, visible);
281
+ const problems = [];
282
+ if (gate.dependents.length > 0) {
283
+ problems.push(`cited as a source by canonical: ${gate.dependents.join(", ")}`);
284
+ }
285
+ if (gate.hiddenDependents > 0) {
286
+ problems.push(`hidden canonical dependents: ${bucketHiddenDownstream(gate.hiddenDependents)}`);
287
+ }
288
+ if (problems.length > 0) {
289
+ return err(new Error(`vault_ratify: tier-0 gate blocked demoting write of ${action.targetPath} ` +
290
+ `(canonical → ${frontmatter.status}): ${problems.join("; ")} — supersede ` +
291
+ `with a successor or update the dependents first; the action stays pending`));
292
+ }
293
+ }
294
+ }
295
+ else if (action.actionType === "promote") {
296
+ const gate = tier0PromoteGate(loaded.value, action.targetPath, visible);
297
+ const problems = [...gate.violations];
298
+ if (gate.hiddenConflicts > 0) {
299
+ problems.push(`non-canonical sources hidden from your role: ${bucketHiddenDownstream(gate.hiddenConflicts)}`);
300
+ }
301
+ if (problems.length > 0) {
302
+ return err(new Error(`vault_ratify: tier-0 gate blocked promote of ${action.targetPath}: ` +
303
+ `${problems.join("; ")} — the action stays pending`));
304
+ }
305
+ }
306
+ else if (typeof diff.superseded_by !== "string") {
307
+ // A deprecate carrying a superseded_by hint forwards dependents to a
308
+ // successor (same as supersede) — only an unforwarded deprecate can
309
+ // strand canonical dependents on a retired source.
310
+ const gate = tier0DeprecateGate(loaded.value, action.targetPath, visible);
311
+ const problems = [];
312
+ if (gate.dependents.length > 0) {
313
+ problems.push(`cited as a source by canonical: ${gate.dependents.join(", ")}`);
314
+ }
315
+ if (gate.hiddenDependents > 0) {
316
+ problems.push(`hidden canonical dependents: ${bucketHiddenDownstream(gate.hiddenDependents)}`);
317
+ }
318
+ if (problems.length > 0) {
319
+ return err(new Error(`vault_ratify: tier-0 gate blocked deprecate of ${action.targetPath}: ` +
320
+ `${problems.join("; ")} — supersede with a successor or update the ` +
321
+ `dependents first; the action stays pending`));
322
+ }
323
+ }
324
+ }
153
325
  let dispatched;
154
326
  switch (action.actionType) {
327
+ case "write": {
328
+ // Payload validated above (writePayload is always set for this type).
329
+ // The proposer's run_id (stamped at stage time) is carried into the
330
+ // write so provenance correlates the landed content with the run that
331
+ // proposed it (#235 → #233).
332
+ if (!writePayload) {
333
+ return err(new Error(`vault_ratify: write action ${id.value} lost its payload`));
334
+ }
335
+ dispatched = await vaultWrite(vaultRoot, {
336
+ path: action.targetPath,
337
+ frontmatter: writePayload.frontmatter,
338
+ body: writePayload.body,
339
+ agent: principal.value,
340
+ ...(action.runId ? { run_id: action.runId } : {}),
341
+ }, access);
342
+ break;
343
+ }
155
344
  case "promote":
156
345
  dispatched = await vaultPromote(vaultRoot, { path: action.targetPath, agent: principal.value }, access);
157
346
  break;
@@ -199,8 +388,7 @@ export async function vaultRatify(vaultRoot, args, access) {
199
388
  // proposed_diff = { merge_from: [path_a, path_b], body, frontmatter? };
200
389
  // the staged target_path is the merge target.
201
390
  const mergeFrom = Array.isArray(diff.merge_from) ? diff.merge_from : null;
202
- if (!mergeFrom ||
203
- mergeFrom.length !== 2 ||
391
+ if (mergeFrom?.length !== 2 ||
204
392
  typeof mergeFrom[0] !== "string" ||
205
393
  typeof mergeFrom[1] !== "string" ||
206
394
  typeof diff.body !== "string") {
@@ -259,11 +447,15 @@ export const stagedActionTools = [
259
447
  description: "Record a proposed change to the vault for later human ratification via " +
260
448
  "vault_ratify. The action waits in a pending queue and auto-expires after " +
261
449
  "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?}.",
450
+ "queue — normally called by the curation loop or an agent, not by a human " +
451
+ "directly. Action types: promote, deprecate, supersede, merge, " +
452
+ "confidence-up, write. proposed_diff carries the per-action payload " +
453
+ "replayed on ratification: supersede → {superseded_by}, confidence-up → " +
454
+ "{confidence}, merge → {merge_from: [path_a, path_b], body, frontmatter?}, " +
455
+ "write → {frontmatter, body} (full content; the target may be a new " +
456
+ "document). If other pending proposals already target the same document, " +
457
+ "the new one still lands — both stay pending — and an inter-proposal " +
458
+ "tension is logged; the result carries conflicts_with and tension_id.",
267
459
  inputSchema: {
268
460
  type: "object",
269
461
  properties: {
@@ -294,6 +486,12 @@ export const stagedActionTools = [
294
486
  type: "number",
295
487
  description: "Days until the action auto-expires if not ratified (default 14)",
296
488
  },
489
+ run_id: {
490
+ type: "string",
491
+ description: "Optional trace/run identifier of the proposing run. Recorded on " +
492
+ "the proposal and carried into provenance when a write action is " +
493
+ "ratified.",
494
+ },
297
495
  },
298
496
  required: ["action_type", "target_path", "proposed_by", "rationale", "proposed_diff"],
299
497
  additionalProperties: false,
@@ -307,9 +505,16 @@ export const stagedActionTools = [
307
505
  description: "Approve or reject a single pending staged action. On approve, dispatches " +
308
506
  "to the matching write tool (promote → vault_promote, deprecate → " +
309
507
  "vault_deprecate, supersede → vault_supersede, confidence-up → " +
310
- "vault_set_confidence, merge → vault_merge) and auto-commits. On reject, " +
508
+ "vault_set_confidence, merge → vault_merge, write vault_write) and " +
509
+ "auto-commits. On reject, " +
311
510
  "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 " +
511
+ "action pending. Approving a promote, an unforwarded deprecate, or a " +
512
+ "write that declares status canonical runs the " +
513
+ "tier-0 gate first (#232): if applying would create a certain structural " +
514
+ "violation (broken source refs, canonical citing draft/deprecated/archived, " +
515
+ "schema-invalid frontmatter, stranded canonical dependents), the approval " +
516
+ "errors and the action stays pending — fix the state and re-approve, or " +
517
+ "reject. Errors if the id is unknown or the action is not pending " +
313
518
  "(already decided or expired). Requires the role's 'ratify' grant. If " +
314
519
  "the vault runs shadow_mode, an approved dispatch is computed and " +
315
520
  "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":"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"}
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,11 +13,18 @@ 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
  }
27
+ export declare function __resetThemesCache(): void;
19
28
  export declare function vaultThemes(vaultRoot: string, args: Record<string, unknown>, access?: AccessContext): Promise<Result<VaultThemesResult, Error>>;
20
29
  export declare const themesTools: ToolDefinition[];
21
30
  //# sourceMappingURL=themes.d.ts.map
@@ -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;AAwPD,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,CA8H3C;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"}