@xingular/harness 0.1.7 → 1.1.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 (819) hide show
  1. package/CHANGELOG.md +125 -1
  2. package/LICENSE +202 -0
  3. package/NOTICE.md +22 -0
  4. package/README.md +239 -86
  5. package/THIRD_PARTY_LICENSES.md +942 -0
  6. package/dist/cli.js +17853 -13114
  7. package/dist/sdk/accounts/accounts.d.ts +165 -0
  8. package/dist/sdk/accounts/accounts.js +730 -0
  9. package/dist/sdk/accounts/choices.d.ts +23 -0
  10. package/dist/sdk/accounts/choices.js +62 -0
  11. package/dist/sdk/accounts/env.d.ts +78 -0
  12. package/dist/sdk/accounts/env.js +294 -0
  13. package/dist/sdk/accounts/secrets.d.ts +16 -0
  14. package/dist/sdk/accounts/secrets.js +40 -0
  15. package/dist/sdk/accounts/store.d.ts +114 -0
  16. package/dist/sdk/accounts/store.js +255 -0
  17. package/dist/sdk/agents/builtin.d.ts +2 -0
  18. package/dist/sdk/agents/builtin.js +34 -0
  19. package/dist/sdk/agents/narrow.d.ts +13 -0
  20. package/dist/sdk/agents/narrow.js +29 -0
  21. package/dist/sdk/agents/profiles.d.ts +80 -0
  22. package/dist/sdk/agents/profiles.js +221 -0
  23. package/dist/sdk/annotations/bridge.d.ts +42 -0
  24. package/dist/sdk/annotations/bridge.js +264 -0
  25. package/dist/sdk/annotations/capture.d.ts +116 -0
  26. package/dist/sdk/annotations/capture.js +308 -0
  27. package/dist/sdk/annotations/delivery.d.ts +72 -0
  28. package/dist/sdk/annotations/delivery.js +130 -0
  29. package/dist/sdk/annotations/inspect.d.ts +10 -0
  30. package/dist/sdk/annotations/inspect.js +33 -0
  31. package/dist/sdk/annotations/isolated.d.ts +6 -0
  32. package/dist/sdk/annotations/isolated.js +51 -0
  33. package/dist/sdk/annotations/pageScript.d.ts +28 -0
  34. package/dist/sdk/annotations/pageScript.js +570 -0
  35. package/dist/sdk/annotations/part.d.ts +10 -0
  36. package/dist/sdk/annotations/part.js +144 -0
  37. package/dist/sdk/annotations/queue.d.ts +4 -0
  38. package/dist/sdk/annotations/queue.js +40 -0
  39. package/dist/sdk/annotations/serverMethods.d.ts +3 -0
  40. package/dist/sdk/annotations/serverMethods.js +62 -0
  41. package/dist/sdk/annotations/store.d.ts +160 -0
  42. package/dist/sdk/annotations/store.js +386 -0
  43. package/dist/sdk/browser/config.d.ts +16 -0
  44. package/dist/sdk/browser/config.js +22 -0
  45. package/dist/sdk/browser/diagnostics.d.ts +4 -0
  46. package/dist/sdk/browser/diagnostics.js +38 -0
  47. package/dist/sdk/browser/index.d.ts +28 -0
  48. package/dist/sdk/browser/index.js +72 -0
  49. package/dist/sdk/browser/network.d.ts +10 -0
  50. package/dist/sdk/browser/network.js +59 -0
  51. package/dist/sdk/browser/serverMethods.d.ts +3 -0
  52. package/dist/sdk/browser/serverMethods.js +7 -0
  53. package/dist/sdk/browser/session.d.ts +85 -0
  54. package/dist/sdk/browser/session.js +228 -0
  55. package/dist/sdk/browser/tools.d.ts +8 -0
  56. package/dist/sdk/browser/tools.js +329 -0
  57. package/dist/sdk/capabilities/api.d.ts +22 -0
  58. package/dist/sdk/capabilities/api.js +54 -0
  59. package/dist/sdk/capabilities/runSnapshot.d.ts +18 -0
  60. package/dist/sdk/capabilities/runSnapshot.js +47 -0
  61. package/dist/sdk/capabilities/types.d.ts +29 -0
  62. package/dist/sdk/capabilities/types.js +1 -0
  63. package/dist/sdk/cli.d.ts +2 -0
  64. package/dist/sdk/cli.js +150 -0
  65. package/dist/sdk/core/bus.d.ts +23 -0
  66. package/dist/sdk/core/bus.js +76 -0
  67. package/dist/sdk/core/caller.d.ts +22 -0
  68. package/dist/sdk/core/caller.js +16 -0
  69. package/dist/sdk/core/changes.d.ts +15 -0
  70. package/dist/sdk/core/changes.js +15 -0
  71. package/dist/sdk/core/effort.d.ts +2 -0
  72. package/dist/sdk/core/effort.js +1 -0
  73. package/dist/sdk/core/env.d.ts +18 -0
  74. package/dist/sdk/core/env.js +8 -0
  75. package/dist/sdk/core/errors.d.ts +15 -0
  76. package/dist/sdk/core/errors.js +24 -0
  77. package/dist/sdk/core/frontmatter.d.ts +12 -0
  78. package/dist/sdk/core/frontmatter.js +50 -0
  79. package/dist/sdk/core/fs.d.ts +18 -0
  80. package/dist/sdk/core/fs.js +106 -0
  81. package/dist/sdk/core/index.d.ts +24 -0
  82. package/dist/sdk/core/index.js +187 -0
  83. package/dist/sdk/core/path.d.ts +7 -0
  84. package/dist/sdk/core/path.js +79 -0
  85. package/dist/sdk/core/projects.d.ts +18 -0
  86. package/dist/sdk/core/projects.js +67 -0
  87. package/dist/sdk/core/secrets.d.ts +2 -0
  88. package/dist/sdk/core/secrets.js +5 -0
  89. package/dist/sdk/core/text.d.ts +7 -0
  90. package/dist/sdk/core/text.js +40 -0
  91. package/dist/sdk/doctor/checks.d.ts +5 -0
  92. package/dist/sdk/doctor/checks.js +208 -0
  93. package/dist/sdk/doctor/probe.d.ts +4 -0
  94. package/dist/sdk/doctor/probe.js +92 -0
  95. package/dist/sdk/doctor/serverMethods.d.ts +3 -0
  96. package/dist/sdk/doctor/serverMethods.js +8 -0
  97. package/dist/sdk/doctor/service.d.ts +23 -0
  98. package/dist/sdk/doctor/service.js +144 -0
  99. package/dist/sdk/doctor/types.d.ts +141 -0
  100. package/dist/sdk/doctor/types.js +29 -0
  101. package/dist/sdk/harness.d.ts +148 -0
  102. package/dist/sdk/harness.js +338 -0
  103. package/dist/sdk/history/lessonPrompt.d.ts +2 -0
  104. package/dist/sdk/history/lessonPrompt.js +15 -0
  105. package/dist/sdk/history/lessons.d.ts +52 -0
  106. package/dist/sdk/history/lessons.js +173 -0
  107. package/dist/sdk/history/recall.d.ts +68 -0
  108. package/dist/sdk/history/recall.js +199 -0
  109. package/dist/sdk/history/serverMethods.d.ts +3 -0
  110. package/dist/sdk/history/serverMethods.js +8 -0
  111. package/dist/sdk/history/trajectory.d.ts +7 -0
  112. package/dist/sdk/history/trajectory.js +216 -0
  113. package/dist/sdk/hub/catalog.json +123 -0
  114. package/dist/sdk/hub/cli.d.ts +7 -0
  115. package/dist/sdk/hub/cli.js +81 -0
  116. package/dist/sdk/hub/hub.d.ts +74 -0
  117. package/dist/sdk/hub/hub.js +474 -0
  118. package/dist/sdk/hub/schema.d.ts +280 -0
  119. package/dist/sdk/hub/schema.js +78 -0
  120. package/dist/sdk/hub/serverMethods.d.ts +3 -0
  121. package/dist/sdk/hub/serverMethods.js +11 -0
  122. package/dist/sdk/index.d.ts +73 -0
  123. package/dist/sdk/index.js +55 -0
  124. package/dist/sdk/mcp/connections.d.ts +83 -0
  125. package/dist/sdk/mcp/connections.js +676 -0
  126. package/dist/sdk/mcp/manager.d.ts +26 -0
  127. package/dist/sdk/mcp/manager.js +124 -0
  128. package/dist/sdk/mcp/oauth.d.ts +35 -0
  129. package/dist/sdk/mcp/oauth.js +171 -0
  130. package/dist/sdk/mcp/scopeMigration.d.ts +19 -0
  131. package/dist/sdk/mcp/scopeMigration.js +198 -0
  132. package/dist/sdk/mcp/serverMethods.d.ts +3 -0
  133. package/dist/sdk/mcp/serverMethods.js +22 -0
  134. package/dist/sdk/mcp/service.d.ts +160 -0
  135. package/dist/sdk/mcp/service.js +510 -0
  136. package/dist/sdk/mcp/types.d.ts +131 -0
  137. package/dist/sdk/mcp/types.js +49 -0
  138. package/dist/sdk/pi/runtime.d.ts +13 -0
  139. package/dist/sdk/pi/runtime.js +31 -0
  140. package/dist/sdk/plugins/api.d.ts +66 -0
  141. package/dist/sdk/plugins/api.js +155 -0
  142. package/dist/sdk/plugins/attachments.d.ts +46 -0
  143. package/dist/sdk/plugins/attachments.js +111 -0
  144. package/dist/sdk/plugins/builtin.d.ts +7 -0
  145. package/dist/sdk/plugins/builtin.js +163 -0
  146. package/dist/sdk/plugins/builtinRegistry.d.ts +53 -0
  147. package/dist/sdk/plugins/builtinRegistry.js +49 -0
  148. package/dist/sdk/plugins/catalogue.d.ts +29 -0
  149. package/dist/sdk/plugins/catalogue.js +196 -0
  150. package/dist/sdk/plugins/cli.d.ts +13 -0
  151. package/dist/sdk/plugins/cli.js +188 -0
  152. package/dist/sdk/plugins/discover.d.ts +42 -0
  153. package/dist/sdk/plugins/discover.js +115 -0
  154. package/dist/sdk/plugins/firstParty.d.ts +50 -0
  155. package/dist/sdk/plugins/firstParty.js +113 -0
  156. package/dist/sdk/plugins/hooks.d.ts +94 -0
  157. package/dist/sdk/plugins/hooks.js +162 -0
  158. package/dist/sdk/plugins/identity.d.ts +19 -0
  159. package/dist/sdk/plugins/identity.js +48 -0
  160. package/dist/sdk/plugins/install.d.ts +20 -0
  161. package/dist/sdk/plugins/install.js +110 -0
  162. package/dist/sdk/plugins/inventory.d.ts +22 -0
  163. package/dist/sdk/plugins/inventory.js +110 -0
  164. package/dist/sdk/plugins/manifest.d.ts +13 -0
  165. package/dist/sdk/plugins/manifest.js +56 -0
  166. package/dist/sdk/plugins/plugins.d.ts +104 -0
  167. package/dist/sdk/plugins/plugins.js +164 -0
  168. package/dist/sdk/plugins/runtime.d.ts +9 -0
  169. package/dist/sdk/plugins/runtime.js +95 -0
  170. package/dist/sdk/plugins/trust.d.ts +44 -0
  171. package/dist/sdk/plugins/trust.js +120 -0
  172. package/dist/sdk/plugins/types.d.ts +159 -0
  173. package/dist/sdk/plugins/types.js +7 -0
  174. package/dist/sdk/prompt/compile.d.ts +177 -0
  175. package/dist/sdk/prompt/compile.js +413 -0
  176. package/dist/sdk/refine/cli.d.ts +4 -0
  177. package/dist/sdk/refine/cli.js +186 -0
  178. package/dist/sdk/refine/demo.d.ts +21 -0
  179. package/dist/sdk/refine/demo.js +114 -0
  180. package/dist/sdk/refine/evidence.d.ts +55 -0
  181. package/dist/sdk/refine/evidence.js +330 -0
  182. package/dist/sdk/refine/host.d.ts +51 -0
  183. package/dist/sdk/refine/host.js +76 -0
  184. package/dist/sdk/refine/ledger.d.ts +48 -0
  185. package/dist/sdk/refine/ledger.js +76 -0
  186. package/dist/sdk/refine/library.d.ts +55 -0
  187. package/dist/sdk/refine/library.js +177 -0
  188. package/dist/sdk/refine/pi.d.ts +72 -0
  189. package/dist/sdk/refine/pi.js +248 -0
  190. package/dist/sdk/refine/prompts.d.ts +45 -0
  191. package/dist/sdk/refine/prompts.js +390 -0
  192. package/dist/sdk/refine/recursion.d.ts +113 -0
  193. package/dist/sdk/refine/recursion.js +258 -0
  194. package/dist/sdk/refine/runner.d.ts +81 -0
  195. package/dist/sdk/refine/runner.js +150 -0
  196. package/dist/sdk/refine/selection.d.ts +57 -0
  197. package/dist/sdk/refine/selection.js +251 -0
  198. package/dist/sdk/refine/serverMethods.d.ts +3 -0
  199. package/dist/sdk/refine/serverMethods.js +20 -0
  200. package/dist/sdk/refine/service.d.ts +84 -0
  201. package/dist/sdk/refine/service.js +165 -0
  202. package/dist/sdk/refine/suite.d.ts +67 -0
  203. package/dist/sdk/refine/suite.js +174 -0
  204. package/dist/sdk/refine/trajectory.d.ts +9 -0
  205. package/dist/sdk/refine/trajectory.js +68 -0
  206. package/dist/sdk/refine/types.d.ts +77 -0
  207. package/dist/sdk/refine/types.js +10 -0
  208. package/dist/sdk/server/methods.d.ts +3 -0
  209. package/dist/sdk/server/methods.js +293 -0
  210. package/dist/sdk/server/params.d.ts +4 -0
  211. package/dist/sdk/server/params.js +11 -0
  212. package/dist/sdk/server/remote.d.ts +19 -0
  213. package/dist/sdk/server/remote.js +84 -0
  214. package/dist/sdk/server/rpc.d.ts +20 -0
  215. package/dist/sdk/server/rpc.js +102 -0
  216. package/dist/sdk/server/serve.d.ts +10 -0
  217. package/dist/sdk/server/serve.js +18 -0
  218. package/dist/sdk/sessions/approvals.d.ts +47 -0
  219. package/dist/sdk/sessions/approvals.js +119 -0
  220. package/dist/sdk/sessions/continuation.d.ts +48 -0
  221. package/dist/sdk/sessions/continuation.js +85 -0
  222. package/dist/sdk/sessions/contracts.d.ts +551 -0
  223. package/dist/sdk/sessions/contracts.js +338 -0
  224. package/dist/sdk/sessions/extensionUi.d.ts +19 -0
  225. package/dist/sdk/sessions/extensionUi.js +64 -0
  226. package/dist/sdk/sessions/history.d.ts +16 -0
  227. package/dist/sdk/sessions/history.js +68 -0
  228. package/dist/sdk/sessions/lineageJoin.d.ts +2 -0
  229. package/dist/sdk/sessions/lineageJoin.js +61 -0
  230. package/dist/sdk/sessions/planMode.d.ts +39 -0
  231. package/dist/sdk/sessions/planMode.js +93 -0
  232. package/dist/sdk/sessions/policy.d.ts +43 -0
  233. package/dist/sdk/sessions/policy.js +1 -0
  234. package/dist/sdk/sessions/pricing.d.ts +34 -0
  235. package/dist/sdk/sessions/pricing.js +40 -0
  236. package/dist/sdk/sessions/reasoningSummaries.d.ts +11 -0
  237. package/dist/sdk/sessions/reasoningSummaries.js +61 -0
  238. package/dist/sdk/sessions/registry.d.ts +103 -0
  239. package/dist/sdk/sessions/registry.js +386 -0
  240. package/dist/sdk/sessions/runIndex.d.ts +21 -0
  241. package/dist/sdk/sessions/runIndex.js +65 -0
  242. package/dist/sdk/sessions/runStore.d.ts +66 -0
  243. package/dist/sdk/sessions/runStore.js +337 -0
  244. package/dist/sdk/sessions/runner.d.ts +213 -0
  245. package/dist/sdk/sessions/runner.js +589 -0
  246. package/dist/sdk/sessions/sessions.d.ts +152 -0
  247. package/dist/sdk/sessions/sessions.js +461 -0
  248. package/dist/sdk/sessions/sideQuestionServerMethods.d.ts +3 -0
  249. package/dist/sdk/sessions/sideQuestionServerMethods.js +19 -0
  250. package/dist/sdk/sessions/sideQuestions.d.ts +66 -0
  251. package/dist/sdk/sessions/sideQuestions.js +290 -0
  252. package/dist/sdk/sessions/subagentServerMethods.d.ts +3 -0
  253. package/dist/sdk/sessions/subagentServerMethods.js +41 -0
  254. package/dist/sdk/sessions/subagentService.d.ts +52 -0
  255. package/dist/sdk/sessions/subagentService.js +265 -0
  256. package/dist/sdk/sessions/subagents.d.ts +58 -0
  257. package/dist/sdk/sessions/subagents.js +87 -0
  258. package/dist/sdk/terminal/accountsMenu.d.ts +46 -0
  259. package/dist/sdk/terminal/accountsMenu.js +392 -0
  260. package/dist/sdk/terminal/browser.d.ts +62 -0
  261. package/dist/sdk/terminal/browser.js +41 -0
  262. package/dist/sdk/terminal/browserControl.d.ts +29 -0
  263. package/dist/sdk/terminal/browserControl.js +186 -0
  264. package/dist/sdk/terminal/cli.d.ts +20 -0
  265. package/dist/sdk/terminal/cli.js +121 -0
  266. package/dist/sdk/terminal/client.d.ts +15 -0
  267. package/dist/sdk/terminal/client.js +126 -0
  268. package/dist/sdk/terminal/commandHelp.d.ts +17 -0
  269. package/dist/sdk/terminal/commandHelp.js +20 -0
  270. package/dist/sdk/terminal/control.d.ts +4 -0
  271. package/dist/sdk/terminal/control.js +25 -0
  272. package/dist/sdk/terminal/controller.d.ts +78 -0
  273. package/dist/sdk/terminal/controller.js +383 -0
  274. package/dist/sdk/terminal/hubMenu.d.ts +10 -0
  275. package/dist/sdk/terminal/hubMenu.js +34 -0
  276. package/dist/sdk/terminal/launch.d.ts +5 -0
  277. package/dist/sdk/terminal/launch.js +27 -0
  278. package/dist/sdk/terminal/logs.d.ts +14 -0
  279. package/dist/sdk/terminal/logs.js +59 -0
  280. package/dist/sdk/terminal/opentui/subagentsWidget.d.ts +28 -0
  281. package/dist/sdk/terminal/opentui/subagentsWidget.js +52 -0
  282. package/dist/sdk/terminal/piExtension.d.ts +6 -0
  283. package/dist/sdk/terminal/piExtension.js +377 -0
  284. package/dist/sdk/terminal/pluginMenu.d.ts +34 -0
  285. package/dist/sdk/terminal/pluginMenu.js +101 -0
  286. package/dist/sdk/terminal/socket.d.ts +73 -0
  287. package/dist/sdk/terminal/socket.js +287 -0
  288. package/dist/sdk/terminal/standalone.d.ts +20 -0
  289. package/dist/sdk/terminal/standalone.js +186 -0
  290. package/dist/sdk/terminal/subagentMonitor.d.ts +38 -0
  291. package/dist/sdk/terminal/subagentMonitor.js +121 -0
  292. package/dist/sdk/terminal/terminals.d.ts +212 -0
  293. package/dist/sdk/terminal/terminals.js +1108 -0
  294. package/dist/sdk/terminal/trajectory.d.ts +10 -0
  295. package/dist/sdk/terminal/trajectory.js +30 -0
  296. package/dist/sdk/terminal/tui/annotateCommand.d.ts +3 -0
  297. package/dist/sdk/terminal/tui/annotateCommand.js +22 -0
  298. package/dist/sdk/terminal/tui/chrome.d.ts +64 -0
  299. package/dist/sdk/terminal/tui/chrome.js +169 -0
  300. package/dist/sdk/terminal/tui/clipboardFiles.d.ts +11 -0
  301. package/dist/sdk/terminal/tui/clipboardFiles.js +74 -0
  302. package/dist/sdk/terminal/tui/commandPages.d.ts +11 -0
  303. package/dist/sdk/terminal/tui/commandPages.js +111 -0
  304. package/dist/sdk/terminal/tui/commands.d.ts +46 -0
  305. package/dist/sdk/terminal/tui/commands.js +399 -0
  306. package/dist/sdk/terminal/tui/dialogGeometry.d.ts +27 -0
  307. package/dist/sdk/terminal/tui/dialogGeometry.js +52 -0
  308. package/dist/sdk/terminal/tui/dialogs.d.ts +80 -0
  309. package/dist/sdk/terminal/tui/dialogs.js +370 -0
  310. package/dist/sdk/terminal/tui/keybindings.d.ts +11 -0
  311. package/dist/sdk/terminal/tui/keybindings.js +49 -0
  312. package/dist/sdk/terminal/tui/list.d.ts +73 -0
  313. package/dist/sdk/terminal/tui/list.js +196 -0
  314. package/dist/sdk/terminal/tui/modeChoices.d.ts +42 -0
  315. package/dist/sdk/terminal/tui/modeChoices.js +70 -0
  316. package/dist/sdk/terminal/tui/modelPicker.d.ts +55 -0
  317. package/dist/sdk/terminal/tui/modelPicker.js +150 -0
  318. package/dist/sdk/terminal/tui/mouse.d.ts +3 -0
  319. package/dist/sdk/terminal/tui/mouse.js +3 -0
  320. package/dist/sdk/terminal/tui/page.d.ts +17 -0
  321. package/dist/sdk/terminal/tui/page.js +1 -0
  322. package/dist/sdk/terminal/tui/pageOverlay.d.ts +27 -0
  323. package/dist/sdk/terminal/tui/pageOverlay.js +156 -0
  324. package/dist/sdk/terminal/tui/pages/accountsPage.d.ts +76 -0
  325. package/dist/sdk/terminal/tui/pages/accountsPage.js +409 -0
  326. package/dist/sdk/terminal/tui/pages/agentsPage.d.ts +74 -0
  327. package/dist/sdk/terminal/tui/pages/agentsPage.js +190 -0
  328. package/dist/sdk/terminal/tui/pages/annotatePage.d.ts +94 -0
  329. package/dist/sdk/terminal/tui/pages/annotatePage.js +341 -0
  330. package/dist/sdk/terminal/tui/pages/browserPage.d.ts +87 -0
  331. package/dist/sdk/terminal/tui/pages/browserPage.js +738 -0
  332. package/dist/sdk/terminal/tui/pages/componentsPage.d.ts +47 -0
  333. package/dist/sdk/terminal/tui/pages/componentsPage.js +119 -0
  334. package/dist/sdk/terminal/tui/pages/doctorPage.d.ts +39 -0
  335. package/dist/sdk/terminal/tui/pages/doctorPage.js +233 -0
  336. package/dist/sdk/terminal/tui/pages/hubPage.d.ts +39 -0
  337. package/dist/sdk/terminal/tui/pages/hubPage.js +128 -0
  338. package/dist/sdk/terminal/tui/pages/logPage.d.ts +38 -0
  339. package/dist/sdk/terminal/tui/pages/logPage.js +189 -0
  340. package/dist/sdk/terminal/tui/pages/notesPage.d.ts +75 -0
  341. package/dist/sdk/terminal/tui/pages/notesPage.js +201 -0
  342. package/dist/sdk/terminal/tui/pages/permissionsPage.d.ts +44 -0
  343. package/dist/sdk/terminal/tui/pages/permissionsPage.js +124 -0
  344. package/dist/sdk/terminal/tui/pages/pluginsPage.d.ts +57 -0
  345. package/dist/sdk/terminal/tui/pages/pluginsPage.js +243 -0
  346. package/dist/sdk/terminal/tui/pages/settingsPage.d.ts +63 -0
  347. package/dist/sdk/terminal/tui/pages/settingsPage.js +103 -0
  348. package/dist/sdk/terminal/tui/pages/subagentsPage.d.ts +23 -0
  349. package/dist/sdk/terminal/tui/pages/subagentsPage.js +70 -0
  350. package/dist/sdk/terminal/tui/pages/trajectoryPage.d.ts +65 -0
  351. package/dist/sdk/terminal/tui/pages/trajectoryPage.js +450 -0
  352. package/dist/sdk/terminal/tui/pages/worktreesPage.d.ts +72 -0
  353. package/dist/sdk/terminal/tui/pages/worktreesPage.js +203 -0
  354. package/dist/sdk/terminal/tui/piAdapter.d.ts +18 -0
  355. package/dist/sdk/terminal/tui/piAdapter.js +48 -0
  356. package/dist/sdk/terminal/tui/planMode.d.ts +2 -0
  357. package/dist/sdk/terminal/tui/planMode.js +2 -0
  358. package/dist/sdk/terminal/tui/pluginCommands.d.ts +14 -0
  359. package/dist/sdk/terminal/tui/pluginCommands.js +27 -0
  360. package/dist/sdk/terminal/tui/questionPicker.d.ts +20 -0
  361. package/dist/sdk/terminal/tui/questionPicker.js +150 -0
  362. package/dist/sdk/terminal/tui/questions.d.ts +21 -0
  363. package/dist/sdk/terminal/tui/questions.js +42 -0
  364. package/dist/sdk/terminal/tui/runtime.d.ts +114 -0
  365. package/dist/sdk/terminal/tui/runtime.js +443 -0
  366. package/dist/sdk/terminal/tui/search.d.ts +22 -0
  367. package/dist/sdk/terminal/tui/search.js +60 -0
  368. package/dist/sdk/terminal/tui/selection.d.ts +16 -0
  369. package/dist/sdk/terminal/tui/selection.js +16 -0
  370. package/dist/sdk/terminal/tui/sessionUi.d.ts +3 -0
  371. package/dist/sdk/terminal/tui/sessionUi.js +30 -0
  372. package/dist/sdk/terminal/tui/settingsModel.d.ts +14 -0
  373. package/dist/sdk/terminal/tui/settingsModel.js +114 -0
  374. package/dist/sdk/terminal/tui/sideQuestion.d.ts +53 -0
  375. package/dist/sdk/terminal/tui/sideQuestion.js +230 -0
  376. package/dist/sdk/terminal/tui/skillInvocation.d.ts +9 -0
  377. package/dist/sdk/terminal/tui/skillInvocation.js +43 -0
  378. package/dist/sdk/terminal/tui/status.d.ts +18 -0
  379. package/dist/sdk/terminal/tui/status.js +67 -0
  380. package/dist/sdk/terminal/tui/theme.d.ts +45 -0
  381. package/dist/sdk/terminal/tui/theme.js +176 -0
  382. package/dist/sdk/terminal/tui/treeModel.d.ts +79 -0
  383. package/dist/sdk/terminal/tui/treeModel.js +483 -0
  384. package/dist/sdk/terminal/tui/treePicker.d.ts +49 -0
  385. package/dist/sdk/terminal/tui/treePicker.js +251 -0
  386. package/dist/sdk/terminal/tui/ui.d.ts +49 -0
  387. package/dist/sdk/terminal/tui/ui.js +149 -0
  388. package/dist/sdk/terminal/tui/workingStatus.d.ts +9 -0
  389. package/dist/sdk/terminal/tui/workingStatus.js +229 -0
  390. package/dist/sdk/tools/askUser.d.ts +6 -0
  391. package/dist/sdk/tools/askUser.js +92 -0
  392. package/dist/sdk/tools/checklist.d.ts +9 -0
  393. package/dist/sdk/tools/checklist.js +54 -0
  394. package/dist/sdk/tools/definitions.d.ts +30 -0
  395. package/dist/sdk/tools/definitions.js +117 -0
  396. package/dist/sdk/tools/dispatch.d.ts +16 -0
  397. package/dist/sdk/tools/dispatch.js +67 -0
  398. package/dist/sdk/tools/harnessTools.d.ts +8 -0
  399. package/dist/sdk/tools/harnessTools.js +20 -0
  400. package/dist/sdk/tools/sessionName.d.ts +7 -0
  401. package/dist/sdk/tools/sessionName.js +31 -0
  402. package/dist/sdk/tools/spawnSubagent.d.ts +4 -0
  403. package/dist/sdk/tools/spawnSubagent.js +58 -0
  404. package/dist/sdk/tools/types.d.ts +48 -0
  405. package/dist/sdk/tools/types.js +1 -0
  406. package/dist/sdk/variant/components.d.ts +34 -0
  407. package/dist/sdk/variant/components.js +230 -0
  408. package/dist/sdk/variant/materialise.d.ts +66 -0
  409. package/dist/sdk/variant/materialise.js +81 -0
  410. package/dist/sdk/variant/migrate.d.ts +4 -0
  411. package/dist/sdk/variant/migrate.js +41 -0
  412. package/dist/sdk/variant/seed.d.ts +20 -0
  413. package/dist/sdk/variant/seed.js +116 -0
  414. package/dist/sdk/variant/store.d.ts +82 -0
  415. package/dist/sdk/variant/store.js +151 -0
  416. package/dist/sdk/variant/surface.d.ts +56 -0
  417. package/dist/sdk/variant/surface.js +81 -0
  418. package/dist/sdk/variant/trust.d.ts +27 -0
  419. package/dist/sdk/variant/trust.js +64 -0
  420. package/dist/sdk/variant/variant.d.ts +71 -0
  421. package/dist/sdk/variant/variant.js +331 -0
  422. package/dist/sdk/web/markdown.d.ts +10 -0
  423. package/dist/sdk/web/markdown.js +66 -0
  424. package/dist/sdk/web/part.d.ts +10 -0
  425. package/dist/sdk/web/part.js +6 -0
  426. package/dist/sdk/web/safeRequest.d.ts +34 -0
  427. package/dist/sdk/web/safeRequest.js +175 -0
  428. package/dist/sdk/web/search.d.ts +53 -0
  429. package/dist/sdk/web/search.js +168 -0
  430. package/dist/sdk/web/serverMethods.d.ts +3 -0
  431. package/dist/sdk/web/serverMethods.js +7 -0
  432. package/dist/sdk/web/text.d.ts +2 -0
  433. package/dist/sdk/web/text.js +7 -0
  434. package/dist/sdk/web/tools.d.ts +22 -0
  435. package/dist/sdk/web/tools.js +195 -0
  436. package/dist/sdk/web/turndown-plugin-gfm.d.ts +4 -0
  437. package/dist/sdk/wiki/notes.d.ts +68 -0
  438. package/dist/sdk/wiki/notes.js +297 -0
  439. package/dist/sdk/wiki/serverMethods.d.ts +3 -0
  440. package/dist/sdk/wiki/serverMethods.js +26 -0
  441. package/dist/sdk/worktrees/cli.d.ts +11 -0
  442. package/dist/sdk/worktrees/cli.js +146 -0
  443. package/dist/sdk/worktrees/copy.d.ts +9 -0
  444. package/dist/sdk/worktrees/copy.js +111 -0
  445. package/dist/sdk/worktrees/git.d.ts +16 -0
  446. package/dist/sdk/worktrees/git.js +81 -0
  447. package/dist/sdk/worktrees/serverMethods.d.ts +3 -0
  448. package/dist/sdk/worktrees/serverMethods.js +30 -0
  449. package/dist/sdk/worktrees/service.d.ts +73 -0
  450. package/dist/sdk/worktrees/service.js +483 -0
  451. package/dist/sdk/worktrees/setup.d.ts +23 -0
  452. package/dist/sdk/worktrees/setup.js +65 -0
  453. package/dist/sdk/worktrees/types.d.ts +91 -0
  454. package/dist/sdk/worktrees/types.js +1 -0
  455. package/dist/sdk/world/actions.d.ts +23 -0
  456. package/dist/sdk/world/actions.js +31 -0
  457. package/dist/sdk/world/cli.d.ts +12 -0
  458. package/dist/sdk/world/cli.js +166 -0
  459. package/dist/sdk/world/images.d.ts +20 -0
  460. package/dist/sdk/world/images.js +48 -0
  461. package/dist/sdk/world/untrusted.d.ts +12 -0
  462. package/dist/sdk/world/untrusted.js +20 -0
  463. package/dist/sdk/world/world.d.ts +67 -0
  464. package/dist/sdk/world/world.js +79 -0
  465. package/dist/terminal-opentui.js +20778 -0
  466. package/dist/terminal-pi.js +794 -518
  467. package/docs/README.md +42 -0
  468. package/docs/architecture/00-overview.md +171 -0
  469. package/docs/architecture/01-extension-points.md +78 -0
  470. package/docs/architecture/02-sessions-and-runs.md +203 -0
  471. package/docs/architecture/03-variants.md +103 -0
  472. package/docs/architecture/04-prompt.md +122 -0
  473. package/docs/architecture/05-refinement.md +107 -0
  474. package/docs/architecture/06-plugins-and-capabilities.md +129 -0
  475. package/docs/architecture/07-tools-and-gate.md +103 -0
  476. package/docs/architecture/08-memory-and-history.md +94 -0
  477. package/docs/architecture/09-accounts-and-connectors.md +98 -0
  478. package/docs/architecture/10-server-protocol.md +193 -0
  479. package/docs/architecture/11-terminal.md +261 -0
  480. package/docs/architecture/12-storage.md +75 -0
  481. package/docs/architecture/13-world-tools.md +45 -0
  482. package/docs/architecture/14-surfaces-and-parity.md +89 -0
  483. package/docs/architecture/README.md +125 -0
  484. package/docs/architecture/proposals/PROP-0001-reporting-section.md +106 -0
  485. package/docs/architecture/proposals/PROP-0002-retain-rollout-workspaces.md +104 -0
  486. package/docs/architecture/proposals/PROP-0003-executor-settings.md +81 -0
  487. package/docs/architecture/proposals/PROP-0004-flexible-reporting-guidance.md +71 -0
  488. package/docs/architecture/proposals/PROP-0005-xharness-cli-name.md +78 -0
  489. package/docs/architecture/proposals/PROP-0006-run-checklist.md +70 -0
  490. package/docs/architecture/proposals/PROP-0007-run-continuation.md +80 -0
  491. package/docs/architecture/proposals/PROP-0008-lessons-from-runs.md +80 -0
  492. package/docs/architecture/proposals/PROP-0009-foundation-and-variants.md +78 -0
  493. package/docs/architecture/proposals/PROP-0010-session-names.md +73 -0
  494. package/docs/architecture/proposals/PROP-0011-doctor.md +63 -0
  495. package/docs/architecture/proposals/PROP-0012-release-baseline.md +56 -0
  496. package/docs/architecture/proposals/PROP-0013-resource-browser.md +58 -0
  497. package/docs/architecture/proposals/PROP-0014-fullscreen-browser-tabs.md +58 -0
  498. package/docs/architecture/proposals/PROP-0015-one-capability-surface.md +88 -0
  499. package/docs/architecture/proposals/PROP-0016-managed-worktrees.md +156 -0
  500. package/docs/architecture/proposals/PROP-0017-page-annotations.md +127 -0
  501. package/docs/architecture/proposals/PROP-0018-annotation-queue-and-app-targets.md +179 -0
  502. package/docs/architecture/proposals/PROP-0019-contextual-side-questions.md +122 -0
  503. package/docs/architecture/proposals/PROP-0020-builtin-feature-plugins.md +105 -0
  504. package/docs/architecture/proposals/PROP-0021-command-namespaces-and-duplicates.md +99 -0
  505. package/docs/architecture/proposals/PROP-0022-plan-only-questions.md +102 -0
  506. package/docs/architecture/proposals/PROP-0023-xagent-cli-name.md +61 -0
  507. package/docs/architecture/proposals/PROP-0024-question-sketch-previews.md +130 -0
  508. package/docs/architecture/proposals/PROP-0025-contextual-question-wireframes.md +49 -0
  509. package/docs/architecture/proposals/PROP-0026-connected-sketch-display.md +94 -0
  510. package/docs/architecture/proposals/PROP-0027-xingular-agent-product-identity.md +60 -0
  511. package/docs/architecture/proposals/PROP-0028-normalize-question-wireframes.md +55 -0
  512. package/docs/architecture/proposals/PROP-0029-agent-profiles.md +124 -0
  513. package/docs/architecture/proposals/PROP-0030-subagent-title.md +86 -0
  514. package/docs/architecture/proposals/README.md +101 -0
  515. package/docs/decisions/ADR-0002-native-subagent-lifecycle.md +49 -0
  516. package/docs/decisions/ADR-0003-shared-asynchronous-subagents.md +70 -0
  517. package/docs/decisions/ADR-0004-fullscreen-terminal-layout.md +50 -0
  518. package/docs/decisions/ADR-0005-app-provided-oauth-clients.md +54 -0
  519. package/docs/decisions/ADR-0006-opentui-only-terminal.md +47 -0
  520. package/docs/decisions/ADR-0007-reporting-section.md +33 -0
  521. package/docs/decisions/ADR-0008-flexible-reporting-guidance.md +38 -0
  522. package/docs/decisions/ADR-0009-xharness-command.md +39 -0
  523. package/docs/decisions/ADR-0010-lessons-in-the-wiki.md +31 -0
  524. package/docs/decisions/ADR-0011-foundation-and-variants.md +28 -0
  525. package/docs/decisions/ADR-0012-native-session-names.md +34 -0
  526. package/docs/decisions/ADR-0013-doctor.md +27 -0
  527. package/docs/decisions/ADR-0014-public-release-baseline.md +22 -0
  528. package/docs/decisions/ADR-0015-resource-browser.md +28 -0
  529. package/docs/decisions/ADR-0016-fullscreen-browser-tabs.md +31 -0
  530. package/docs/decisions/ADR-0017-one-capability-surface.md +34 -0
  531. package/docs/decisions/ADR-0018-builtin-feature-plugins.md +35 -0
  532. package/docs/decisions/ADR-0019-managed-git-worktrees.md +31 -0
  533. package/docs/decisions/ADR-0020-page-annotations.md +37 -0
  534. package/docs/decisions/ADR-0021-required-command-namespaces.md +40 -0
  535. package/docs/decisions/ADR-0022-plan-only-question-tools.md +34 -0
  536. package/docs/decisions/ADR-0023-contextual-side-question-runs.md +35 -0
  537. package/docs/decisions/ADR-0024-xagent-command.md +40 -0
  538. package/docs/decisions/ADR-0025-question-choice-sketches.md +49 -0
  539. package/docs/decisions/ADR-0026-contextual-question-wireframes.md +58 -0
  540. package/docs/decisions/ADR-0027-connected-sketch-display.md +60 -0
  541. package/docs/decisions/ADR-0028-xingular-agent-product-identity.md +56 -0
  542. package/docs/decisions/ADR-0029-normalized-question-wireframe-borders.md +33 -0
  543. package/docs/decisions/ADR-0030-agent-profiles.md +43 -0
  544. package/docs/doctor.md +80 -0
  545. package/docs/experiments/EXP-0001-terminal-input-latency/plan.md +81 -0
  546. package/docs/experiments/EXP-0001-terminal-input-latency/results.md +46 -0
  547. package/docs/experiments/EXP-0002-opentui-typing-latency/plan.md +70 -0
  548. package/docs/experiments/EXP-0002-opentui-typing-latency/results.md +92 -0
  549. package/docs/features/README.md +46 -0
  550. package/docs/features/automations/README.md +41 -0
  551. package/docs/features/cores/README.md +39 -0
  552. package/docs/features/google-harness2/README.md +52 -0
  553. package/docs/features/integrations/README.md +40 -0
  554. package/docs/features/interfaces/README.md +29 -0
  555. package/docs/features/memory/README.md +28 -0
  556. package/docs/future-work.md +48 -0
  557. package/docs/parity.md +78 -0
  558. package/docs/releases/1.0.0.md +40 -0
  559. package/docs/releases/4.0.0.md +46 -0
  560. package/docs/releases/README.md +41 -0
  561. package/docs/study/00-index.md +83 -0
  562. package/docs/study/arms/00-matrix.md +20 -0
  563. package/docs/study/arms/01-system-prompt.md +211 -0
  564. package/docs/study/arms/02-tools.md +79 -0
  565. package/docs/study/arms/03-subagents.md +90 -0
  566. package/docs/study/arms/04-skills.md +75 -0
  567. package/docs/study/arms/05-context-management.md +90 -0
  568. package/docs/study/arms/06-memory.md +90 -0
  569. package/docs/study/arms/07-governance.md +71 -0
  570. package/docs/study/arms/08-execution.md +69 -0
  571. package/docs/study/arms/09-observability.md +60 -0
  572. package/docs/study/arms/10-refinement.md +110 -0
  573. package/docs/study/autonomous-engineering-sources.md +277 -0
  574. package/docs/study/autonomy-sources.md +147 -0
  575. package/docs/study/btw-comparison.md +37 -0
  576. package/docs/study/feature-gap-review.md +42 -0
  577. package/docs/study/insights.md +123 -0
  578. package/docs/study/proactive-autonomy.md +408 -0
  579. package/docs/study/roadmap.md +72 -0
  580. package/docs/study/sources/claude-code.md +44 -0
  581. package/docs/study/sources/deepseek-harness.md +102 -0
  582. package/docs/study/sources/harness2.md +50 -0
  583. package/docs/study/sources/kimi-cli.md +42 -0
  584. package/docs/study/sources/omp.md +93 -0
  585. package/docs/study/sources/opencode.md +43 -0
  586. package/docs/study/sources/openhands.md +46 -0
  587. package/docs/study/sources/smolagents.md +40 -0
  588. package/docs/study/sources/swe-agent.md +34 -0
  589. package/docs/study/tui-resource-browser.md +78 -0
  590. package/docs/system-prompt-design.md +196 -0
  591. package/docs/terminal-tui.md +707 -58
  592. package/package.json +43 -13
  593. package/docs/evidence/terminal-2026-10-17/120x40-completed-transcript.ansi.gz +0 -0
  594. package/docs/evidence/terminal-2026-10-17/40x20-settings-interaction.ansi.gz +0 -0
  595. package/docs/evidence/terminal-2026-10-17/40x20-settings-keyboard.ansi.gz +0 -0
  596. package/docs/evidence/terminal-2026-10-17/40x20-welcome.ansi.gz +0 -0
  597. package/docs/evidence/terminal-2026-10-17/80x24-approval-0.ansi.gz +0 -0
  598. package/docs/evidence/terminal-2026-10-17/80x24-question.ansi.gz +0 -0
  599. package/docs/evidence/terminal-2026-10-17/verification.json +0 -130
  600. package/docs/evidence/terminal-2026-10-17-followup/120x40-completed-transcript.ansi.gz +0 -0
  601. package/docs/evidence/terminal-2026-10-17-followup/40x20-settings-interaction.ansi.gz +0 -0
  602. package/docs/evidence/terminal-2026-10-17-followup/40x20-settings-keyboard.ansi.gz +0 -0
  603. package/docs/evidence/terminal-2026-10-17-followup/40x20-welcome.ansi.gz +0 -0
  604. package/docs/evidence/terminal-2026-10-17-followup/80x24-approval-0.ansi.gz +0 -0
  605. package/docs/evidence/terminal-2026-10-17-followup/80x24-plugin-light.ansi.gz +0 -0
  606. package/docs/evidence/terminal-2026-10-17-followup/80x24-question-batch.ansi.gz +0 -0
  607. package/docs/evidence/terminal-2026-10-17-followup/80x24-question.ansi.gz +0 -0
  608. package/docs/evidence/terminal-2026-10-17-followup/app-bundle/80x24-approval-0.ansi.gz +0 -0
  609. package/docs/evidence/terminal-2026-10-17-followup/app-bundle/80x24-plugin-light.ansi.gz +0 -0
  610. package/docs/evidence/terminal-2026-10-17-followup/app-bundle/80x24-question-batch.ansi.gz +0 -0
  611. package/docs/evidence/terminal-2026-10-17-followup/app-bundle/80x24-question.ansi.gz +0 -0
  612. package/docs/evidence/terminal-2026-10-17-followup/app-bundle/verification.json +0 -95
  613. package/docs/evidence/terminal-2026-10-17-followup/global-install/80x24-approval-0.ansi.gz +0 -0
  614. package/docs/evidence/terminal-2026-10-17-followup/global-install/80x24-plugin-light.ansi.gz +0 -0
  615. package/docs/evidence/terminal-2026-10-17-followup/global-install/80x24-question-batch.ansi.gz +0 -0
  616. package/docs/evidence/terminal-2026-10-17-followup/global-install/80x24-question.ansi.gz +0 -0
  617. package/docs/evidence/terminal-2026-10-17-followup/global-install/README.md +0 -27
  618. package/docs/evidence/terminal-2026-10-17-followup/global-install/shell-command-80x24.ansi.gz +0 -0
  619. package/docs/evidence/terminal-2026-10-17-followup/global-install/shell-command.json +0 -18
  620. package/docs/evidence/terminal-2026-10-17-followup/global-install/verification.json +0 -95
  621. package/docs/evidence/terminal-2026-10-17-followup/harness-reference-80x24.json.gz +0 -0
  622. package/docs/evidence/terminal-2026-10-17-followup/harness-reference-final-80x24.json.gz +0 -0
  623. package/docs/evidence/terminal-2026-10-17-followup/harness-reference-scenario.json +0 -60
  624. package/docs/evidence/terminal-2026-10-17-followup/live-codex/README.md +0 -24
  625. package/docs/evidence/terminal-2026-10-17-followup/live-codex/complete-80x24.ansi.gz +0 -0
  626. package/docs/evidence/terminal-2026-10-17-followup/live-codex/verification.json +0 -57
  627. package/docs/evidence/terminal-2026-10-17-followup/omp-reference-80x24-early.json.gz +0 -0
  628. package/docs/evidence/terminal-2026-10-17-followup/omp-reference-80x24.json.gz +0 -0
  629. package/docs/evidence/terminal-2026-10-17-followup/omp-reference-scenario.json +0 -58
  630. package/docs/evidence/terminal-2026-10-17-followup/omp-supplemental-static.json.gz +0 -0
  631. package/docs/evidence/terminal-2026-10-17-followup/rea-artifacts.json +0 -320
  632. package/docs/evidence/terminal-2026-10-17-followup/reference-comparison.json +0 -30
  633. package/docs/evidence/terminal-2026-10-17-followup/reference-comparison.md +0 -133
  634. package/docs/evidence/terminal-2026-10-17-followup/reference-source-observations.json +0 -20
  635. package/docs/evidence/terminal-2026-10-17-followup/verification.json +0 -207
  636. package/src/accounts/accounts.test.ts +0 -333
  637. package/src/accounts/accounts.ts +0 -658
  638. package/src/accounts/env.test.ts +0 -95
  639. package/src/accounts/env.ts +0 -338
  640. package/src/accounts/secrets.ts +0 -50
  641. package/src/accounts/store.ts +0 -338
  642. package/src/capabilities/api.ts +0 -75
  643. package/src/capabilities/runSnapshot.ts +0 -59
  644. package/src/capabilities/types.ts +0 -34
  645. package/src/cli.ts +0 -118
  646. package/src/core/bus.ts +0 -34
  647. package/src/core/changes.ts +0 -33
  648. package/src/core/env.ts +0 -27
  649. package/src/core/errors.ts +0 -32
  650. package/src/core/frontmatter.ts +0 -47
  651. package/src/core/fs.test.ts +0 -38
  652. package/src/core/fs.ts +0 -92
  653. package/src/core/index.ts +0 -193
  654. package/src/core/path.test.ts +0 -14
  655. package/src/core/path.ts +0 -79
  656. package/src/core/projects.ts +0 -90
  657. package/src/core/text.ts +0 -39
  658. package/src/harness.ts +0 -312
  659. package/src/hub/catalog.json +0 -123
  660. package/src/hub/cli.ts +0 -59
  661. package/src/hub/hub.test.ts +0 -205
  662. package/src/hub/hub.ts +0 -256
  663. package/src/hub/schema.ts +0 -81
  664. package/src/index.ts +0 -75
  665. package/src/mcp/connections.ts +0 -614
  666. package/src/mcp/manager.ts +0 -130
  667. package/src/mcp/oauth.ts +0 -195
  668. package/src/mcp/scopeMigration.test.ts +0 -79
  669. package/src/mcp/scopeMigration.ts +0 -204
  670. package/src/mcp/service.test.ts +0 -376
  671. package/src/mcp/service.ts +0 -549
  672. package/src/mcp/types.ts +0 -108
  673. package/src/memory/api.test.ts +0 -82
  674. package/src/memory/api.ts +0 -303
  675. package/src/memory/blocks.test.ts +0 -78
  676. package/src/memory/blocks.ts +0 -408
  677. package/src/memory/caller.ts +0 -69
  678. package/src/memory/curation.test.ts +0 -163
  679. package/src/memory/curation.ts +0 -64
  680. package/src/memory/dispatch.ts +0 -59
  681. package/src/memory/facts.test.ts +0 -41
  682. package/src/memory/facts.ts +0 -248
  683. package/src/memory/graph.ts +0 -103
  684. package/src/memory/health.test.ts +0 -130
  685. package/src/memory/health.ts +0 -74
  686. package/src/memory/maintainer.ts +0 -272
  687. package/src/memory/maintenance.test.ts +0 -176
  688. package/src/memory/maintenance.ts +0 -518
  689. package/src/memory/migrate.ts +0 -79
  690. package/src/memory/operations.ts +0 -150
  691. package/src/memory/proposals.test.ts +0 -168
  692. package/src/memory/proposals.ts +0 -584
  693. package/src/memory/recall.test.ts +0 -115
  694. package/src/memory/recall.ts +0 -278
  695. package/src/memory/references.ts +0 -77
  696. package/src/memory/runContext.ts +0 -93
  697. package/src/memory/secrets.ts +0 -6
  698. package/src/memory/store.test.ts +0 -66
  699. package/src/memory/store.ts +0 -385
  700. package/src/memory/wiki.test.ts +0 -47
  701. package/src/memory/wiki.ts +0 -422
  702. package/src/memory/wikiIndex.test.ts +0 -88
  703. package/src/memory/wikiIndex.ts +0 -116
  704. package/src/plugins/api.ts +0 -181
  705. package/src/plugins/attachments.test.ts +0 -84
  706. package/src/plugins/attachments.ts +0 -141
  707. package/src/plugins/builtin.ts +0 -82
  708. package/src/plugins/catalogue.test.ts +0 -254
  709. package/src/plugins/catalogue.ts +0 -251
  710. package/src/plugins/cli.ts +0 -184
  711. package/src/plugins/discover.ts +0 -151
  712. package/src/plugins/firstParty.test.ts +0 -143
  713. package/src/plugins/firstParty.ts +0 -129
  714. package/src/plugins/hooks.test.ts +0 -250
  715. package/src/plugins/hooks.ts +0 -239
  716. package/src/plugins/identity.ts +0 -37
  717. package/src/plugins/install.test.ts +0 -107
  718. package/src/plugins/install.ts +0 -106
  719. package/src/plugins/inventory.ts +0 -123
  720. package/src/plugins/manifest.ts +0 -76
  721. package/src/plugins/plugins.test.ts +0 -205
  722. package/src/plugins/plugins.ts +0 -189
  723. package/src/plugins/proposal.ts +0 -121
  724. package/src/plugins/runtime.test.ts +0 -40
  725. package/src/plugins/runtime.ts +0 -82
  726. package/src/plugins/trust.ts +0 -142
  727. package/src/plugins/types.ts +0 -149
  728. package/src/prompt/compile.test.ts +0 -261
  729. package/src/prompt/compile.ts +0 -732
  730. package/src/server/methods.ts +0 -349
  731. package/src/server/remote.ts +0 -77
  732. package/src/server/rpc.ts +0 -116
  733. package/src/server/serve.ts +0 -28
  734. package/src/server/server.test.ts +0 -174
  735. package/src/sessions/approvals.ts +0 -118
  736. package/src/sessions/contracts.ts +0 -336
  737. package/src/sessions/conversation.test.ts +0 -177
  738. package/src/sessions/extensionSession.test.ts +0 -74
  739. package/src/sessions/extensionUi.test.ts +0 -65
  740. package/src/sessions/extensionUi.ts +0 -102
  741. package/src/sessions/history.ts +0 -51
  742. package/src/sessions/lineageJoin.ts +0 -75
  743. package/src/sessions/policy.ts +0 -36
  744. package/src/sessions/pricing.ts +0 -60
  745. package/src/sessions/questionBatches.test.ts +0 -110
  746. package/src/sessions/reasoningSummaries.ts +0 -59
  747. package/src/sessions/registry.ts +0 -381
  748. package/src/sessions/runIndex.ts +0 -99
  749. package/src/sessions/runStore.test.ts +0 -152
  750. package/src/sessions/runStore.ts +0 -332
  751. package/src/sessions/runner.ts +0 -604
  752. package/src/sessions/runtimeResources.test.ts +0 -61
  753. package/src/sessions/sessions.test.ts +0 -549
  754. package/src/sessions/sessions.ts +0 -339
  755. package/src/skills/registry.test.ts +0 -104
  756. package/src/skills/registry.ts +0 -413
  757. package/src/terminal/accountsMenu.test.ts +0 -225
  758. package/src/terminal/accountsMenu.ts +0 -382
  759. package/src/terminal/cli.ts +0 -149
  760. package/src/terminal/client.ts +0 -74
  761. package/src/terminal/control.test.ts +0 -23
  762. package/src/terminal/control.ts +0 -23
  763. package/src/terminal/controller.ts +0 -291
  764. package/src/terminal/hubMenu.ts +0 -24
  765. package/src/terminal/launch.test.ts +0 -25
  766. package/src/terminal/launch.ts +0 -48
  767. package/src/terminal/piExtension.lifecycle.test.ts +0 -55
  768. package/src/terminal/piExtension.ts +0 -259
  769. package/src/terminal/pluginControl.test.ts +0 -146
  770. package/src/terminal/pluginMenu.ts +0 -112
  771. package/src/terminal/socket.test.ts +0 -71
  772. package/src/terminal/socket.ts +0 -232
  773. package/src/terminal/standalone.test.ts +0 -167
  774. package/src/terminal/standalone.ts +0 -153
  775. package/src/terminal/terminal.test.ts +0 -399
  776. package/src/terminal/terminals.ts +0 -553
  777. package/src/terminal/tui/application.test.ts +0 -114
  778. package/src/terminal/tui/application.ts +0 -491
  779. package/src/terminal/tui/commands.test.ts +0 -218
  780. package/src/terminal/tui/commands.ts +0 -361
  781. package/src/terminal/tui/dialogs.ts +0 -301
  782. package/src/terminal/tui/editor.test.ts +0 -84
  783. package/src/terminal/tui/editor.ts +0 -79
  784. package/src/terminal/tui/keybindings.test.ts +0 -22
  785. package/src/terminal/tui/keybindings.ts +0 -50
  786. package/src/terminal/tui/piAdapter.ts +0 -62
  787. package/src/terminal/tui/presentation.test.ts +0 -79
  788. package/src/terminal/tui/questions.test.ts +0 -41
  789. package/src/terminal/tui/questions.ts +0 -47
  790. package/src/terminal/tui/runtime.socket.test.ts +0 -104
  791. package/src/terminal/tui/runtime.test.ts +0 -215
  792. package/src/terminal/tui/runtime.ts +0 -388
  793. package/src/terminal/tui/sessionUi.ts +0 -24
  794. package/src/terminal/tui/settings.test.ts +0 -150
  795. package/src/terminal/tui/settings.ts +0 -188
  796. package/src/terminal/tui/status.test.ts +0 -70
  797. package/src/terminal/tui/status.ts +0 -109
  798. package/src/terminal/tui/theme.ts +0 -174
  799. package/src/terminal/tui/tools.test.ts +0 -145
  800. package/src/terminal/tui/tools.ts +0 -142
  801. package/src/terminal/tui/transcript.test.ts +0 -25
  802. package/src/terminal/tui/transcript.ts +0 -124
  803. package/src/terminal/tui/ui.test.ts +0 -313
  804. package/src/terminal/tui/ui.ts +0 -166
  805. package/src/terminal/tui/welcome.ts +0 -102
  806. package/src/tools/askUser.test.ts +0 -69
  807. package/src/tools/askUser.ts +0 -59
  808. package/src/tools/definitions.ts +0 -187
  809. package/src/tools/maintenance.ts +0 -24
  810. package/src/tools/memoryTools.ts +0 -22
  811. package/src/tools/pluginPropose.ts +0 -41
  812. package/src/tools/registryWrite.test.ts +0 -101
  813. package/src/tools/registryWrite.ts +0 -182
  814. package/src/tools/spawnSubagent.ts +0 -92
  815. package/src/tools/types.ts +0 -39
  816. package/src/web/safeRequest.ts +0 -171
  817. package/src/web/text.ts +0 -53
  818. package/src/web/tools.ts +0 -134
  819. package/src/web/web.test.ts +0 -141
@@ -0,0 +1,37 @@
1
+ # ADR-0020 — Page annotations and delivery are Harness-owned
2
+
3
+ Status: Accepted (owner approved the parity plan and capture workflow, 2026-10-23).
4
+ Related: [PROP-0017](../architecture/proposals/PROP-0017-page-annotations.md),
5
+ [PROP-0018](../architecture/proposals/PROP-0018-annotation-queue-and-app-targets.md),
6
+ [07 Tools and the gate](../architecture/07-tools-and-the-gate.md),
7
+ [13 World tools](../architecture/13-world-tools.md),
8
+ [14 Surfaces and parity](../architecture/14-surfaces-and-parity.md).
9
+
10
+ ## Context
11
+
12
+ Page annotations and the agent's ability to read or act on them must work in both the standalone
13
+ terminal and embedding hosts. Keeping the note store and tools inside one host would split state and
14
+ behavior; trusting arbitrary page-script output could let a page initiate unintended work.
15
+
16
+ ## Decision
17
+
18
+ The Harness owns the canonical note store, sharing grants, page-note tools, queue and delivery
19
+ lifecycle, and generic capture contract. The terminal captures in its visible isolated browser; a
20
+ host supplies its own web-view or application-window adapter through the same contract. Capture
21
+ results are trusted only when they come from an isolated script world or the host's own UI; otherwise
22
+ sending requires person confirmation. Page-derived content remains untrusted in the delivered
23
+ instruction. A person controls sharing, queueing, confirmation, and resolution; the agent may mark a
24
+ shared note fixed but cannot resolve it or change grants.
25
+
26
+ ## Alternatives
27
+
28
+ A terminal-only capture path would not support host web views. Host-owned stores and tools would
29
+ create different behavior and duplicated data. Trusting page content or automatically sending
30
+ unisolated results would grant a page authority it must not have.
31
+
32
+ ## Consequences
33
+
34
+ Notes and grants have one Harness-owned representation and work through the terminal or a host.
35
+ Hosts retain ownership of native windows and browser UI while using Harness methods for notes,
36
+ sharing, and delivery. The server contract can represent capture targets without naming an
37
+ application.
@@ -0,0 +1,40 @@
1
+ # ADR-0021 — Required built-in commands use the bare namespace
2
+
3
+ Status: Accepted (owner requested implementation of PROP-0021, 2026-10-24).
4
+ Supersedes: The command-namespace portion of [ADR-0018](ADR-0018-builtin-feature-plugins.md).
5
+ Related: [PROP-0021](../architecture/proposals/PROP-0021-command-namespaces-and-duplicates.md),
6
+ [11 Terminal](../architecture/11-terminal.md),
7
+ [14 Surfaces and parity](../architecture/14-surfaces-and-parity.md).
8
+
9
+ ## Context
10
+
11
+ The terminal has a set of required built-in features whose pages are part of normal Harness use.
12
+ Putting their commands behind `/plugin:` made them less direct to use. Separately, built-in and
13
+ loaded extension commands could both appear when their names matched a core command, alias or
14
+ prompt. Duplicate bridge registrations also exposed `/plugin:accounts`, `/plugin:hub`, and
15
+ `/plugin:plugins` beside their existing core commands.
16
+
17
+ ## Decision
18
+
19
+ Commands owned by a required built-in plugin use the bare terminal namespace: `/subagents`,
20
+ `/trajectory`, `/doctor`, and `/worktree`. Optional built-in plugin commands, currently
21
+ `/plugin:notes` and `/plugin:annotate`, and Pi extension commands remain under `/plugin:<command>`.
22
+ Core commands `/accounts`, `/hub`, `/plugins`, and `/mcp` remain unprefixed.
23
+
24
+ An existing bare core command, alias, required built-in command, or loaded prompt reserves its
25
+ name. A colliding `/plugin:<name>` is absent from completion/help and direct invocation explains
26
+ which bare command to use. Duplicate extension registrations retain owner-path diagnostics. Remove
27
+ the bridge registrations that duplicate `/accounts`, `/hub`, and `/plugins`.
28
+
29
+ ## Alternatives
30
+
31
+ Keeping all built-in commands namespaced preserves duplicate entries and makes required features
32
+ less direct to invoke. Unprefixing every built-in plugin command would also change the optional,
33
+ switchable Annotations commands. Suppressing only a fixed list of observed duplicate names would
34
+ allow the same problem to recur as plugins or prompts are added.
35
+
36
+ ## Consequences
37
+
38
+ Required built-in command metadata determines the namespace used by terminal completion, help and
39
+ dispatch. A third-party extension whose command collides with a bare command or prompt must use a
40
+ different command name to expose both. There is no protocol or storage change.
@@ -0,0 +1,34 @@
1
+ # ADR-0022 — Question tools are available only in attended plan runs
2
+
3
+ Status: Accepted (owner requested implementation of PROP-0022, 2026-10-24).
4
+ Related: [PROP-0022](../architecture/proposals/PROP-0022-plan-only-questions.md),
5
+ [02 Sessions and runs](../architecture/02-sessions-and-runs.md),
6
+ [11 Terminal](../architecture/11-terminal.md),
7
+ [14 Surfaces and parity](../architecture/14-surfaces-and-parity.md).
8
+
9
+ ## Context
10
+
11
+ Ordinary chat exposed the Harness-owned `ask_user` tool, while the terminal also activated its
12
+ single-question `ask_user_question` tool in normal mode. Hiding the required `ask-user` plugin would
13
+ also remove it from plan mode and contradict its required-plugin contract. The callable tool set
14
+ must instead be resolved by run mode.
15
+
16
+ ## Decision
17
+
18
+ Newly resolved normal runs omit `ask_user` before their capability set is frozen, regardless of a
19
+ wider requested tool list. An attended plan run may receive it, subject to the caller's narrower
20
+ capabilities. Automatic, probe, improver and reflection runs do not receive it. In the terminal,
21
+ normal mode deactivates both question tools; a plan request temporarily enables the registered
22
+ question tools and restores the previous active set on success, error or interruption.
23
+
24
+ The required `ask-user` built-in remains attached and has no user-facing switch. Approval prompts
25
+ and ordinary assistant text are unaffected. A continuation preserves the earlier frozen capability
26
+ set; if that snapshot includes `ask_user`, an automatic or refinement-triggered continuation is
27
+ rejected with `continuation_mismatch` rather than silently narrowing the snapshot or allowing an
28
+ unattended question.
29
+
30
+ ## Consequences
31
+
32
+ Normal and plan requests can have different provider tool schemas, so no cache-preservation claim is
33
+ made; measure any provider-cache effect only under `INV-PRM-8`. Existing records and attachments need
34
+ no migration. The App relies on the Harness-resolved tool set and adds no separate preference.
@@ -0,0 +1,35 @@
1
+ # ADR-0023: Contextual side questions are Harness runs
2
+
3
+ **Status:** Accepted
4
+ **Date:** 2026-10-24
5
+ **Proposal:** [PROP-0019](../architecture/proposals/PROP-0019-contextual-side-questions.md)
6
+
7
+ ## Context
8
+
9
+ The terminal and App had separate `/btw` implementations. The terminal used a short, in-memory
10
+ Pi session; the App used a bounded, tracked run. Their answers could not consistently use the main
11
+ run's instructions or public tool evidence, and they had different lifecycle and observability.
12
+
13
+ ## Decision
14
+
15
+ The Harness owns one side-question service. It creates an independent run with no variant and an
16
+ empty frozen capability set. The service uses a redacted projection of the main run's effective
17
+ prompt, visible transcript, and persisted public events, including tool inputs and results. It
18
+ excludes hidden reasoning and attachment bytes. Context is bounded, credential-like material is
19
+ redacted, and transcript/tool content cannot add permissions. Terminal and host surfaces use the
20
+ same service and ordinary run-event contract.
21
+
22
+ ## Consequences
23
+
24
+ Side answers are separately recorded and can be inspected with ordinary run history and usage.
25
+ They never enter or steer the parent conversation. No persistent side-thread store or migration is
26
+ needed. The terminal presents a temporary scrollable dock; a host keeps its own presentation. The
27
+ App's read-only native file tools use the operating system's read boundary across absolute and home
28
+ paths; the App's host gate continues to protect edits, writes and shell commands.
29
+
30
+ ## Rejected options
31
+
32
+ - Keeping a separate in-memory terminal session would preserve different answers and observability.
33
+ - Sending hidden reasoning, images or the main run's tools would expose more than a side answer
34
+ needs and could let it act independently.
35
+ - Persisting side threads would require retention, deletion and synchronization rules.
@@ -0,0 +1,40 @@
1
+ ---
2
+ id: ADR-0024
3
+ title: Publish the Harness CLI as xagent
4
+ status: accepted
5
+ created: 2026-10-24
6
+ updated: 2026-10-24
7
+ related: [PROP-0023]
8
+ supersedes: ADR-0009
9
+ ---
10
+
11
+ # ADR-0024 — Publish the Harness CLI as xagent
12
+
13
+ ## Context and decision drivers
14
+
15
+ The Harness CLI's no-subcommand path starts the standalone OpenTUI terminal. The current executable
16
+ name, `xharness`, is being replaced by the requested shorter product command, `xagent`. The
17
+ published command is part of the package's public interface.
18
+
19
+ ## Decision
20
+
21
+ Publish `@xingular/harness` with one executable, `xagent`, mapped to `dist/cli.js`. Invoking
22
+ `xagent` without arguments starts the existing OpenTUI terminal. Do not retain `xharness` as a
23
+ compatibility alias. Keep the package name, `terminal` alias, host subcommands, data/state directory
24
+ names, and `XINGULAR_HARNESS_*` environment variables unchanged.
25
+
26
+ This supersedes ADR-0009's executable-name decision and the `xharness` command-name portion of
27
+ ADR-0014. Other release-baseline decisions remain unchanged.
28
+
29
+ ## Consequences
30
+
31
+ - Users and scripts that invoke `xharness` must migrate to `xagent`.
32
+ - No account, data, or state migration is required.
33
+ - If `xharness` has already been released, replacing it requires a new major version; this change is
34
+ intended for the unpublished 4.0.0 candidate.
35
+
36
+ ## Implementation and verification
37
+
38
+ - The `bin` mapping and CLI help are tested by [`src/cli.test.ts`](../../src/cli.test.ts).
39
+ - The implementation and migration notes are tracked in
40
+ [PROP-0023](../architecture/proposals/PROP-0023-xagent-cli-name.md).
@@ -0,0 +1,49 @@
1
+ ---
2
+ id: ADR-0025
3
+ title: Store bounded ASCII sketches with question requests
4
+ status: accepted
5
+ created: 2026-10-24
6
+ updated: 2026-10-24
7
+ related: [PROP-0024, INV-RUN-3, INV-PAR-1, INV-PAR-2]
8
+ supersedes: null
9
+ superseded_by: null
10
+ ---
11
+
12
+ # ADR-0025 — Store bounded ASCII sketches with question requests
13
+
14
+ **Accepted by the product owner on 2026-10-24.**
15
+
16
+ ## Context
17
+
18
+ Choice labels and descriptions do not always communicate a layout or other compact visual
19
+ comparison. Both question surfaces need the same safely bounded representation, and the validated
20
+ `question.requested` event is the existing shared contract through which they receive choice data.
21
+
22
+ ## Decision
23
+
24
+ - A question may set `uiSketch: true` to enable sketch previews. Each offered choice must then
25
+ provide its own `sketch`; without the flag, a choice must not provide a sketch.
26
+ - Sketches are literal text of 1–8 LF-separated lines, at most 32 printable ASCII characters per
27
+ line, with at least one visible character. The complete value is at most 263 bytes. Tabs, CR,
28
+ control characters, escape sequences and non-ASCII text are invalid. Valid text, including
29
+ interior blank lines and trailing spaces, is preserved exactly.
30
+ - Harness validates the flag/choice relationship and text bounds before emitting a request. The
31
+ persisted `question.requested` event may carry the metadata; `question.answered` and
32
+ `QuestionAnswer` remain unchanged. Older request events remain valid.
33
+ - The terminal and hosts render one shared monospace preview below the choices, following the
34
+ hovered or focused choice. They render the sketch as text, not Markdown, ANSI or executable rich
35
+ output.
36
+
37
+ ## Consequences
38
+
39
+ - The existing event schema and persistence path carry the preview; no event kind, image type,
40
+ storage file or protocol version is added. No data migration is needed.
41
+ - Hosts mirror the optional schema fields. Surface parity requires the terminal and each host to
42
+ present the same choice sketches without changing answer semantics.
43
+ - The strict ASCII and dimension limits keep the diagram readable in a 40-column terminal and
44
+ prevent markup, terminal controls and unbounded content from entering the question surface.
45
+
46
+ ## Implementation and verification
47
+
48
+ Implemented under [PROP-0024](../architecture/proposals/PROP-0024-question-sketch-previews.md).
49
+ Verification evidence is recorded with that proposal and in the App's implementation-stage log.
@@ -0,0 +1,58 @@
1
+ ---
2
+ id: ADR-0026
3
+ title: Align question columns and preserve contextual ASCII wireframes
4
+ status: accepted
5
+ created: 2026-10-24
6
+ updated: 2026-10-24
7
+ related: [PROP-0025, ADR-0025, INV-RUN-3, INV-PAR-1, INV-PAR-2]
8
+ supersedes: null
9
+ superseded_by: null
10
+ ---
11
+
12
+ # ADR-0026 — Align question columns and preserve contextual ASCII wireframes
13
+
14
+ **Accepted by the product owner on 2026-10-24** through the plan “Fix TUI question columns and sketch previews”. This is foundation work.
15
+
16
+ ## Context
17
+
18
+ Content-dependent choice rows do not align label and description boundaries. The original 32×8
19
+ sketch limit cannot express contextual UI panels, and a caption plus left rule adds redundant
20
+ preview chrome. ADR-0025 records the original sketch contract and its historical evidence; this
21
+ decision amends its bounds and presentation without replacing the optional sketch/answer model.
22
+
23
+ ## Decision
24
+
25
+ - Use one measured layout across every choice: marker gutter, one-third label cell, two-cell gap,
26
+ remaining description cell. Wrap within cells, retain empty description cells, and never stack
27
+ columns at compact widths. Use `(Rec.)` when the label column is fewer than 14 cells and a compact
28
+ dock hint below 60 terminal columns.
29
+ - Accept 1–24 LF-separated lines of at most 80 printable ASCII characters each (1,943 bytes
30
+ maximum), with at least one visible character. Reject tabs, CR, controls, escapes and Unicode;
31
+ preserve whitespace literally. Both question tools and validated request events use these bounds.
32
+ - Ask models for contextual UI wireframes containing actual panel/table structure and neighboring
33
+ elements, consistent across alternatives. This is generation guidance, not schema enforcement.
34
+ - Render one shared border-only literal preview without a visible caption or extra left rule.
35
+ Preserve content without wrapping, reflow or truncation; bounded two-axis scrolling exposes
36
+ overflow. Hover/focus chooses the preview without changing the staged answer.
37
+ - Bound and vertically scroll the dock body, keeping tabs and answer/action controls outside it.
38
+ PageUp/PageDown and Ctrl+Home/End scroll that body while the dock is active. Shift+arrows pan the
39
+ sketch; ordinary arrows keep question/choice navigation. Bring focused choices and notes into view.
40
+ - Terminal and hosts accept the same metadata and preserve literal content. Host presentation may
41
+ differ, but the expanded contract requires acceptance on both surfaces under INV-PAR-1/2.
42
+
43
+ ## Consequences
44
+
45
+ Existing sketches and events remain valid without a data rewrite. Readers enforcing the old limits
46
+ must update before accepting larger events; rolling readers back requires avoiding sketches above
47
+ those limits. `uiSketch` still requires a sketch on every choice and forbids sketches when disabled.
48
+ `question.answered`, `QuestionAnswer`, the gate, prompt compilation and storage ownership do not
49
+ change. No image format, event kind or executable rich-output contract is introduced.
50
+
51
+ ## Implementation and verification
52
+
53
+ The accepted design is [PROP-0025](../architecture/proposals/PROP-0025-contextual-question-wireframes.md).
54
+ Implementation and isolated terminal/host acceptance are recorded in the
55
+ [retained verification](../evidence/terminal-question-wireframes/README.md), including four terminal
56
+ sizes, live resizing, sketch panning, literal persistence and the host's expanded-boundary fixture.
57
+ Earlier PROP-0024/ADR-0025 evidence remains historical; the new evidence does not claim live-model
58
+ diagram quality, every emulator's behavior or native Tauri presentation.
@@ -0,0 +1,60 @@
1
+ ---
2
+ id: ADR-0027
3
+ title: Project structural ASCII sketch lines into connected terminal borders
4
+ status: accepted
5
+ created: 2026-10-24
6
+ updated: 2026-10-24
7
+ related: [PROP-0026, ADR-0026, ADR-0029, INV-RUN-3, INV-PAR-1, INV-PAR-2]
8
+ supersedes: null
9
+ superseded_by: null
10
+ ---
11
+
12
+ # ADR-0027 — Project structural ASCII sketch lines into connected terminal borders
13
+
14
+ **Design accepted by the product owner on 2026-10-24** with “yes, fix it” after screenshot review.
15
+ This foundation presentation change is implemented and verified in isolated production fixtures;
16
+ see [retained evidence](../evidence/terminal-connected-sketches/README.md).
17
+
18
+ ## Context
19
+
20
+ ASCII `+|-` table frames appear disconnected in the terminal, and bare hyphen dividers do not
21
+ reach the preview frame. ADR-0026's absolute literal-render promise prevents correcting those
22
+ structural lines without a documented exception. Raw ASCII persistence and shared host metadata
23
+ remain appropriate; the problem is terminal typography, not the question contract.
24
+
25
+ ## Decision
26
+
27
+ Adopt [PROP-0026](../architecture/proposals/PROP-0026-connected-sketch-display.md). The terminal
28
+ preview in `src/terminal/opentui/sketchPanel.ts` uses a bounded structural display projection:
29
+
30
+ - Recognized ASCII table-border rows and enclosed vertical table edges become connected
31
+ box-drawing glyphs. Internal framed tables retain their original widths and positions.
32
+ - Bare standalone hyphen divider rows expand to the larger of the panel viewport width and the
33
+ original sketch's widest line, joining the outer single-line preview frame with `├` and `┤`.
34
+ - No global substitution: prose, content operators and ordinary pipes remain literal. Unrecognized
35
+ rows remain literal. Whitespace and geometry remain unchanged except for recognized structural
36
+ border glyphs and standalone-divider expansion, subject to the high-confidence boundary-cell
37
+ repair separately specified by [ADR-0029](ADR-0029-normalized-question-wireframe-borders.md).
38
+ - Keep bounded two-axis panning, with no wrapping, reflow, truncation or markup interpretation.
39
+ Focus, selection, navigation and answers do not change.
40
+
41
+ The validated source remains at most 80 printable ASCII columns by 24 lines. Persist that source
42
+ literally, including whitespace; never save projected Unicode or divider expansion. No wire/schema
43
+ or answer change is introduced. Hosts may retain literal previews of the same source. INV-PAR-1/2
44
+ require equivalent capability and accepted metadata, not identical structural typography.
45
+
46
+ ## Consequences
47
+
48
+ This amends only ADR-0026's terminal literal-render requirement and cross-surface typography
49
+ promise; its bounds, raw persistence, layout and answer decisions remain in force. No migration or
50
+ host code change is needed. Reverting the display projection does not affect saved events.
51
+ Historical decisions and verification evidence remain unchanged.
52
+
53
+ ## Verification status
54
+
55
+ The [PROP-0026 verification](../evidence/terminal-connected-sketches/README.md) covers structural
56
+ recognition, content preservation, four terminal sizes, resizing/panning, original ASCII persistence
57
+ and unchanged answers, alongside Harness and host checks. The later [ADR-0029 verification](../evidence/terminal-wireframe-normalization/README.md)
58
+ covers title-bearing rules and bounded repair of missing or displaced frame edges. Prior PROP-0025
59
+ evidence remains a record of the old presentation. Fixture verification is not owner visual
60
+ acceptance, an every-font guarantee or evidence of live-model diagram quality.
@@ -0,0 +1,56 @@
1
+ ---
2
+ id: ADR-0028
3
+ title: Use Xingular Agent as the default Harness product identity
4
+ status: accepted
5
+ created: 2026-10-24
6
+ updated: 2026-10-24
7
+ related: [PROP-0027, INV-BND-2, 00-overview.md, 04-prompt.md, 11-terminal.md]
8
+ supersedes: null
9
+ superseded_by: null
10
+ ---
11
+
12
+ # ADR-0028 — Use Xingular Agent as the default Harness product identity
13
+
14
+ The product owner accepted [PROP-0027](../architecture/proposals/PROP-0027-xingular-agent-product-identity.md)
15
+ on 2026-10-24.
16
+
17
+ ## Context
18
+
19
+ The standalone terminal is Harness-owned, but its welcome and Harness-authored prompt identity used
20
+ the default product name `Xingular Harness`. The requested product identity is `Xingular Agent`,
21
+ with a terminal welcome that presents an orange `X` mark and blue `A G E N T` label. Changing the
22
+ default affects product identity text beyond the welcome, including compiled prompts and Wiki text;
23
+ embedding hosts may need their own name.
24
+
25
+ ## Decision
26
+
27
+ Adopt PROP-0027:
28
+
29
+ - Set `DEFAULT_PRODUCT_NAME` to `Xingular Agent`; continue honoring an explicit `productName` from
30
+ an embedding host.
31
+ - Revise `INV-BND-2` to permit the exact canonical product identity `Xingular Agent` as the
32
+ default. Continue to prohibit application concepts, application-specific behavior and other
33
+ application names in Harness code and person/model-visible text.
34
+ - Format a multiword product name in the empty welcome as the first letter of its first word in the
35
+ orange block mark and the remaining word(s), letter-spaced, in blue. Thus the default shows `X`
36
+ and `A G E N T`. A single-word name remains the mark without a subline.
37
+ - Keep the centered greeting, tagline, `/help` hint, model/thinking status, composer and status bar;
38
+ use the existing orange and blue theme accents without adding tokens or changing other surfaces.
39
+
40
+ ## Consequences
41
+
42
+ - Consumers that omit `productName` see `Xingular Agent` in Harness-authored product identity
43
+ text. Consumers that supply their own name are unchanged.
44
+ - Existing prompt packs, runs and Wiki notes are not rewritten; newly compiled prompt identity and
45
+ new Wiki text use the default in effect at creation time.
46
+ - No capability, API, storage layout or wire schema changes.
47
+
48
+ ## Verification status
49
+
50
+ Implemented and verified on 2026-10-24.
51
+
52
+ - Harness: `npm run typecheck`, `npm test` (143 files passed; 3 skipped), `npm run build`, and
53
+ `npm run prove` passed. Focused PTY verification passed at 40x20, 80x24 and 120x40, including
54
+ the `/help` transition.
55
+ - Xingular Agent: `npm run typecheck`, `npm test` (566 renderer and 67 sidecar tests passed),
56
+ `npm run check:layers`, and `cd src-tauri && cargo test` passed.
@@ -0,0 +1,33 @@
1
+ ---
2
+ id: ADR-0029
3
+ title: Normalize high-confidence question wireframe borders in the terminal preview
4
+ status: accepted
5
+ created: 2026-10-24
6
+ updated: 2026-10-24
7
+ related: [PROP-0028, ADR-0026, ADR-0027, INV-PAR-1, INV-PAR-2]
8
+ ---
9
+
10
+ # ADR-0029 — Normalize high-confidence question wireframe borders in the terminal preview
11
+
12
+ ## Context
13
+
14
+ The terminal displays bounded, model-authored ASCII sketches. The existing connected-glyph projection misses text-bearing top rules and rows with missing or misaligned side edges. The raw source remains the right shared contract, but its terminal display needs a narrowly constrained frame-repair rule.
15
+
16
+ ## Decision
17
+
18
+ Adopt [PROP-0028](../architecture/proposals/PROP-0028-normalize-question-wireframes.md). The terminal may normalize only high-confidence, explicitly framed sketch boundaries:
19
+
20
+ - Recognize title-bearing border rows and establish outer columns from matched frame rules.
21
+ - Align a boundary character only across whitespace, or fill a missing boundary cell only where it is whitespace.
22
+ - Preserve interior text, nested frame geometry, ambiguous rows, and ordinary content literally; no global symbol replacement.
23
+ - Keep the source ASCII byte-for-byte in persistence and retain the existing question schema, answer payload, viewport and panning behavior.
24
+
25
+ Hosts may continue rendering the same source literally. This decision changes terminal typography only; it adds no capability or host contract.
26
+
27
+ ## Consequences
28
+
29
+ A valid framed sketch can display connected corners and continuous vertical edges even when its source omitted or misplaced a boundary glyph. Repairs are projection-only and deliberately conservative; ambiguous or content-conflicting rows remain untouched. No migration is required.
30
+
31
+ ## Verification
32
+
33
+ Use structural unit fixtures and isolated production PTY runs at compact and wide terminal sizes. Verify the displayed topology, panning/resizing, and byte-for-byte source and answer preservation. This does not claim that every emulator/font renders box glyphs identically or that live-model sketches always describe the intended design.
@@ -0,0 +1,43 @@
1
+ ---
2
+ id: ADR-0030
3
+ title: Agent profiles, one checklist per agent, and the subagent roster under the status line
4
+ status: accepted
5
+ created: 2026-10-24
6
+ updated: 2026-10-24
7
+ related: [PROP-0029, PROP-0006, ADR-0003, INV-RUN-2, INV-CAP-1, INV-PAR-1]
8
+ ---
9
+
10
+ # ADR-0030 — Agent profiles, one checklist per agent, and the subagent roster under the status line
11
+
12
+ ## Context
13
+
14
+ People want to start subagents of a known kind, such as a worker that edits and an explorer that
15
+ only reads, and to follow their progress from the terminal. Subagents were copies of the parent
16
+ or instruction-only c5 definitions, the terminal did not register the checklist tool, and the
17
+ roster sat above the composer with a heading and no indication of each child's kind or progress.
18
+
19
+ ## Decision
20
+
21
+ - Adopt [PROP-0029](../architecture/proposals/PROP-0029-agent-profiles.md): agent profiles are
22
+ Markdown files (built-in, `<data root>/agents/`, `<project>/.xingular/agents/`, then c5 names)
23
+ that a spawn resolves by name. A profile narrows tools and plugins and may choose a variant,
24
+ model and effort. It never widens the parent's capabilities.
25
+ - Progress stays **one checklist per run** (PROP-0006). The parent's list is the plan the person
26
+ watches. Each child keeps its own list, and the roster shows its `n of m tasks`. There is no
27
+ shared, claimable task pool.
28
+ - The terminal registers `checklist_write`, shows each write as a checklist block, and the prompt's
29
+ Progress group asks the model to keep it current because the person follows work from it.
30
+ - The roster sits under the status line after one blank line, with no heading. Each row reads: status
31
+ mark, profile name in its colour, session name, tasks.
32
+
33
+ ## Consequences
34
+
35
+ Profiles are a foundation feature, not variant data: refinement does not change them. A project
36
+ can carry profiles in its repository. The App gets the same capability through `agents.*` and
37
+ `RunRecord.profile`; it has no Agents screen yet (parity `planned`).
38
+
39
+ ## Verification
40
+
41
+ Unit tests for profiles, narrowing, spawn, the monitor, the roster and the Agents page;
42
+ `npm run prove`; and a loopback PTY run that checks the blank row under the status line, the row
43
+ order, and the profile colours.
package/docs/doctor.md ADDED
@@ -0,0 +1,80 @@
1
+ # Doctor
2
+
3
+ Run `/doctor` in the Harness terminal. It opens a readiness report for the selected account/model,
4
+ enabled tools, MCP connections, plugins and skills, pinned variant, runtime and storage.
5
+
6
+ **Local is the default.** It inspects configuration, saved state and resource readability without
7
+ provider requests, token refreshes, browser launch, permission prompts or computer input. A local
8
+ pass does not establish live connectivity. Other accounts show their saved status and timestamp.
9
+ Providers without diagnostics report unverified. Disabled capabilities are not failures.
10
+
11
+ Press `l` to choose live checks, then review the account/model, destinations, possible charges and
12
+ isolation notice. The model check makes one synthetic request with at most 64 output tokens;
13
+ usage appears on a separate diagnostic run. Web checks fetch example.com and search for “example
14
+ domain”. MCP checks connect/list only. Browser checks use a disposable headless profile and an
15
+ offline synthetic page; configured CDP attachment is blocked. Computer input is blocked unless the
16
+ host supplies a disposable diagnostic surface; the current desktop host supplies readiness only.
17
+
18
+ The report keeps mode, progress, account/model and status counts visible above the findings. Wide
19
+ layouts use aligned Status, Check, Category and Verification columns; evidence and any next step
20
+ appear beneath each finding. Narrow layouts stack those fields. Status colors follow the active
21
+ theme: pass is green, warning/blocked amber, fail red, disabled dim and unverified muted.
22
+
23
+ `r` refreshes local readiness, `t` retries a selected local check, `c` cancels, and Escape closes
24
+ and cancels pending work. Use Up/Down to scroll by line, PgUp/PgDn or the mouse wheel to scroll by
25
+ page, and Home/End to jump to the first/last finding. Completed findings survive cancellation. Every finding includes
26
+ evidence and, where useful, a next step. Doctor never signs in, switches accounts, installs, grants
27
+ access, or repairs settings. Findings and jobs are retained in memory until shutdown; live run
28
+ records and usage remain in normal Harness storage.
29
+
30
+ ## Embedding
31
+
32
+ ```ts
33
+ const job = harness.doctor.start({
34
+ context: { caller: {}, cwd, accountId, model: 'provider/model', tools: ['web_fetch'] }
35
+ })
36
+ const report = harness.doctor.read(job.id)
37
+ harness.doctor.cancel(job.id)
38
+ ```
39
+
40
+ Server hosts use `doctor.start`, `doctor.read`, and `doctor.cancel`. A host must obtain consent
41
+ before setting `mode: 'live'`, `checks`, and `confirmed: true`. Supply an exact variant version and
42
+ capability snapshot when reproducing a pinned run. Exported schemas validate reports.
43
+
44
+ Tool providers may attach `diagnostics(context)` returning `DoctorCheck[]`. Local callbacks must
45
+ be passive and network-free. Optional live callbacks declare a notice and receive an AbortSignal,
46
+ a separate real run, and a gated `call(tool, input)` helper. Honor cancellation; release owned
47
+ resources. Route all live tool execution through `call`. Each check has a stable unique ID and
48
+ lists the tools it covers. Existing providers need no changes and appear as unverified.
49
+
50
+ ## Working-tree verification — 2026-10-22
51
+
52
+ | Check | Result |
53
+ |---|---|
54
+ | Focused Harness service, protocol, control-key, gate, offline-account, browser-isolation and terminal tests | 69 passed across 7 files |
55
+ | App computer diagnostics and diagnostic report contract | 7 passed |
56
+ | Harness typecheck and build/standalone proof | Passed |
57
+ | App renderer typecheck and UI consistency | Passed; existing UI baseline remains |
58
+ | App Rust tests | 240 passed, 1 ignored |
59
+ | Full Harness suite | Could not complete successfully in this sandbox: terminal socket creation returns EPERM; other platform-dependent failures were also reported. The stalled full run was stopped after failures. |
60
+ | Full App renderer tests | 590 passed, 2 failed on existing Guide links/headings |
61
+ | Full App sidecar tests/typecheck | Blocked by older tree/HarnessChoice imports and contract expectations against the current variant API; diagnostic tests pass |
62
+ | App layer check | Rejects the in-progress Harness browser implementation, including backend diagnostic callbacks; ownership/specification drift is recorded as D-9 |
63
+
64
+ No live provider diagnostic or user browser/computer interaction was performed. Browser regression
65
+ tests use injected launchers. The proof uses isolated scripted fixtures. Changes remain uncommitted
66
+ alongside concurrent work; these results do not establish release readiness for the whole workspace.
67
+
68
+ ## Later 1.0.0 candidate preparation — 2026-10-22
69
+
70
+ The release preparation resolved the earlier App migration, Guide-link and browser-layer blockers:
71
+ the App's 592 renderer tests, 40 sidecar tests, typechecks and layer/UI checks pass. Rust has
72
+ 240 passing tests and one ignored test. A focused Harness run covering Doctor, browser diagnostics,
73
+ world tools, terminal command/page behavior and Hub has 100 passing tests. The compiled package's
74
+ SDK, TypeScript consumer, server and local Doctor smoke checks also pass using existing locked
75
+ dependencies. These later results supersede the earlier blocker descriptions for those checks.
76
+
77
+ Full Harness acceptance remains blocked locally by sandbox socket denial and HEIC encoder system
78
+ query denial; the complete suite is retained as a mandatory two-OS CI gate. Fresh network install,
79
+ registry availability and npm trusted-publisher configuration remain unverified. No tag or package
80
+ has been published during preparation. See the release procedure and external candidate report.