clearotron 0.2.4 → 0.3.0-beta.1

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 (235) hide show
  1. package/.env.example +13 -2
  2. package/CONTRIBUTING.md +1 -1
  3. package/INSTALL.md +62 -38
  4. package/bin/brandowner.mjs +18 -169
  5. package/bin/clearotron.mjs +3 -1
  6. package/bin/connect.mjs +28 -19
  7. package/bin/disconnect.mjs +3 -3
  8. package/bin/example.mjs +7 -7
  9. package/bin/framework-preflight.mjs +49 -0
  10. package/bin/grant.mjs +151 -93
  11. package/bin/onboard.mjs +220 -138
  12. package/bin/start.mjs +146 -137
  13. package/bin/stop.mjs +2 -2
  14. package/bin/update.mjs +1 -1
  15. package/build-info.json +2 -2
  16. package/docs/CLIENT-MCP.md +2 -2
  17. package/docs/E2E.md +12 -2
  18. package/docs/ONBOARDING.md +1 -1
  19. package/docs/PORTAL.md +14 -13
  20. package/docs/SECURITY.md +23 -24
  21. package/docs/architecture/04-configuration-reference.md +12 -5
  22. package/docs/architecture/05-config-governance.md +7 -7
  23. package/docs/architecture/07-quality-and-audit.md +1 -1
  24. package/docs/architecture/08-development-guide.md +5 -0
  25. package/docs/configuration.md +118 -0
  26. package/docs/decisions/0004-documentation-structure.md +2 -2
  27. package/docs/decisions/0006-what-the-public-repository-carries.md +2 -2
  28. package/driver/CHANGELOG.md +70 -0
  29. package/driver/ask-ledger.mjs +2 -2
  30. package/driver/cancel.mjs +27 -0
  31. package/driver/case-law-sources.mjs +3 -3
  32. package/driver/company-bundle.mjs +261 -0
  33. package/driver/compare.mjs +1 -1
  34. package/driver/compose-read.mjs +2 -2
  35. package/driver/config-inventory.mjs +2 -2
  36. package/driver/contract-audit.mjs +1 -1
  37. package/driver/contract-e3-backlog.mjs +1 -1
  38. package/driver/contract-vocabulary.mjs +1 -1
  39. package/driver/declination-call.mjs +1 -1
  40. package/driver/deliver-trigger.sh +3 -3
  41. package/driver/dev-portal.mjs +3 -1
  42. package/driver/digest-queue.mjs +1 -1
  43. package/driver/disposition-tool.mjs +1 -1
  44. package/driver/doc-constants.mjs +1 -1
  45. package/driver/drain-posture.mjs +2 -2
  46. package/driver/drainer-identity.mjs +1 -1
  47. package/driver/driver.config.mjs +44 -9
  48. package/driver/effective-scope.mjs +30 -1
  49. package/driver/effort-model.mjs +6 -6
  50. package/driver/engine/CONTRACT.md +2 -2
  51. package/driver/engine/anthropic-agent.mjs +11 -11
  52. package/driver/engine/jx-turn.mjs +1 -1
  53. package/driver/engine/mcp/gather-config.mjs +29 -4
  54. package/driver/engine/mcp/recording-server.mjs +73 -1
  55. package/driver/engine/openai-agent.mjs +1 -1
  56. package/driver/engine/probe.mjs +28 -4
  57. package/driver/enqueue-schema.mjs +23 -3
  58. package/driver/findings-model.mjs +2 -2
  59. package/driver/flag-snapshot.mjs +2 -2
  60. package/driver/floor-duty.mjs +2 -2
  61. package/driver/frame-diff-model.mjs +1 -1
  62. package/driver/framework-preflight.mjs +143 -0
  63. package/driver/gateway.mjs +9 -1
  64. package/driver/hit-list.mjs +1 -1
  65. package/driver/jx-lanes.mjs +1 -1
  66. package/driver/jx.mjs +1 -1
  67. package/driver/knockout-assess-record.mjs +1 -1
  68. package/driver/knockout-review-record.mjs +435 -0
  69. package/driver/order-probe.mjs +1 -1
  70. package/driver/outbox-backoff.mjs +2 -2
  71. package/driver/owner-use-check.mjs +2 -2
  72. package/driver/package.json +1 -1
  73. package/driver/pipeline-knockout.mjs +105 -8
  74. package/driver/pipeline.mjs +81 -30
  75. package/driver/plain-register.mjs +77 -3
  76. package/driver/portal-access.mjs +141 -74
  77. package/driver/portal-config-view.mjs +59 -70
  78. package/driver/portal-report.mjs +4 -4
  79. package/driver/portal-service.mjs +348 -141
  80. package/driver/portal-upstream.mjs +105 -17
  81. package/driver/predelivery-lint.mjs +43 -18
  82. package/driver/product-rows.mjs +1 -1
  83. package/driver/products.mjs +1 -1
  84. package/driver/profile-page.html +30 -5
  85. package/driver/profile-service.mjs +197 -26
  86. package/driver/profiles.mjs +48 -1
  87. package/driver/publish/index.mjs +31 -13
  88. package/driver/publish/knockout.mjs +9 -5
  89. package/driver/publish/office-record-links.mjs +189 -0
  90. package/driver/publish/parse.mjs +3 -3
  91. package/driver/publish/publish-inputs.mjs +26 -0
  92. package/driver/publish/render-knockout.mjs +42 -42
  93. package/driver/publish/render.mjs +29 -4
  94. package/driver/publish/report-data.mjs +2 -2
  95. package/driver/publish/seed-pool.mjs +1 -1
  96. package/driver/publish/templates/report.css +8 -8
  97. package/driver/publish/xlsx.mjs +49 -7
  98. package/driver/queue-watch-verdict.mjs +2 -2
  99. package/driver/recipe-service.mjs +1 -1
  100. package/driver/record-carry.mjs +1 -1
  101. package/driver/reference-score.mjs +1 -1
  102. package/driver/reference-strip-signatures.mjs +1 -1
  103. package/driver/register-availability.mjs +4 -3
  104. package/driver/register-count.mjs +3 -3
  105. package/driver/register-records.mjs +1 -1
  106. package/driver/repair-composers.mjs +1 -1
  107. package/driver/repairs.mjs +3 -3
  108. package/driver/replay-archive.mjs +1 -1
  109. package/driver/report-card-record.mjs +1 -1
  110. package/driver/result-noun-fields.mjs +5 -0
  111. package/driver/roster-verdict.mjs +48 -5
  112. package/driver/run-activity.mjs +1 -1
  113. package/driver/run-requirements.mjs +18 -5
  114. package/driver/runner.mjs +24 -15
  115. package/driver/search-policy.mjs +8 -8
  116. package/driver/senior-rights.mjs +1 -1
  117. package/driver/skills/prelim-search/delivery-contract.md +1 -1
  118. package/driver/skills/prelim-search/risk-framework-triage.md +10 -7
  119. package/driver/stages-knockout.mjs +72 -6
  120. package/driver/stages.mjs +10 -10
  121. package/driver/suite-census.json +238 -70
  122. package/driver/synthesis-record.mjs +2 -2
  123. package/driver/systemd/clearotron-client-mcp.service +3 -3
  124. package/driver/systemd/clearotron-deploy.service +2 -2
  125. package/driver/systemd/clearotron-mcp-face.service +1 -1
  126. package/driver/systemd/clearotron-portal.service +3 -3
  127. package/driver/systemd/clearotron-worker.service +5 -5
  128. package/driver/systemd/install-census.mjs +1 -1
  129. package/driver/systemd/render-units.mjs +9 -9
  130. package/driver/terminal-clamp.mjs +1 -1
  131. package/driver/trigger-cap.mjs +18 -2
  132. package/driver/unit-inventory.mjs +8 -8
  133. package/driver/usage-ledger.mjs +5 -3
  134. package/driver/verify-knockout.mjs +7 -7
  135. package/driver/verify.mjs +5 -5
  136. package/driver/whatif-memo-run.mjs +1 -1
  137. package/driver/whatif-queue.mjs +3 -3
  138. package/driver/whatif-worker.mjs +2 -2
  139. package/examples/README.md +1 -1
  140. package/examples/grants.example.json +25 -24
  141. package/mcp-server/CHANGELOG.md +10 -0
  142. package/mcp-server/http-server.mjs +3 -3
  143. package/mcp-server/key-socket.mjs +1 -1
  144. package/mcp-server/lib/audit-view.mjs +3 -3
  145. package/mcp-server/lib/brief.mjs +3 -3
  146. package/mcp-server/lib/driver.mjs +1 -1
  147. package/mcp-server/lib/events.mjs +1 -1
  148. package/mcp-server/lib/http-handler.mjs +2 -2
  149. package/mcp-server/lib/instructions.mjs +2 -2
  150. package/mcp-server/lib/knockout.mjs +1 -1
  151. package/mcp-server/lib/ops.mjs +6 -3
  152. package/mcp-server/lib/options.mjs +15 -4
  153. package/mcp-server/lib/plan.mjs +7 -6
  154. package/mcp-server/lib/runs.mjs +10 -0
  155. package/mcp-server/lib/whatif.mjs +5 -5
  156. package/mcp-server/package.json +1 -1
  157. package/mcp-server/packs/README.md +1 -1
  158. package/mcp-server/remote/client-mcp-apikey.service +1 -1
  159. package/mcp-server/remote/client-mcp.service +2 -2
  160. package/mcp-server/remote/trademark-artifacts-http.service +1 -1
  161. package/mcp-server/server.mjs +38 -24
  162. package/package.json +2 -2
  163. package/portal-ui/dist/assets/{index-KFAHMgdT.js → index-CWTHP0sH.js} +3471 -1901
  164. package/portal-ui/dist/assets/{index-1ziUJX1E.css → index-KpytsmNH.css} +79 -26
  165. package/portal-ui/dist/index.html +2 -2
  166. package/portal-ui/package.json +1 -1
  167. package/providers/_shared/lane-probe.mjs +9 -3
  168. package/providers/jx-subclass/lookup.mjs +1 -1
  169. package/providers/oauth-mcp-bridge/CHANGELOG.md +4 -0
  170. package/providers/oauth-mcp-bridge/package.json +1 -1
  171. package/providers/oauth-mcp-bridge/systemd/courtlistener-mcp.service +1 -1
  172. package/scripts/citation-drift-report.mjs +1 -1
  173. package/scripts/citation-line-check.mjs +2 -2
  174. package/scripts/drive-env-check.mjs +1 -1
  175. package/scripts/e2e.mjs +5 -5
  176. package/scripts/env-audit.mjs +13 -1
  177. package/scripts/headless-page.mjs +5 -5
  178. package/scripts/live-surface-check.mjs +26 -2
  179. package/scripts/mint-names-in-force.mjs +19 -5
  180. package/scripts/mint-reference-strip-backlog.mjs +1 -1
  181. package/scripts/mint-suite-census.mjs +37 -10
  182. package/scripts/pack-publishable.mjs +1 -1
  183. package/scripts/preinstall-node-check.mjs +1 -1
  184. package/scripts/release-await-cut.mjs +3 -3
  185. package/scripts/release-cut-decision.mjs +1 -1
  186. package/scripts/release-dist-tag.mjs +1 -1
  187. package/scripts/release-install-check.mjs +1 -1
  188. package/scripts/release-notes-lint.mjs +1 -1
  189. package/scripts/release-publish-guard.mjs +1 -1
  190. package/scripts/release-version-pr-checks.mjs +2 -2
  191. package/scripts/release-version.mjs +61 -5
  192. package/scripts/render-brand-banner.mjs +1 -1
  193. package/scripts/render-check.mjs +2 -2
  194. package/scripts/repo-writes.mjs +1 -1
  195. package/scripts/report-frame-check.mjs +1 -1
  196. package/scripts/report-screenshot.mjs +2 -2
  197. package/scripts/retire-bare-refs.mjs +1 -1
  198. package/scripts/revisit-render-check.mjs +1 -1
  199. package/scripts/score.mjs +1 -1
  200. package/scripts/strip-titles-and-attributions.mjs +389 -0
  201. package/scripts/strip-tracker-citations.mjs +122 -5
  202. package/scripts/test-run.mjs +4 -4
  203. package/scripts/third-party-notices.mjs +1 -1
  204. package/scripts/verify-publishable.mjs +1 -1
  205. package/shared/access-audience.mjs +2 -2
  206. package/shared/anon-overlay.mjs +1 -1
  207. package/shared/brand.mjs +15 -1
  208. package/shared/bundle-freshness.mjs +1 -1
  209. package/shared/bundle-rebuild.mjs +1 -1
  210. package/shared/checkout-move.mjs +2 -2
  211. package/shared/client-door.mjs +8 -8
  212. package/shared/connect-clients.mjs +7 -7
  213. package/shared/connector-signin-probe.mjs +1 -1
  214. package/shared/env-aliases.mjs +1 -1
  215. package/shared/env-local.mjs +5 -5
  216. package/shared/grants-edit.mjs +76 -0
  217. package/shared/install-auth.mjs +1 -1
  218. package/shared/listen.mjs +3 -3
  219. package/shared/mcp-challenge.mjs +1 -1
  220. package/shared/names-in-force.mjs +2 -1
  221. package/shared/onboarding-store.mjs +19 -2
  222. package/shared/reference-guard-classes.mjs +44 -2
  223. package/shared/register-selection.mjs +1 -1
  224. package/shared/scope.mjs +223 -56
  225. package/shared/secret-file.mjs +1 -1
  226. package/shared/server-units.mjs +1 -1
  227. package/shared/staff-domain.mjs +45 -78
  228. package/shared/summary-blocks.mjs +2 -2
  229. package/shared/systemd-failure.mjs +3 -3
  230. package/shared/tracked-files.mjs +1 -1
  231. package/shared/trigger-lane.mjs +1 -1
  232. package/shared/tty-style.mjs +1 -1
  233. package/shared/usage-block.mjs +1 -1
  234. package/shared/vacuous-pass.mjs +1 -1
  235. package/shared/verb-shim.mjs +1 -1
@@ -135,6 +135,18 @@
135
135
  "skips": 0,
136
136
  "todos": 0
137
137
  },
138
+ "a-company-created-after-boot-can-still-search.test.mjs": {
139
+ "tests": 3,
140
+ "asserts": 10,
141
+ "skips": 0,
142
+ "todos": 0
143
+ },
144
+ "a-company-created-in-the-browser-is-a-whole-company.test.mjs": {
145
+ "tests": 7,
146
+ "asserts": 36,
147
+ "skips": 0,
148
+ "todos": 0
149
+ },
138
150
  "a-credential-file-is-written-one-way.test.mjs": {
139
151
  "tests": 4,
140
152
  "asserts": 13,
@@ -256,8 +268,8 @@
256
268
  "todos": 0
257
269
  },
258
270
  "a-dynamic-import-of-a-path-is-a-file-url.test.mjs": {
259
- "tests": 3,
260
- "asserts": 6,
271
+ "tests": 8,
272
+ "asserts": 17,
261
273
  "skips": 1,
262
274
  "todos": 0
263
275
  },
@@ -291,6 +303,12 @@
291
303
  "skips": 0,
292
304
  "todos": 0
293
305
  },
306
+ "a-generic-run-is-filed-and-capped-at-the-claim.test.mjs": {
307
+ "tests": 2,
308
+ "asserts": 12,
309
+ "skips": 0,
310
+ "todos": 0
311
+ },
294
312
  "a-gone-session-meets-a-door-not-a-json-body.test.mjs": {
295
313
  "tests": 4,
296
314
  "asserts": 16,
@@ -395,7 +413,7 @@
395
413
  },
396
414
  "a-partial-payload-cannot-delete-what-it-omits.test.mjs": {
397
415
  "tests": 11,
398
- "asserts": 42,
416
+ "asserts": 44,
399
417
  "skips": 0,
400
418
  "todos": 0
401
419
  },
@@ -519,6 +537,12 @@
519
537
  "skips": 0,
520
538
  "todos": 0
521
539
  },
540
+ "a-register-with-no-record-page-is-cited-not-linked.test.mjs": {
541
+ "tests": 2,
542
+ "asserts": 8,
543
+ "skips": 0,
544
+ "todos": 0
545
+ },
522
546
  "a-release-note-is-written-for-its-reader.test.mjs": {
523
547
  "tests": 9,
524
548
  "asserts": 63,
@@ -633,9 +657,9 @@
633
657
  "skips": 0,
634
658
  "todos": 0
635
659
  },
636
- "a-staff-domain-is-a-grant-not-a-guess.test.mjs": {
637
- "tests": 17,
638
- "asserts": 77,
660
+ "a-stop-is-read-once-more-before-anything-is-published.test.mjs": {
661
+ "tests": 4,
662
+ "asserts": 12,
639
663
  "skips": 0,
640
664
  "todos": 0
641
665
  },
@@ -645,6 +669,18 @@
645
669
  "skips": 1,
646
670
  "todos": 0
647
671
  },
672
+ "a-stored-territory-that-does-nothing-is-named.test.mjs": {
673
+ "tests": 6,
674
+ "asserts": 12,
675
+ "skips": 0,
676
+ "todos": 0
677
+ },
678
+ "a-switched-off-feature-says-so-and-says-what-to-change.test.mjs": {
679
+ "tests": 4,
680
+ "asserts": 7,
681
+ "skips": 0,
682
+ "todos": 0
683
+ },
648
684
  "a-terminal-guard-delivers-and-clamps.test.mjs": {
649
685
  "tests": 11,
650
686
  "asserts": 40,
@@ -694,8 +730,8 @@
694
730
  "todos": 0
695
731
  },
696
732
  "a-visible-line-is-written-for-the-client.test.mjs": {
697
- "tests": 10,
698
- "asserts": 23,
733
+ "tests": 11,
734
+ "asserts": 24,
699
735
  "skips": 0,
700
736
  "todos": 0
701
737
  },
@@ -772,8 +808,8 @@
772
808
  "todos": 0
773
809
  },
774
810
  "an-account-is-never-created-unable-to-start.test.mjs": {
775
- "tests": 5,
776
- "asserts": 15,
811
+ "tests": 7,
812
+ "asserts": 26,
777
813
  "skips": 0,
778
814
  "todos": 0
779
815
  },
@@ -1150,8 +1186,8 @@
1150
1186
  "todos": 0
1151
1187
  },
1152
1188
  "client-gate.test.mjs": {
1153
- "tests": 13,
1154
- "asserts": 69,
1189
+ "tests": 16,
1190
+ "asserts": 81,
1155
1191
  "skips": 0,
1156
1192
  "todos": 0
1157
1193
  },
@@ -1253,7 +1289,7 @@
1253
1289
  },
1254
1290
  "connect-key-mints-for-the-caller.test.mjs": {
1255
1291
  "tests": 5,
1256
- "asserts": 16,
1292
+ "asserts": 19,
1257
1293
  "skips": 0,
1258
1294
  "todos": 0
1259
1295
  },
@@ -1679,7 +1715,7 @@
1679
1715
  },
1680
1716
  "doctor-reads-the-units-not-the-shell.test.mjs": {
1681
1717
  "tests": 24,
1682
- "asserts": 66,
1718
+ "asserts": 67,
1683
1719
  "skips": 0,
1684
1720
  "todos": 0
1685
1721
  },
@@ -1839,6 +1875,12 @@
1839
1875
  "skips": 0,
1840
1876
  "todos": 0
1841
1877
  },
1878
+ "each-organisations-generic-carries-the-daily-cap.test.mjs": {
1879
+ "tests": 7,
1880
+ "asserts": 14,
1881
+ "skips": 0,
1882
+ "todos": 0
1883
+ },
1842
1884
  "effective-scope.test.mjs": {
1843
1885
  "tests": 15,
1844
1886
  "asserts": 44,
@@ -1882,8 +1924,8 @@
1882
1924
  "todos": 0
1883
1925
  },
1884
1926
  "engine-probe.test.mjs": {
1885
- "tests": 21,
1886
- "asserts": 94,
1927
+ "tests": 22,
1928
+ "asserts": 101,
1887
1929
  "skips": 0,
1888
1930
  "todos": 0
1889
1931
  },
@@ -1995,6 +2037,12 @@
1995
2037
  "skips": 0,
1996
2038
  "todos": 0
1997
2039
  },
2040
+ "every-engine-call-asks-for-the-refreshed-credential.test.mjs": {
2041
+ "tests": 1,
2042
+ "asserts": 4,
2043
+ "skips": 0,
2044
+ "todos": 0
2045
+ },
1998
2046
  "every-lane-declares-its-transport-position.test.mjs": {
1999
2047
  "tests": 7,
2000
2048
  "asserts": 12,
@@ -2194,8 +2242,8 @@
2194
2242
  "todos": 0
2195
2243
  },
2196
2244
  "framework-lint.test.mjs": {
2197
- "tests": 8,
2198
- "asserts": 38,
2245
+ "tests": 11,
2246
+ "asserts": 52,
2199
2247
  "skips": 0,
2200
2248
  "todos": 0
2201
2249
  },
@@ -2230,8 +2278,8 @@
2230
2278
  "todos": 0
2231
2279
  },
2232
2280
  "grant-command.test.mjs": {
2233
- "tests": 14,
2234
- "asserts": 46,
2281
+ "tests": 19,
2282
+ "asserts": 75,
2235
2283
  "skips": 0,
2236
2284
  "todos": 0
2237
2285
  },
@@ -2399,7 +2447,7 @@
2399
2447
  },
2400
2448
  "knockout-runs-without-a-research-key.test.mjs": {
2401
2449
  "tests": 6,
2402
- "asserts": 26,
2450
+ "asserts": 28,
2403
2451
  "skips": 0,
2404
2452
  "todos": 0
2405
2453
  },
@@ -2818,8 +2866,8 @@
2818
2866
  "todos": 0
2819
2867
  },
2820
2868
  "plain-words-on-what-the-reader-sees-first.test.mjs": {
2821
- "tests": 19,
2822
- "asserts": 45,
2869
+ "tests": 20,
2870
+ "asserts": 50,
2823
2871
  "skips": 0,
2824
2872
  "todos": 0
2825
2873
  },
@@ -2842,8 +2890,8 @@
2842
2890
  "todos": 0
2843
2891
  },
2844
2892
  "portal-access.test.mjs": {
2845
- "tests": 9,
2846
- "asserts": 19,
2893
+ "tests": 13,
2894
+ "asserts": 50,
2847
2895
  "skips": 0,
2848
2896
  "todos": 0
2849
2897
  },
@@ -2861,13 +2909,13 @@
2861
2909
  },
2862
2910
  "portal-carries.test.mjs": {
2863
2911
  "tests": 5,
2864
- "asserts": 17,
2912
+ "asserts": 22,
2865
2913
  "skips": 0,
2866
2914
  "todos": 0
2867
2915
  },
2868
2916
  "portal-config-view.test.mjs": {
2869
2917
  "tests": 35,
2870
- "asserts": 94,
2918
+ "asserts": 95,
2871
2919
  "skips": 0,
2872
2920
  "todos": 0
2873
2921
  },
@@ -2879,7 +2927,7 @@
2879
2927
  },
2880
2928
  "portal-local-auth.test.mjs": {
2881
2929
  "tests": 20,
2882
- "asserts": 75,
2930
+ "asserts": 76,
2883
2931
  "skips": 1,
2884
2932
  "todos": 0
2885
2933
  },
@@ -2897,7 +2945,7 @@
2897
2945
  },
2898
2946
  "portal-queue-order.test.mjs": {
2899
2947
  "tests": 8,
2900
- "asserts": 20,
2948
+ "asserts": 21,
2901
2949
  "skips": 0,
2902
2950
  "todos": 0
2903
2951
  },
@@ -2914,14 +2962,14 @@
2914
2962
  "todos": 0
2915
2963
  },
2916
2964
  "portal-service-boot.test.mjs": {
2917
- "tests": 28,
2918
- "asserts": 137,
2965
+ "tests": 30,
2966
+ "asserts": 147,
2919
2967
  "skips": 0,
2920
2968
  "todos": 0
2921
2969
  },
2922
2970
  "portal-service.test.mjs": {
2923
- "tests": 119,
2924
- "asserts": 634,
2971
+ "tests": 122,
2972
+ "asserts": 656,
2925
2973
  "skips": 0,
2926
2974
  "todos": 0
2927
2975
  },
@@ -2932,8 +2980,8 @@
2932
2980
  "todos": 0
2933
2981
  },
2934
2982
  "portal-upstream.test.mjs": {
2935
- "tests": 36,
2936
- "asserts": 108,
2983
+ "tests": 42,
2984
+ "asserts": 129,
2937
2985
  "skips": 0,
2938
2986
  "todos": 0
2939
2987
  },
@@ -3016,8 +3064,8 @@
3016
3064
  "todos": 0
3017
3065
  },
3018
3066
  "profile-service.test.mjs": {
3019
- "tests": 31,
3020
- "asserts": 157,
3067
+ "tests": 32,
3068
+ "asserts": 162,
3021
3069
  "skips": 0,
3022
3070
  "todos": 0
3023
3071
  },
@@ -3339,6 +3387,12 @@
3339
3387
  "skips": 0,
3340
3388
  "todos": 0
3341
3389
  },
3390
+ "register-findings-link-to-the-office-record.test.mjs": {
3391
+ "tests": 16,
3392
+ "asserts": 44,
3393
+ "skips": 0,
3394
+ "todos": 0
3395
+ },
3342
3396
  "register-ledger-rename.test.mjs": {
3343
3397
  "tests": 12,
3344
3398
  "asserts": 32,
@@ -3412,8 +3466,8 @@
3412
3466
  "todos": 0
3413
3467
  },
3414
3468
  "release-pipeline.test.mjs": {
3415
- "tests": 89,
3416
- "asserts": 347,
3469
+ "tests": 91,
3470
+ "asserts": 353,
3417
3471
  "skips": 0,
3418
3472
  "todos": 0
3419
3473
  },
@@ -3574,8 +3628,8 @@
3574
3628
  "todos": 0
3575
3629
  },
3576
3630
  "roster-verdict.test.mjs": {
3577
- "tests": 11,
3578
- "asserts": 18,
3631
+ "tests": 17,
3632
+ "asserts": 36,
3579
3633
  "skips": 0,
3580
3634
  "todos": 0
3581
3635
  },
@@ -4030,8 +4084,8 @@
4030
4084
  "todos": 0
4031
4085
  },
4032
4086
  "start-command.test.mjs": {
4033
- "tests": 27,
4034
- "asserts": 115,
4087
+ "tests": 26,
4088
+ "asserts": 110,
4035
4089
  "skips": 0,
4036
4090
  "todos": 0
4037
4091
  },
@@ -4233,6 +4287,12 @@
4233
4287
  "skips": 0,
4234
4288
  "todos": 0
4235
4289
  },
4290
+ "the-bar-names-no-organisation-nobody-named.test.mjs": {
4291
+ "tests": 4,
4292
+ "asserts": 7,
4293
+ "skips": 0,
4294
+ "todos": 0
4295
+ },
4236
4296
  "the-boot-line-cannot-claim-a-lane-it-has-not-got.test.mjs": {
4237
4297
  "tests": 4,
4238
4298
  "asserts": 10,
@@ -4246,8 +4306,8 @@
4246
4306
  "todos": 0
4247
4307
  },
4248
4308
  "the-bundled-roster-is-read-not-remembered.test.mjs": {
4249
- "tests": 8,
4250
- "asserts": 11,
4309
+ "tests": 9,
4310
+ "asserts": 16,
4251
4311
  "skips": 0,
4252
4312
  "todos": 0
4253
4313
  },
@@ -4258,9 +4318,9 @@
4258
4318
  "todos": 0
4259
4319
  },
4260
4320
  "the-citation-strip-removes-openers-and-nothing-else.test.mjs": {
4261
- "tests": 8,
4262
- "asserts": 28,
4263
- "skips": 0,
4321
+ "tests": 18,
4322
+ "asserts": 51,
4323
+ "skips": 2,
4264
4324
  "todos": 0
4265
4325
  },
4266
4326
  "the-classifier-names-what-the-validator-named.test.mjs": {
@@ -4301,7 +4361,7 @@
4301
4361
  },
4302
4362
  "the-demo-account-shows-a-configured-customer.test.mjs": {
4303
4363
  "tests": 4,
4304
- "asserts": 25,
4364
+ "asserts": 24,
4305
4365
  "skips": 0,
4306
4366
  "todos": 0
4307
4367
  },
@@ -4317,6 +4377,12 @@
4317
4377
  "skips": 0,
4318
4378
  "todos": 0
4319
4379
  },
4380
+ "the-door-sees-a-company-created-after-it-booted.test.mjs": {
4381
+ "tests": 2,
4382
+ "asserts": 6,
4383
+ "skips": 0,
4384
+ "todos": 0
4385
+ },
4320
4386
  "the-doubt-carries-its-placement-tier.test.mjs": {
4321
4387
  "tests": 17,
4322
4388
  "asserts": 56,
@@ -4385,7 +4451,7 @@
4385
4451
  },
4386
4452
  "the-glossary-describes-the-model-the-code-enforces.test.mjs": {
4387
4453
  "tests": 3,
4388
- "asserts": 10,
4454
+ "asserts": 14,
4389
4455
  "skips": 0,
4390
4456
  "todos": 0
4391
4457
  },
@@ -4443,6 +4509,12 @@
4443
4509
  "skips": 0,
4444
4510
  "todos": 0
4445
4511
  },
4512
+ "the-knockout-reviewing-pass-rewrites-what-a-reader-sees-first.test.mjs": {
4513
+ "tests": 15,
4514
+ "asserts": 57,
4515
+ "skips": 0,
4516
+ "todos": 0
4517
+ },
4446
4518
  "the-link-we-send-opens.test.mjs": {
4447
4519
  "tests": 6,
4448
4520
  "asserts": 14,
@@ -4463,7 +4535,7 @@
4463
4535
  },
4464
4536
  "the-minters-read-the-published-tree.test.mjs": {
4465
4537
  "tests": 2,
4466
- "asserts": 5,
4538
+ "asserts": 6,
4467
4539
  "skips": 0,
4468
4540
  "todos": 0
4469
4541
  },
@@ -4509,6 +4581,18 @@
4509
4581
  "skips": 0,
4510
4582
  "todos": 0
4511
4583
  },
4584
+ "the-person-who-installs-is-a-person-not-a-domain.test.mjs": {
4585
+ "tests": 19,
4586
+ "asserts": 88,
4587
+ "skips": 0,
4588
+ "todos": 0
4589
+ },
4590
+ "the-portal-and-the-connector-agree-about-a-person.test.mjs": {
4591
+ "tests": 2,
4592
+ "asserts": 7,
4593
+ "skips": 0,
4594
+ "todos": 0
4595
+ },
4512
4596
  "the-portal-asks-whether-its-engine-will-take-it.test.mjs": {
4513
4597
  "tests": 8,
4514
4598
  "asserts": 27,
@@ -4540,8 +4624,8 @@
4540
4624
  "todos": 0
4541
4625
  },
4542
4626
  "the-public-residue-is-a-floor.test.mjs": {
4543
- "tests": 13,
4544
- "asserts": 51,
4627
+ "tests": 15,
4628
+ "asserts": 58,
4545
4629
  "skips": 5,
4546
4630
  "todos": 0
4547
4631
  },
@@ -4577,8 +4661,8 @@
4577
4661
  },
4578
4662
  "the-reference-strip-left-sentences-unfinished.test.mjs": {
4579
4663
  "tests": 6,
4580
- "asserts": 14,
4581
- "skips": 3,
4664
+ "asserts": 15,
4665
+ "skips": 4,
4582
4666
  "todos": 0
4583
4667
  },
4584
4668
  "the-repair-order-and-the-tool-schema-agree.test.mjs": {
@@ -4623,6 +4707,12 @@
4623
4707
  "skips": 0,
4624
4708
  "todos": 0
4625
4709
  },
4710
+ "the-run-records-a-stored-territory-it-cannot-search.test.mjs": {
4711
+ "tests": 3,
4712
+ "asserts": 17,
4713
+ "skips": 0,
4714
+ "todos": 0
4715
+ },
4626
4716
  "the-run-s-own-materiality-orders-the-table.test.mjs": {
4627
4717
  "tests": 9,
4628
4718
  "asserts": 18,
@@ -4683,6 +4773,12 @@
4683
4773
  "skips": 0,
4684
4774
  "todos": 0
4685
4775
  },
4776
+ "the-title-and-attribution-sweep-takes-the-label.test.mjs": {
4777
+ "tests": 30,
4778
+ "asserts": 99,
4779
+ "skips": 2,
4780
+ "todos": 0
4781
+ },
4686
4782
  "the-trigger-key-has-a-deadline-somebody-is-counting.test.mjs": {
4687
4783
  "tests": 5,
4688
4784
  "asserts": 23,
@@ -4733,7 +4829,7 @@
4733
4829
  },
4734
4830
  "tool-free-argv-baseline.test.mjs": {
4735
4831
  "tests": 16,
4736
- "asserts": 81,
4832
+ "asserts": 83,
4737
4833
  "skips": 0,
4738
4834
  "todos": 0
4739
4835
  },
@@ -4989,6 +5085,12 @@
4989
5085
  "skips": 0,
4990
5086
  "todos": 0
4991
5087
  },
5088
+ "what-doctor-passes-a-search-accepts.test.mjs": {
5089
+ "tests": 8,
5090
+ "asserts": 28,
5091
+ "skips": 0,
5092
+ "todos": 0
5093
+ },
4992
5094
  "whatif-queue.test.mjs": {
4993
5095
  "tests": 13,
4994
5096
  "asserts": 36,
@@ -5048,6 +5150,12 @@
5048
5150
  "mcp-server": {
5049
5151
  "ext": "mjs",
5050
5152
  "perFile": {
5153
+ "a-company-created-after-the-door-starts-is-listed.test.mjs": {
5154
+ "tests": 6,
5155
+ "asserts": 14,
5156
+ "skips": 0,
5157
+ "todos": 0
5158
+ },
5051
5159
  "a-key-has-one-door-and-it-is-not-the-network.test.mjs": {
5052
5160
  "tests": 13,
5053
5161
  "asserts": 33,
@@ -5074,7 +5182,7 @@
5074
5182
  },
5075
5183
  "account-principal.test.mjs": {
5076
5184
  "tests": 18,
5077
- "asserts": 40,
5185
+ "asserts": 42,
5078
5186
  "skips": 0,
5079
5187
  "todos": 0
5080
5188
  },
@@ -5193,8 +5301,8 @@
5193
5301
  "todos": 0
5194
5302
  },
5195
5303
  "grants.test.mjs": {
5196
- "tests": 11,
5197
- "asserts": 60,
5304
+ "tests": 12,
5305
+ "asserts": 67,
5198
5306
  "skips": 0,
5199
5307
  "todos": 0
5200
5308
  },
@@ -5348,8 +5456,8 @@
5348
5456
  "ext": "ts",
5349
5457
  "perFile": {
5350
5458
  "api.test.ts": {
5351
- "tests": 37,
5352
- "asserts": 138,
5459
+ "tests": 43,
5460
+ "asserts": 170,
5353
5461
  "skips": 0,
5354
5462
  "todos": 0
5355
5463
  },
@@ -5359,6 +5467,24 @@
5359
5467
  "skips": 0,
5360
5468
  "todos": 0
5361
5469
  },
5470
+ "companyCreated.test.ts": {
5471
+ "tests": 5,
5472
+ "asserts": 16,
5473
+ "skips": 0,
5474
+ "todos": 0
5475
+ },
5476
+ "companyKeyParity.test.ts": {
5477
+ "tests": 4,
5478
+ "asserts": 10,
5479
+ "skips": 0,
5480
+ "todos": 0
5481
+ },
5482
+ "companyOrder.test.ts": {
5483
+ "tests": 11,
5484
+ "asserts": 37,
5485
+ "skips": 0,
5486
+ "todos": 0
5487
+ },
5362
5488
  "compose.test.ts": {
5363
5489
  "tests": 8,
5364
5490
  "asserts": 29,
@@ -5383,6 +5509,12 @@
5383
5509
  "skips": 0,
5384
5510
  "todos": 0
5385
5511
  },
5512
+ "createFieldsReachTheStore.test.ts": {
5513
+ "tests": 4,
5514
+ "asserts": 8,
5515
+ "skips": 0,
5516
+ "todos": 0
5517
+ },
5386
5518
  "customPropertiesResolve.test.ts": {
5387
5519
  "tests": 4,
5388
5520
  "asserts": 11,
@@ -5419,6 +5551,12 @@
5419
5551
  "skips": 0,
5420
5552
  "todos": 0
5421
5553
  },
5554
+ "frameworkGuideLink.test.ts": {
5555
+ "tests": 4,
5556
+ "asserts": 10,
5557
+ "skips": 0,
5558
+ "todos": 0
5559
+ },
5422
5560
  "grouping.test.ts": {
5423
5561
  "tests": 23,
5424
5562
  "asserts": 53,
@@ -5437,6 +5575,12 @@
5437
5575
  "skips": 0,
5438
5576
  "todos": 0
5439
5577
  },
5578
+ "homeChipsFilterTheRows.test.ts": {
5579
+ "tests": 3,
5580
+ "asserts": 6,
5581
+ "skips": 0,
5582
+ "todos": 0
5583
+ },
5440
5584
  "icons.test.ts": {
5441
5585
  "tests": 2,
5442
5586
  "asserts": 4,
@@ -5469,13 +5613,13 @@
5469
5613
  },
5470
5614
  "measure.test.ts": {
5471
5615
  "tests": 25,
5472
- "asserts": 84,
5616
+ "asserts": 85,
5473
5617
  "skips": 0,
5474
5618
  "todos": 0
5475
5619
  },
5476
5620
  "nav.test.ts": {
5477
5621
  "tests": 12,
5478
- "asserts": 46,
5622
+ "asserts": 55,
5479
5623
  "skips": 0,
5480
5624
  "todos": 0
5481
5625
  },
@@ -5485,6 +5629,12 @@
5485
5629
  "skips": 0,
5486
5630
  "todos": 0
5487
5631
  },
5632
+ "newCompanyReachableFromProfile.test.ts": {
5633
+ "tests": 3,
5634
+ "asserts": 7,
5635
+ "skips": 0,
5636
+ "todos": 0
5637
+ },
5488
5638
  "niceClasses.test.ts": {
5489
5639
  "tests": 9,
5490
5640
  "asserts": 25,
@@ -5515,6 +5665,12 @@
5515
5665
  "skips": 0,
5516
5666
  "todos": 0
5517
5667
  },
5668
+ "permissions.test.ts": {
5669
+ "tests": 5,
5670
+ "asserts": 25,
5671
+ "skips": 0,
5672
+ "todos": 0
5673
+ },
5518
5674
  "productMatrix.test.ts": {
5519
5675
  "tests": 22,
5520
5676
  "asserts": 46,
@@ -5522,8 +5678,8 @@
5522
5678
  "todos": 0
5523
5679
  },
5524
5680
  "profileFields.test.ts": {
5525
- "tests": 48,
5526
- "asserts": 141,
5681
+ "tests": 49,
5682
+ "asserts": 145,
5527
5683
  "skips": 0,
5528
5684
  "todos": 0
5529
5685
  },
@@ -5565,13 +5721,19 @@
5565
5721
  },
5566
5722
  "screenCopy.test.ts": {
5567
5723
  "tests": 56,
5568
- "asserts": 178,
5724
+ "asserts": 186,
5569
5725
  "skips": 0,
5570
5726
  "todos": 0
5571
5727
  },
5572
5728
  "shell.test.ts": {
5573
- "tests": 7,
5574
- "asserts": 17,
5729
+ "tests": 8,
5730
+ "asserts": 27,
5731
+ "skips": 0,
5732
+ "todos": 0
5733
+ },
5734
+ "stopPromiseIsWithdrawn.test.ts": {
5735
+ "tests": 3,
5736
+ "asserts": 8,
5575
5737
  "skips": 0,
5576
5738
  "todos": 0
5577
5739
  },
@@ -5587,6 +5749,12 @@
5587
5749
  "skips": 0,
5588
5750
  "todos": 0
5589
5751
  },
5752
+ "territoryCodeParity.test.ts": {
5753
+ "tests": 4,
5754
+ "asserts": 15,
5755
+ "skips": 0,
5756
+ "todos": 0
5757
+ },
5590
5758
  "tone.test.ts": {
5591
5759
  "tests": 7,
5592
5760
  "asserts": 31,
@@ -5640,8 +5808,8 @@
5640
5808
  "todos": 0
5641
5809
  },
5642
5810
  "providers/_shared/test/lane-probe.test.mjs": {
5643
- "tests": 12,
5644
- "asserts": 29,
5811
+ "tests": 13,
5812
+ "asserts": 31,
5645
5813
  "skips": 0,
5646
5814
  "todos": 0
5647
5815
  },