ctxr-cli 0.1.0 → 0.2.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 (175) hide show
  1. package/dist/adapters/forge/github.d.ts +4 -1
  2. package/dist/adapters/forge/github.d.ts.map +1 -1
  3. package/dist/adapters/forge/github.js +41 -1
  4. package/dist/adapters/forge/github.js.map +1 -1
  5. package/dist/adapters/forge/types.d.ts +23 -0
  6. package/dist/adapters/forge/types.d.ts.map +1 -1
  7. package/dist/adapters/types.d.ts.map +1 -1
  8. package/dist/adapters/types.js +2 -1
  9. package/dist/adapters/types.js.map +1 -1
  10. package/dist/commands/check.d.ts +12 -4
  11. package/dist/commands/check.d.ts.map +1 -1
  12. package/dist/commands/check.js +28 -1
  13. package/dist/commands/check.js.map +1 -1
  14. package/dist/commands/entry-append.d.ts +25 -0
  15. package/dist/commands/entry-append.d.ts.map +1 -0
  16. package/dist/commands/entry-append.js +39 -0
  17. package/dist/commands/entry-append.js.map +1 -0
  18. package/dist/commands/graph-build.d.ts +5 -0
  19. package/dist/commands/graph-build.d.ts.map +1 -1
  20. package/dist/commands/graph-build.js +8 -5
  21. package/dist/commands/graph-build.js.map +1 -1
  22. package/dist/commands/graph-query.d.ts +15 -0
  23. package/dist/commands/graph-query.d.ts.map +1 -1
  24. package/dist/commands/graph-query.js +12 -2
  25. package/dist/commands/graph-query.js.map +1 -1
  26. package/dist/commands/identity.d.ts +24 -0
  27. package/dist/commands/identity.d.ts.map +1 -0
  28. package/dist/commands/identity.js +35 -0
  29. package/dist/commands/identity.js.map +1 -0
  30. package/dist/commands/init.d.ts.map +1 -1
  31. package/dist/commands/init.js +7 -7
  32. package/dist/commands/init.js.map +1 -1
  33. package/dist/commands/rollup-stale.d.ts +18 -0
  34. package/dist/commands/rollup-stale.d.ts.map +1 -0
  35. package/dist/commands/rollup-stale.js +35 -0
  36. package/dist/commands/rollup-stale.js.map +1 -0
  37. package/dist/commands/rollup-write.d.ts +9 -1
  38. package/dist/commands/rollup-write.d.ts.map +1 -1
  39. package/dist/commands/rollup-write.js +17 -2
  40. package/dist/commands/rollup-write.js.map +1 -1
  41. package/dist/commands/session-capture.d.ts +25 -0
  42. package/dist/commands/session-capture.d.ts.map +1 -0
  43. package/dist/commands/session-capture.js +119 -0
  44. package/dist/commands/session-capture.js.map +1 -0
  45. package/dist/commands/session-land.d.ts +45 -0
  46. package/dist/commands/session-land.d.ts.map +1 -0
  47. package/dist/commands/session-land.js +140 -0
  48. package/dist/commands/session-land.js.map +1 -0
  49. package/dist/commands/session-list.d.ts.map +1 -1
  50. package/dist/commands/session-list.js +3 -2
  51. package/dist/commands/session-list.js.map +1 -1
  52. package/dist/commands/session-reap.d.ts.map +1 -1
  53. package/dist/commands/session-reap.js +3 -2
  54. package/dist/commands/session-reap.js.map +1 -1
  55. package/dist/commands/session-submit.d.ts +2 -0
  56. package/dist/commands/session-submit.d.ts.map +1 -1
  57. package/dist/commands/session-submit.js +6 -2
  58. package/dist/commands/session-submit.js.map +1 -1
  59. package/dist/commands/source-add-alt.d.ts +20 -0
  60. package/dist/commands/source-add-alt.d.ts.map +1 -0
  61. package/dist/commands/source-add-alt.js +48 -0
  62. package/dist/commands/source-add-alt.js.map +1 -0
  63. package/dist/commands/source-check.js +1 -1
  64. package/dist/commands/source-check.js.map +1 -1
  65. package/dist/commands/source-stamp.d.ts +24 -0
  66. package/dist/commands/source-stamp.d.ts.map +1 -0
  67. package/dist/commands/source-stamp.js +46 -0
  68. package/dist/commands/source-stamp.js.map +1 -0
  69. package/dist/commands/verify.js +2 -2
  70. package/dist/commands/verify.js.map +1 -1
  71. package/dist/config/defaults.d.ts +13 -0
  72. package/dist/config/defaults.d.ts.map +1 -1
  73. package/dist/config/defaults.js +13 -0
  74. package/dist/config/defaults.js.map +1 -1
  75. package/dist/config/schema.d.ts +31 -0
  76. package/dist/config/schema.d.ts.map +1 -1
  77. package/dist/config/schema.js +42 -0
  78. package/dist/config/schema.js.map +1 -1
  79. package/dist/core/agents-doc.d.ts.map +1 -1
  80. package/dist/core/agents-doc.js +3 -1
  81. package/dist/core/agents-doc.js.map +1 -1
  82. package/dist/core/checks/disclosure-checks.d.ts +4 -0
  83. package/dist/core/checks/disclosure-checks.d.ts.map +1 -0
  84. package/dist/core/checks/disclosure-checks.js +24 -0
  85. package/dist/core/checks/disclosure-checks.js.map +1 -0
  86. package/dist/core/checks/identity-checks.d.ts +6 -1
  87. package/dist/core/checks/identity-checks.d.ts.map +1 -1
  88. package/dist/core/checks/identity-checks.js +23 -19
  89. package/dist/core/checks/identity-checks.js.map +1 -1
  90. package/dist/core/checks/integrity-checks.js +2 -2
  91. package/dist/core/checks/integrity-checks.js.map +1 -1
  92. package/dist/core/checks/manifest.d.ts.map +1 -1
  93. package/dist/core/checks/manifest.js +2 -0
  94. package/dist/core/checks/manifest.js.map +1 -1
  95. package/dist/core/checks/organize-checks.d.ts +2 -0
  96. package/dist/core/checks/organize-checks.d.ts.map +1 -1
  97. package/dist/core/checks/organize-checks.js +24 -1
  98. package/dist/core/checks/organize-checks.js.map +1 -1
  99. package/dist/core/checks/write-lifecycle-checks.d.ts +4 -1
  100. package/dist/core/checks/write-lifecycle-checks.d.ts.map +1 -1
  101. package/dist/core/checks/write-lifecycle-checks.js +18 -2
  102. package/dist/core/checks/write-lifecycle-checks.js.map +1 -1
  103. package/dist/core/disclosure/leak-scan.d.ts +19 -0
  104. package/dist/core/disclosure/leak-scan.d.ts.map +1 -0
  105. package/dist/core/disclosure/leak-scan.js +31 -0
  106. package/dist/core/disclosure/leak-scan.js.map +1 -0
  107. package/dist/core/errors.d.ts +40 -0
  108. package/dist/core/errors.d.ts.map +1 -1
  109. package/dist/core/errors.js +128 -0
  110. package/dist/core/errors.js.map +1 -1
  111. package/dist/core/fs/fenced-region.d.ts +9 -0
  112. package/dist/core/fs/fenced-region.d.ts.map +1 -1
  113. package/dist/core/fs/fenced-region.js +40 -0
  114. package/dist/core/fs/fenced-region.js.map +1 -1
  115. package/dist/core/git/repo.d.ts +2 -0
  116. package/dist/core/git/repo.d.ts.map +1 -1
  117. package/dist/core/git/repo.js +4 -0
  118. package/dist/core/git/repo.js.map +1 -1
  119. package/dist/core/graph/document.d.ts +26 -0
  120. package/dist/core/graph/document.d.ts.map +1 -0
  121. package/dist/core/graph/document.js +67 -0
  122. package/dist/core/graph/document.js.map +1 -0
  123. package/dist/core/graph/model.d.ts +44 -2
  124. package/dist/core/graph/model.d.ts.map +1 -1
  125. package/dist/core/graph/model.js +65 -6
  126. package/dist/core/graph/model.js.map +1 -1
  127. package/dist/core/graph/persist.d.ts +4 -0
  128. package/dist/core/graph/persist.d.ts.map +1 -1
  129. package/dist/core/graph/persist.js +10 -0
  130. package/dist/core/graph/persist.js.map +1 -1
  131. package/dist/core/graph/query.d.ts +24 -0
  132. package/dist/core/graph/query.d.ts.map +1 -1
  133. package/dist/core/graph/query.js +45 -2
  134. package/dist/core/graph/query.js.map +1 -1
  135. package/dist/core/identity.d.ts +36 -4
  136. package/dist/core/identity.d.ts.map +1 -1
  137. package/dist/core/identity.js +119 -12
  138. package/dist/core/identity.js.map +1 -1
  139. package/dist/core/ingest/canonical-url.d.ts +11 -0
  140. package/dist/core/ingest/canonical-url.d.ts.map +1 -0
  141. package/dist/core/ingest/canonical-url.js +27 -0
  142. package/dist/core/ingest/canonical-url.js.map +1 -0
  143. package/dist/core/ingest/identity.d.ts +2 -0
  144. package/dist/core/ingest/identity.d.ts.map +1 -1
  145. package/dist/core/ingest/identity.js +2 -0
  146. package/dist/core/ingest/identity.js.map +1 -1
  147. package/dist/core/ingest/model.d.ts +9 -2
  148. package/dist/core/ingest/model.d.ts.map +1 -1
  149. package/dist/core/ingest/model.js +32 -3
  150. package/dist/core/ingest/model.js.map +1 -1
  151. package/dist/core/procedures.d.ts +32 -12
  152. package/dist/core/procedures.d.ts.map +1 -1
  153. package/dist/core/procedures.js +613 -75
  154. package/dist/core/procedures.js.map +1 -1
  155. package/dist/core/rollup.d.ts +29 -0
  156. package/dist/core/rollup.d.ts.map +1 -0
  157. package/dist/core/rollup.js +60 -0
  158. package/dist/core/rollup.js.map +1 -0
  159. package/dist/core/session.d.ts +14 -0
  160. package/dist/core/session.d.ts.map +1 -1
  161. package/dist/core/session.js +19 -0
  162. package/dist/core/session.js.map +1 -1
  163. package/dist/core/write-lifecycle/path-gate.d.ts +20 -0
  164. package/dist/core/write-lifecycle/path-gate.d.ts.map +1 -0
  165. package/dist/core/write-lifecycle/path-gate.js +90 -0
  166. package/dist/core/write-lifecycle/path-gate.js.map +1 -0
  167. package/dist/prompt/inquirer-prompter.d.ts.map +1 -1
  168. package/dist/prompt/inquirer-prompter.js +4 -1
  169. package/dist/prompt/inquirer-prompter.js.map +1 -1
  170. package/dist/prompt/prompter.d.ts +9 -0
  171. package/dist/prompt/prompter.d.ts.map +1 -1
  172. package/dist/run.d.ts.map +1 -1
  173. package/dist/run.js +149 -4
  174. package/dist/run.js.map +1 -1
  175. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agents-doc.d.ts","sourceRoot":"","sources":["../../src/core/agents-doc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMpE;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,8BAA4C,CAAC;AAErF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAiBrE;AAED,mHAAmH;AACnH,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAEnH;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,8BAAyC,CAAC;AAE9E,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAoBlE;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAEhH;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,8BAAgC,CAAC;AAEvE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CA8BpE;AAED,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAElH;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,8BAAgC,CAAC;AAEvE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,EAAE,CAiCvG;AAED,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAGlH;AAED;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,8BAAwC,CAAC;AAEjF,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,EAAE,CAe1G;AAED,wBAAsB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAGpH;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,8BAAqC,CAAC;AAE3E,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAanE;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAEjH"}
1
+ {"version":3,"file":"agents-doc.d.ts","sourceRoot":"","sources":["../../src/core/agents-doc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIvD,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMpE;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,8BAA4C,CAAC;AAErF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAkBrE;AAED,mHAAmH;AACnH,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAEnH;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,8BAAyC,CAAC;AAE9E,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAoBlE;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAEhH;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,8BAAgC,CAAC;AAEvE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CA8BpE;AAED,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAElH;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,8BAAgC,CAAC;AAEvE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,EAAE,CAiCvG;AAED,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAGlH;AAED;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,8BAAwC,CAAC;AAEjF,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,EAAE,CAe1G;AAED,wBAAsB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAGpH;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,8BAAqC,CAAC;AAE3E,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAanE;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAEjH"}
@@ -1,4 +1,5 @@
1
1
  import path from 'node:path';
2
+ import { GRAPH_DOCUMENT_RELATIVE_PATH } from './graph/persist.js';
2
3
  import { CONFIG_FILE_NAME } from './root.js';
3
4
  import { excludedPrefixesFor } from './notes/list.js';
4
5
  import { scanConventions } from './conventions.js';
@@ -27,7 +28,8 @@ export function renderLegRoutingSection(config) {
27
28
  'contexture builds and maintains two retrieval tools ahead of time — consult them first:',
28
29
  '',
29
30
  '- **Catalog** (`ctxr catalog show --section <id>`): a curated, coverage-guaranteed index of every retrievable note, one section per taxonomy layer.',
30
- '- **Graph** (`ctxr graph query ...`): the wikilink graph between notes — neighbors, shortest path, hubs, orphans.',
31
+ '- **Graph** (`ctxr graph query ...`): the wikilink graph between notes — neighbors, shortest path, hubs, orphans, clusters, bridges; `--type <relation>` follows one configured relation.',
32
+ `- **Graph document** (\`${GRAPH_DOCUMENT_RELATIVE_PATH}\`, rebuilt by \`ctxr graph build\`): hub notes by cluster, cross-cluster bridges, and orphans — read it for cluster context before writing.`,
31
33
  '',
32
34
  'For a literal or entity question the catalog and graph do not answer (a specific string, an exact identifier, a phrase),',
33
35
  'use your own direct content-matching tool (e.g. grep/ripgrep) against the store, scoped to exclude:',
@@ -1 +1 @@
1
- {"version":3,"file":"agents-doc.js","sourceRoot":"","sources":["../../src/core/agents-doc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents-doc.js","sourceRoot":"","sources":["../../src/core/agents-doc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /** disclosure-policy spec (store-primitives-from-migration-audit D3): reported by lint, never failed by doctor — a marker match is a judgment call, not an invariant. */
2
+ export declare const leakCheck: import("./types.js").CheckDefinition;
3
+ export declare const DISCLOSURE_CHECKS: import("./types.js").CheckDefinition[];
4
+ //# sourceMappingURL=disclosure-checks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disclosure-checks.d.ts","sourceRoot":"","sources":["../../../src/core/checks/disclosure-checks.ts"],"names":[],"mappings":"AAIA,yKAAyK;AACzK,eAAO,MAAM,SAAS,sCAkBpB,CAAC;AAEH,eAAO,MAAM,iBAAiB,wCAAc,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { scanForLeaks } from '../disclosure/leak-scan.js';
2
+ import { defineCheck } from './types.js';
3
+ /** disclosure-policy spec (store-primitives-from-migration-audit D3): reported by lint, never failed by doctor — a marker match is a judgment call, not an invariant. */
4
+ export const leakCheck = defineCheck({
5
+ id: 'disclosure.leak',
6
+ title: "Content matching a context's marker found inside a note that context cannot see",
7
+ severity: 'observation',
8
+ capability: 'disclosure-policy',
9
+ scopes: ['store'],
10
+ async run(ctx) {
11
+ const notes = await ctx.notes();
12
+ const leaks = scanForLeaks(ctx.config, notes);
13
+ const findings = leaks.map((leak) => ({
14
+ code: 'disclosure.leak',
15
+ severity: 'warning',
16
+ message: `"${leak.path}" matches a marker for context "${leak.context}", which cannot see this note: "${leak.matchedText}".`,
17
+ subject: leak.path,
18
+ details: { context: leak.context, pattern: leak.pattern, matchedText: leak.matchedText },
19
+ }));
20
+ return { status: findings.length > 0 ? 'fail' : 'pass', findings };
21
+ },
22
+ });
23
+ export const DISCLOSURE_CHECKS = [leakCheck];
24
+ //# sourceMappingURL=disclosure-checks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disclosure-checks.js","sourceRoot":"","sources":["../../../src/core/checks/disclosure-checks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,yKAAyK;AACzK,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;IACnC,EAAE,EAAE,iBAAiB;IACrB,KAAK,EAAE,iFAAiF;IACxF,QAAQ,EAAE,aAAa;IACvB,UAAU,EAAE,mBAAmB;IAC/B,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAc,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC/C,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,mCAAmC,IAAI,CAAC,OAAO,mCAAmC,IAAI,CAAC,WAAW,IAAI;YAC5H,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;SACzF,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACrE,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAS,CAAC,CAAC"}
@@ -4,7 +4,12 @@
4
4
  * already can't surface anything under an excluded prefix (they're both
5
5
  * built from listNotes()) — this check guards the one way that guarantee
6
6
  * could quietly break: an operator editing config.retrieval.exclude_paths
7
- * and dropping the identity path from it.
7
+ * and dropping an identity path from it.
8
+ *
9
+ * session-capture-command spec (D3): checked against each ROLE'S RESOLVED
10
+ * path — not the identity directory alone — so a role relocated outside
11
+ * `identity.path` (e.g. into a directory a harness runtime links into)
12
+ * still cannot leak into retrieval.
8
13
  */
9
14
  export declare const identityExclusionCheck: import("./types.js").CheckDefinition;
10
15
  export declare const IDENTITY_CHECKS: import("./types.js").CheckDefinition[];
@@ -1 +1 @@
1
- {"version":3,"file":"identity-checks.d.ts","sourceRoot":"","sources":["../../../src/core/checks/identity-checks.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,sCA2BjC,CAAC;AAEH,eAAO,MAAM,eAAe,wCAA2B,CAAC"}
1
+ {"version":3,"file":"identity-checks.d.ts","sourceRoot":"","sources":["../../../src/core/checks/identity-checks.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,sCAyBjC,CAAC;AAEH,eAAO,MAAM,eAAe,wCAA2B,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { IDENTITY_ROLES, identityFilePath } from '../identity.js';
1
2
  import { defineCheck } from './types.js';
2
3
  /**
3
4
  * agent-identity spec: "Identity files... SHALL live under a path declared
@@ -5,34 +6,37 @@ import { defineCheck } from './types.js';
5
6
  * already can't surface anything under an excluded prefix (they're both
6
7
  * built from listNotes()) — this check guards the one way that guarantee
7
8
  * could quietly break: an operator editing config.retrieval.exclude_paths
8
- * and dropping the identity path from it.
9
+ * and dropping an identity path from it.
10
+ *
11
+ * session-capture-command spec (D3): checked against each ROLE'S RESOLVED
12
+ * path — not the identity directory alone — so a role relocated outside
13
+ * `identity.path` (e.g. into a directory a harness runtime links into)
14
+ * still cannot leak into retrieval.
9
15
  */
10
16
  export const identityExclusionCheck = defineCheck({
11
17
  id: 'identity.excluded_from_retrieval',
12
- title: 'The identity path is excluded from retrieval',
18
+ title: 'Every identity role\'s resolved path is excluded from retrieval',
13
19
  severity: 'invariant',
14
20
  capability: 'agent-identity',
15
21
  scopes: ['store'],
16
22
  async run(ctx) {
17
- const identityPath = ctx.config.identity.path.replace(/\/+$/, '');
18
- const covered = ctx.config.retrieval.exclude_paths.some((prefix) => {
19
- const trimmed = prefix.replace(/\/+$/, '');
20
- return identityPath === trimmed || identityPath.startsWith(`${trimmed}/`);
21
- });
22
- if (covered) {
23
- return { status: 'pass', findings: [] };
24
- }
25
- return {
26
- status: 'fail',
27
- findings: [
28
- {
23
+ const findings = [];
24
+ for (const role of IDENTITY_ROLES) {
25
+ const resolvedPath = identityFilePath(ctx.config, role);
26
+ const covered = ctx.config.retrieval.exclude_paths.some((prefix) => {
27
+ const trimmed = prefix.replace(/\/+$/, '');
28
+ return resolvedPath === trimmed || resolvedPath.startsWith(`${trimmed}/`);
29
+ });
30
+ if (!covered) {
31
+ findings.push({
29
32
  code: 'identity.not_excluded',
30
33
  severity: 'error',
31
- message: `The identity path "${ctx.config.identity.path}" is not covered by retrieval.exclude_paths — identity content could leak into the catalog or graph.`,
32
- subject: ctx.config.identity.path,
33
- },
34
- ],
35
- };
34
+ message: `The ${role} identity file "${resolvedPath}" is not covered by retrieval.exclude_paths — it could leak into the catalog or graph.`,
35
+ subject: resolvedPath,
36
+ });
37
+ }
38
+ }
39
+ return { status: findings.length > 0 ? 'fail' : 'pass', findings };
36
40
  },
37
41
  });
38
42
  export const IDENTITY_CHECKS = [identityExclusionCheck];
@@ -1 +1 @@
1
- {"version":3,"file":"identity-checks.js","sourceRoot":"","sources":["../../../src/core/checks/identity-checks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC;IAChD,EAAE,EAAE,kCAAkC;IACtC,KAAK,EAAE,8CAA8C;IACrD,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,gBAAgB;IAC5B,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC3C,OAAO,YAAY,KAAK,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO;YACL,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,uBAAuB;oBAC7B,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,sBAAsB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,sGAAsG;oBAC7J,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI;iBAClC;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"identity-checks.js","sourceRoot":"","sources":["../../../src/core/checks/identity-checks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC;IAChD,EAAE,EAAE,kCAAkC;IACtC,KAAK,EAAE,iEAAiE;IACxE,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,gBAAgB;IAC5B,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACjE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC3C,OAAO,YAAY,KAAK,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,uBAAuB;oBAC7B,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,OAAO,IAAI,mBAAmB,YAAY,wFAAwF;oBAC3I,OAAO,EAAE,YAAY;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACrE,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,sBAAsB,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { resolveAdapter } from '../../adapters/registry.js';
2
2
  import { SUPPORTED_SCHEMA_VERSION } from '../../config/schema.js';
3
3
  import { checkCatalogStale } from '../catalog/build.js';
4
- import { buildGraphFromNotes } from '../graph/model.js';
4
+ import { buildGraphFromNotes, graphBuildOptions } from '../graph/model.js';
5
5
  import { defineCheck } from './types.js';
6
6
  /**
7
7
  * store-integrity spec (task 9.3): "derived-artifact staleness." Covers
@@ -31,7 +31,7 @@ export const derivedArtifactStalenessCheck = defineCheck({
31
31
  }
32
32
  const persistedGraph = await ctx.graph();
33
33
  if (persistedGraph) {
34
- const freshGraph = buildGraphFromNotes(await ctx.notes());
34
+ const freshGraph = buildGraphFromNotes(await ctx.notes(), graphBuildOptions(ctx.config));
35
35
  if (JSON.stringify(persistedGraph) !== JSON.stringify(freshGraph)) {
36
36
  findings.push({
37
37
  code: 'derived_artifacts.graph_stale',
@@ -1 +1 @@
1
- {"version":3,"file":"integrity-checks.js","sourceRoot":"","sources":["../../../src/core/checks/integrity-checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integrity-checks.js","sourceRoot":"","sources":["../../../src/core/checks/integrity-checks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CAAC;IACvD,EAAE,EAAE,yBAAyB;IAC7B,KAAK,EAAE,qEAAqE;IAC5E,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,iBAAiB;IAC7B,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,MAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QAC1D,MAAM,mBAAmB,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;YACxC,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,iCAAiC;gBACvC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,IAAI,KAAK,CAAC,IAAI,yBAAyB,KAAK,CAAC,OAAO,mDAAmD;gBAChH,OAAO,EAAE,KAAK,CAAC,IAAI;aACpB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACzF,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClE,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,+BAA+B;oBACrC,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,0HAA0H;iBACpI,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACrE,CAAC;CACF,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,wFAAwF;AACxF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC;IACjD,EAAE,EAAE,sBAAsB;IAC1B,KAAK,EAAE,iCAAiC;IACxC,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,mBAAmB;IAC/B,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,uDAAuD,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC/G,CAAC;QACD,MAAM,QAAQ,GAAc,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrD,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,MAAM,eAAe,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,GAAG;YAChH,OAAO,EAAE,CAAC,CAAC,IAAI;YACf,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SAChD,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACrE,CAAC;CACF,CAAC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CAAC;IACpD,EAAE,EAAE,+BAA+B;IACnC,KAAK,EAAE,4CAA4C;IACnD,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,iBAAiB;IAC7B,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,wBAAwB,EAAE,CAAC;YAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO;YACL,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,6BAA6B;oBACnC,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,kCAAkC,GAAG,CAAC,MAAM,CAAC,cAAc,kCAAkC,wBAAwB,yBAAyB;oBACvJ,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,wBAAwB,EAAE;iBACrF;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,oEAAoE;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAAC;IACnD,EAAE,EAAE,wBAAwB;IAC5B,KAAK,EAAE,+EAA+E;IACtF,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,UAAU;IACtB,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,KAAK,MAAM,WAAW,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,cAAc,CAAC,WAAW,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,uBAAuB;oBAC7B,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACzD,OAAO,EAAE,WAAW,CAAC,EAAE;oBACvB,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE;iBACpC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACrE,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,6BAA6B;IAC7B,uBAAuB;IACvB,0BAA0B;IAC1B,yBAAyB;CAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/core/checks/manifest.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS,eAAe,EAQ5C,CAAC"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/core/checks/manifest.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS,eAAe,EAS5C,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { CATALOG_CHECKS } from './catalog-checks.js';
2
+ import { DISCLOSURE_CHECKS } from './disclosure-checks.js';
2
3
  import { IDENTITY_CHECKS } from './identity-checks.js';
3
4
  import { INTEGRITY_CHECKS } from './integrity-checks.js';
4
5
  import { failClosedVisibilityCheck, failClosedVisibilityInvariantCheck } from '../notes/checks.js';
@@ -14,6 +15,7 @@ export const CHECKS = [
14
15
  ...WRITE_LIFECYCLE_CHECKS,
15
16
  ...CATALOG_CHECKS,
16
17
  ...ORGANIZE_CHECKS,
18
+ ...DISCLOSURE_CHECKS,
17
19
  ...IDENTITY_CHECKS,
18
20
  ...INTEGRITY_CHECKS,
19
21
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/core/checks/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAA+B;IAChD,yBAAyB;IACzB,kCAAkC;IAClC,GAAG,sBAAsB;IACzB,GAAG,cAAc;IACjB,GAAG,eAAe;IAClB,GAAG,eAAe;IAClB,GAAG,gBAAgB;CACpB,CAAC"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/core/checks/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAA+B;IAChD,yBAAyB;IACzB,kCAAkC;IAClC,GAAG,sBAAsB;IACzB,GAAG,cAAc;IACjB,GAAG,eAAe;IAClB,GAAG,iBAAiB;IACpB,GAAG,eAAe;IAClB,GAAG,gBAAgB;CACpB,CAAC"}
@@ -14,5 +14,7 @@ export declare const uningestedInboxCheck: import("./types.js").CheckDefinition;
14
14
  * entries are a stricter integrity concern doctor alone owns.
15
15
  */
16
16
  export declare const catalogGapsLintCheck: import("./types.js").CheckDefinition;
17
+ /** context-organize spec (store-primitives-from-migration-audit D4): a rollup with no timestamp, or one whose backlinks have moved past it, reported not failed. */
18
+ export declare const rollupStaleCheck: import("./types.js").CheckDefinition;
17
19
  export declare const ORGANIZE_CHECKS: import("./types.js").CheckDefinition[];
18
20
  //# sourceMappingURL=organize-checks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"organize-checks.d.ts","sourceRoot":"","sources":["../../../src/core/checks/organize-checks.ts"],"names":[],"mappings":"AAQA,0FAA0F;AAC1F,eAAO,MAAM,gBAAgB,sCAiB3B,CAAC;AAEH,oVAAoV;AACpV,eAAO,MAAM,gBAAgB,sCAkB3B,CAAC;AAEH,mGAAmG;AACnG,eAAO,MAAM,oBAAoB,sCAqB/B,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,sCAgB/B,CAAC;AAEH,eAAO,MAAM,eAAe,wCAAmF,CAAC"}
1
+ {"version":3,"file":"organize-checks.d.ts","sourceRoot":"","sources":["../../../src/core/checks/organize-checks.ts"],"names":[],"mappings":"AASA,0FAA0F;AAC1F,eAAO,MAAM,gBAAgB,sCAiB3B,CAAC;AAEH,oVAAoV;AACpV,eAAO,MAAM,gBAAgB,sCAkB3B,CAAC;AAEH,mGAAmG;AACnG,eAAO,MAAM,oBAAoB,sCAqB/B,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,sCAgB/B,CAAC;AAEH,oKAAoK;AACpK,eAAO,MAAM,gBAAgB,sCAqB3B,CAAC;AAEH,eAAO,MAAM,eAAe,wCAAqG,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { checkCatalogCoverage } from '../catalog/build.js';
2
2
  import { orphans } from '../graph/query.js';
3
3
  import { hasSourceIdentity } from '../ingest/identity.js';
4
+ import { findStaleRollups } from '../rollup.js';
4
5
  import { defineCheck } from './types.js';
5
6
  const GRAPH_SKIP_REASON = 'graph has not been built yet — run `ctxr graph build`';
6
7
  /** context-organize spec: "orphaned notes" — reported by lint, never failed by doctor. */
@@ -93,5 +94,27 @@ export const catalogGapsLintCheck = defineCheck({
93
94
  return { status: findings.length > 0 ? 'fail' : 'pass', findings };
94
95
  },
95
96
  });
96
- export const ORGANIZE_CHECKS = [orphanNotesCheck, brokenLinksCheck, uningestedInboxCheck, catalogGapsLintCheck];
97
+ /** context-organize spec (store-primitives-from-migration-audit D4): a rollup with no timestamp, or one whose backlinks have moved past it, reported not failed. */
98
+ export const rollupStaleCheck = defineCheck({
99
+ id: 'organize.rollup_stale',
100
+ title: 'Entity rollups whose sources have moved past their last synthesis',
101
+ severity: 'observation',
102
+ capability: 'context-organize',
103
+ scopes: ['store'],
104
+ async run(ctx) {
105
+ const notes = await ctx.notes();
106
+ const stale = await findStaleRollups(ctx.git, ctx.storeRoot, notes, {}, ctx.config.organize.rollup_stale_days);
107
+ const findings = stale.map((entry) => ({
108
+ code: 'organize.rollup_stale',
109
+ severity: 'info',
110
+ message: entry.rolledUp === null
111
+ ? `"${entry.entity}" has a rollup section but no recorded rollup timestamp.`
112
+ : `"${entry.entity}"'s rollup is stale — "${entry.newestBacklink.path}" was modified after the last rollup.`,
113
+ subject: entry.entity,
114
+ details: { rolledUp: entry.rolledUp, newestBacklink: entry.newestBacklink },
115
+ }));
116
+ return { status: findings.length > 0 ? 'fail' : 'pass', findings };
117
+ },
118
+ });
119
+ export const ORGANIZE_CHECKS = [orphanNotesCheck, brokenLinksCheck, uningestedInboxCheck, catalogGapsLintCheck, rollupStaleCheck];
97
120
  //# sourceMappingURL=organize-checks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"organize-checks.js","sourceRoot":"","sources":["../../../src/core/checks/organize-checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"organize-checks.js","sourceRoot":"","sources":["../../../src/core/checks/organize-checks.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,10 @@ export declare const stagedSecretScanCheck: import("./types.js").CheckDefinition
9
9
  /**
10
10
  * The concrete, testable interpretation of "path allowlist": a declared
11
11
  * derived path must never be committed (context-store spec) — staging one
12
- * is refused here rather than merely documented as a convention.
12
+ * is refused here rather than merely documented as a convention. Every
13
+ * staged markdown path also passes the session-capture-command path gate
14
+ * (D5) — the same `sanctionedPath` function `session capture` applies at
15
+ * write time, so the two can never disagree.
13
16
  */
14
17
  export declare const stagedPathAllowlistCheck: import("./types.js").CheckDefinition;
15
18
  export declare const stagedDiffSizeCeilingCheck: import("./types.js").CheckDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"write-lifecycle-checks.d.ts","sourceRoot":"","sources":["../../../src/core/checks/write-lifecycle-checks.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,sCAyCvC,CAAC;AAEH,eAAO,MAAM,yBAAyB,sCAsBpC,CAAC;AAEH,eAAO,MAAM,qBAAqB,sCAqBhC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,sCAyBnC,CAAC;AAEH,eAAO,MAAM,0BAA0B,sCA2BrC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,sCAiC3B,CAAC;AAEH,eAAO,MAAM,sBAAsB,wCAOlC,CAAC"}
1
+ {"version":3,"file":"write-lifecycle-checks.d.ts","sourceRoot":"","sources":["../../../src/core/checks/write-lifecycle-checks.ts"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,sCAyCvC,CAAC;AAEH,eAAO,MAAM,yBAAyB,sCAsBpC,CAAC;AAEH,eAAO,MAAM,qBAAqB,sCAqBhC,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,sCAqCnC,CAAC;AAEH,eAAO,MAAM,0BAA0B,sCA2BrC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,sCAiC3B,CAAC;AAEH,eAAO,MAAM,sBAAsB,wCAOlC,CAAC"}
@@ -4,6 +4,7 @@ import { configureHooksPath, detectStaleHooks, getConfiguredHooksPath, installHo
4
4
  import { parseNoteText } from '../notes/parse.js';
5
5
  import { scanForSecrets } from '../security/secrets.js';
6
6
  import { validateFenceIntegrity } from '../fs/fenced-region.js';
7
+ import { sanctionedPath } from '../write-lifecycle/path-gate.js';
7
8
  import { defineCheck } from './types.js';
8
9
  const CONFIG_FILE_NAME = 'contexture.yaml';
9
10
  /**
@@ -103,11 +104,14 @@ export const stagedSecretScanCheck = defineCheck({
103
104
  /**
104
105
  * The concrete, testable interpretation of "path allowlist": a declared
105
106
  * derived path must never be committed (context-store spec) — staging one
106
- * is refused here rather than merely documented as a convention.
107
+ * is refused here rather than merely documented as a convention. Every
108
+ * staged markdown path also passes the session-capture-command path gate
109
+ * (D5) — the same `sanctionedPath` function `session capture` applies at
110
+ * write time, so the two can never disagree.
107
111
  */
108
112
  export const stagedPathAllowlistCheck = defineCheck({
109
113
  id: 'staged.path_allowlist',
110
- title: 'No staged file is under a declared derived path',
114
+ title: 'No staged file is under a declared derived path, and every staged note passes the path gate',
111
115
  severity: 'invariant',
112
116
  capability: 'write-lifecycle',
113
117
  scopes: ['staged'],
@@ -127,6 +131,18 @@ export const stagedPathAllowlistCheck = defineCheck({
127
131
  message: `"${file.path}" is under a declared derived path and must never be committed.`,
128
132
  subject: file.path,
129
133
  });
134
+ continue;
135
+ }
136
+ if (file.path.endsWith('.md')) {
137
+ const gate = await sanctionedPath(ctx.config, ctx.storeRoot, file.path);
138
+ if (!gate.ok) {
139
+ findings.push({
140
+ code: 'staged.path_allowlist.path_gate',
141
+ severity: 'error',
142
+ message: `"${file.path}" ${gate.reason}.`,
143
+ subject: file.path,
144
+ });
145
+ }
130
146
  }
131
147
  }
132
148
  return { status: findings.length > 0 ? 'fail' : 'pass', findings };
@@ -1 +1 @@
1
- {"version":3,"file":"write-lifecycle-checks.js","sourceRoot":"","sources":["../../../src/core/checks/write-lifecycle-checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-lifecycle-checks.js","sourceRoot":"","sources":["../../../src/core/checks/write-lifecycle-checks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { StoreConfig } from '../../config/schema.js';
2
+ import type { Note } from '../notes/list.js';
3
+ export interface LeakFinding {
4
+ path: string;
5
+ context: string;
6
+ pattern: string;
7
+ matchedText: string;
8
+ }
9
+ /**
10
+ * disclosure-policy spec (store-primitives-from-migration-audit D3): a leak
11
+ * is content that belongs to context X (per an operator-declared marker
12
+ * pattern) inside a note X cannot see, per the SAME context→visible-values
13
+ * mapping the visibility pre-filter and disclosure's internal-audience rung
14
+ * use — "X cannot see the note" is exactly `!canSee(config, X, resolved)`.
15
+ * Empty markers (the default) make this a no-op for every note.
16
+ */
17
+ export declare function scanNoteForLeaks(config: StoreConfig, note: Note): LeakFinding[];
18
+ export declare function scanForLeaks(config: StoreConfig, notes: readonly Note[]): LeakFinding[];
19
+ //# sourceMappingURL=leak-scan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leak-scan.d.ts","sourceRoot":"","sources":["../../../src/core/disclosure/leak-scan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG7C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,WAAW,EAAE,CAgB/E;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,WAAW,EAAE,CAEvF"}
@@ -0,0 +1,31 @@
1
+ import { canSee, resolveVisibility } from '../notes/visibility.js';
2
+ /**
3
+ * disclosure-policy spec (store-primitives-from-migration-audit D3): a leak
4
+ * is content that belongs to context X (per an operator-declared marker
5
+ * pattern) inside a note X cannot see, per the SAME context→visible-values
6
+ * mapping the visibility pre-filter and disclosure's internal-audience rung
7
+ * use — "X cannot see the note" is exactly `!canSee(config, X, resolved)`.
8
+ * Empty markers (the default) make this a no-op for every note.
9
+ */
10
+ export function scanNoteForLeaks(config, note) {
11
+ const markers = config.disclosure.leak_markers;
12
+ if (Object.keys(markers).length === 0)
13
+ return [];
14
+ const resolved = resolveVisibility(config, note).value;
15
+ const findings = [];
16
+ for (const [context, patterns] of Object.entries(markers)) {
17
+ if (canSee(config, context, resolved))
18
+ continue;
19
+ for (const pattern of patterns) {
20
+ const match = new RegExp(pattern).exec(note.body);
21
+ if (match) {
22
+ findings.push({ path: note.path, context, pattern, matchedText: match[0] });
23
+ }
24
+ }
25
+ }
26
+ return findings;
27
+ }
28
+ export function scanForLeaks(config, notes) {
29
+ return notes.flatMap((note) => scanNoteForLeaks(config, note));
30
+ }
31
+ //# sourceMappingURL=leak-scan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leak-scan.js","sourceRoot":"","sources":["../../../src/core/disclosure/leak-scan.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AASnE;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAmB,EAAE,IAAU;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;IAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC;IACvD,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1D,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;YAAE,SAAS;QAChD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,KAAK,EAAE,CAAC;gBACV,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAmB,EAAE,KAAsB;IACtE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AACjE,CAAC"}
@@ -45,6 +45,43 @@ export declare class SessionValidationFailedError extends ContextureError {
45
45
  export declare class NoRemoteConfiguredError extends ContextureError {
46
46
  constructor();
47
47
  }
48
+ /** session-submit-and-land spec (D1): the gate fails loud, before any forge read, when nothing can consent to a merge. */
49
+ export declare class SessionLandConsentRequiredError extends ContextureError {
50
+ constructor();
51
+ }
52
+ export declare class SessionLandOnDefaultBranchError extends ContextureError {
53
+ constructor(branch: string);
54
+ }
55
+ export declare class NoForgeConfiguredError extends ContextureError {
56
+ constructor();
57
+ }
58
+ export declare class PullRequestHeadMismatchError extends ContextureError {
59
+ constructor(requested: string, actual: string);
60
+ }
61
+ export declare class PullRequestClosedError extends ContextureError {
62
+ constructor(number: number);
63
+ }
64
+ /** session-submit-and-land spec (D1): conflicting AND unknown-after-one-retry share this stop — both need a reader, not a retry. */
65
+ export declare class PullRequestNotMergeableError extends ContextureError {
66
+ constructor(number: number, reason: 'conflicting' | 'unknown');
67
+ }
68
+ export declare class MergeNotConfirmedError extends ContextureError {
69
+ constructor(number: number);
70
+ }
71
+ /** session-capture-command spec (D4): zero or several matches both refuse — an ambiguous edit is worse than a missed one. */
72
+ export declare class IdentityEntryMatchError extends ContextureError {
73
+ constructor(filePath: string, match: string, count: number);
74
+ }
75
+ export declare class UnknownIdentityRoleError extends ContextureError {
76
+ constructor(given: string, knownRoles: readonly string[]);
77
+ }
78
+ /** session-capture-command spec (D2): a proposal file that cannot even be read or parsed fails the whole command — there is nothing to apply item by item. */
79
+ export declare class InvalidCaptureProposalError extends ContextureError {
80
+ constructor(filePath: string, detail: string);
81
+ }
82
+ export declare class CheckAudienceRequiredError extends ContextureError {
83
+ constructor();
84
+ }
48
85
  export declare class CatalogSectionNotFoundError extends ContextureError {
49
86
  constructor(sectionId: string);
50
87
  }
@@ -54,6 +91,9 @@ export declare class GraphIdentityCollisionError extends ContextureError {
54
91
  export declare class NoteNotFoundError extends ContextureError {
55
92
  constructor(notePath: string);
56
93
  }
94
+ export declare class SourceIdentityMissingError extends ContextureError {
95
+ constructor(notePath: string);
96
+ }
57
97
  export declare class AlreadyIngestedError extends ContextureError {
58
98
  constructor(notePath: string);
59
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}