@descryy/mcp 0.6.0 → 0.7.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 (260) hide show
  1. package/dist/action-handshake.d.ts +8 -75
  2. package/dist/action-handshake.d.ts.map +1 -1
  3. package/dist/action-handshake.js +9 -79
  4. package/dist/action-handshake.js.map +1 -1
  5. package/dist/bin/descry-mcp.d.ts +4 -15
  6. package/dist/bin/descry-mcp.d.ts.map +1 -1
  7. package/dist/bin/descry-mcp.js +12 -42
  8. package/dist/bin/descry-mcp.js.map +1 -1
  9. package/dist/browser/driver.d.ts +59 -224
  10. package/dist/browser/driver.d.ts.map +1 -1
  11. package/dist/browser/driver.js +9 -55
  12. package/dist/browser/driver.js.map +1 -1
  13. package/dist/browser/evidence.d.ts +10 -43
  14. package/dist/browser/evidence.d.ts.map +1 -1
  15. package/dist/browser/evidence.js +20 -54
  16. package/dist/browser/evidence.js.map +1 -1
  17. package/dist/browser/fake-driver.d.ts +4 -16
  18. package/dist/browser/fake-driver.d.ts.map +1 -1
  19. package/dist/browser/fake-driver.js +6 -20
  20. package/dist/browser/fake-driver.js.map +1 -1
  21. package/dist/browser/graph-write.d.ts +4 -45
  22. package/dist/browser/graph-write.d.ts.map +1 -1
  23. package/dist/browser/graph-write.js +8 -53
  24. package/dist/browser/graph-write.js.map +1 -1
  25. package/dist/browser/playwright-driver.d.ts +7 -91
  26. package/dist/browser/playwright-driver.d.ts.map +1 -1
  27. package/dist/browser/playwright-driver.js +40 -194
  28. package/dist/browser/playwright-driver.js.map +1 -1
  29. package/dist/browser/provider.d.ts +5 -34
  30. package/dist/browser/provider.d.ts.map +1 -1
  31. package/dist/browser/provider.js +4 -24
  32. package/dist/browser/provider.js.map +1 -1
  33. package/dist/browser/registry.d.ts +26 -106
  34. package/dist/browser/registry.d.ts.map +1 -1
  35. package/dist/browser/registry.js +20 -77
  36. package/dist/browser/registry.js.map +1 -1
  37. package/dist/browser/scenario-resolve.d.ts +10 -44
  38. package/dist/browser/scenario-resolve.d.ts.map +1 -1
  39. package/dist/browser/scenario-resolve.js +10 -41
  40. package/dist/browser/scenario-resolve.js.map +1 -1
  41. package/dist/browser/scenario-runner.d.ts +12 -70
  42. package/dist/browser/scenario-runner.d.ts.map +1 -1
  43. package/dist/browser/scenario-runner.js +30 -90
  44. package/dist/browser/scenario-runner.js.map +1 -1
  45. package/dist/browser/stack-parser.d.ts +4 -28
  46. package/dist/browser/stack-parser.d.ts.map +1 -1
  47. package/dist/browser/stack-parser.js +12 -39
  48. package/dist/browser/stack-parser.js.map +1 -1
  49. package/dist/browser/tool-support.d.ts +20 -67
  50. package/dist/browser/tool-support.d.ts.map +1 -1
  51. package/dist/browser/tool-support.js +21 -65
  52. package/dist/browser/tool-support.js.map +1 -1
  53. package/dist/browser/url-scheme.d.ts +14 -0
  54. package/dist/browser/url-scheme.d.ts.map +1 -0
  55. package/dist/browser/url-scheme.js +38 -0
  56. package/dist/browser/url-scheme.js.map +1 -0
  57. package/dist/cancellation.d.ts +11 -46
  58. package/dist/cancellation.d.ts.map +1 -1
  59. package/dist/cancellation.js +11 -46
  60. package/dist/cancellation.js.map +1 -1
  61. package/dist/capped.d.ts +9 -33
  62. package/dist/capped.d.ts.map +1 -1
  63. package/dist/capped.js +7 -27
  64. package/dist/capped.js.map +1 -1
  65. package/dist/disclosure-ledger.d.ts +6 -30
  66. package/dist/disclosure-ledger.d.ts.map +1 -1
  67. package/dist/disclosure-ledger.js +4 -26
  68. package/dist/disclosure-ledger.js.map +1 -1
  69. package/dist/index.d.ts +10 -26
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +7 -17
  72. package/dist/index.js.map +1 -1
  73. package/dist/module-trust.d.ts +24 -0
  74. package/dist/module-trust.d.ts.map +1 -0
  75. package/dist/module-trust.js +60 -0
  76. package/dist/module-trust.js.map +1 -0
  77. package/dist/path-confinement.d.ts +31 -0
  78. package/dist/path-confinement.d.ts.map +1 -0
  79. package/dist/path-confinement.js +44 -0
  80. package/dist/path-confinement.js.map +1 -0
  81. package/dist/protocol.d.ts +10 -53
  82. package/dist/protocol.d.ts.map +1 -1
  83. package/dist/protocol.js +14 -60
  84. package/dist/protocol.js.map +1 -1
  85. package/dist/registry.d.ts +10 -58
  86. package/dist/registry.d.ts.map +1 -1
  87. package/dist/registry.js +38 -90
  88. package/dist/registry.js.map +1 -1
  89. package/dist/render.d.ts +42 -11
  90. package/dist/render.d.ts.map +1 -1
  91. package/dist/render.js +74 -10
  92. package/dist/render.js.map +1 -1
  93. package/dist/runtime-registry.d.ts +7 -66
  94. package/dist/runtime-registry.d.ts.map +1 -1
  95. package/dist/runtime-registry.js +39 -114
  96. package/dist/runtime-registry.js.map +1 -1
  97. package/dist/scenarios/index.d.ts +1 -1
  98. package/dist/scenarios/index.d.ts.map +1 -1
  99. package/dist/scenarios/index.js +1 -1
  100. package/dist/scenarios/index.js.map +1 -1
  101. package/dist/scenarios/parse.d.ts +4 -18
  102. package/dist/scenarios/parse.d.ts.map +1 -1
  103. package/dist/scenarios/parse.js +14 -34
  104. package/dist/scenarios/parse.js.map +1 -1
  105. package/dist/scenarios/scenario.d.ts +18 -74
  106. package/dist/scenarios/scenario.d.ts.map +1 -1
  107. package/dist/scenarios/scenario.js +7 -34
  108. package/dist/scenarios/scenario.js.map +1 -1
  109. package/dist/scenarios/storage.d.ts +11 -41
  110. package/dist/scenarios/storage.d.ts.map +1 -1
  111. package/dist/scenarios/storage.js +57 -47
  112. package/dist/scenarios/storage.js.map +1 -1
  113. package/dist/server.d.ts.map +1 -1
  114. package/dist/server.js +37 -17
  115. package/dist/server.js.map +1 -1
  116. package/dist/session.d.ts +67 -259
  117. package/dist/session.d.ts.map +1 -1
  118. package/dist/session.js +69 -250
  119. package/dist/session.js.map +1 -1
  120. package/dist/tools/analyze.d.ts +24 -118
  121. package/dist/tools/analyze.d.ts.map +1 -1
  122. package/dist/tools/analyze.js +44 -166
  123. package/dist/tools/analyze.js.map +1 -1
  124. package/dist/tools/browser-click.d.ts +3 -21
  125. package/dist/tools/browser-click.d.ts.map +1 -1
  126. package/dist/tools/browser-click.js +10 -31
  127. package/dist/tools/browser-click.js.map +1 -1
  128. package/dist/tools/browser-close-session.d.ts +4 -13
  129. package/dist/tools/browser-close-session.d.ts.map +1 -1
  130. package/dist/tools/browser-close-session.js +4 -13
  131. package/dist/tools/browser-close-session.js.map +1 -1
  132. package/dist/tools/browser-fill.d.ts +5 -36
  133. package/dist/tools/browser-fill.d.ts.map +1 -1
  134. package/dist/tools/browser-fill.js +9 -44
  135. package/dist/tools/browser-fill.js.map +1 -1
  136. package/dist/tools/browser-navigate.d.ts +6 -27
  137. package/dist/tools/browser-navigate.d.ts.map +1 -1
  138. package/dist/tools/browser-navigate.js +6 -23
  139. package/dist/tools/browser-navigate.js.map +1 -1
  140. package/dist/tools/browser-run-scenario.d.ts +5 -31
  141. package/dist/tools/browser-run-scenario.d.ts.map +1 -1
  142. package/dist/tools/browser-run-scenario.js +10 -46
  143. package/dist/tools/browser-run-scenario.js.map +1 -1
  144. package/dist/tools/browser-save-scenario.d.ts +3 -28
  145. package/dist/tools/browser-save-scenario.d.ts.map +1 -1
  146. package/dist/tools/browser-save-scenario.js +15 -74
  147. package/dist/tools/browser-save-scenario.js.map +1 -1
  148. package/dist/tools/browser-snapshot.d.ts +6 -39
  149. package/dist/tools/browser-snapshot.d.ts.map +1 -1
  150. package/dist/tools/browser-snapshot.js +4 -31
  151. package/dist/tools/browser-snapshot.js.map +1 -1
  152. package/dist/tools/browser-start-session.d.ts +4 -23
  153. package/dist/tools/browser-start-session.d.ts.map +1 -1
  154. package/dist/tools/browser-start-session.js +33 -55
  155. package/dist/tools/browser-start-session.js.map +1 -1
  156. package/dist/tools/browser-type.d.ts +5 -35
  157. package/dist/tools/browser-type.d.ts.map +1 -1
  158. package/dist/tools/browser-type.js +10 -45
  159. package/dist/tools/browser-type.js.map +1 -1
  160. package/dist/tools/contracts.d.ts +9 -86
  161. package/dist/tools/contracts.d.ts.map +1 -1
  162. package/dist/tools/contracts.js +24 -80
  163. package/dist/tools/contracts.js.map +1 -1
  164. package/dist/tools/cross-pr.d.ts +42 -30
  165. package/dist/tools/cross-pr.d.ts.map +1 -1
  166. package/dist/tools/cross-pr.js +81 -62
  167. package/dist/tools/cross-pr.js.map +1 -1
  168. package/dist/tools/git-diff.d.ts +18 -2
  169. package/dist/tools/git-diff.d.ts.map +1 -1
  170. package/dist/tools/git-diff.js +118 -26
  171. package/dist/tools/git-diff.js.map +1 -1
  172. package/dist/tools/git-history.d.ts +5 -16
  173. package/dist/tools/git-history.d.ts.map +1 -1
  174. package/dist/tools/git-history.js +3 -10
  175. package/dist/tools/git-history.js.map +1 -1
  176. package/dist/tools/history.d.ts +4 -33
  177. package/dist/tools/history.d.ts.map +1 -1
  178. package/dist/tools/history.js +6 -31
  179. package/dist/tools/history.js.map +1 -1
  180. package/dist/tools/impact.d.ts +7 -51
  181. package/dist/tools/impact.d.ts.map +1 -1
  182. package/dist/tools/impact.js +15 -67
  183. package/dist/tools/impact.js.map +1 -1
  184. package/dist/tools/index.d.ts +3 -8
  185. package/dist/tools/index.d.ts.map +1 -1
  186. package/dist/tools/index.js +3 -8
  187. package/dist/tools/index.js.map +1 -1
  188. package/dist/tools/kit.d.ts +66 -113
  189. package/dist/tools/kit.d.ts.map +1 -1
  190. package/dist/tools/kit.js +60 -28
  191. package/dist/tools/kit.js.map +1 -1
  192. package/dist/tools/link-workspace.d.ts +7 -45
  193. package/dist/tools/link-workspace.d.ts.map +1 -1
  194. package/dist/tools/link-workspace.js +10 -48
  195. package/dist/tools/link-workspace.js.map +1 -1
  196. package/dist/tools/lookup.d.ts +4 -14
  197. package/dist/tools/lookup.d.ts.map +1 -1
  198. package/dist/tools/lookup.js +4 -14
  199. package/dist/tools/lookup.js.map +1 -1
  200. package/dist/tools/mark-incident.d.ts +7 -54
  201. package/dist/tools/mark-incident.d.ts.map +1 -1
  202. package/dist/tools/mark-incident.js +15 -68
  203. package/dist/tools/mark-incident.js.map +1 -1
  204. package/dist/tools/observe-runtime.d.ts +27 -210
  205. package/dist/tools/observe-runtime.d.ts.map +1 -1
  206. package/dist/tools/observe-runtime.js +257 -435
  207. package/dist/tools/observe-runtime.js.map +1 -1
  208. package/dist/tools/observe-tests.d.ts +9 -100
  209. package/dist/tools/observe-tests.d.ts.map +1 -1
  210. package/dist/tools/observe-tests.js +24 -152
  211. package/dist/tools/observe-tests.js.map +1 -1
  212. package/dist/tools/pr-analysis.d.ts +18 -2
  213. package/dist/tools/pr-analysis.d.ts.map +1 -1
  214. package/dist/tools/pr-analysis.js +73 -23
  215. package/dist/tools/pr-analysis.js.map +1 -1
  216. package/dist/tools/pre-push.d.ts +68 -16
  217. package/dist/tools/pre-push.d.ts.map +1 -1
  218. package/dist/tools/pre-push.js +98 -35
  219. package/dist/tools/pre-push.js.map +1 -1
  220. package/dist/tools/propagation.d.ts +11 -53
  221. package/dist/tools/propagation.d.ts.map +1 -1
  222. package/dist/tools/propagation.js +14 -57
  223. package/dist/tools/propagation.js.map +1 -1
  224. package/dist/tools/questions.d.ts +13 -63
  225. package/dist/tools/questions.d.ts.map +1 -1
  226. package/dist/tools/questions.js +33 -105
  227. package/dist/tools/questions.js.map +1 -1
  228. package/dist/tools/refusal-fetch.d.ts +4 -40
  229. package/dist/tools/refusal-fetch.d.ts.map +1 -1
  230. package/dist/tools/refusal-fetch.js +4 -40
  231. package/dist/tools/refusal-fetch.js.map +1 -1
  232. package/dist/tools/runtime-incident.d.ts +4 -63
  233. package/dist/tools/runtime-incident.d.ts.map +1 -1
  234. package/dist/tools/runtime-incident.js +10 -87
  235. package/dist/tools/runtime-incident.js.map +1 -1
  236. package/dist/tools/scope.d.ts +7 -25
  237. package/dist/tools/scope.d.ts.map +1 -1
  238. package/dist/tools/scope.js +10 -29
  239. package/dist/tools/scope.js.map +1 -1
  240. package/dist/tools/similar-incidents.d.ts +11 -86
  241. package/dist/tools/similar-incidents.d.ts.map +1 -1
  242. package/dist/tools/similar-incidents.js +7 -71
  243. package/dist/tools/similar-incidents.js.map +1 -1
  244. package/dist/tools/validate.d.ts +14 -69
  245. package/dist/tools/validate.d.ts.map +1 -1
  246. package/dist/tools/validate.js +23 -74
  247. package/dist/tools/validate.js.map +1 -1
  248. package/dist/tools/verification-status.d.ts +9 -64
  249. package/dist/tools/verification-status.d.ts.map +1 -1
  250. package/dist/tools/verification-status.js +9 -62
  251. package/dist/tools/verification-status.js.map +1 -1
  252. package/dist/tools/verify-claim.d.ts +5 -52
  253. package/dist/tools/verify-claim.d.ts.map +1 -1
  254. package/dist/tools/verify-claim.js +6 -56
  255. package/dist/tools/verify-claim.js.map +1 -1
  256. package/dist/transport.d.ts +15 -52
  257. package/dist/transport.d.ts.map +1 -1
  258. package/dist/transport.js +16 -60
  259. package/dist/transport.js.map +1 -1
  260. package/package.json +30 -21
@@ -1,51 +1,8 @@
1
- /**
2
- * `mark_incident` — "that was a bug, and I just fixed it."
3
- *
4
- * The mechanism that lets an incident corpus grow during ordinary work, and the
5
- * only one with precision 1.0 by construction: a person is asserting it.
6
- *
7
- * ## Why this exists
8
- *
9
- * `similar_incidents` is built, tested and correct, and starved. Until now one
10
- * thing in the whole system minted an `INCIDENT` — a commit body carrying
11
- * `This reverts commit <sha>` — which produced **zero** incidents across three
12
- * measured repositories and two in a real product repository. Widening the
13
- * automatic detection helps (`incidents.ts` now reads manual reverts and
14
- * `Fixes #123` too), but every automatic mechanism can only read what somebody
15
- * already wrote down. Most bugs are fixed forward with a commit message that
16
- * says what the code now does, not what it used to do wrong.
17
- *
18
- * The heuristic that would close that gap was built and measured and refused:
19
- * `bench/incident-fix-forward.mjs` scored **25%** against a 90% threshold
20
- * declared before it ran. So the remaining route is to ask, once, cheaply, at
21
- * the moment the developer already knows the answer.
22
- *
23
- * ## Where the record lives, and why not in the graph
24
- *
25
- * `.descry/config.json`, beside `confirmedFacts` — DEC-223's storage decision
26
- * for exactly this class of data. A store is derived data (DEC-017) and every
27
- * derived table is dropped on a schema bump; a fact a person asserted, which
28
- * exists nowhere else, must not be. The graph holds a *projection*
29
- * (`createConfirmedIncidentSource`), re-derived by every `analyze`, and this
30
- * tool writes both so the incident is visible in the same conversation that
31
- * recorded it rather than after the next rebuild.
32
- *
33
- * ## Reliability
34
- *
35
- * DEC-223's rule, unchanged: an edge resting on testimony is capped at class B
36
- * however much structure surrounds it. One unaudited assertion is one unaudited
37
- * assertion. This tool asserts a defect existed; it asserts nothing about why,
38
- * and nothing here may promote it.
39
- *
40
- * ## Class
41
- *
42
- * `action` — DEC-278's test is *"can this call's effect change a later finding
43
- * without the developer having said so"*, and an `INCIDENT_CORRELATED` edge
44
- * biases diff-scoping traversal toward the files it names on every later run.
45
- * Gated by the same two-call `confirmToken` handshake `questions` uses.
46
- *
47
- * See `DEC-NEXT-incident-minting-beyond-explicit-reverts`.
48
- */
1
+ /** `mark_incident` — "that was a bug, I fixed it": the only incident-minting path with
2
+ * precision 1.0 (a person asserts it). Needed because automatic detection (reverts,
3
+ * `Fixes #123`) found zero incidents in 3 repos, and a fix-forward heuristic scored 25%
4
+ * against a 90% threshold and was refused. Stored in `.descry/config.json` (DEC-223,
5
+ * DEC-017 — derived tables don't survive rebuilds) and capped at class B; `action` class per DEC-278, gated by the `confirmToken` handshake. */
49
6
  import type { ConfirmedIncident } from "@descryy/ir";
50
7
  import { type ToolDefinition } from "./kit.ts";
51
8
  export interface MarkIncidentData {
@@ -57,12 +14,8 @@ export interface MarkIncidentData {
57
14
  readonly configPath: string;
58
15
  /** How many confirmed incidents this repository now has on record. */
59
16
  readonly totalConfirmed: number;
60
- /**
61
- * Paths named that the graph has no node for.
62
- *
63
- * The incident is still recorded and still correlated — a developer naming a
64
- * file Descry cannot read is a gap in Descry, not a mistake by the developer.
65
- */
17
+ /** Paths named that the graph has no node for. Still recorded and correlated — a
18
+ * developer naming a file Descry can't read is a gap in Descry, not a mistake. */
66
19
  readonly filesNotInGraph: readonly string[];
67
20
  }
68
21
  export declare const markIncidentTool: ToolDefinition;
@@ -1 +1 @@
1
- {"version":3,"file":"mark-incident.d.ts","sourceRoot":"","sources":["../../src/tools/mark-incident.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AASH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,EAOL,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAGlB,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,oEAAoE;IACpE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,sEAAsE;IACtE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AA0KD,eAAO,MAAM,gBAAgB,EAAE,cAkB9B,CAAC"}
1
+ {"version":3,"file":"mark-incident.d.ts","sourceRoot":"","sources":["../../src/tools/mark-incident.ts"],"names":[],"mappings":"AAAA;;;;iJAIiJ;AASjJ,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,EAOL,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAGlB,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,oEAAoE;IACpE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,sEAAsE;IACtE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;uFACmF;IACnF,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAgKD,eAAO,MAAM,gBAAgB,EAAE,cAkB9B,CAAC"}
@@ -1,51 +1,8 @@
1
- /**
2
- * `mark_incident` — "that was a bug, and I just fixed it."
3
- *
4
- * The mechanism that lets an incident corpus grow during ordinary work, and the
5
- * only one with precision 1.0 by construction: a person is asserting it.
6
- *
7
- * ## Why this exists
8
- *
9
- * `similar_incidents` is built, tested and correct, and starved. Until now one
10
- * thing in the whole system minted an `INCIDENT` — a commit body carrying
11
- * `This reverts commit <sha>` — which produced **zero** incidents across three
12
- * measured repositories and two in a real product repository. Widening the
13
- * automatic detection helps (`incidents.ts` now reads manual reverts and
14
- * `Fixes #123` too), but every automatic mechanism can only read what somebody
15
- * already wrote down. Most bugs are fixed forward with a commit message that
16
- * says what the code now does, not what it used to do wrong.
17
- *
18
- * The heuristic that would close that gap was built and measured and refused:
19
- * `bench/incident-fix-forward.mjs` scored **25%** against a 90% threshold
20
- * declared before it ran. So the remaining route is to ask, once, cheaply, at
21
- * the moment the developer already knows the answer.
22
- *
23
- * ## Where the record lives, and why not in the graph
24
- *
25
- * `.descry/config.json`, beside `confirmedFacts` — DEC-223's storage decision
26
- * for exactly this class of data. A store is derived data (DEC-017) and every
27
- * derived table is dropped on a schema bump; a fact a person asserted, which
28
- * exists nowhere else, must not be. The graph holds a *projection*
29
- * (`createConfirmedIncidentSource`), re-derived by every `analyze`, and this
30
- * tool writes both so the incident is visible in the same conversation that
31
- * recorded it rather than after the next rebuild.
32
- *
33
- * ## Reliability
34
- *
35
- * DEC-223's rule, unchanged: an edge resting on testimony is capped at class B
36
- * however much structure surrounds it. One unaudited assertion is one unaudited
37
- * assertion. This tool asserts a defect existed; it asserts nothing about why,
38
- * and nothing here may promote it.
39
- *
40
- * ## Class
41
- *
42
- * `action` — DEC-278's test is *"can this call's effect change a later finding
43
- * without the developer having said so"*, and an `INCIDENT_CORRELATED` edge
44
- * biases diff-scoping traversal toward the files it names on every later run.
45
- * Gated by the same two-call `confirmToken` handshake `questions` uses.
46
- *
47
- * See `DEC-NEXT-incident-minting-beyond-explicit-reverts`.
48
- */
1
+ /** `mark_incident` — "that was a bug, I fixed it": the only incident-minting path with
2
+ * precision 1.0 (a person asserts it). Needed because automatic detection (reverts,
3
+ * `Fixes #123`) found zero incidents in 3 repos, and a fix-forward heuristic scored 25%
4
+ * against a 90% threshold and was refused. Stored in `.descry/config.json` (DEC-223,
5
+ * DEC-017 — derived tables don't survive rebuilds) and capped at class B; `action` class per DEC-278, gated by the `confirmToken` handshake. */
49
6
  import { buildGraph, confirmedIncidentId, createConfirmedIncidentSource, nodesInFiles, persistGraph, } from "@descryy/core";
50
7
  import { writeConfirmedIncident } from "../session.js";
51
8
  import { answer, optionalString, optionalStringArray, requiredString, ToolInputError, } from "./kit.js";
@@ -113,21 +70,17 @@ async function run(args, ctx) {
113
70
  confirmedAt: new Date().toISOString(),
114
71
  };
115
72
  const driver = session.store().driver;
116
- // Measured **before** the projection runs. The projection mints a `FILE` node
117
- // for every path the record names — the same thing the git source does for a
118
- // reverted commit's files — so asking afterwards would always answer "all of
119
- // them are in the graph" and the disclosure would be a tautology.
73
+ // Measured before the projection runs — it mints a FILE node for every named path, so
74
+ // asking after would always say "all in the graph", a tautology.
120
75
  const { missing: filesNotInGraph } = nodesInFiles(driver, recorded.files);
121
76
  ctx.progress(`Recording an incident in ${session.config.repo}`);
122
77
  const written = await writeConfirmedIncident(session.repoPath, recorded);
123
- // Projected into the store now, not at the next `analyze`, so the incident is
124
- // visible in the conversation that recorded it — the same reason `questions`
125
- // merges its just-written fact into the response it is about to return.
78
+ // Projected now, not at next `analyze`, so the incident is visible in the conversation
79
+ // that recorded it (same reason `questions` merges its just-written fact into its own response).
126
80
  ctx.progress("Projecting it into the graph");
127
81
  const batch = await createConfirmedIncidentSource({
128
82
  repo: session.config.repo,
129
- // Every record, not just this one: the projection is of the whole file, and
130
- // a batch carrying only the newest would invalidate the rest of them.
83
+ // Every record, not just this one — projecting only the newest would invalidate the rest.
131
84
  incidents: [...(session.config.confirmedIncidents ?? []), recorded],
132
85
  }).emit({ root });
133
86
  const built = buildGraph([batch], { nodeExists: (id) => session.provider().node(id) !== undefined });
@@ -154,13 +107,10 @@ async function run(args, ctx) {
154
107
  return answer({
155
108
  headline: `Recorded an incident in ${session.config.repo}, correlated to ${recorded.files.length} file(s). ` +
156
109
  `${written.total} confirmed incident(s) now on record.`,
157
- // A name-level fact: this defect existed and touched these paths. It makes
158
- // no claim about program shape.
110
+ // Name-level fact: this defect existed and touched these paths — no claim about program shape.
159
111
  nameLevel: true,
160
- // R0, and honestly so. Testimony is not a point on the R0-R4 ladder at all —
161
- // that ladder measures how much tooling ran — so the honest floor is the
162
- // bottom of it, with the real ceiling expressed by `humanAsserted` where a
163
- // finding is actually classified.
112
+ // R0, honestly — testimony isn't a point on the R0-R4 ladder (which measures tooling
113
+ // run); the real ceiling is `humanAsserted`, expressed where a finding is classified.
164
114
  resolutionFloor: 0,
165
115
  commitSha: stamp.commitSha,
166
116
  graphBuiltAt: stamp.graphBuiltAt,
@@ -176,11 +126,8 @@ async function run(args, ctx) {
176
126
  },
177
127
  });
178
128
  }
179
- /**
180
- * Always returns a sentence: unlike `questions`, whose unconfirmed shape is a
181
- * genuine read of the open-question queue, there is no argument to this tool
182
- * that makes it not write.
183
- */
129
+ /** Always returns a sentence — unlike `questions`'s unconfirmed shape, no argument to this
130
+ * tool makes it not write. */
184
131
  function describeAction(args) {
185
132
  const summary = args["summary"];
186
133
  const files = args["files"];
@@ -1 +1 @@
1
- {"version":3,"file":"mark-incident.js","sourceRoot":"","sources":["../../src/tools/mark-incident.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mark-incident.js","sourceRoot":"","sources":["../../src/tools/mark-incident.ts"],"names":[],"mappings":"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"}
@@ -1,165 +1,23 @@
1
1
  /**
2
- * `observe_runtime` — boot or attach to a real application, watch it, and write
3
- * what was witnessed into the graph as R4 facts.
4
- *
5
- * **The second tool that writes, and the first that writes something no
6
- * re-index can reproduce.** `analyze` re-derives the graph from source already
7
- * on disk, so nothing it writes is a new claim about the world. This one runs
8
- * a real process and records what it saw happen, which is the one accuracy
9
- * source architecture §11B.3 calls *"the core technical moat"* and the one a
10
- * purely static tool is structurally unable to reach: *"a purely static
11
- * code-graph tool is capped at R3 permanently. It has no runtime."*
12
- *
13
- * ## What this composes, and what it invents
14
- *
15
- * It invents no mechanism. Every stage already existed, gate-verified, in
16
- * `descry-runtime`, and every one of them was dormant — the whole point of
17
- * `DEC-NEXT-mcp-runtime-dependency-boundary-for-r4-evidence`, which measured
18
- * that `applyRuntimeObservations` had **zero production callers anywhere**,
19
- * not in `descry-desktop` and not in `descry-runtime`'s own pipeline. Four
20
- * shipped components in a row, and this tool is the wire between them:
21
- *
22
- * 1. `runInstrumentedExecution` (`@descryy/runtime-orchestrator`) spawns or
23
- * attaches the declared services, starts the adapter's collectors, drains
24
- * them for a stated window, and writes every item through `EvidenceStore`.
25
- * 2. `correlateExecution` (`@descryy/runtime-evidence-correlation`) resolves
26
- * each evidence item to the graph node it is *about* — the resolve-then-
27
- * attribute pass. This answers identity, not edges.
28
- * 3. `confirmObservedFrontendCaller` (`@descryy/runtime-graph-correlator`)
29
- * turns a captured call-site stack plus a resolved endpoint into a
30
- * `RuntimeEdgeObservation`, and
31
- * 4. calls `applyRuntimeObservations` (`@descryy/core`) with it, which
32
- * promotes, mints or contradicts the edge and writes the EARNED ledger.
33
- *
34
- * ## Why stage 3 exists rather than deriving edges from stage 2 directly
35
- *
36
- * `uat-phase-1-bug-fixes.md` Phase 2 describes step 2 as producing
37
- * `RuntimeEdgeObservation[]`. It does not, and the difference is load-bearing
38
- * rather than pedantic: `correlateExecution` returns
39
- * `CorrelationAttribution`s — *(evidenceId, graphNodeId)* pairs saying which
40
- * single node an observation is about. An edge needs **two** endpoints and a
41
- * witnessed relationship between them, and manufacturing one by pairing up
42
- * attributions that happen to co-occur in the same run would mint edges from
43
- * temporal coincidence. That is precisely the wrong-direction failure rule 2
44
- * exists to prevent, arriving through the one mechanism built to make the
45
- * graph *more* trustworthy.
46
- *
47
- * So the observation comes from the one shipped producer that can honestly
48
- * make one: a captured stack naming the caller, against an endpoint the same
49
- * observation named. Both endpoints come from the observation itself. Every
50
- * other correlated item is reported in the counts and produces no edge, which
51
- * is a disclosed gap rather than a silent one.
52
- *
53
- * ## What this closure can actually witness today — measured, not assumed
54
- *
55
- * The wire is complete, and what it can carry changed when the runtime packages
56
- * were published at 0.1.0 and pinned here — so this paragraph is the record of
57
- * a limit that was real and is now lifted, kept rather than deleted because the
58
- * shape of it recurs.
59
- *
60
- * **It used to be that no producer of the required pair — HTTP evidence
61
- * carrying a call-site stack — was in this server's closure.** The browser
62
- * network collector never has been. The outbound-fetch instrumentation in
63
- * `@descryy/runtime-external-service-observation` existed, was proven in
64
- * `descry-runtime`, and was not installed here at all. So a run resolved both
65
- * kinds of node and wrote no edge, and `STANDING_NOTES` said so on every call
66
- * because "no edge was written" and "nothing here could have written one" are
67
- * different statements.
68
- *
69
- * **That second producer is now in the closure**, transitively through
70
- * `@descryy/runtime-orchestrator`, which applies the adapter's
71
- * `outboundHttpLaunch()` between the interpreter and the script so the client
72
- * is patched before any application code can capture an unpatched one. Measured
73
- * end to end in `observe-runtime-outbound.conformance.test.ts`: two real
74
- * processes, 17 `EXTERNAL_REQUEST` items alongside 18 `BACKEND_LOG`, one
75
- * `USES_API` edge minted at R4, and the first `strongly supported` reply this
76
- * server has produced.
77
- *
78
- * **Two limits remain, and they are stated rather than inferred from a zero.**
79
- * An *attached* service is not launched by Descry, so the instrumentation
80
- * cannot be installed into it and its outbound calls carry no stack. And
81
- * browser-side traffic still needs `@descryy/runtime-browser`, which is not
82
- * here. Both are in `STANDING_NOTES`.
83
- *
84
- * The rule that outlives all of it: a disclosure about the closure is a fact
85
- * about *this build*, not about what `descry-runtime` can do. The two came
86
- * apart once already, when the cross-boundary lane landed and this file still
87
- * claimed the capability was absent. Re-check it against the installed tree
88
- * when the pins move, not against the source repository.
89
- * Descry.
90
- *
91
- * ## Why no denial is ever emitted
92
- *
93
- * `applyRuntimeObservations` accepts `held: false`. Nothing here ever sends
94
- * one, and `confirmObservedFrontendCaller`'s own header explains why: a run
95
- * establishes that a call *happened*; it cannot establish that one did not,
96
- * because a run exercises the paths it happens to take. Demoting a correct
97
- * edge on the strength of a route this run did not visit would be worse than
98
- * never running.
99
- *
100
- * ## Class and tier
101
- *
102
- * `action` — DEC-278's own test is *"can this call's effect change a later
103
- * finding without the developer having said so"*, and this one spawns
104
- * processes and writes R4 edges that cap every later reliability class
105
- * differently. It is gated by the same two-call `confirmToken` handshake
106
- * `questions` uses, and additionally by the environment profile's declared
107
- * `safetyLevel` (DEC-270): booting a service is a **write** against the
108
- * target, so a `readOnly` profile refuses. An all-attach run is genuinely
109
- * read-only — `ServiceConfiguration.attach`'s own contract is that Descry
110
- * never executes code in, or applies limits to, a process it did not spawn —
111
- * so it is allowed under `readOnly`, and that distinction is stated in the
112
- * disclosures rather than inferred silently.
113
- *
114
- * `evidence` — it reports what was witnessed and what was written. It draws no
115
- * conclusion about the user's code; nothing here reads or writes a finding, a
116
- * hypothesis or a category (RT-027).
117
- *
118
- * ## No new query tools
119
- *
120
- * None are needed and none are added. `impact`, `propagation` and the rest
121
- * already read the `resolution` field, so an edge this tool promotes to R4
122
- * becomes visible through every one of them on the next call, with no change
123
- * to any of them.
124
- */
2
+ * `observe_runtime` — boot or attach to a real application, write what was witnessed into the
3
+ * graph as R4 facts. Composes existing descry-runtime stages, no new mechanism (DEC-NEXT-mcp-
4
+ * runtime-dependency-boundary-for-r4-evidence). `action`/`evidence` (DEC-278), gated by
5
+ * confirmToken + profile safetyLevel (DEC-270). Never emits a denial. */
125
6
  import type { SignalTypeCount } from "@descryy/ir";
126
- import type { Evidence, ServiceConfiguration } from "@descryy/runtime-contracts";
7
+ import type { Evidence, FilesystemPolicy, NetworkPolicy, ResourceLimits, ServiceConfiguration } from "@descryy/runtime-contracts";
127
8
  import type { RunOptions } from "@descryy/runtime-controller";
128
9
  import type { EnvironmentProfile } from "@descryy/runtime-environment-profile";
129
10
  import { type ToolDefinition } from "./kit.ts";
130
11
  import { type RuntimeAdapterSpec } from "../runtime-registry.ts";
131
- /**
132
- * One service's readiness declaration, derived from `RunOptions` rather than
133
- * imported by name.
134
- *
135
- * `@descryy/runtime-controller` declares `ServiceReadinessSpec` and does not
136
- * export it from its index — a real gap in that package, but fixing it there
137
- * would mean a republish and a version bump across everything that pins the
138
- * controller, to obtain a type this file can derive exactly. Deriving is also
139
- * the more durable of the two: this cannot drift from what `run()` actually
140
- * accepts, because it *is* what `run()` accepts.
141
- */
12
+ /** One service's readiness declaration, derived from RunOptions rather than imported by
13
+ * name — @descryy/runtime-controller doesn't export ServiceReadinessSpec, and deriving
14
+ * can't drift from what run() actually accepts, because it *is* what run() accepts. */
142
15
  type ServiceReadinessSpec = RunOptions["readiness"][string];
143
16
  /** Where evidence lands when the call does not say. Beside the graph, not inside it. */
144
17
  export declare const DEFAULT_EVIDENCE_RELATIVE_PATH: string;
145
- /**
146
- * What one declared service did, reported from the one source that survives the
147
- * call: `Execution.processes`.
148
- *
149
- * **Deliberately not the controller's `ServiceStartResult`**, which carries a
150
- * per-service `stage`/`readiness.reason` and would be the better answer.
151
- * `runInstrumentedExecution` does not return it — `serviceStartResults` is a
152
- * property of `ExecutionController`, which that function creates, uses and
153
- * drops, so it is genuinely unavailable to a caller rather than merely
154
- * unplumbed here. What is knowable is reported and nothing is invented to fill
155
- * the gap: a service with no `ProcessHandle` did not start, and the
156
- * execution-level `executionState` (`FAILED_START` in particular) is what says
157
- * a readiness check is why.
158
- *
159
- * A `null` `exitCode` with a `null` `signal` on a process that has not exited
160
- * is the healthy case, not a missing value — POSIX only sets an exit code on a
161
- * normal `exit()`, so `signal` is what distinguishes a crash from a clean exit.
162
- */
18
+ /** What one declared service did, from Execution.processes — not ServiceStartResult, which
19
+ * runInstrumentedExecution doesn't return. No ProcessHandle means never-started;
20
+ * `executionState` (FAILED_START) says why when known. */
163
21
  export interface ObservedService {
164
22
  readonly service: string;
165
23
  /** False when no process handle exists for it at all — it never started. */
@@ -174,12 +32,8 @@ export interface ObservedService {
174
32
  /** Non-null means killed by this signal, whatever `exitCode` says. */
175
33
  readonly signal: string | null;
176
34
  }
177
- /**
178
- * What the correlation pass resolved, by family. Counts rather than rows: a
179
- * long run produces thousands of evidence items and this reply is read by an
180
- * agent, not archived. The rows themselves are in the evidence store, keyed by
181
- * `executionId`, which is returned so they can be found.
182
- */
35
+ /** What the correlation pass resolved, by family — counts, not rows (a long run produces
36
+ * thousands of items). Rows themselves live in the evidence store, keyed by executionId. */
183
37
  export interface CorrelationSummary {
184
38
  readonly considered: number;
185
39
  readonly skipped: number;
@@ -190,11 +44,8 @@ export interface CorrelationSummary {
190
44
  /** Non-empty means the correlation machinery itself broke, not that it looked and found nothing. */
191
45
  readonly harnessErrors: readonly string[];
192
46
  }
193
- /**
194
- * The R4 write, reported in `applyRuntimeObservations`'s own six-way
195
- * vocabulary so a reader can account for every observation without inspecting
196
- * the store.
197
- */
47
+ /** The R4 write, in applyRuntimeObservations's own six-way vocabulary so a reader can
48
+ * account for every observation without inspecting the store. */
198
49
  export interface RuntimeWriteSummary {
199
50
  /** Edges the graph already held below R4, now witnessed and raised to R4. */
200
51
  readonly promoted: readonly string[];
@@ -204,10 +55,8 @@ export interface RuntimeWriteSummary {
204
55
  readonly confirmed: readonly string[];
205
56
  /** Observations the graph declined to act on, with the resolver's own reason. */
206
57
  readonly refused: readonly string[];
207
- /**
208
- * Always empty today, and present so that stays visible rather than
209
- * unstated. This tool emits no denial — see the header.
210
- */
58
+ /** Always empty today — this tool emits no denial (see header) — kept visible rather
59
+ * than unstated. */
211
60
  readonly contradictions: readonly string[];
212
61
  /** A denial aimed at an edge already at R4. Out of scope by construction; reported, not laundered. */
213
62
  readonly staleR4: readonly string[];
@@ -233,26 +82,6 @@ interface DeclaredService {
233
82
  readonly readiness: ServiceReadinessSpec;
234
83
  readonly attached: boolean;
235
84
  }
236
- /**
237
- * Every argument this tool takes, read and validated in one place.
238
- *
239
- * Extracted from `run` so that `describeAction` can call it too. That is the
240
- * whole point of the extraction: an `action` tool's first call is the one a
241
- * caller makes *before* it has a token, and therefore the only cheap place to
242
- * learn its arguments are wrong. Minting a token, and a paragraph describing
243
- * an action, for a declaration that cannot possibly run asks a developer to
244
- * confirm something that was never going to happen — and delivers the real
245
- * refusal on the second call, after the confirmation.
246
- *
247
- * Nothing here touches the filesystem, spawns anything or reads the graph: it
248
- * is argument reading and nothing else, which is what makes it safe to run at
249
- * mint time, outside the call budget.
250
- *
251
- * Ruled in `documents/decisions-inbox/DEC-387.md`.
252
- *
253
- * Exported for its own test: several of the argument rules are conditional and
254
- * cheaper to assert directly than through a full run.
255
- */
256
85
  export declare function readArguments(args: Record<string, unknown>, repoPath: string): {
257
86
  readonly profile: EnvironmentProfile;
258
87
  readonly adapterSpec: RuntimeAdapterSpec;
@@ -262,30 +91,18 @@ export declare function readArguments(args: Record<string, unknown>, repoPath: s
262
91
  readonly fidelityRaw: number;
263
92
  readonly environmentTier: string;
264
93
  readonly evidencePath: string;
94
+ readonly resourceLimits: ResourceLimits | undefined;
95
+ readonly filesystemPolicy: FilesystemPolicy | undefined;
96
+ readonly networkPolicy: NetworkPolicy | undefined;
97
+ readonly sandboxBackend: "bwrap" | "container" | undefined;
265
98
  };
266
- /**
267
- * The two fields the channel mapping actually reads.
268
- *
269
- * Narrower than `Evidence` on purpose: `observe_tests` counts its channels
270
- * before its evidence has been through `EvidenceStore.write()`, so its items
271
- * have no `evidenceId` or `executionId` yet. Widening the parameter is how
272
- * both tools share one implementation of the count; the alternative was a cast
273
- * at one call site, which buys nothing and hides that the extra fields were
274
- * never used.
275
- */
99
+ /** The two fields the channel mapping reads. Narrower than Evidence on purpose: observe_tests
100
+ * counts channels before its evidence has an evidenceId/executionId — this lets both tools
101
+ * share one implementation rather than a cast that hides the unused fields. */
276
102
  type WitnessableEvidence = Pick<Evidence, "eventType" | "source">;
277
- /**
278
- * `E` for this run — how many of the six channels it actually saw.
279
- *
280
- * The count itself is `@descryy/ir`'s `independentSignalTypes`, deliberately:
281
- * the clamp to six and the drop of `null` signals are that function's rules,
282
- * and a second implementation of them here is a second place for the
283
- * vocabulary to drift. This function's only job is the translation above.
284
- *
285
- * Exported for its own test — the mapping decides whether a witnessed answer
286
- * reads `strongly supported` or `unconfirmed`, which is too load-bearing to be
287
- * asserted only through a category two layers downstream.
288
- */
103
+ /** `E` for this run — channels actually seen, via @descryy/ir's independentSignalTypes
104
+ * (clamp-to-six and null-drop are that function's rules, not duplicated here). Exported for
105
+ * its own test — this mapping decides `strongly supported` vs `unconfirmed`. */
289
106
  export declare function witnessedSignalTypes(evidence: readonly WitnessableEvidence[]): SignalTypeCount;
290
107
  export declare const observeRuntimeTool: ToolDefinition;
291
108
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"observe-runtime.d.ts","sourceRoot":"","sources":["../../src/tools/observe-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observe-runtime.d.ts","sourceRoot":"","sources":["../../src/tools/observe-runtime.ts"],"names":[],"mappings":"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"}