wicked-crew 0.7.48 → 0.8.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 (146) hide show
  1. package/dist/api/discovery-source.d.ts +51 -0
  2. package/dist/api/discovery-source.d.ts.map +1 -0
  3. package/dist/api/discovery-source.js +176 -0
  4. package/dist/api/discovery-source.js.map +1 -0
  5. package/dist/api/governance-steering.d.ts +4 -5
  6. package/dist/api/governance-steering.d.ts.map +1 -1
  7. package/dist/api/governance-steering.js +11 -16
  8. package/dist/api/governance-steering.js.map +1 -1
  9. package/dist/api/recording.d.ts +23 -0
  10. package/dist/api/recording.d.ts.map +1 -1
  11. package/dist/api/recording.js +151 -4
  12. package/dist/api/recording.js.map +1 -1
  13. package/dist/api/routes.d.ts +4 -1
  14. package/dist/api/routes.d.ts.map +1 -1
  15. package/dist/api/routes.js +36 -4
  16. package/dist/api/routes.js.map +1 -1
  17. package/dist/api/run-files.d.ts +13 -1
  18. package/dist/api/run-files.d.ts.map +1 -1
  19. package/dist/api/run-files.js +30 -6
  20. package/dist/api/run-files.js.map +1 -1
  21. package/dist/api/seat-standing.d.ts +16 -0
  22. package/dist/api/seat-standing.d.ts.map +1 -1
  23. package/dist/api/seat-standing.js +54 -4
  24. package/dist/api/seat-standing.js.map +1 -1
  25. package/dist/api/server.d.ts +15 -0
  26. package/dist/api/server.d.ts.map +1 -1
  27. package/dist/api/server.js +67 -3
  28. package/dist/api/server.js.map +1 -1
  29. package/dist/api/steering-landing.d.ts +7 -7
  30. package/dist/api/steering-landing.js +7 -7
  31. package/dist/cli/index.d.ts.map +1 -1
  32. package/dist/cli/index.js +16 -1
  33. package/dist/cli/index.js.map +1 -1
  34. package/dist/core/adapter.d.ts +16 -1
  35. package/dist/core/adapter.d.ts.map +1 -1
  36. package/dist/core/adapter.js +48 -10
  37. package/dist/core/adapter.js.map +1 -1
  38. package/dist/core/types.d.ts +7 -0
  39. package/dist/core/types.d.ts.map +1 -1
  40. package/dist/core/types.js.map +1 -1
  41. package/dist/interactive/doc-checks-routes.d.ts +38 -0
  42. package/dist/interactive/doc-checks-routes.d.ts.map +1 -0
  43. package/dist/interactive/doc-checks-routes.js +122 -0
  44. package/dist/interactive/doc-checks-routes.js.map +1 -0
  45. package/dist/interactive/doc-delete-routes.d.ts +1 -1
  46. package/dist/interactive/doc-delete-routes.d.ts.map +1 -1
  47. package/dist/interactive/doc-delete-routes.js +1 -1
  48. package/dist/interactive/doc-delete-routes.js.map +1 -1
  49. package/dist/interactive/doc-ledger-sweep.d.ts +3 -2
  50. package/dist/interactive/doc-ledger-sweep.d.ts.map +1 -1
  51. package/dist/interactive/doc-ledger-sweep.js +4 -3
  52. package/dist/interactive/doc-ledger-sweep.js.map +1 -1
  53. package/dist/interactive/doc-run-index.d.ts +10 -2
  54. package/dist/interactive/doc-run-index.d.ts.map +1 -1
  55. package/dist/interactive/doc-run-index.js +16 -3
  56. package/dist/interactive/doc-run-index.js.map +1 -1
  57. package/dist/interactive/ledger.d.ts +4 -1
  58. package/dist/interactive/ledger.d.ts.map +1 -1
  59. package/dist/interactive/ledger.js +5 -2
  60. package/dist/interactive/ledger.js.map +1 -1
  61. package/dist/interactive/review-events.d.ts +185 -0
  62. package/dist/interactive/review-events.d.ts.map +1 -0
  63. package/dist/interactive/review-events.js +856 -0
  64. package/dist/interactive/review-events.js.map +1 -0
  65. package/dist/interactive/review-ledger.d.ts +79 -0
  66. package/dist/interactive/review-ledger.d.ts.map +1 -0
  67. package/dist/interactive/review-ledger.js +131 -0
  68. package/dist/interactive/review-ledger.js.map +1 -0
  69. package/dist/interactive/ws-relay.d.ts +2 -1
  70. package/dist/interactive/ws-relay.d.ts.map +1 -1
  71. package/dist/interactive/ws-relay.js +2 -1
  72. package/dist/interactive/ws-relay.js.map +1 -1
  73. package/dist/projects/graph.d.ts.map +1 -1
  74. package/dist/projects/graph.js +10 -0
  75. package/dist/projects/graph.js.map +1 -1
  76. package/dist/projects/membership-index.d.ts +2 -0
  77. package/dist/projects/membership-index.d.ts.map +1 -1
  78. package/dist/projects/membership-index.js +8 -0
  79. package/dist/projects/membership-index.js.map +1 -1
  80. package/dist/qe/acceptance.d.ts +6 -1
  81. package/dist/qe/acceptance.d.ts.map +1 -1
  82. package/dist/qe/acceptance.js +11 -9
  83. package/dist/qe/acceptance.js.map +1 -1
  84. package/dist/qe/ledger.d.ts +35 -0
  85. package/dist/qe/ledger.d.ts.map +1 -1
  86. package/dist/qe/ledger.js +47 -0
  87. package/dist/qe/ledger.js.map +1 -1
  88. package/dist/qe/walkthrough-acceptance.d.ts +6 -0
  89. package/dist/qe/walkthrough-acceptance.d.ts.map +1 -1
  90. package/dist/qe/walkthrough-acceptance.js +12 -4
  91. package/dist/qe/walkthrough-acceptance.js.map +1 -1
  92. package/dist/studio/assets/archivo-latin-ext-wght-normal-C4zznr8T.woff2 +0 -0
  93. package/dist/studio/assets/archivo-latin-wght-normal-E0tuGl4L.woff2 +0 -0
  94. package/dist/studio/assets/index-BnJlrMxp.css +32 -0
  95. package/dist/studio/assets/index-DG0nwF7c.js +582 -0
  96. package/dist/studio/assets/inter-latin-ext-opsz-italic-BLMf5All.woff2 +0 -0
  97. package/dist/studio/assets/inter-latin-ext-opsz-normal-DpK-iCPk.woff2 +0 -0
  98. package/dist/studio/assets/inter-latin-opsz-italic-BbqH_2Ar.woff2 +0 -0
  99. package/dist/studio/assets/inter-latin-opsz-normal-BwkfbSeq.woff2 +0 -0
  100. package/dist/studio/assets/jetbrains-mono-latin-ext-wght-italic-BrDczivE.woff2 +0 -0
  101. package/dist/studio/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
  102. package/dist/studio/assets/jetbrains-mono-latin-wght-italic-B2M6KQje.woff2 +0 -0
  103. package/dist/studio/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
  104. package/dist/studio/editors/wicked-page/editor.json +35 -0
  105. package/dist/studio/editors/wicked-page/index.html +144 -0
  106. package/dist/studio/fonts/LICENSE-Archivo.txt +93 -0
  107. package/dist/studio/fonts/LICENSE-Inter.txt +93 -0
  108. package/dist/studio/fonts/LICENSE-JetBrainsMono.txt +93 -0
  109. package/dist/studio/index.html +3 -8
  110. package/dist/studio/testid-inventory.json +5801 -2440
  111. package/dist/watch/bounded-read.d.ts +26 -0
  112. package/dist/watch/bounded-read.d.ts.map +1 -0
  113. package/dist/watch/bounded-read.js +59 -0
  114. package/dist/watch/bounded-read.js.map +1 -0
  115. package/dist/watch/checks/discovery.d.ts +65 -0
  116. package/dist/watch/checks/discovery.d.ts.map +1 -0
  117. package/dist/watch/checks/discovery.js +168 -0
  118. package/dist/watch/checks/discovery.js.map +1 -0
  119. package/dist/watch/checks/index.d.ts.map +1 -1
  120. package/dist/watch/checks/index.js +7 -0
  121. package/dist/watch/checks/index.js.map +1 -1
  122. package/dist/watch/checks/scope-drift.d.ts +47 -0
  123. package/dist/watch/checks/scope-drift.d.ts.map +1 -0
  124. package/dist/watch/checks/scope-drift.js +212 -0
  125. package/dist/watch/checks/scope-drift.js.map +1 -0
  126. package/dist/watch/emit.d.ts +19 -0
  127. package/dist/watch/emit.d.ts.map +1 -1
  128. package/dist/watch/emit.js +144 -18
  129. package/dist/watch/emit.js.map +1 -1
  130. package/dist/watch/registry.d.ts +20 -11
  131. package/dist/watch/registry.d.ts.map +1 -1
  132. package/dist/watch/registry.js +50 -42
  133. package/dist/watch/registry.js.map +1 -1
  134. package/dist/watch/sources.d.ts +2 -1
  135. package/dist/watch/sources.d.ts.map +1 -1
  136. package/dist/watch/sources.js +2 -1
  137. package/dist/watch/sources.js.map +1 -1
  138. package/dist/watch/types.d.ts +42 -0
  139. package/dist/watch/types.d.ts.map +1 -1
  140. package/endpoint-manifest.json +26 -1
  141. package/package.json +3 -3
  142. package/watch/entries/added-by-hand.json +16 -0
  143. package/watch/entries/scope-drift.json +13 -0
  144. package/watch/entries/what-catches.json +16 -0
  145. package/dist/studio/assets/index-CvV5qITf.css +0 -32
  146. package/dist/studio/assets/index-jCOy6Ns7.js +0 -568
@@ -156,6 +156,13 @@ export interface LaunchRunInput {
156
156
  * Omit for runs whose evidence is the worktree diff — those are the engine's to floor.
157
157
  */
158
158
  requireDeliverables?: string[];
159
+ /**
160
+ * (EP-K3, wicked-core-ts >= 0.7.35) Seats never to convene as a JUDGE on this run — cli keys or
161
+ * seat instances (`claude#2`). The engine UNIONS them into its own computed exclusion (the work
162
+ * author, the team monitors), so the list can only narrow the judge choice, never widen it. The
163
+ * interactive-review seam fills it with the seats that wrote the document under review (EP-C2).
164
+ */
165
+ excludeSeats?: string[];
159
166
  }
160
167
  /** Default `workerStallMinutes` (crew#287): silent minutes before the stall watchdog fires. */
161
168
  export declare const DEFAULT_WORKER_STALL_MINUTES = 15;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mBAAmB,uBAAuB,CAAC;AAE3C,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE1F;6DAC6D;AAC7D,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC,GAAG;IAC3F,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IACrD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;CACpD,CAAC;AAEF,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEvF,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,8FAA8F;AAC9F,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,uBAAuB,EAAE,UAAU,CAAC;IAClD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,YAAY,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC;IACf;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,+FAA+F;AAC/F,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qCAAqC,KAAK,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,EAAG,UAAmB,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,oCAAoC,IAAI,CAAC;AAEtD;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD;;;;;;;;;OASG;IACH,CAAC,GAAG,EAAE,UAAU,MAAM,EAAE,GAAG,OAAO,CAAC;IACnC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,eAAO,MAAM,gBAAgB,EAAE,kBAqB9B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mBAAmB,uBAAuB,CAAC;AAE3C,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE1F;6DAC6D;AAC7D,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC,GAAG;IAC3F,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IACrD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;CACpD,CAAC;AAEF,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEvF,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,8FAA8F;AAC9F,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,uBAAuB,EAAE,UAAU,CAAC;IAClD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,YAAY,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC;IACf;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,+FAA+F;AAC/F,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qCAAqC,KAAK,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,EAAG,UAAmB,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,oCAAoC,IAAI,CAAC;AAEtD;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD;;;;;;;;;OASG;IACH,CAAC,GAAG,EAAE,UAAU,MAAM,EAAE,GAAG,OAAO,CAAC;IACnC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,eAAO,MAAM,gBAAgB,EAAE,kBAqB9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAaH,OAAO,EAAE,sBAAsB,EAAwB,MAAM,yBAAyB,CAAC;AA+HvF,+FAA+F;AAC/F,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,EAAE,CAAC;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,UAAmB,CAAC;AAExE;;;GAGG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC;AAkCtD,MAAM,CAAC,MAAM,gBAAgB,GAAuB;IAClD,cAAc,EAAE,GAAG;IACnB,kBAAkB,EAAE,4BAA4B;IAChD,8FAA8F;IAC9F,+FAA+F;IAC/F,0BAA0B,EAAE,qCAAqC;IACjE,6FAA6F;IAC7F,gFAAgF;IAChF,8DAA8D;IAC9D,cAAc,EAAE,IAAI;IACpB,+FAA+F;IAC/F,8FAA8F;IAC9F,6FAA6F;IAC7F,6FAA6F;IAC7F,wFAAwF;IACxF,YAAY,EAAE,sBAAsB;IACpC,eAAe,EAAE,SAAS;IAC1B,2FAA2F;IAC3F,8FAA8F;IAC9F,6EAA6E;IAC7E,oBAAoB,EAAE,EAAE;CACzB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAaH,OAAO,EAAE,sBAAsB,EAAwB,MAAM,yBAAyB,CAAC;AAsIvF,+FAA+F;AAC/F,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,EAAE,CAAC;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,UAAmB,CAAC;AAExE;;;GAGG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC;AAkCtD,MAAM,CAAC,MAAM,gBAAgB,GAAuB;IAClD,cAAc,EAAE,GAAG;IACnB,kBAAkB,EAAE,4BAA4B;IAChD,8FAA8F;IAC9F,+FAA+F;IAC/F,0BAA0B,EAAE,qCAAqC;IACjE,6FAA6F;IAC7F,gFAAgF;IAChF,8DAA8D;IAC9D,cAAc,EAAE,IAAI;IACpB,+FAA+F;IAC/F,8FAA8F;IAC9F,6FAA6F;IAC7F,6FAA6F;IAC7F,wFAAwF;IACxF,YAAY,EAAE,sBAAsB;IACpC,eAAe,EAAE,SAAS;IAC1B,2FAA2F;IAC3F,8FAA8F;IAC9F,6EAA6E;IAC7E,oBAAoB,EAAE,EAAE;CACzB,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * `GET /api/v1/projects/:projectId/interactive/docs/:doc/checks?version=` — the ONE checks read of
3
+ * a document (DES-artifact-editor-plugins §4, §5.8, §7.6; EP-C2).
4
+ *
5
+ * Every verdict behind it is a wicked-ledger row stamped with the crew run that produced it: the
6
+ * rows the interactive-review seam records in the document's review root (`review-ledger.ts`),
7
+ * read here as canonical JSON, read-only, exactly as the seam read them back before it announced
8
+ * them. There is no second verdict store, and nothing here writes.
9
+ *
10
+ * Per reviewer the answer is the newest verdict AT OR BELOW the version asked for (every version
11
+ * when the query names none): a newer review replaces an older one, and an older one stays visible
12
+ * — "on version N" — until then. A ledger that cannot be read is a 500 naming why, never an empty
13
+ * list pretending the document was never reviewed.
14
+ *
15
+ * `demo-review` is not served here: a demo run is not bound to a document any more (demos are made
16
+ * by the `demo` preset), and its reviewer's verdict already reads from `GET /runs/:id/demo`
17
+ * (`DemoView.review`).
18
+ */
19
+ import type { FastifyInstance } from 'fastify';
20
+ import type { DocCheck, DocReviewerId } from 'wicked-crew-api-types';
21
+ import { type CoreAdapter } from '../core/adapter.js';
22
+ import { type DocReviewLedgerRow } from '../qe/ledger.js';
23
+ /** A recorded review verdict as the checks panel shows it. */
24
+ export declare function docCheckOf(row: DocReviewLedgerRow & {
25
+ reviewer: DocReviewerId;
26
+ }): DocCheck;
27
+ /**
28
+ * Per reviewer, the verdict of the HIGHEST version at or below `version` (any version when `null`),
29
+ * newest first within a version; in the reviewers' display order.
30
+ */
31
+ export declare function newestPerReviewer(rows: readonly DocReviewLedgerRow[], version: number | null): DocCheck[];
32
+ export interface DocChecksDeps {
33
+ /** Where every document's review root lives (`<handoff root>/_reviews`), read at request time. */
34
+ reviewsDir: () => string;
35
+ log?: (msg: string) => void;
36
+ }
37
+ export declare function registerInteractiveDocChecks(app: FastifyInstance, adapter: CoreAdapter, deps: DocChecksDeps): void;
38
+ //# sourceMappingURL=doc-checks-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc-checks-routes.d.ts","sourceRoot":"","sources":["../../src/interactive/doc-checks-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAsD,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEzH,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEhF,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AA0BjF,8DAA8D;AAC9D,wBAAgB,UAAU,CAAC,GAAG,EAAE,kBAAkB,GAAG;IAAE,QAAQ,EAAE,aAAa,CAAA;CAAE,GAAG,QAAQ,CAmB1F;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,kBAAkB,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,EAAE,CAczG;AAED,MAAM,WAAW,aAAa;IAC5B,kGAAkG;IAClG,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAgClH"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * `GET /api/v1/projects/:projectId/interactive/docs/:doc/checks?version=` — the ONE checks read of
3
+ * a document (DES-artifact-editor-plugins §4, §5.8, §7.6; EP-C2).
4
+ *
5
+ * Every verdict behind it is a wicked-ledger row stamped with the crew run that produced it: the
6
+ * rows the interactive-review seam records in the document's review root (`review-ledger.ts`),
7
+ * read here as canonical JSON, read-only, exactly as the seam read them back before it announced
8
+ * them. There is no second verdict store, and nothing here writes.
9
+ *
10
+ * Per reviewer the answer is the newest verdict AT OR BELOW the version asked for (every version
11
+ * when the query names none): a newer review replaces an older one, and an older one stays visible
12
+ * — "on version N" — until then. A ledger that cannot be read is a 500 naming why, never an empty
13
+ * list pretending the document was never reviewed.
14
+ *
15
+ * `demo-review` is not served here: a demo run is not bound to a document any more (demos are made
16
+ * by the `demo` preset), and its reviewer's verdict already reads from `GET /runs/:id/demo`
17
+ * (`DemoView.review`).
18
+ */
19
+ import { API_PREFIX } from '../api/api-prefix.js';
20
+ import { ProjectsUnsupportedError } from '../core/adapter.js';
21
+ import { DEFAULT_PROJECT_ID } from '../projects/default-project.js';
22
+ import { readDocReviewVerdicts } from '../qe/ledger.js';
23
+ import { DOC_NAME } from './draft-events.js';
24
+ import { reviewRootOf } from './review-ledger.js';
25
+ const V = API_PREFIX;
26
+ const SOURCE = { match: 'review:intent', a11y: 'review:a11y', copy: 'review:copy', qe: 'review:quality' };
27
+ const ORDER = ['match', 'a11y', 'copy', 'qe'];
28
+ const isReviewer = (v) => Object.hasOwn(SOURCE, v);
29
+ const cliKey = (seat) => (seat.includes('#') ? seat.slice(0, seat.indexOf('#')) : seat);
30
+ function findingsOf(raw) {
31
+ const out = [];
32
+ for (const f of raw) {
33
+ if (typeof f !== 'object' || f === null)
34
+ continue;
35
+ const r = f;
36
+ if (typeof r['sentence'] !== 'string' || r['sentence'] === '')
37
+ continue;
38
+ out.push({
39
+ wid: typeof r['wid'] === 'string' && r['wid'] !== '' ? r['wid'] : null,
40
+ severity: r['severity'] === 'low' || r['severity'] === 'high' ? r['severity'] : 'medium',
41
+ sentence: r['sentence'],
42
+ });
43
+ }
44
+ return out;
45
+ }
46
+ /** A recorded review verdict as the checks panel shows it. */
47
+ export function docCheckOf(row) {
48
+ return {
49
+ id: row.id,
50
+ source: SOURCE[row.reviewer],
51
+ reviewer: row.reviewer,
52
+ version: row.version,
53
+ state: row.reviewVerdict === 'pass' ? 'pass' : row.reviewVerdict === 'changes' ? 'fail' : 'inconclusive',
54
+ sentence: row.reason ?? '',
55
+ findings: findingsOf(row.findings),
56
+ by: {
57
+ seat: row.seat,
58
+ evaluator: row.authorKnown && row.seat !== null && !row.excludedSeats.map(cliKey).includes(cliKey(row.seat)),
59
+ excluded_seats: row.excludedSeats,
60
+ author_known: row.authorKnown,
61
+ },
62
+ skill: row.skill,
63
+ run_id: row.runId,
64
+ at: row.createdAt,
65
+ };
66
+ }
67
+ /**
68
+ * Per reviewer, the verdict of the HIGHEST version at or below `version` (any version when `null`),
69
+ * newest first within a version; in the reviewers' display order.
70
+ */
71
+ export function newestPerReviewer(rows, version) {
72
+ const best = new Map();
73
+ for (const row of rows) {
74
+ if (!isReviewer(row.reviewer))
75
+ continue;
76
+ if (version !== null && row.version > version)
77
+ continue;
78
+ const cur = best.get(row.reviewer);
79
+ if (cur === undefined || row.version > cur.version || (row.version === cur.version && row.createdAt > cur.createdAt)) {
80
+ best.set(row.reviewer, row);
81
+ }
82
+ }
83
+ return ORDER.flatMap((id) => {
84
+ const row = best.get(id);
85
+ return row !== undefined ? [docCheckOf(row)] : [];
86
+ });
87
+ }
88
+ export function registerInteractiveDocChecks(app, adapter, deps) {
89
+ const log = deps.log ?? (() => undefined);
90
+ app.get(`${V}/projects/:projectId/interactive/docs/:doc/checks`, { config: { manifest: { responseType: 'DocChecksResponse', statusCodes: [200, 400, 404, 500] } } }, async (req, reply) => {
91
+ const { projectId, doc } = req.params;
92
+ if (!DOC_NAME.test(doc))
93
+ return reply.code(400).send({ error: `"${doc}" is not a document name` });
94
+ const rawVersion = req.query.version;
95
+ let version = null;
96
+ if (rawVersion !== undefined) {
97
+ const n = typeof rawVersion === 'string' && /^\d{1,9}$/u.test(rawVersion) ? Number(rawVersion) : NaN;
98
+ if (!Number.isInteger(n))
99
+ return reply.code(400).send({ error: 'version must be a whole number, 0 or above' });
100
+ version = n;
101
+ }
102
+ if (projectId !== DEFAULT_PROJECT_ID) {
103
+ try {
104
+ if ((await adapter.projectGet(projectId)) === null)
105
+ return reply.code(404).send({ error: `Project ${projectId} not found` });
106
+ }
107
+ catch (err) {
108
+ // An engine without projects files every document under Unfiled: the default partition answers.
109
+ if (!(err instanceof ProjectsUnsupportedError))
110
+ throw err;
111
+ }
112
+ }
113
+ const read = readDocReviewVerdicts(reviewRootOf(deps.reviewsDir(), projectId, doc));
114
+ if (read.error !== undefined) {
115
+ log(`[doc-checks] the review record of ${doc} (project ${projectId}) could not be read: ${read.error}`);
116
+ return reply.code(500).send({ error: 'The recorded reviews of this document could not be read', detail: read.error });
117
+ }
118
+ const body = { document_id: doc, version, checks: newestPerReviewer(read.rows, version) };
119
+ return reply.send(body);
120
+ });
121
+ }
122
+ //# sourceMappingURL=doc-checks-routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc-checks-routes.js","sourceRoot":"","sources":["../../src/interactive/doc-checks-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAoB,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAA2B,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,GAAG,UAAU,CAAC;AAErB,MAAM,MAAM,GAA0C,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAC;AACjJ,MAAM,KAAK,GAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC/D,MAAM,UAAU,GAAG,CAAC,CAAS,EAAsB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC/E,MAAM,MAAM,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAExG,SAAS,UAAU,CAAC,GAAc;IAChC,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;YAAE,SAAS;QAClD,MAAM,CAAC,GAAG,CAA4B,CAAC;QACvC,IAAI,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE;YAAE,SAAS;QACxE,GAAG,CAAC,IAAI,CAAC;YACP,GAAG,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;YACtE,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ;YACxF,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC;SACxB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,UAAU,CAAC,GAAqD;IAC9E,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,GAAG,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc;QACxG,QAAQ,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE;QAC1B,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClC,EAAE,EAAE;YACF,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5G,cAAc,EAAE,GAAG,CAAC,aAAa;YACjC,YAAY,EAAE,GAAG,CAAC,WAAW;SAC9B;QACD,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,KAAK;QACjB,EAAE,EAAE,GAAG,CAAC,SAAS;KAClB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAmC,EAAE,OAAsB;IAC3F,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmE,CAAC;IACxF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,SAAS;QACxC,IAAI,OAAO,KAAK,IAAI,IAAI,GAAG,CAAC,OAAO,GAAG,OAAO;YAAE,SAAS;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACrH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAuD,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,UAAU,4BAA4B,CAAC,GAAoB,EAAE,OAAoB,EAAE,IAAmB;IAC1G,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAS,EAAE,CAAC,SAAS,CAAC,CAAC;IAChD,GAAG,CAAC,GAAG,CACL,GAAG,CAAC,mDAAmD,EACvD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAClG,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QACnB,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,MAA4C,CAAC;QAC5E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,0BAA0B,EAAE,CAAC,CAAC;QACnG,MAAM,UAAU,GAAI,GAAG,CAAC,KAA+B,CAAC,OAAO,CAAC;QAChE,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,OAAO,UAAU,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACrG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4CAA4C,EAAE,CAAC,CAAC;YAC/G,OAAO,GAAG,CAAC,CAAC;QACd,CAAC;QACD,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI;oBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,SAAS,YAAY,EAAE,CAAC,CAAC;YAC/H,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,gGAAgG;gBAChG,IAAI,CAAC,CAAC,GAAG,YAAY,wBAAwB,CAAC;oBAAE,MAAM,GAAG,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,qBAAqB,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;QACpF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,qCAAqC,GAAG,aAAa,SAAS,wBAAwB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACxG,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yDAAyD,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACxH,CAAC;QACD,MAAM,IAAI,GAAsB,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAC7G,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -58,7 +58,7 @@ export interface DocDeleteDeps {
58
58
  }) => Actor;
59
59
  /** The four-ledger sweep (`server.ts` wires the real one over the armed seams + their files;
60
60
  * a directly-driven route set gets an inert default so unit tests never touch ~/.wicked-crew). */
61
- dropDocLedgerRows: (documentId: string) => DocLedgerSweep;
61
+ dropDocLedgerRows: (documentId: string, projectId?: string) => DocLedgerSweep;
62
62
  env?: NodeJS.ProcessEnv;
63
63
  /** The daemon state home the DEFAULT docs root hangs off (crew ≥ 0.7.35, D-L7-1; tests point it at a scratch dir). */
64
64
  stateHome?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"doc-delete-routes.d.ts","sourceRoot":"","sources":["../../src/interactive/doc-delete-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAA0B,KAAK,qBAAqB,EAAmB,MAAM,kBAAkB,CAAC;AAEvG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAW5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,CAAC,GAAG,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,KAAK,KAAK,CAAC;IAC3C;uGACmG;IACnG,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,cAAc,CAAC;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,sHAAsH;IACtH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B;gFAC4E;IAC5E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AASD,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,aAAa,GAClB,IAAI,CA6LN"}
1
+ {"version":3,"file":"doc-delete-routes.d.ts","sourceRoot":"","sources":["../../src/interactive/doc-delete-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAA0B,KAAK,qBAAqB,EAAmB,MAAM,kBAAkB,CAAC;AAEvG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAW5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,CAAC,GAAG,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,KAAK,KAAK,CAAC;IAC3C;uGACmG;IACnG,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,cAAc,CAAC;IAC9E,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,sHAAsH;IACtH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B;gFAC4E;IAC5E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AASD,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,aAAa,GAClB,IAAI,CA6LN"}
@@ -174,7 +174,7 @@ export function registerInteractiveDocDelete(app, adapter, deps) {
174
174
  // Interactive's half is settled (retired now, already retired, or nothing there to
175
175
  // retire). Crew's half runs in EVERY one of those cases — a 404 with ghost rows is
176
176
  // precisely the hand-deleted-workspace mess this route exists to clean up.
177
- const sweep = dropDocLedgerRows(doc);
177
+ const sweep = dropDocLedgerRows(doc, projectId);
178
178
  const retiredNow = upstream.status === 200 && upstream.body['already_retired'] !== true;
179
179
  if (upstream.status === 200 || sweep.removed_keys.length > 0) {
180
180
  audit.record('interactive.doc.deleted', actorOf(req), {
@@ -1 +1 @@
1
- {"version":3,"file":"doc-delete-routes.js","sourceRoot":"","sources":["../../src/interactive/doc-delete-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doc-delete-routes.js","sourceRoot":"","sources":["../../src/interactive/doc-delete-routes.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,8 @@ export interface DocLedgerSweep {
47
47
  }
48
48
  /**
49
49
  * Sweep one document's rows out of every given ledger. Never throws; see the module doc for the
50
- * per-ledger isolation and live-instance-first rules.
50
+ * per-ledger isolation and live-instance-first rules. `keep` spares rows of the name that belong
51
+ * to another project's document (EP-C2: review rows carry their project).
51
52
  */
52
- export declare function sweepDocLedgers(documentId: string, sources: DocLedgerSource[]): DocLedgerSweep;
53
+ export declare function sweepDocLedgers(documentId: string, sources: DocLedgerSource[], keep?: (key: string) => boolean): DocLedgerSweep;
53
54
  //# sourceMappingURL=doc-ledger-sweep.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doc-ledger-sweep.d.ts","sourceRoot":"","sources":["../../src/interactive/doc-ledger-sweep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,wFAAwF;AACxF,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,IAAI,EAAE,MAAM,CAAC;IACb;yDACqD;IACrD,MAAM,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC9C,2FAA2F;IAC3F,IAAI,EAAE,MAAM,CAAC;CACd;AAED;2CAC2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,iGAAiG;IACjG,EAAE,EAAE,OAAO,CAAC;IACZ,2FAA2F;IAC3F,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;2DACuD;IACvD,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,cAAc,CAe9F"}
1
+ {"version":3,"file":"doc-ledger-sweep.d.ts","sourceRoot":"","sources":["../../src/interactive/doc-ledger-sweep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,wFAAwF;AACxF,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,IAAI,EAAE,MAAM,CAAC;IACb;yDACqD;IACrD,MAAM,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC9C,2FAA2F;IAC3F,IAAI,EAAE,MAAM,CAAC;CACd;AAED;2CAC2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,iGAAiG;IACjG,EAAE,EAAE,OAAO,CAAC;IACZ,2FAA2F;IAC3F,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;2DACuD;IACvD,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,cAAc,CAe/H"}
@@ -23,15 +23,16 @@
23
23
  import { InteractiveHandoffLedger } from './ledger.js';
24
24
  /**
25
25
  * Sweep one document's rows out of every given ledger. Never throws; see the module doc for the
26
- * per-ledger isolation and live-instance-first rules.
26
+ * per-ledger isolation and live-instance-first rules. `keep` spares rows of the name that belong
27
+ * to another project's document (EP-C2: review rows carry their project).
27
28
  */
28
- export function sweepDocLedgers(documentId, sources) {
29
+ export function sweepDocLedgers(documentId, sources, keep) {
29
30
  const removed = [];
30
31
  const errors = [];
31
32
  for (const source of sources) {
32
33
  try {
33
34
  const ledger = source.ledger ?? new InteractiveHandoffLedger(source.path);
34
- removed.push(...ledger.removeDoc(documentId));
35
+ removed.push(...ledger.removeDoc(documentId, keep));
35
36
  }
36
37
  catch (err) {
37
38
  errors.push({
@@ -1 +1 @@
1
- {"version":3,"file":"doc-ledger-sweep.js","sourceRoot":"","sources":["../../src/interactive/doc-ledger-sweep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAyBvD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB,EAAE,OAA0B;IAC5E,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAwC,EAAE,CAAC;IACvD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC;gBACV,MAAM,EAAE,MAAM,CAAC,IAAI;gBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACtG,CAAC"}
1
+ {"version":3,"file":"doc-ledger-sweep.js","sourceRoot":"","sources":["../../src/interactive/doc-ledger-sweep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAyBvD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB,EAAE,OAA0B,EAAE,IAA+B;IAC7G,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAwC,EAAE,CAAC;IACvD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC;gBACV,MAAM,EAAE,MAAM,CAAC,IAAI;gBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACtG,CAAC"}
@@ -27,6 +27,14 @@ export interface DocRunSource {
27
27
  }
28
28
  /** The document id a handoff-ledger key names (see the module doc). */
29
29
  export declare function documentIdOfKey(key: string): string;
30
+ /**
31
+ * The kind a ledger row names (#785): two seams keep their rows in the EDIT seam's ledger on purpose
32
+ * (no new state-home entry) — theme learning (`<doc>:theme:<ts>`, EP-C4) and reviews
33
+ * (`<doc>:review:<project>:v<n>:<reviewers>`, EP-C2) — so the key's shape decides, not the file:
34
+ * a document that was only reviewed must not read as structurally edited. Any other key is the
35
+ * seam's own kind.
36
+ */
37
+ export declare function kindOfKey(seam: string, key: string): string;
30
38
  /** Default freshness of one ledger read; the ledgers are small JSON files. */
31
39
  export declare const DOC_RUN_INDEX_TTL_MS = 2000;
32
40
  export declare class DocRunIndex {
@@ -49,8 +57,8 @@ export declare class DocRunIndex {
49
57
  documentOf(runId: string): string | undefined;
50
58
  /** Every run launched for this document (ledger order; `[]` when none). */
51
59
  runsOf(documentId: string): string[];
52
- /** The seams that answered this document (`draft` | `edit` | `chat` | `demo`, source order; `[]`
53
- * when none) — the `kinds` a daemon-wide docs listing shows per document. */
60
+ /** The kinds that answered this document (`draft` | `edit` | `chat` | `demo` | `theme` | `review`,
61
+ * first-seen order; `[]` when none; {@link kindOfKey}) — the `kinds` a daemon-wide docs listing shows. */
54
62
  kindsOf(documentId: string): string[];
55
63
  }
56
64
  //# sourceMappingURL=doc-run-index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doc-run-index.d.ts","sourceRoot":"","sources":["../../src/interactive/doc-run-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,mFAAmF;AACnF,MAAM,WAAW,YAAY;IAC3B,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC9C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,uEAAuE;AACvE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,OAAQ,CAAC;AAE1C,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsC;IAC1D,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA6B;IAClD,OAAO,CAAC,KAAK,CAMG;gBAGd,OAAO,EAAE,MAAM,YAAY,EAAE,EAC7B,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAO;IAQhF,qFAAqF;IACrF,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAK5C,OAAO,CAAC,OAAO;IAqCf,6FAA6F;IAC7F,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI7C,2EAA2E;IAC3E,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAIpC;kFAC8E;IAC9E,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;CAGtC"}
1
+ {"version":3,"file":"doc-run-index.d.ts","sourceRoot":"","sources":["../../src/interactive/doc-run-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,mFAAmF;AACnF,MAAM,WAAW,YAAY;IAC3B,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC9C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,uEAAuE;AACvE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,OAAQ,CAAC;AAE1C,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsC;IAC1D,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA6B;IAClD,OAAO,CAAC,KAAK,CAMG;gBAGd,OAAO,EAAE,MAAM,YAAY,EAAE,EAC7B,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAO;IAQhF,qFAAqF;IACrF,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAK5C,OAAO,CAAC,OAAO;IAqCf,6FAA6F;IAC7F,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI7C,2EAA2E;IAC3E,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAIpC;+GAC2G;IAC3G,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;CAGtC"}
@@ -23,6 +23,19 @@ export function documentIdOfKey(key) {
23
23
  const i = key.indexOf(':');
24
24
  return i === -1 ? key : key.slice(0, i);
25
25
  }
26
+ /**
27
+ * The kind a ledger row names (#785): two seams keep their rows in the EDIT seam's ledger on purpose
28
+ * (no new state-home entry) — theme learning (`<doc>:theme:<ts>`, EP-C4) and reviews
29
+ * (`<doc>:review:<project>:v<n>:<reviewers>`, EP-C2) — so the key's shape decides, not the file:
30
+ * a document that was only reviewed must not read as structurally edited. Any other key is the
31
+ * seam's own kind.
32
+ */
33
+ export function kindOfKey(seam, key) {
34
+ const second = key.split(':', 2)[1];
35
+ if (second === 'theme' || second === 'review')
36
+ return second;
37
+ return seam;
38
+ }
26
39
  /** Default freshness of one ledger read; the ledgers are small JSON files. */
27
40
  export const DOC_RUN_INDEX_TTL_MS = 2_000;
28
41
  export class DocRunIndex {
@@ -62,7 +75,7 @@ export class DocRunIndex {
62
75
  if (!byRun.has(entry.runId))
63
76
  byRun.set(entry.runId, doc);
64
77
  const set = kinds.get(doc) ?? new Set();
65
- set.add(source.name);
78
+ set.add(kindOfKey(source.name, key));
66
79
  kinds.set(doc, set);
67
80
  }
68
81
  }
@@ -91,8 +104,8 @@ export class DocRunIndex {
91
104
  runsOf(documentId) {
92
105
  return [...(this.refresh().byDoc.get(documentId) ?? [])];
93
106
  }
94
- /** The seams that answered this document (`draft` | `edit` | `chat` | `demo`, source order; `[]`
95
- * when none) — the `kinds` a daemon-wide docs listing shows per document. */
107
+ /** The kinds that answered this document (`draft` | `edit` | `chat` | `demo` | `theme` | `review`,
108
+ * first-seen order; `[]` when none; {@link kindOfKey}) — the `kinds` a daemon-wide docs listing shows. */
96
109
  kindsOf(documentId) {
97
110
  return [...(this.refresh().kinds.get(documentId) ?? [])];
98
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"doc-run-index.js","sourceRoot":"","sources":["../../src/interactive/doc-run-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doc-run-index.js","sourceRoot":"","sources":["../../src/interactive/doc-run-index.ts"],"names":[],"mappings":"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"}
@@ -53,9 +53,12 @@ export declare class InteractiveHandoffLedger {
53
53
  * (tmp + rename, like every other write) and ONLY when something was actually removed, so a
54
54
  * sweep of a doc this ledger never answered does not create or rewrite the file.
55
55
  *
56
+ * `keep` (EP-C2): rows of the name that are NOT this document's — a review row of the same-named
57
+ * document in another project (`<doc>:review:<project partition>:…` carries its project) — stay.
58
+ *
56
59
  * @returns the removed keys (empty = nothing to remove).
57
60
  */
58
- removeDoc(documentId: string): string[];
61
+ removeDoc(documentId: string, keep?: (key: string) => boolean): string[];
59
62
  private persist;
60
63
  }
61
64
  //# sourceMappingURL=ledger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../src/interactive/ledger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;6EACyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAOD,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,OAAO,CAAqC;gBAExC,IAAI,EAAE,MAAM;IAuCxB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAIhD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9C,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQhC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQhC,IAAI,IAAI,MAAM;IAId,kGAAkG;IAClG,IAAI,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAI3C;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAavC,OAAO,CAAC,OAAO;CAMhB"}
1
+ {"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../src/interactive/ledger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;6EACyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAOD,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,OAAO,CAAqC;gBAExC,IAAI,EAAE,MAAM;IAuCxB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAIhD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9C,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQhC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQhC,IAAI,IAAI,MAAM;IAId,kGAAkG;IAClG,IAAI,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAI3C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,EAAE;IAaxE,OAAO,CAAC,OAAO;CAMhB"}
@@ -104,13 +104,16 @@ export class InteractiveHandoffLedger {
104
104
  * (tmp + rename, like every other write) and ONLY when something was actually removed, so a
105
105
  * sweep of a doc this ledger never answered does not create or rewrite the file.
106
106
  *
107
+ * `keep` (EP-C2): rows of the name that are NOT this document's — a review row of the same-named
108
+ * document in another project (`<doc>:review:<project partition>:…` carries its project) — stay.
109
+ *
107
110
  * @returns the removed keys (empty = nothing to remove).
108
111
  */
109
- removeDoc(documentId) {
112
+ removeDoc(documentId, keep) {
110
113
  const prefix = `${documentId}:`;
111
114
  const removed = [];
112
115
  for (const key of Object.keys(this.entries)) {
113
- if (key === documentId || key.startsWith(prefix)) {
116
+ if ((key === documentId || key.startsWith(prefix)) && keep?.(key) !== true) {
114
117
  delete this.entries[key];
115
118
  removed.push(key);
116
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/interactive/ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/interactive/ledger.ts"],"names":[],"mappings":"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"}