crewly 1.20.20 → 1.20.22

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 (181) hide show
  1. package/config/roles/generalist/prompt.md +8 -2
  2. package/config/roles/team-leader/prompt.md +2 -1
  3. package/config/skills/agent/core/wiki-query/SKILL.md +11 -0
  4. package/config/skills/agent/core/wiki-query/execute.sh +22 -3
  5. package/config/skills/orchestrator/wiki-ingest/SKILL.md +19 -0
  6. package/config/skills/orchestrator/wiki-ingest/execute.sh +36 -1
  7. package/config/skills/team-leader/wiki-review-proposals/SKILL.md +35 -0
  8. package/config/skills/team-leader/wiki-review-proposals/execute.sh +40 -0
  9. package/config/skills/team-leader/wiki-supersede/SKILL.md +38 -0
  10. package/config/skills/team-leader/wiki-supersede/execute.sh +44 -0
  11. package/dist/backend/backend/src/constants.d.ts +39 -0
  12. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  13. package/dist/backend/backend/src/constants.js +37 -0
  14. package/dist/backend/backend/src/constants.js.map +1 -1
  15. package/dist/backend/backend/src/controllers/wiki/wiki.controller.d.ts +29 -0
  16. package/dist/backend/backend/src/controllers/wiki/wiki.controller.d.ts.map +1 -1
  17. package/dist/backend/backend/src/controllers/wiki/wiki.controller.js +196 -4
  18. package/dist/backend/backend/src/controllers/wiki/wiki.controller.js.map +1 -1
  19. package/dist/backend/backend/src/controllers/wiki/wiki.routes.d.ts.map +1 -1
  20. package/dist/backend/backend/src/controllers/wiki/wiki.routes.js +9 -1
  21. package/dist/backend/backend/src/controllers/wiki/wiki.routes.js.map +1 -1
  22. package/dist/backend/backend/src/index.d.ts.map +1 -1
  23. package/dist/backend/backend/src/index.js +3 -0
  24. package/dist/backend/backend/src/index.js.map +1 -1
  25. package/dist/backend/backend/src/services/memory/memory.service.d.ts +2 -0
  26. package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
  27. package/dist/backend/backend/src/services/memory/memory.service.js +16 -4
  28. package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
  29. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts +3 -1
  30. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  31. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js +14 -3
  32. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  33. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts +0 -10
  34. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
  35. package/dist/backend/backend/src/services/slack/slack-initializer.js +21 -0
  36. package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
  37. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +3 -1
  38. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  39. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +26 -9
  40. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  41. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts +22 -1
  42. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  43. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js +69 -7
  44. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  45. package/dist/backend/backend/src/services/wiki/schema-loader.service.d.ts +9 -0
  46. package/dist/backend/backend/src/services/wiki/schema-loader.service.d.ts.map +1 -1
  47. package/dist/backend/backend/src/services/wiki/schema-loader.service.js +40 -1
  48. package/dist/backend/backend/src/services/wiki/schema-loader.service.js.map +1 -1
  49. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.d.ts +32 -0
  50. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.d.ts.map +1 -1
  51. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.js +63 -1
  52. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.js.map +1 -1
  53. package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.d.ts +2 -0
  54. package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.d.ts.map +1 -1
  55. package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.js +9 -2
  56. package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.js.map +1 -1
  57. package/dist/backend/backend/src/services/wiki/wiki-curation.service.d.ts +106 -0
  58. package/dist/backend/backend/src/services/wiki/wiki-curation.service.d.ts.map +1 -0
  59. package/dist/backend/backend/src/services/wiki/wiki-curation.service.js +211 -0
  60. package/dist/backend/backend/src/services/wiki/wiki-curation.service.js.map +1 -0
  61. package/dist/backend/backend/src/services/wiki/wiki-history.service.d.ts +63 -0
  62. package/dist/backend/backend/src/services/wiki/wiki-history.service.d.ts.map +1 -0
  63. package/dist/backend/backend/src/services/wiki/wiki-history.service.js +124 -0
  64. package/dist/backend/backend/src/services/wiki/wiki-history.service.js.map +1 -0
  65. package/dist/backend/backend/src/services/wiki/wiki-index.service.d.ts +119 -0
  66. package/dist/backend/backend/src/services/wiki/wiki-index.service.d.ts.map +1 -0
  67. package/dist/backend/backend/src/services/wiki/wiki-index.service.js +263 -0
  68. package/dist/backend/backend/src/services/wiki/wiki-index.service.js.map +1 -0
  69. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts +66 -11
  70. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -1
  71. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.js +162 -44
  72. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.js.map +1 -1
  73. package/dist/backend/backend/src/services/wiki/wiki-lint.service.d.ts +31 -0
  74. package/dist/backend/backend/src/services/wiki/wiki-lint.service.d.ts.map +1 -1
  75. package/dist/backend/backend/src/services/wiki/wiki-lint.service.js +69 -0
  76. package/dist/backend/backend/src/services/wiki/wiki-lint.service.js.map +1 -1
  77. package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.d.ts +29 -0
  78. package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.d.ts.map +1 -0
  79. package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.js +55 -0
  80. package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.js.map +1 -0
  81. package/dist/backend/backend/src/services/wiki/wiki-page.d.ts +101 -0
  82. package/dist/backend/backend/src/services/wiki/wiki-page.d.ts.map +1 -0
  83. package/dist/backend/backend/src/services/wiki/wiki-page.js +130 -0
  84. package/dist/backend/backend/src/services/wiki/wiki-page.js.map +1 -0
  85. package/dist/backend/backend/src/services/wiki/wiki-policy.d.ts +35 -0
  86. package/dist/backend/backend/src/services/wiki/wiki-policy.d.ts.map +1 -0
  87. package/dist/backend/backend/src/services/wiki/wiki-policy.js +44 -0
  88. package/dist/backend/backend/src/services/wiki/wiki-policy.js.map +1 -0
  89. package/dist/backend/backend/src/services/wiki/wiki-process.service.d.ts.map +1 -1
  90. package/dist/backend/backend/src/services/wiki/wiki-process.service.js +5 -2
  91. package/dist/backend/backend/src/services/wiki/wiki-process.service.js.map +1 -1
  92. package/dist/backend/backend/src/services/wiki/wiki-query.service.d.ts +57 -13
  93. package/dist/backend/backend/src/services/wiki/wiki-query.service.d.ts.map +1 -1
  94. package/dist/backend/backend/src/services/wiki/wiki-query.service.js +91 -54
  95. package/dist/backend/backend/src/services/wiki/wiki-query.service.js.map +1 -1
  96. package/dist/backend/backend/src/services/wiki/wiki-redaction.d.ts +74 -0
  97. package/dist/backend/backend/src/services/wiki/wiki-redaction.d.ts.map +1 -0
  98. package/dist/backend/backend/src/services/wiki/wiki-redaction.js +94 -0
  99. package/dist/backend/backend/src/services/wiki/wiki-redaction.js.map +1 -0
  100. package/dist/backend/backend/src/services/wiki/wiki-search.service.d.ts +12 -3
  101. package/dist/backend/backend/src/services/wiki/wiki-search.service.d.ts.map +1 -1
  102. package/dist/backend/backend/src/services/wiki/wiki-search.service.js +19 -9
  103. package/dist/backend/backend/src/services/wiki/wiki-search.service.js.map +1 -1
  104. package/dist/backend/backend/src/services/wiki/wiki-usage.service.d.ts +96 -0
  105. package/dist/backend/backend/src/services/wiki/wiki-usage.service.d.ts.map +1 -0
  106. package/dist/backend/backend/src/services/wiki/wiki-usage.service.js +147 -0
  107. package/dist/backend/backend/src/services/wiki/wiki-usage.service.js.map +1 -0
  108. package/dist/backend/backend/src/services/wiki/wiki-vault-walk.d.ts +25 -0
  109. package/dist/backend/backend/src/services/wiki/wiki-vault-walk.d.ts.map +1 -0
  110. package/dist/backend/backend/src/services/wiki/wiki-vault-walk.js +52 -0
  111. package/dist/backend/backend/src/services/wiki/wiki-vault-walk.js.map +1 -0
  112. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.d.ts +19 -1
  113. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.d.ts.map +1 -1
  114. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.js +47 -6
  115. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.js.map +1 -1
  116. package/dist/backend/backend/src/services/wiki/wiki.types.d.ts +24 -0
  117. package/dist/backend/backend/src/services/wiki/wiki.types.d.ts.map +1 -1
  118. package/dist/backend/build-info.json +2 -2
  119. package/dist/cli/backend/src/constants.d.ts +39 -0
  120. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  121. package/dist/cli/backend/src/constants.js +37 -0
  122. package/dist/cli/backend/src/constants.js.map +1 -1
  123. package/dist/cli/backend/src/services/memory/memory.service.d.ts +2 -0
  124. package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
  125. package/dist/cli/backend/src/services/memory/memory.service.js +16 -4
  126. package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
  127. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts +3 -1
  128. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  129. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js +14 -3
  130. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  131. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +3 -1
  132. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  133. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +26 -9
  134. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  135. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts +22 -1
  136. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  137. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js +69 -7
  138. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  139. package/dist/cli/backend/src/services/wiki/schema-loader.service.d.ts +9 -0
  140. package/dist/cli/backend/src/services/wiki/schema-loader.service.d.ts.map +1 -1
  141. package/dist/cli/backend/src/services/wiki/schema-loader.service.js +40 -1
  142. package/dist/cli/backend/src/services/wiki/schema-loader.service.js.map +1 -1
  143. package/dist/cli/backend/src/services/wiki/wiki-history.service.d.ts +63 -0
  144. package/dist/cli/backend/src/services/wiki/wiki-history.service.d.ts.map +1 -0
  145. package/dist/cli/backend/src/services/wiki/wiki-history.service.js +124 -0
  146. package/dist/cli/backend/src/services/wiki/wiki-history.service.js.map +1 -0
  147. package/dist/cli/backend/src/services/wiki/wiki-index.service.d.ts +119 -0
  148. package/dist/cli/backend/src/services/wiki/wiki-index.service.d.ts.map +1 -0
  149. package/dist/cli/backend/src/services/wiki/wiki-index.service.js +263 -0
  150. package/dist/cli/backend/src/services/wiki/wiki-index.service.js.map +1 -0
  151. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts +66 -11
  152. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -1
  153. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.js +162 -44
  154. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.js.map +1 -1
  155. package/dist/cli/backend/src/services/wiki/wiki-page.d.ts +101 -0
  156. package/dist/cli/backend/src/services/wiki/wiki-page.d.ts.map +1 -0
  157. package/dist/cli/backend/src/services/wiki/wiki-page.js +130 -0
  158. package/dist/cli/backend/src/services/wiki/wiki-page.js.map +1 -0
  159. package/dist/cli/backend/src/services/wiki/wiki-policy.d.ts +35 -0
  160. package/dist/cli/backend/src/services/wiki/wiki-policy.d.ts.map +1 -0
  161. package/dist/cli/backend/src/services/wiki/wiki-policy.js +44 -0
  162. package/dist/cli/backend/src/services/wiki/wiki-policy.js.map +1 -0
  163. package/dist/cli/backend/src/services/wiki/wiki-redaction.d.ts +74 -0
  164. package/dist/cli/backend/src/services/wiki/wiki-redaction.d.ts.map +1 -0
  165. package/dist/cli/backend/src/services/wiki/wiki-redaction.js +94 -0
  166. package/dist/cli/backend/src/services/wiki/wiki-redaction.js.map +1 -0
  167. package/dist/cli/backend/src/services/wiki/wiki-search.service.d.ts +12 -3
  168. package/dist/cli/backend/src/services/wiki/wiki-search.service.d.ts.map +1 -1
  169. package/dist/cli/backend/src/services/wiki/wiki-search.service.js +19 -9
  170. package/dist/cli/backend/src/services/wiki/wiki-search.service.js.map +1 -1
  171. package/dist/cli/backend/src/services/wiki/wiki-usage.service.d.ts +96 -0
  172. package/dist/cli/backend/src/services/wiki/wiki-usage.service.d.ts.map +1 -0
  173. package/dist/cli/backend/src/services/wiki/wiki-usage.service.js +147 -0
  174. package/dist/cli/backend/src/services/wiki/wiki-usage.service.js.map +1 -0
  175. package/dist/cli/backend/src/services/wiki/wiki-vault-walk.d.ts +25 -0
  176. package/dist/cli/backend/src/services/wiki/wiki-vault-walk.d.ts.map +1 -0
  177. package/dist/cli/backend/src/services/wiki/wiki-vault-walk.js +52 -0
  178. package/dist/cli/backend/src/services/wiki/wiki-vault-walk.js.map +1 -0
  179. package/dist/cli/backend/src/services/wiki/wiki.types.d.ts +24 -0
  180. package/dist/cli/backend/src/services/wiki/wiki.types.d.ts.map +1 -1
  181. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-lint.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-lint.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wiki-lint.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-lint.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Who owns a vault's curation work: the team leader of the vault's team
3
+ * (team vault) or of a team assigned to the project (project vault). The
4
+ * global vault has no team — it stays with the orchestrator.
5
+ *
6
+ * Processing was routed to the orchestrator for every vault, which made
7
+ * it a single choke point (and a token sink on Codex). Team leaders own
8
+ * their team's knowledge.
9
+ *
10
+ * @module services/wiki/wiki-owner.resolver
11
+ */
12
+ import type { Team } from '../../types/index.js';
13
+ /** Storage slice. */
14
+ export interface OwnerResolverStorage {
15
+ getTeams(): Promise<Team[]>;
16
+ getProjects(): Promise<Array<{
17
+ id: string;
18
+ path: string;
19
+ }>>;
20
+ }
21
+ /**
22
+ * Resolve the team-leader session for a vault path or project root.
23
+ *
24
+ * @param storage - Teams + projects
25
+ * @param key - `~/.crewly/teams/<id>/wiki`, `<project>/.crewly/wiki`, or a project root
26
+ * @returns The TL session name, or null (caller falls back to the orchestrator)
27
+ */
28
+ export declare function resolveWikiOwner(storage: OwnerResolverStorage, key: string): Promise<string | null>;
29
+ //# sourceMappingURL=wiki-owner.resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki-owner.resolver.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-owner.resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAIjD,qBAAqB;AACrB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAC7D;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BzG"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Who owns a vault's curation work: the team leader of the vault's team
3
+ * (team vault) or of a team assigned to the project (project vault). The
4
+ * global vault has no team — it stays with the orchestrator.
5
+ *
6
+ * Processing was routed to the orchestrator for every vault, which made
7
+ * it a single choke point (and a token sink on Codex). Team leaders own
8
+ * their team's knowledge.
9
+ *
10
+ * @module services/wiki/wiki-owner.resolver
11
+ */
12
+ import * as path from 'path';
13
+ import { getCrewlyHomePath } from '../core/crewly-home.utils.js';
14
+ import { resolveMemberSessionName } from '../../utils/member-session-name.utils.js';
15
+ /**
16
+ * Resolve the team-leader session for a vault path or project root.
17
+ *
18
+ * @param storage - Teams + projects
19
+ * @param key - `~/.crewly/teams/<id>/wiki`, `<project>/.crewly/wiki`, or a project root
20
+ * @returns The TL session name, or null (caller falls back to the orchestrator)
21
+ */
22
+ export async function resolveWikiOwner(storage, key) {
23
+ const teams = await storage.getTeams();
24
+ const normalized = path.resolve(key);
25
+ // Team vault: ~/.crewly/teams/<team-id>/wiki
26
+ const teamsRoot = path.resolve(getCrewlyHomePath(), 'teams');
27
+ if (normalized.startsWith(teamsRoot + path.sep)) {
28
+ const teamId = normalized.slice(teamsRoot.length + 1).split(path.sep)[0];
29
+ const team = teams.find((t) => t.id === teamId);
30
+ return team ? leaderOf(team) : null;
31
+ }
32
+ // Project vault or project root: match a project, then a team assigned to it.
33
+ const projectRoot = normalized.endsWith(path.join('.crewly', 'wiki'))
34
+ ? path.resolve(normalized, '..', '..')
35
+ : normalized;
36
+ const projects = await storage.getProjects();
37
+ const project = projects.find((p) => path.resolve(p.path) === projectRoot);
38
+ if (!project)
39
+ return null;
40
+ for (const team of teams) {
41
+ if ((team.projectIds ?? []).includes(project.id)) {
42
+ const leader = leaderOf(team);
43
+ if (leader)
44
+ return leader;
45
+ }
46
+ }
47
+ return null;
48
+ }
49
+ function leaderOf(team) {
50
+ const tl = (team.members ?? []).find((m) => String(m.role) === 'team-leader' || String(m.role) === 'tech-lead');
51
+ if (!tl)
52
+ return null;
53
+ return resolveMemberSessionName(team.name, tl);
54
+ }
55
+ //# sourceMappingURL=wiki-owner.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki-owner.resolver.js","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-owner.resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAQpF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA6B,EAAE,GAAW;IAC/E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAErC,6CAA6C;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7D,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtC,CAAC;IAED,8EAA8E;IAC9E,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC;QACtC,CAAC,CAAC,UAAU,CAAC;IACf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC;IAC3E,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,IAAU;IAC1B,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC;IAChH,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACrB,OAAO,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * The page contract of the LLM-wiki.
3
+ *
4
+ * A vault page is markdown with YAML frontmatter. Two fields make a page a
5
+ * piece of knowledge rather than a bookmark: `summary` (the one-line
6
+ * conclusion — what this means for us) and `keep_because` (the reason it
7
+ * earns a place at all). Without them a write goes to `log.md`, not to a
8
+ * page. This module parses/serialises that shape and applies the gate;
9
+ * everything else (index, history, supersede) builds on it.
10
+ *
11
+ * @module services/wiki/wiki-page
12
+ */
13
+ import { type WikiKeepBecause } from '../../constants.js';
14
+ /** Frontmatter every page carries (agents set the first block; the system fills the rest). */
15
+ export interface WikiPageFrontmatter {
16
+ title: string;
17
+ /** One-line conclusion: what this page means for the team/project. */
18
+ summary: string;
19
+ keep_because: WikiKeepBecause;
20
+ tags?: string[];
21
+ /** Roles allowed to read the page; empty/absent = everyone in the vault's instance. */
22
+ visibility?: string[];
23
+ source?: string;
24
+ caller?: string;
25
+ recorded?: string;
26
+ updated?: string;
27
+ superseded_by?: string;
28
+ superseded_at?: string;
29
+ superseded_reason?: string;
30
+ proposed_by?: string;
31
+ /** Anything else on the page (migrated fields such as `confidence`, `migrated_from`). */
32
+ [key: string]: unknown;
33
+ }
34
+ /** A parsed page. */
35
+ export interface WikiPage {
36
+ frontmatter: Partial<WikiPageFrontmatter>;
37
+ body: string;
38
+ /** True when the file had a `---` block at all. */
39
+ hadFrontmatter: boolean;
40
+ }
41
+ /** Why a page write was refused by the retention gate. */
42
+ export interface RetentionRefusal {
43
+ reason: 'retention_gate';
44
+ missing: string[];
45
+ message: string;
46
+ }
47
+ /**
48
+ * Split a page into frontmatter + body. Tolerant: a page without a block
49
+ * parses as `{ frontmatter: {}, body: raw }`; a malformed block is left in
50
+ * the body untouched.
51
+ *
52
+ * @param raw - File content
53
+ * @returns The parsed page
54
+ */
55
+ export declare function parsePage(raw: string): WikiPage;
56
+ /**
57
+ * Serialise frontmatter + body back into a file. Keys are written in the
58
+ * canonical order of {@link WIKI_KB_CONSTANTS.FRONTMATTER_KEYS} first, then
59
+ * any extra keys, so diffs stay readable.
60
+ *
61
+ * @param frontmatter - Fields to write (undefined values are dropped)
62
+ * @param body - Markdown body
63
+ * @returns File content
64
+ */
65
+ export declare function serializePage(frontmatter: Partial<WikiPageFrontmatter>, body: string): string;
66
+ /**
67
+ * Apply the retention gate to a page write: `title`, a non-empty `summary`
68
+ * and a valid `keep_because` are required. Returns null when the page
69
+ * passes.
70
+ *
71
+ * @param fm - Frontmatter the writer supplied
72
+ * @returns A refusal describing what is missing, or null
73
+ */
74
+ export declare function checkRetention(fm: Partial<WikiPageFrontmatter>): RetentionRefusal | null;
75
+ /**
76
+ * The single index line for a page: `- [title](path) — summary`, with a
77
+ * `⟶ superseded by <path>` marker when applicable.
78
+ *
79
+ * @param relativePath - Vault-relative page path
80
+ * @param fm - The page's frontmatter
81
+ * @returns One markdown list line
82
+ */
83
+ export declare function indexLineFor(relativePath: string, fm: Partial<WikiPageFrontmatter>): string;
84
+ /**
85
+ * Whether a viewer role may read a page. No `visibility` list = public
86
+ * within the instance; a canonical role (owner/orchestrator) always may.
87
+ *
88
+ * @param fm - Page frontmatter
89
+ * @param viewerRole - Role of the reader, or undefined for the owner/UI
90
+ * @returns True when readable
91
+ */
92
+ export declare function isVisibleTo(fm: Partial<WikiPageFrontmatter>, viewerRole?: string): boolean;
93
+ /**
94
+ * Collapse whitespace and cut to a maximum length (with an ellipsis).
95
+ *
96
+ * @param value - Text
97
+ * @param max - Maximum characters
98
+ * @returns One line
99
+ */
100
+ export declare function oneLine(value: string, max: number): string;
101
+ //# sourceMappingURL=wiki-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki-page.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE7E,8FAA8F;AAC9F,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,eAAe,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yFAAyF;IACzF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,qBAAqB;AACrB,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAW/C;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAU7F;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAiBxF;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAK3F;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,mBAAmB,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAM1F;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG1D"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * The page contract of the LLM-wiki.
3
+ *
4
+ * A vault page is markdown with YAML frontmatter. Two fields make a page a
5
+ * piece of knowledge rather than a bookmark: `summary` (the one-line
6
+ * conclusion — what this means for us) and `keep_because` (the reason it
7
+ * earns a place at all). Without them a write goes to `log.md`, not to a
8
+ * page. This module parses/serialises that shape and applies the gate;
9
+ * everything else (index, history, supersede) builds on it.
10
+ *
11
+ * @module services/wiki/wiki-page
12
+ */
13
+ import { parse as parseYAML, stringify as stringifyYAML } from 'yaml';
14
+ import { WIKI_KB_CONSTANTS } from '../../constants.js';
15
+ /**
16
+ * Split a page into frontmatter + body. Tolerant: a page without a block
17
+ * parses as `{ frontmatter: {}, body: raw }`; a malformed block is left in
18
+ * the body untouched.
19
+ *
20
+ * @param raw - File content
21
+ * @returns The parsed page
22
+ */
23
+ export function parsePage(raw) {
24
+ const normalized = raw.replace(/\r\n/g, '\n');
25
+ const m = normalized.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);
26
+ if (!m)
27
+ return { frontmatter: {}, body: normalized, hadFrontmatter: false };
28
+ try {
29
+ const parsed = parseYAML(m[1]);
30
+ const fm = parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : {};
31
+ return { frontmatter: fm, body: m[2], hadFrontmatter: true };
32
+ }
33
+ catch {
34
+ return { frontmatter: {}, body: normalized, hadFrontmatter: false };
35
+ }
36
+ }
37
+ /**
38
+ * Serialise frontmatter + body back into a file. Keys are written in the
39
+ * canonical order of {@link WIKI_KB_CONSTANTS.FRONTMATTER_KEYS} first, then
40
+ * any extra keys, so diffs stay readable.
41
+ *
42
+ * @param frontmatter - Fields to write (undefined values are dropped)
43
+ * @param body - Markdown body
44
+ * @returns File content
45
+ */
46
+ export function serializePage(frontmatter, body) {
47
+ const ordered = {};
48
+ for (const key of WIKI_KB_CONSTANTS.FRONTMATTER_KEYS) {
49
+ if (frontmatter[key] !== undefined)
50
+ ordered[key] = frontmatter[key];
51
+ }
52
+ for (const [key, value] of Object.entries(frontmatter)) {
53
+ if (!(key in ordered) && value !== undefined)
54
+ ordered[key] = value;
55
+ }
56
+ const yaml = stringifyYAML(ordered).trimEnd();
57
+ return `---\n${yaml}\n---\n${body.replace(/^\n+/, '')}`;
58
+ }
59
+ /**
60
+ * Apply the retention gate to a page write: `title`, a non-empty `summary`
61
+ * and a valid `keep_because` are required. Returns null when the page
62
+ * passes.
63
+ *
64
+ * @param fm - Frontmatter the writer supplied
65
+ * @returns A refusal describing what is missing, or null
66
+ */
67
+ export function checkRetention(fm) {
68
+ const missing = [];
69
+ if (!fm.title || !String(fm.title).trim())
70
+ missing.push('title');
71
+ const summary = typeof fm.summary === 'string' ? fm.summary.trim() : '';
72
+ if (!summary)
73
+ missing.push('summary');
74
+ else if (summary.length > WIKI_KB_CONSTANTS.SUMMARY_MAX_CHARS)
75
+ missing.push(`summary (≤ ${WIKI_KB_CONSTANTS.SUMMARY_MAX_CHARS} chars)`);
76
+ if (!fm.keep_because || !WIKI_KB_CONSTANTS.KEEP_BECAUSE.includes(String(fm.keep_because))) {
77
+ missing.push(`keep_because (one of ${WIKI_KB_CONSTANTS.KEEP_BECAUSE.join(' | ')})`);
78
+ }
79
+ if (missing.length === 0)
80
+ return null;
81
+ return {
82
+ reason: 'retention_gate',
83
+ missing,
84
+ message: `A page needs ${missing.join(', ')}. Default is to NOT keep: write a page only when it changes a decision, ` +
85
+ `contradicts what we believed, is a citable hard fact, or a reusable method — otherwise append to llm-curated/log.md.`,
86
+ };
87
+ }
88
+ /**
89
+ * The single index line for a page: `- [title](path) — summary`, with a
90
+ * `⟶ superseded by <path>` marker when applicable.
91
+ *
92
+ * @param relativePath - Vault-relative page path
93
+ * @param fm - The page's frontmatter
94
+ * @returns One markdown list line
95
+ */
96
+ export function indexLineFor(relativePath, fm) {
97
+ const title = oneLine(String(fm.title ?? relativePath.split('/').pop() ?? relativePath), WIKI_KB_CONSTANTS.TITLE_MAX_CHARS);
98
+ const summary = oneLine(String(fm.summary ?? ''), WIKI_KB_CONSTANTS.SUMMARY_MAX_CHARS);
99
+ const superseded = fm.superseded_by ? ` ⟶ superseded by ${fm.superseded_by}` : '';
100
+ return `- [${title}](${relativePath})${summary ? ` — ${summary}` : ''}${superseded}`;
101
+ }
102
+ /**
103
+ * Whether a viewer role may read a page. No `visibility` list = public
104
+ * within the instance; a canonical role (owner/orchestrator) always may.
105
+ *
106
+ * @param fm - Page frontmatter
107
+ * @param viewerRole - Role of the reader, or undefined for the owner/UI
108
+ * @returns True when readable
109
+ */
110
+ export function isVisibleTo(fm, viewerRole) {
111
+ const list = Array.isArray(fm.visibility) ? fm.visibility.map((v) => String(v).toLowerCase()) : [];
112
+ if (list.length === 0)
113
+ return true;
114
+ if (!viewerRole)
115
+ return true;
116
+ const role = viewerRole.toLowerCase();
117
+ return role === 'orchestrator' || role === 'owner' || list.includes(role);
118
+ }
119
+ /**
120
+ * Collapse whitespace and cut to a maximum length (with an ellipsis).
121
+ *
122
+ * @param value - Text
123
+ * @param max - Maximum characters
124
+ * @returns One line
125
+ */
126
+ export function oneLine(value, max) {
127
+ const flat = value.replace(/\\n/g, ' ').replace(/\s+/g, ' ').trim();
128
+ return flat.length <= max ? flat : `${flat.slice(0, max - 1)}…`;
129
+ }
130
+ //# sourceMappingURL=wiki-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki-page.js","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-page.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Write-policy decisions for a vault (SCHEMA.md `write_policy`).
3
+ *
4
+ * Who wrote is resolved by the server from the `X-Agent-Session` header
5
+ * (session → team member → role), never from a role the caller claims.
6
+ * The owner (dashboard, no session) and the orchestrator are canonical.
7
+ *
8
+ * @module services/wiki/wiki-policy
9
+ */
10
+ import type { VaultSchema } from './wiki.types.js';
11
+ /** What a write by a given role becomes. */
12
+ export type WriteDecision = 'canonical' | 'proposed';
13
+ /**
14
+ * Decide whether a writer's page lands directly or as a proposal.
15
+ *
16
+ * Rules, in order: no role (owner/UI) → canonical; role listed in
17
+ * `canonical` → canonical; role listed in `proposed_only` → proposed;
18
+ * `worker` in `proposed_only` covers every role not listed elsewhere;
19
+ * an unlisted role with no `worker` catch-all → proposed (safe default).
20
+ *
21
+ * @param schema - Vault schema
22
+ * @param role - Writer's role (lower-cased inside), or undefined for the owner
23
+ * @returns The decision
24
+ */
25
+ export declare function decideWrite(schema: Pick<VaultSchema, 'write_policy'>, role: string | undefined): WriteDecision;
26
+ /**
27
+ * Whether a role may accept/reject proposals or supersede pages (a
28
+ * canonical role).
29
+ *
30
+ * @param schema - Vault schema
31
+ * @param role - Role, or undefined for the owner
32
+ * @returns True when allowed
33
+ */
34
+ export declare function canReview(schema: Pick<VaultSchema, 'write_policy'>, role: string | undefined): boolean;
35
+ //# sourceMappingURL=wiki-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki-policy.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,4CAA4C;AAC5C,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAO9G;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEtG"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Write-policy decisions for a vault (SCHEMA.md `write_policy`).
3
+ *
4
+ * Who wrote is resolved by the server from the `X-Agent-Session` header
5
+ * (session → team member → role), never from a role the caller claims.
6
+ * The owner (dashboard, no session) and the orchestrator are canonical.
7
+ *
8
+ * @module services/wiki/wiki-policy
9
+ */
10
+ /**
11
+ * Decide whether a writer's page lands directly or as a proposal.
12
+ *
13
+ * Rules, in order: no role (owner/UI) → canonical; role listed in
14
+ * `canonical` → canonical; role listed in `proposed_only` → proposed;
15
+ * `worker` in `proposed_only` covers every role not listed elsewhere;
16
+ * an unlisted role with no `worker` catch-all → proposed (safe default).
17
+ *
18
+ * @param schema - Vault schema
19
+ * @param role - Writer's role (lower-cased inside), or undefined for the owner
20
+ * @returns The decision
21
+ */
22
+ export function decideWrite(schema, role) {
23
+ if (!role)
24
+ return 'canonical';
25
+ const r = role.toLowerCase();
26
+ if (r === 'orchestrator' || r === 'owner')
27
+ return 'canonical';
28
+ const canonical = schema.write_policy.canonical.map((x) => x.toLowerCase());
29
+ if (canonical.includes(r))
30
+ return 'canonical';
31
+ return 'proposed';
32
+ }
33
+ /**
34
+ * Whether a role may accept/reject proposals or supersede pages (a
35
+ * canonical role).
36
+ *
37
+ * @param schema - Vault schema
38
+ * @param role - Role, or undefined for the owner
39
+ * @returns True when allowed
40
+ */
41
+ export function canReview(schema, role) {
42
+ return decideWrite(schema, role) === 'canonical';
43
+ }
44
+ //# sourceMappingURL=wiki-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki-policy.js","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAC,MAAyC,EAAE,IAAwB;IAC7F,IAAI,CAAC,IAAI;QAAE,OAAO,WAAW,CAAC;IAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7B,IAAI,CAAC,KAAK,cAAc,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,WAAW,CAAC;IAC9D,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5E,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,WAAW,CAAC;IAC9C,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,MAAyC,EAAE,IAAwB;IAC3F,OAAO,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,WAAW,CAAC;AACnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-process.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-process.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,qBAAqB;IACpC,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,8BAA8B;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB;;;;;;OAMG;IACH,YAAY,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC5C,kDAAkD;IAClD,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,uBAAuB,GAC/B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,sBAAsB,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,kBAAkB,GAAG,oBAAoB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF;;GAEG;AACH,qBAAa,kBAAkB;IAK3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IALxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmC;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAGtB,KAAK,GAAE,gBAAiD,EACxD,KAAK,GAAE,gBAAiD;IAK3E,MAAM,CAAC,WAAW,IAAI,kBAAkB;IAKxC,uBAAuB;IACvB,MAAM,CAAC,gBAAgB,IAAI,IAAI;IAI/B;;;;;;OAMG;IACG,SAAS,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA2E/E;;;OAGG;IACH,OAAO,CAAC,eAAe;CAUxB"}
1
+ {"version":3,"file":"wiki-process.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-process.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,qBAAqB;IACpC,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,8BAA8B;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB;;;;;;OAMG;IACH,YAAY,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC5C,kDAAkD;IAClD,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,uBAAuB,GAC/B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,sBAAsB,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,kBAAkB,GAAG,oBAAoB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF;;GAEG;AACH,qBAAa,kBAAkB;IAK3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IALxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmC;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAGtB,KAAK,GAAE,gBAAiD,EACxD,KAAK,GAAE,gBAAiD;IAK3E,MAAM,CAAC,WAAW,IAAI,kBAAkB;IAKxC,uBAAuB;IACvB,MAAM,CAAC,gBAAgB,IAAI,IAAI;IAI/B;;;;;;OAMG;IACG,SAAS,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA2E/E;;;OAGG;IACH,OAAO,CAAC,eAAe;CAaxB"}
@@ -126,12 +126,15 @@ export class WikiProcessService {
126
126
  */
127
127
  classifierNotes() {
128
128
  return [
129
- 'You have ALREADY decided this item is wiki-worthy at queue-add time (see item.reason). Do NOT re-justify; classify.',
129
+ 'Default is to NOT keep. A page must change a decision, contradict what we believed, be a citable hard fact, or a reusable method — otherwise append it to llm-curated/log.md (no gate) or skip it.',
130
+ 'A page needs three things or wiki-ingest refuses it: --title, a one-line --summary that states the CONCLUSION (what this means for us, not what the source said), and --keep-because <changes_decision|contradicts|hard_fact|reusable_method>.',
131
+ 'If the item changes an earlier conclusion, write the new page and then call wiki-supersede old→new with the reason; never delete or overwrite the old page.',
130
132
  'Pick the target page path under llm-curated/. You may invent sub-folder names — there is NO preset taxonomy. Examples: llm-curated/customers/anthropic.md, llm-curated/decisions/2026-05-22-pricing-lock.md, llm-curated/patterns/embedding-fallback.md.',
131
133
  'NEVER target a frozen folder (vaultContext.schemaSummary.frozenPaths). The ingest call will reject these with HTTP 422.',
132
134
  'PREFER merging into an existing relevant page over creating a new one. Use vaultContext.candidatePages to check first; only create a new page when nothing fits.',
133
135
  'If after reading the context you decide the item is actually NOT wiki-worthy after all (duplicate of existing content, low signal), mark it skipped via POST /queue/:id/skip with a `skipReason`.',
134
- 'When committing: 1) call wiki-ingest with the target path; 2) call POST /queue/:id/process with { ingested, pagesWritten, targetPath, summary }.',
136
+ 'When committing: 1) call wiki-ingest with the target path + title/summary/keep-because; 2) call POST /queue/:id/process with { ingested, pagesWritten, targetPath, summary }.',
137
+ 'Never paste credentials or customer personal data; ingest refuses secrets and applies the vault privacy policy to personal data.',
135
138
  ];
136
139
  }
137
140
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-process.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-process.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wiki-process.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-process.service.ts"],"names":[],"mappings":"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"}