@timurproko/a1 0.2.6-dev.736 → 0.2.7-dev.1221

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 (423) hide show
  1. package/README.md +41 -3
  2. package/bin/automatic-update.js +7 -0
  3. package/bin/cli.js +4 -0
  4. package/bin/guardian.js +5 -0
  5. package/bin/tab-launch-context.d.ts +27 -0
  6. package/bin/tab-launch-context.js +94 -0
  7. package/bin/ui.js +107 -59
  8. package/dist/app/session-shell/clipboard-diagnostics.js +1 -1
  9. package/dist/app/session-shell/dialog-coordinator.d.ts +42 -0
  10. package/dist/app/session-shell/dialog-coordinator.js +133 -0
  11. package/dist/app/session-shell/dock-chrome.d.ts +34 -0
  12. package/dist/app/session-shell/dock-chrome.js +109 -0
  13. package/dist/app/session-shell/exit-notice.d.ts +1 -1
  14. package/dist/app/session-shell/exit-notice.js +1 -1
  15. package/dist/app/session-shell/extension-surface.d.ts +30 -0
  16. package/dist/app/session-shell/extension-surface.js +105 -0
  17. package/dist/app/session-shell/helper-pool.d.ts +3 -5
  18. package/dist/app/session-shell/helper-pool.js +3 -5
  19. package/dist/app/session-shell/input-surface-switch.d.ts +36 -0
  20. package/dist/app/session-shell/input-surface-switch.js +85 -0
  21. package/dist/app/session-shell/login-interaction.d.ts +27 -0
  22. package/dist/app/session-shell/login-interaction.js +91 -0
  23. package/dist/app/session-shell/prompt-submission.d.ts +48 -0
  24. package/dist/app/session-shell/prompt-submission.js +276 -0
  25. package/dist/app/session-shell/resident-tab-coordinator.d.ts +38 -0
  26. package/dist/app/session-shell/resident-tab-coordinator.js +77 -0
  27. package/dist/app/session-shell/response-copy-helper.js +21 -6
  28. package/dist/app/session-shell/response-copy-protocol.d.ts +1 -1
  29. package/dist/app/session-shell/response-copy-transport.d.ts +16 -6
  30. package/dist/app/session-shell/response-copy-transport.js +69 -17
  31. package/dist/app/session-shell/session-concern.d.ts +22 -0
  32. package/dist/app/session-shell/session-concern.js +29 -0
  33. package/dist/app/session-shell/session-lifecycle.d.ts +29 -0
  34. package/dist/app/session-shell/session-lifecycle.js +49 -0
  35. package/dist/app/session-shell/session-shell-root.d.ts +42 -6
  36. package/dist/app/session-shell/session-shell-root.js +196 -908
  37. package/dist/app/session-shell/session-shell.d.ts +3 -8
  38. package/dist/app/session-shell/session-shell.js +324 -835
  39. package/dist/app/session-shell/session-viewport-controller.d.ts +2 -2
  40. package/dist/app/session-shell/session-viewport-controller.js +29 -15
  41. package/dist/app/session-shell/settings-bindings.d.ts +17 -0
  42. package/dist/app/session-shell/settings-bindings.js +91 -0
  43. package/dist/app/session-shell/shell-editor-factory.d.ts +27 -0
  44. package/dist/app/session-shell/shell-editor-factory.js +102 -0
  45. package/dist/app/session-shell/shell-host.d.ts +6 -0
  46. package/dist/app/session-shell/shell-host.js +34 -7
  47. package/dist/app/session-shell/shell-layout.d.ts +64 -0
  48. package/dist/app/session-shell/shell-layout.js +18 -0
  49. package/dist/app/session-shell/suggestion-surface.d.ts +25 -0
  50. package/dist/app/session-shell/suggestion-surface.js +63 -0
  51. package/dist/app/session-shell/transcript-document.d.ts +78 -0
  52. package/dist/app/session-shell/transcript-document.js +365 -0
  53. package/dist/app/session-shell/viewport-layout.d.ts +31 -0
  54. package/dist/app/session-shell/viewport-layout.js +160 -0
  55. package/dist/app/session-shell/workflow-output.d.ts +33 -0
  56. package/dist/app/session-shell/workflow-output.js +174 -0
  57. package/dist/app/session-shell/workflow-router.d.ts +25 -0
  58. package/dist/app/session-shell/workflow-router.js +39 -0
  59. package/dist/cli/dispatch.d.ts +11 -1
  60. package/dist/cli/dispatch.js +79 -5
  61. package/dist/cli/tabs-request.d.ts +7 -0
  62. package/dist/cli/tabs-request.js +1 -0
  63. package/dist/cli/tabs.d.ts +14 -0
  64. package/dist/cli/tabs.js +151 -0
  65. package/dist/cli/version-stats.js +38 -3
  66. package/dist/composition/owned-settings.d.ts +12 -0
  67. package/dist/composition/owned-settings.js +36 -0
  68. package/dist/composition/owned-ui.d.ts +27 -28
  69. package/dist/composition/owned-ui.js +205 -153
  70. package/dist/composition/resident-tab-bridge.d.ts +25 -0
  71. package/dist/composition/resident-tab-bridge.js +180 -0
  72. package/dist/composition/session-backend.d.ts +19 -0
  73. package/dist/composition/session-backend.js +1 -0
  74. package/dist/composition/session-runtime-registry.d.ts +20 -0
  75. package/dist/composition/session-runtime-registry.js +85 -0
  76. package/dist/composition/settings-route-host.d.ts +16 -1
  77. package/dist/composition/settings-route-host.js +29 -10
  78. package/dist/composition/settings-search-input.d.ts +9 -0
  79. package/dist/composition/settings-search-input.js +58 -0
  80. package/dist/composition/startup-route.d.ts +32 -0
  81. package/dist/composition/startup-route.js +72 -0
  82. package/dist/composition/utility-tab.d.ts +28 -0
  83. package/dist/composition/utility-tab.js +242 -0
  84. package/dist/contracts/owned-ui/index.d.ts +1 -1
  85. package/dist/contracts/owned-ui/model.d.ts +3 -0
  86. package/dist/contracts/owned-ui/session-backend.d.ts +3 -0
  87. package/dist/contracts/owned-ui/session-workflows.d.ts +11 -4
  88. package/dist/contracts/presentation/index.d.ts +11 -0
  89. package/dist/contracts/presentation/index.js +12 -0
  90. package/dist/features/launch/development-launch.js +6 -0
  91. package/dist/features/launch/index.d.ts +1 -1
  92. package/dist/features/launch/intent.d.ts +3 -1
  93. package/dist/features/launch/intent.js +7 -4
  94. package/dist/features/launch/profile-paths.js +4 -0
  95. package/dist/features/owned-ui/plus-menu-dialog.d.ts +22 -0
  96. package/dist/features/owned-ui/plus-menu-dialog.js +76 -0
  97. package/dist/features/owned-ui/project-trust-dialog.d.ts +1 -1
  98. package/dist/features/owned-ui/project-trust-dialog.js +6 -8
  99. package/dist/features/owned-ui/project-trust-prompt.d.ts +1 -0
  100. package/dist/features/owned-ui/project-trust-prompt.js +7 -3
  101. package/dist/features/owned-ui/reference-screen-app.d.ts +2 -0
  102. package/dist/features/owned-ui/reference-screen-app.js +12 -2
  103. package/dist/features/owned-ui/resources/release-notes.json +4 -0
  104. package/dist/features/owned-ui/settings-app.d.ts +12 -2
  105. package/dist/features/owned-ui/settings-app.js +119 -84
  106. package/dist/features/owned-ui/settings-search-input.d.ts +29 -0
  107. package/dist/features/owned-ui/settings-search-input.js +1 -0
  108. package/dist/features/prompt-history/index.d.ts +1 -1
  109. package/dist/features/prompt-history/paths.d.ts +2 -1
  110. package/dist/features/prompt-history/paths.js +10 -2
  111. package/dist/features/prompt-history/service.d.ts +5 -0
  112. package/dist/features/prompt-history/service.js +1 -1
  113. package/dist/features/resident-tab/auto-name.d.ts +11 -0
  114. package/dist/features/resident-tab/auto-name.js +44 -0
  115. package/dist/features/resident-tab/index.d.ts +5 -0
  116. package/dist/features/resident-tab/index.js +7 -0
  117. package/dist/features/resident-tab/shortcut-bindings-file.d.ts +8 -0
  118. package/dist/features/resident-tab/shortcut-bindings-file.js +40 -0
  119. package/dist/features/resident-tab/shortcut-declarations.d.ts +13 -0
  120. package/dist/features/resident-tab/shortcut-declarations.js +26 -0
  121. package/dist/features/resident-tab/shortcut-projection.d.ts +29 -0
  122. package/dist/features/resident-tab/shortcut-projection.js +64 -0
  123. package/dist/features/resident-tab/status-deriver.d.ts +10 -0
  124. package/dist/features/resident-tab/status-deriver.js +12 -0
  125. package/dist/foundation/launch-context/index.d.ts +12 -0
  126. package/dist/foundation/launch-context/index.js +26 -0
  127. package/dist/foundation/launch-guardian/exit-watcher.d.ts +14 -0
  128. package/dist/foundation/launch-guardian/exit-watcher.js +94 -0
  129. package/dist/foundation/launch-guardian/main.d.ts +7 -1
  130. package/dist/foundation/launch-guardian/main.js +60 -7
  131. package/dist/foundation/lifecycle/session-repository-context.js +16 -2
  132. package/dist/foundation/process-containment/{native-guardian-containment.d.ts → addon-containment.d.ts} +7 -5
  133. package/dist/foundation/process-containment/addon-containment.js +139 -0
  134. package/dist/foundation/process-containment/addon-process-inspector.d.ts +11 -0
  135. package/dist/foundation/process-containment/addon-process-inspector.js +36 -0
  136. package/dist/foundation/process-containment/addon.d.ts +42 -0
  137. package/dist/foundation/process-containment/addon.js +57 -0
  138. package/dist/foundation/process-containment/artifact.d.ts +1 -1
  139. package/dist/foundation/process-containment/artifact.js +6 -5
  140. package/dist/foundation/process-containment/contracts.d.ts +2 -0
  141. package/dist/foundation/process-containment/index.d.ts +4 -4
  142. package/dist/foundation/process-containment/index.js +3 -3
  143. package/dist/foundation/process-containment/native-process-inspector.d.ts +2 -1
  144. package/dist/foundation/process-containment/native-process-inspector.js +10 -10
  145. package/dist/foundation/release/automatic-update.d.ts +37 -0
  146. package/dist/foundation/release/automatic-update.js +265 -0
  147. package/dist/foundation/release/bootstrap.d.ts +7 -9
  148. package/dist/foundation/release/bootstrap.js +107 -24
  149. package/dist/foundation/release/cohort-state.d.ts +1 -1
  150. package/dist/foundation/release/cohort-state.js +6 -3
  151. package/dist/foundation/release/dependency-certification.js +54 -19
  152. package/dist/foundation/release/early-accent.d.ts +12 -0
  153. package/dist/foundation/release/early-accent.js +59 -0
  154. package/dist/foundation/release/index.d.ts +2 -2
  155. package/dist/foundation/release/index.js +2 -2
  156. package/dist/foundation/release/latest-release.d.ts +24 -2
  157. package/dist/foundation/release/latest-release.js +51 -1
  158. package/dist/foundation/release/progress-palette.generated.d.ts +137 -3
  159. package/dist/foundation/release/progress-palette.generated.js +137 -3
  160. package/dist/foundation/release/release-gc.d.ts +3 -0
  161. package/dist/foundation/release/release-gc.js +59 -8
  162. package/dist/foundation/release/release-store.d.ts +12 -0
  163. package/dist/foundation/release/release-store.js +124 -2
  164. package/dist/foundation/release/update-execution-lease.d.ts +48 -0
  165. package/dist/foundation/release/update-execution-lease.js +161 -0
  166. package/dist/foundation/release/update.d.ts +12 -7
  167. package/dist/foundation/release/update.js +281 -196
  168. package/dist/foundation/resident-tabs/bounded-host-command.d.ts +18 -0
  169. package/dist/foundation/resident-tabs/bounded-host-command.js +39 -0
  170. package/dist/foundation/resident-tabs/bridge-client.d.ts +70 -0
  171. package/dist/foundation/resident-tabs/bridge-client.js +321 -0
  172. package/dist/foundation/resident-tabs/doctor.d.ts +28 -0
  173. package/dist/foundation/resident-tabs/doctor.js +166 -0
  174. package/dist/foundation/resident-tabs/draft-checkpoint.d.ts +27 -0
  175. package/dist/foundation/resident-tabs/draft-checkpoint.js +145 -0
  176. package/dist/foundation/resident-tabs/ensure-terminal-host.d.ts +36 -0
  177. package/dist/foundation/resident-tabs/ensure-terminal-host.js +151 -0
  178. package/dist/foundation/resident-tabs/fault-injection.d.ts +8 -0
  179. package/dist/foundation/resident-tabs/fault-injection.js +26 -0
  180. package/dist/foundation/resident-tabs/fixture-control.d.ts +7 -0
  181. package/dist/foundation/resident-tabs/fixture-control.js +35 -0
  182. package/dist/foundation/resident-tabs/host-entry.d.ts +1 -0
  183. package/dist/foundation/resident-tabs/host-entry.js +17 -0
  184. package/dist/foundation/resident-tabs/index.d.ts +12 -0
  185. package/dist/foundation/resident-tabs/index.js +6 -0
  186. package/dist/foundation/resident-tabs/maintenance.d.ts +39 -0
  187. package/dist/foundation/resident-tabs/maintenance.js +75 -0
  188. package/dist/foundation/resident-tabs/progress-observation-schema.d.ts +34 -0
  189. package/dist/foundation/resident-tabs/progress-observation-schema.js +1 -0
  190. package/dist/foundation/resident-tabs/progress-observation.d.ts +4 -0
  191. package/dist/foundation/resident-tabs/progress-observation.js +150 -0
  192. package/dist/foundation/resident-tabs/prompt-journal.d.ts +63 -0
  193. package/dist/foundation/resident-tabs/prompt-journal.js +213 -0
  194. package/dist/foundation/resident-tabs/protocol.d.ts +12 -0
  195. package/dist/foundation/resident-tabs/protocol.js +195 -0
  196. package/dist/foundation/resident-tabs/recovery.d.ts +26 -0
  197. package/dist/foundation/resident-tabs/recovery.js +205 -0
  198. package/dist/foundation/resident-tabs/release-holds.d.ts +28 -0
  199. package/dist/foundation/resident-tabs/release-holds.js +75 -0
  200. package/dist/foundation/resident-tabs/routes.d.ts +5 -0
  201. package/dist/foundation/resident-tabs/routes.js +5 -0
  202. package/dist/foundation/resident-tabs/routing.d.ts +11 -0
  203. package/dist/foundation/resident-tabs/routing.js +10 -0
  204. package/dist/foundation/resident-tabs/session-sync.d.ts +14 -0
  205. package/dist/foundation/resident-tabs/session-sync.js +37 -0
  206. package/dist/foundation/resident-tabs/settings.d.ts +12 -0
  207. package/dist/foundation/resident-tabs/settings.js +58 -0
  208. package/dist/foundation/resident-tabs/terminal-host-artifact.d.ts +14 -0
  209. package/dist/foundation/resident-tabs/terminal-host-artifact.js +78 -0
  210. package/dist/foundation/resident-tabs/zip-archive.d.ts +9 -0
  211. package/dist/foundation/resident-tabs/zip-archive.js +56 -0
  212. package/dist/foundation/session-writer-lock/index.d.ts +30 -0
  213. package/dist/foundation/session-writer-lock/index.js +203 -0
  214. package/dist/foundation/startup/startup-descriptor.js +2 -2
  215. package/dist/foundation/terminal-cleanup/index.d.ts +1 -1
  216. package/dist/foundation/terminal-cleanup/index.js +1 -1
  217. package/dist/foundation/terminal-cleanup/terminal-reset.d.ts +6 -0
  218. package/dist/foundation/terminal-cleanup/terminal-reset.js +6 -0
  219. package/dist/integrations/pi/components/editor-interaction.d.ts +2 -0
  220. package/dist/integrations/pi/components/modal-frame.d.ts +17 -1
  221. package/dist/integrations/pi/components/modal-frame.js +48 -9
  222. package/dist/integrations/pi/components/models-dialog.js +4 -52
  223. package/dist/integrations/pi/components/owned-editor-ux.d.ts +6 -1
  224. package/dist/integrations/pi/components/owned-editor-ux.js +90 -6
  225. package/dist/integrations/pi/components/resources/builtin-themes.d.ts +4 -4
  226. package/dist/integrations/pi/components/resources/builtin-themes.js +4 -4
  227. package/dist/integrations/pi/components/share-operation-dialog.d.ts +2 -0
  228. package/dist/integrations/pi/components/share-operation-dialog.js +2 -1
  229. package/dist/integrations/pi/components/shell-editor-autocomplete.js +58 -36
  230. package/dist/integrations/pi/components/shell-extension-ui.js +79 -60
  231. package/dist/integrations/pi/components/shell-footer-status.d.ts +1 -1
  232. package/dist/integrations/pi/components/shell-footer-status.js +21 -5
  233. package/dist/integrations/pi/components/shell-hotkey-sections.js +1 -1
  234. package/dist/integrations/pi/components/shell-presenters-info.d.ts +5 -2
  235. package/dist/integrations/pi/components/shell-presenters-info.js +18 -4
  236. package/dist/integrations/pi/components/shell-presenters-transcript.js +4 -1
  237. package/dist/integrations/pi/components/shell-selectors-dialogs.js +5 -1
  238. package/dist/integrations/pi/components/shell-shared-facade.d.ts +12 -1
  239. package/dist/integrations/pi/components/skills-dialog.js +2 -2
  240. package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +1 -1
  241. package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.js +17 -4
  242. package/dist/integrations/pi/components/upstream/assets/earendil-image.json +2 -2
  243. package/dist/integrations/pi/components/upstream/components/countdown-timer.d.ts +1 -1
  244. package/dist/integrations/pi/components/upstream/components/earendil-announcement.js +1 -1
  245. package/dist/integrations/pi/components/upstream/components/extension-editor.d.ts +1 -1
  246. package/dist/integrations/pi/components/upstream/components/extension-editor.js +1 -1
  247. package/dist/integrations/pi/components/upstream/components/extension-input.js +1 -1
  248. package/dist/integrations/pi/components/upstream/components/extension-selector.js +1 -1
  249. package/dist/integrations/pi/components/upstream/components/mermaid.js +1 -1
  250. package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +8 -6
  251. package/dist/integrations/pi/components/upstream/components/owned-editor.js +16 -9
  252. package/dist/integrations/pi/components/upstream/components/pi-logo.js +1 -1
  253. package/dist/integrations/pi/components/upstream/components/scoped-models-selector.d.ts +4 -4
  254. package/dist/integrations/pi/components/upstream/components/scoped-models-selector.js +2 -2
  255. package/dist/integrations/pi/components/upstream/components/session-footer.d.ts +2 -1
  256. package/dist/integrations/pi/components/upstream/components/session-footer.js +31 -25
  257. package/dist/integrations/pi/components/upstream/components/session-selector-search.js +1 -1
  258. package/dist/integrations/pi/components/upstream/components/session-selector.js +8 -7
  259. package/dist/integrations/pi/components/upstream/components/skill-invocation-message.d.ts +1 -1
  260. package/dist/integrations/pi/components/upstream/components/skill-invocation-message.js +1 -1
  261. package/dist/integrations/pi/components/upstream/components/status-indicator.d.ts +2 -2
  262. package/dist/integrations/pi/components/upstream/components/status-indicator.js +3 -3
  263. package/dist/integrations/pi/components/upstream/components/themed-text.d.ts +1 -1
  264. package/dist/integrations/pi/components/upstream/components/themed-text.js +1 -1
  265. package/dist/integrations/pi/components/upstream/components/thinking-selector.d.ts +8 -7
  266. package/dist/integrations/pi/components/upstream/components/thinking-selector.js +10 -9
  267. package/dist/integrations/pi/components/upstream/components/tool-execution.d.ts +2 -6
  268. package/dist/integrations/pi/components/upstream/components/tool-execution.js +103 -101
  269. package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +9 -9
  270. package/dist/integrations/pi/components/upstream/components/tree-selector.js +13 -21
  271. package/dist/integrations/pi/components/upstream/components/trust-selector.js +1 -1
  272. package/dist/integrations/pi/components/upstream/external-editor.js +1 -1
  273. package/dist/integrations/pi/components/upstream/history/editor-core.d.ts +2 -2
  274. package/dist/integrations/pi/components/upstream/history/editor-core.js +7 -5
  275. package/dist/integrations/pi/components/upstream/history/kill-ring.d.ts +1 -1
  276. package/dist/integrations/pi/components/upstream/history/kill-ring.js +1 -1
  277. package/dist/integrations/pi/components/upstream/history/printable-key.js +1 -1
  278. package/dist/integrations/pi/components/upstream/history/text-helpers.js +1 -1
  279. package/dist/integrations/pi/components/upstream/history/undo-stack.d.ts +1 -1
  280. package/dist/integrations/pi/components/upstream/history/undo-stack.js +1 -1
  281. package/dist/integrations/pi/components/upstream/history/word-navigation.js +1 -1
  282. package/dist/integrations/pi/components/upstream/model-search.d.ts +1 -1
  283. package/dist/integrations/pi/components/upstream/program-status-reporter.d.ts +1 -1
  284. package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +1 -1
  285. package/dist/integrations/pi/components/upstream/theme/theme.d.ts +5 -0
  286. package/dist/integrations/pi/components/upstream/theme/theme.js +29 -2
  287. package/dist/integrations/pi/engine/adapter.d.ts +5 -77
  288. package/dist/integrations/pi/engine/adapter.js +95 -394
  289. package/dist/integrations/pi/engine/command-dispatch.d.ts +13 -0
  290. package/dist/integrations/pi/engine/command-dispatch.js +57 -0
  291. package/dist/integrations/pi/engine/host.js +2 -2
  292. package/dist/integrations/pi/engine/offline-settings-port.d.ts +23 -0
  293. package/dist/integrations/pi/engine/offline-settings-port.js +53 -0
  294. package/dist/integrations/pi/engine/pi-settings-metadata.json +14 -2
  295. package/dist/integrations/pi/engine/ports.d.ts +56 -0
  296. package/dist/integrations/pi/engine/ports.js +93 -0
  297. package/dist/integrations/pi/engine/prompt-suggestions.d.ts +1 -0
  298. package/dist/integrations/pi/engine/prompt-suggestions.js +40 -0
  299. package/dist/integrations/pi/engine/resources/changelog.json +4 -4
  300. package/dist/integrations/pi/engine/runtime-integration.js +102 -29
  301. package/dist/integrations/pi/engine/session-runtime.d.ts +0 -6
  302. package/dist/integrations/pi/engine/session-runtime.js +13 -5
  303. package/dist/integrations/pi/engine/session-selection.d.ts +3 -0
  304. package/dist/integrations/pi/engine/session-selection.js +45 -9
  305. package/dist/integrations/pi/engine/settings-bridge.d.ts +5 -0
  306. package/dist/integrations/pi/engine/settings-bridge.js +15 -0
  307. package/dist/integrations/pi/engine/settings-port.js +11 -15
  308. package/dist/integrations/pi/engine/view-state.d.ts +42 -0
  309. package/dist/integrations/pi/engine/view-state.js +126 -0
  310. package/dist/integrations/pi/engine/workflow-contexts.js +10 -1
  311. package/dist/integrations/pi/engine/workflow-runner.js +73 -4
  312. package/dist/integrations/pi/engine/workflow-support.d.ts +12 -0
  313. package/dist/integrations/pi/engine/workflow-support.js +36 -0
  314. package/dist/integrations/pi/engine/workflows.d.ts +3 -1
  315. package/dist/integrations/pi/engine/workflows.js +1 -0
  316. package/dist/integrations/pi/startup-public.js +257 -310
  317. package/dist/integrations/pi/startup-public.manifest.json +564 -440
  318. package/dist/integrations/pi/tui-runtime/adapter.d.ts +6 -0
  319. package/dist/integrations/pi/tui-runtime/adapter.js +32 -1
  320. package/dist/integrations/pi/tui-runtime/contracts.d.ts +5 -0
  321. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +12 -1
  322. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +31 -2
  323. package/dist/native/darwin-arm64/manifest.json +10 -7
  324. package/dist/native/darwin-arm64/process-guardian.node +0 -0
  325. package/dist/native/darwin-arm64/terminal-host-THIRD-PARTY-NOTICES.txt +10500 -0
  326. package/dist/native/darwin-arm64/terminal-host.manifest.json +46 -0
  327. package/dist/native/darwin-arm64/terminal-host.node +0 -0
  328. package/dist/native/darwin-x64/manifest.json +23 -0
  329. package/dist/native/darwin-x64/process-guardian.node +0 -0
  330. package/dist/native/darwin-x64/terminal-host-THIRD-PARTY-NOTICES.txt +10737 -0
  331. package/dist/native/darwin-x64/terminal-host.manifest.json +46 -0
  332. package/dist/native/darwin-x64/terminal-host.node +0 -0
  333. package/dist/native/linux-x64/manifest.json +10 -7
  334. package/dist/native/linux-x64/process-guardian.node +0 -0
  335. package/dist/native/linux-x64/terminal-host-THIRD-PARTY-NOTICES.txt +11226 -0
  336. package/dist/native/linux-x64/terminal-host.manifest.json +46 -0
  337. package/dist/native/linux-x64/terminal-host.node +0 -0
  338. package/dist/native/win32-x64/manifest.json +10 -7
  339. package/dist/native/win32-x64/process-guardian.node +0 -0
  340. package/dist/native/win32-x64/terminal-host-THIRD-PARTY-NOTICES.txt +10757 -0
  341. package/dist/native/win32-x64/terminal-host.manifest.json +46 -0
  342. package/dist/native/win32-x64/terminal-host.node +0 -0
  343. package/dist/product-identity.d.ts +3 -3
  344. package/dist/product-identity.js +4 -4
  345. package/dist/product-identity.json +16 -2
  346. package/dist/runtime-payload-inventory.json +6330 -6677
  347. package/dist/ui/apps/host.d.ts +2 -0
  348. package/dist/ui/apps/host.js +7 -1
  349. package/dist/ui/components/dialog-panel.js +35 -30
  350. package/dist/ui/components/index.d.ts +2 -2
  351. package/dist/ui/components/index.js +1 -1
  352. package/dist/ui/components/line-input.d.ts +4 -1
  353. package/dist/ui/components/line-input.js +3 -1
  354. package/dist/ui/components/prompt-input.d.ts +11 -8
  355. package/dist/ui/components/prompt-input.js +15 -13
  356. package/dist/ui/components/selection-copy.d.ts +2 -0
  357. package/dist/ui/components/selection-copy.js +13 -0
  358. package/dist/ui/components/spans.js +2 -2
  359. package/dist/ui/components/submitted-prompt.d.ts +9 -6
  360. package/dist/ui/components/submitted-prompt.js +20 -12
  361. package/dist/ui/components/surface.js +4 -2
  362. package/dist/ui/components/text.d.ts +3 -6
  363. package/dist/ui/components/text.js +6 -8
  364. package/dist/ui/components/transcript-viewport.d.ts +9 -2
  365. package/dist/ui/components/transcript-viewport.js +176 -55
  366. package/dist/ui/components/value-menu.d.ts +6 -3
  367. package/dist/ui/components/value-menu.js +6 -5
  368. package/dist/ui/settings/declarations.d.ts +90 -16
  369. package/dist/ui/settings/declarations.js +67 -14
  370. package/dist/ui/settings/early-accent.d.ts +81 -0
  371. package/dist/ui/settings/early-accent.js +50 -0
  372. package/dist/ui/settings/index.d.ts +4 -2
  373. package/dist/ui/settings/index.js +2 -1
  374. package/dist/ui/settings/manager.d.ts +16 -3
  375. package/dist/ui/settings/manager.js +122 -33
  376. package/dist/ui/settings/migrations.d.ts +6 -0
  377. package/dist/ui/settings/migrations.js +73 -0
  378. package/dist/ui/settings/profile-document.d.ts +26 -0
  379. package/dist/ui/settings/profile-document.js +164 -0
  380. package/dist/ui/settings/progress-palette.generated.d.ts +139 -0
  381. package/dist/ui/settings/progress-palette.generated.js +139 -0
  382. package/dist/ui/settings/sections.d.ts +4 -0
  383. package/dist/ui/settings/sections.js +9 -3
  384. package/docs/architecture/boundaries.md +25 -10
  385. package/docs/architecture/evidence/resident-tabs/linux-x64.md +37 -0
  386. package/docs/architecture/evidence/resident-tabs/macos-arm64.md +36 -0
  387. package/docs/architecture/evidence/resident-tabs/macos-x64.md +35 -0
  388. package/docs/architecture/evidence/resident-tabs/windows-x64.md +36 -0
  389. package/docs/architecture/evidence/terminal-host-spike/manual-one-pane-terminal-host.md +70 -0
  390. package/docs/architecture/evidence/terminal-host-spike/manual-two-by-two-basic-terminal-host.md +32 -0
  391. package/docs/architecture/evidence/terminal-host-spike/milestone-baseline.json +115 -0
  392. package/docs/architecture/evidence/terminal-host-spike/owned-ui-foundation-prerequisite.json +48 -0
  393. package/docs/architecture/evidence/terminal-host-spike/terminal-host-provenance.json +125 -0
  394. package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-1.json +56 -0
  395. package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-3.json +174 -0
  396. package/docs/architecture/evidence/terminal-host-spike/terminal-spike-acceptance-record.json +18 -0
  397. package/docs/architecture/internal-naming.md +3 -1
  398. package/docs/architecture/process-guardian-provenance.md +18 -10
  399. package/docs/architecture/project-structure.md +8 -0
  400. package/docs/architecture/resident-tabs-requirements.md +18 -0
  401. package/docs/architecture/resident-tabs.md +648 -0
  402. package/docs/architecture/response-copy-delivery.md +1 -1
  403. package/docs/architecture/terminal-host-proof-gate.md +3 -1
  404. package/docs/architecture/terminal-host-provenance.md +16 -4
  405. package/docs/architecture/terminal-host-spike-evidence.md +1 -1
  406. package/docs/architecture/tool-image-presentation.md +2 -1
  407. package/docs/architecture/toolchain.md +11 -9
  408. package/docs/ci-release-runbook.md +14 -7
  409. package/docs/features/launch-profiles.md +11 -8
  410. package/docs/features/prompt-history.md +41 -20
  411. package/docs/manual-resident-tabs-acceptance.md +51 -0
  412. package/docs/openspec-archive-automation.md +49 -22
  413. package/docs/releases/0.2.6.md +44 -0
  414. package/docs/validation.md +49 -9
  415. package/package.json +19 -6
  416. package/dist/foundation/process-containment/darwin-process-inspector.d.ts +0 -5
  417. package/dist/foundation/process-containment/darwin-process-inspector.js +0 -7
  418. package/dist/foundation/process-containment/native-guardian-containment.js +0 -152
  419. package/dist/foundation/process-containment/windows-process-inspector.d.ts +0 -19
  420. package/dist/foundation/process-containment/windows-process-inspector.js +0 -56
  421. package/dist/native/darwin-arm64/process-guardian +0 -0
  422. package/dist/native/linux-x64/process-guardian +0 -0
  423. package/dist/native/win32-x64/process-guardian.exe +0 -0
@@ -7,23 +7,24 @@ Every interactive command uses this profile-neutral lifecycle path:
7
7
  ```text
8
8
  mutable a1 entry
9
9
  -> verified immutable release
10
- -> Node launch guardian and authenticated launch-instance registration
11
- -> native process guardian and per-instance containment
12
- -> profile-aware owned-UI runtime selection
10
+ -> Node launch guardian loading the verified process-guardian addon
11
+ -> addon-held per-instance containment and profile-aware runtime selection
13
12
  -> owned Pi-backed composition, with A1 surfaces enabled only for bare a1
14
13
  ```
15
14
 
16
15
  Launch-instance ownership is plural. The supervisor tracks any number of independently authenticated `a1` and `a1 pi` instances and never uses one product-wide foreground mutex. Closing one instance closes only its verified process tree. Persisted rows alone do not prove liveness, and uncertainty never authorizes terminating an unrelated process.
17
16
 
18
- Neither guardian reads ordinary terminal input, parses or relays runtime output, renders cells, infers frames, synthesizes terminal responses, or emits display control. Both profiles use the same owned rendering and input pipeline. Bare `a1` exposes A1-owned surfaces; `a1 pi` withholds those surfaces and uses Pi's ordinary profile root. The private guardian boundary carries only bounded identity, readiness, stop, and outcome data.
17
+ The launch guardian and process-guardian addon do not read ordinary terminal input, parse or relay runtime output, render cells, infer frames, or synthesize terminal responses. Their only terminal output is the bounded reset and sanitized armed exit notice after runtime failure. Both profiles use the same owned rendering and input pipeline. Bare `a1` exposes A1-owned surfaces; `a1 pi` withholds those surfaces and uses Pi's ordinary profile root. The containment boundary carries only bounded identity, readiness, stop, and outcome data.
18
+
19
+ A detached Node exit watcher sits outside the launch guardian's containment. It waits for the guardian, performs bounded Unix process-group cleanup, and may deliver the same claimed exit notice. A kill aimed at every Node runtime also kills this watcher; the accepted loss of the notice and Unix fallback cleanup in that case is documented in [`process-guardian-provenance.md`](process-guardian-provenance.md), and A1 starts no native executable to close that gap.
19
20
 
20
21
  The owned Pi-backed surface is not an arbitrary-CLI terminal multiplexer. A feature that requires resident arbitrary CLI sessions, internal tabs, terminal-state reconnection, or A1-authoritative scrollback must introduce and certify the separate composed-terminal authority rather than reactivating the retired transparent attachment path.
21
22
 
22
23
  ## Current module responsibilities
23
24
 
24
25
  - `lifecycle`: dependency-free launch-instance, process identity, state transition, outcome, and control-command contracts.
25
- - `process-containment`: artifact verification, OS-verifiable process inspection, containment adapters, and bounded graceful/forced cleanup; it owns no terminal content.
26
- - `launch-guardian`: one profile-neutral instance coordinator above runtime selection.
26
+ - `process-containment`: process-guardian addon loading and artifact verification, OS-verifiable process inspection, in-process containment adapters, and bounded graceful/forced cleanup; it owns no terminal content.
27
+ - `launch-guardian`: one profile-neutral Node instance coordinator above runtime selection, plus the fixed Node exit-watcher entry used only for owner-death cleanup and the armed notice.
27
28
  - `protocol`: additive control handshake, bounded line framing, authenticated launch-instance commands, typed stop intent, snapshots, and command results.
28
29
  - `launch`: resolves the effective profile home and the history-specific data root. Composition uses its public path resolver to select `~/.a1/data` for history unless `A1_DATA_DIR` is explicit; global control/release/runtime/cache paths stay unchanged.
29
30
  - `prompt-history`: narrowly typed user-input retention in separate profile-owned databases under `~/.a1/data/history` (or `<A1_DATA_DIR>/history`), with bounded worker queues and no supervisor/control-store payloads. It receives a resolved root rather than importing launch-feature internals; it never probes, imports, or deletes the former platform-default history. The editor's owned history state machine remains inside the Pi component boundary; the session UI only coordinates snapshots and classified submissions.
@@ -32,17 +33,31 @@ The owned Pi-backed surface is not an arbitrary-CLI terminal multiplexer. A feat
32
33
  - `supervisor`: endpoint identity, plural cohort ownership, per-instance reconciliation, and aggregate release shutdown coordination. It owns no terminal surface.
33
34
  - `pi-engine-adapter`, `pi-component-adapter`, and `pi-tui-runtime-adapter`: isolate pinned Pi engine and presentation knowledge behind neutral contracts; product features do not import them directly. Inside the engine adapter, one process-level engine host owns what is process-wide (the HTTP dispatcher, the theme singletons, the one-time changelog and package-update announcements, the startup trace) and is the only place sessions are created, so every session id is unique per process.
34
35
  - `session-shell` (`src/app/session-shell`): the application layer that composes the feature owners, the UI foundations, and the three Pi adapters into the interactive session; only composition imports it. Its render root assembles semantic document and dock rows, while its focused viewport controller owns follow state, pointer routing, selection, and interaction timers. Owned-app route lifecycle belongs to the neutral `ui-apps` owner and is only hosted by the session shell.
35
- - release/update/bootstrap: package-derived immutable release identity, process-guardian integrity, cohort selection, durable update transactions, rollback, and dependency-light command entry. After an unsuccessful bare-A1 child exit, the bootstrap restores owned terminal modes; neither guardian emits terminal controls.
36
+ - release/update/bootstrap: package-derived immutable release identity, native-addon integrity, cohort selection, durable update transactions, rollback, and dependency-light command entry. Before certified fast-path reuse it checks every recorded product file is present; a missing or altered file is replaced only from the matching installed package when its size and digest reproduce the approved release, followed by full verification. Dependency layers keep their separate verification and repair policy. After an unsuccessful bare-A1 child exit, the launch owner or its Node watcher restores owned terminal modes and emits only the armed bounded notice.
36
37
  - `terminal-cleanup`: bounded, idempotent emergency restoration and fatal-exit diagnostics for an explicitly owned terminal. It does not inspect commands, relay terminal input/output, or emulate terminal state. The owned UI installs its fatal boundary before terminal activation; packaged bootstrap and checkout launch provide the surviving-owner fallback. Fatal records retain at most ten 16 KiB records with trusted classifications and code locations, never prompts, attachments, raw input, credentials, or arbitrary exception messages.
37
38
 
38
39
  ## Dependency direction
39
40
 
40
41
  Terminal boundaries are application-agnostic. They may not select behavior from executable names, arguments, CLI-specific environment variables, or visible text. Production code may not import private Pi distribution APIs or use a Pi-specific terminal workaround.
41
42
 
42
- The JavaScript product path has no PTY or terminal-emulator dependency. Reintroducing `node-pty`, xterm state, custom input encoders, mode/query trackers, cadence-derived frame inference, or renderer/projection code requires an approved capability change and cannot become a second terminal authority. The Rust process guardian is a lifecycle-only native boundary and is independent from the held composed terminal host.
43
+ The JavaScript product path has no PTY or terminal-emulator dependency. Reintroducing `node-pty`, xterm state, custom input encoders, mode/query trackers, cadence-derived frame inference, or renderer/projection code requires an approved capability change and cannot become a second terminal authority. The Rust process guardian is a lifecycle-only Node-API addon loaded by the launch guardian and is independent from the terminal-host Node-API addon. No A1-built executable is part of the production process surface.
43
44
 
44
45
  `scripts/governance/check-architecture.mjs` enforces the structural parts of these boundaries. Cross-cutting rationale belongs here; implementation history belongs in Git and archived OpenSpec changes.
45
46
 
47
+ ## Session shell composition
48
+
49
+ The session presenter (`src/app/session-shell/session-shell.ts`) coordinates; it does not own per-concern state. Each concern implements `SessionConcern` (`session-concern.ts`): it resets its own state in `onSessionReplaced` and releases it in `dispose`, and the presenter lists its concerns once, in reset order, in `#createConcerns`. New submission, routing, dialog, login, or resident-tab behavior goes into the concern that owns it, or a new concern added to that list. The render root (`session-shell-root.ts`) likewise picks one `ShellLayout` at construction and delegates transcript caching to `TranscriptDocument`, dock chrome to `DockChrome`, workflow output to `WorkflowOutput`, extension surfaces to `ExtensionSurface`, and the dock's input surface to `InputSurfaceSwitch`. The engine adapter serves the shell through the ports built in `src/integrations/pi/engine/ports.ts`, and the composition root delegates runtime claims, the startup release note, and the resident-tab bridge to their own modules under `src/composition/`.
50
+
51
+ ## Unit size ratchet
52
+
53
+ Module boundaries do not stop one class or function inside a module from absorbing every feature. The architecture gate therefore measures every production TypeScript class under `src/` (methods and fields) and every TypeScript or Rust function under `src/` and `native/<crate>/src/` (inclusive lines), excluding vendored sources and Rust `#[cfg(test)]` code. A unit with more than 20 methods, 15 fields, or 100 function lines must be recorded in `config/baselines/size-ratchet.json`, and its recorded counts can only shrink:
54
+
55
+ - A recorded count that grows fails the gate. Split the unit instead. If growth is truly unavoidable, raise the entry by hand in the same pull request and say why in its description, so the growth is reviewed rather than silent.
56
+ - An unrecorded unit over a threshold fails the gate; split it before it lands.
57
+ - A count that shrinks, or a unit that falls below every threshold, fails until `node scripts/governance/update-size-ratchet.mjs` lowers or removes the entry. That script never adds or raises an entry; `--check` reports without writing.
58
+
59
+ The measurement in `scripts/governance/size-ratchet-policy.mjs` masks strings, comments, and regular expressions and counts braces, so it needs no build; a file whose braces do not balance is reported rather than mismeasured. Keys are `<path>::<Class>`, `<path>::<Class>.<method>`, or `<path>::<Type>::<fn>`, so moving or renaming a unit means moving its entry.
60
+
46
61
  ## Multi-session limits of the pinned engine
47
62
 
48
63
  The engine host removes A1's own obstacles to several Pi sessions in one process, but three remain in the pinned Pi SDK and must be planned around, not discovered:
@@ -53,7 +68,7 @@ The engine host removes A1's own obstacles to several Pi sessions in one process
53
68
 
54
69
  ## Planned multi-agent boundaries
55
70
 
56
- The multi-agent workspace feature, its dependency-free contracts, the structured-agent runtime, and the Node side of the terminal-host protocol were removed from `develop` while the multi-agent plan is on hold; their last state is preserved on the `archive/multi-agent-workspace` branch. A future implementation starts from the current codebase rather than from that copy. The boundary rules below remain the design intent for that work.
71
+ The multi-agent workspace feature, its dependency-free contracts, the structured-agent runtime, and the Node side of the terminal-host protocol were removed from `develop`; their last state is commit `243eb7a7` in `develop` history. That structured-workspace plan was retired on 2026-10-10 in favor of `add-persistent-multi-agent-tabs`, where every tab runs the complete A1 UI under the native terminal host. A future implementation starts from the current codebase rather than from that copy. The boundary rules below remain the design intent for that work.
57
72
 
58
73
  The workspace feature may depend on workspace contracts and the structured/terminal-host foundations. Those foundations may depend only on dependency-free workspace contracts, never on product features, launch profiles, or each other unless an approved capability adds the dependency. Launch profiles do not import, initialize, launch, or connect to composed terminal-host infrastructure.
59
74
 
@@ -61,7 +76,7 @@ Default future agents and composed hosts are children of the originating bare-`a
61
76
 
62
77
  The structured-agent runtime uses a versioned adapter hello and feature negotiation before readiness. Runtime state must use typed events, commands, snapshots, cancellation, and recovery evidence. It must not infer structured semantics from terminal text, terminal timing, or visual content and must not own pseudoterminals or renderer state.
63
78
 
64
- The terminal-host protocol boundary may carry only bounded typed control and semantic lifecycle messages. Pseudoterminal bytes, per-event child input, rendered cells, cell grids, framebuffers, and screen buffers are forbidden across it. Console host executables and packaging live outside the current JavaScript production owners and remain unavailable until the isolated in-terminal proof passes; replacing them with a lightweight custom parser/renderer is forbidden. A desktop-native window and GPU application shell are postponed and are not required for the terminal-hosted product.
79
+ The JavaScript-to-native terminal-host boundary carries only the fixed role arguments, host command, return code, session-lock calls, and typed semantic bridge data. `host-entry.js` does not touch Node's stdin/stdout streams; pseudoterminal bytes, per-event child input, rendered cells, cell grids, framebuffers, and screen buffers remain inside the addon's native roles and their bounded native IPC. The verified addon and fixed entry are the packaged production host; no console host executable exists. Replacing libghostty-vt with a lightweight custom parser/renderer is forbidden. A desktop-native window and GPU application shell are postponed and are not required for the terminal-hosted product.
65
80
 
66
81
  Resource queues, retained state, evidence, logs, and diagnostics follow `docs/architecture/resource-and-data-policy.md`. Terminal content and authentication material are never control-store records. Unknown data is potentially sensitive by default and must be rejected or redacted before persistence.
67
82
 
@@ -0,0 +1,37 @@
1
+ # Resident tabs acceptance: Linux x64
2
+
3
+ State: CI-verified
4
+
5
+ Physical acceptance against a published candidate package is pending; the operator runs [the checklist](../../../manual-resident-tabs-acceptance.md) and fills in this record. Until every item passes, resident tabs on this platform are CI-verified, not certified.
6
+
7
+ | Field | Value |
8
+ |---|---|
9
+ | Package version | pending (first published candidate carrying the terminal host) |
10
+ | terminal-host SHA-256 | pending (from that package's `terminal-host.manifest.json`) |
11
+ | OS build | pending |
12
+ | Terminal | pending |
13
+ | Operator or worker | pending |
14
+ | Date | pending |
15
+
16
+ ## Automated evidence
17
+
18
+ - Pull-request `terminal-host` lane on `ubuntu-24.04`: native unit and role-integration suites, every named crash point recovering to a clean start, the 10,000-schedule simulation corpus, `a1 tabs` maintenance end to end, and the release build of the terminal host with its manifest, session lock, and notices.
19
+ - Pull-request `resident-chaos` lane on `ubuntu-24.04`: bounded randomized kills of servers, holders, and agents against the release-built host, with no duplicate tabs or holders and no orphaned processes.
20
+ - Publication `terminal_hosts` job on `ubuntu-24.04`: the release artifact is rebuilt, its `--version` identity checked, and packing refuses a missing or altered artifact.
21
+ - Bounded fuzzing of every decoder and parser runs on this lane; it proves parser robustness, not platform behavior.
22
+
23
+ ## Physical verdicts
24
+
25
+ | # | Item | Verdict | Notes |
26
+ |---|---|---|---|
27
+ | 1 | Terminal close mid-turn | pending | |
28
+ | 2 | SSH or remote-session loss | pending | |
29
+ | 3 | Forced attach-client kill | pending | |
30
+ | 4 | Reattach fidelity | pending | |
31
+ | 5 | Input and render smoothness | pending | |
32
+ | 6 | Extension text UI | pending | |
33
+ | 7 | Two clients and controller transfer | pending | |
34
+ | 8 | Server, holder, and child failure | pending | |
35
+ | 9 | Sensitive-data separation | pending | |
36
+ | 10 | Conflict-safe direct rollback | pending | |
37
+ | 11 | Logout (Linux) | pending | |
@@ -0,0 +1,36 @@
1
+ # Resident tabs acceptance: macOS arm64
2
+
3
+ State: CI-verified
4
+
5
+ Physical acceptance against a published candidate package is pending; the operator runs [the checklist](../../../manual-resident-tabs-acceptance.md) and fills in this record. Until every item passes, resident tabs on this platform are CI-verified, not certified.
6
+
7
+ | Field | Value |
8
+ |---|---|
9
+ | Package version | pending (first published candidate carrying the terminal host) |
10
+ | terminal-host SHA-256 | pending (from that package's `terminal-host.manifest.json`) |
11
+ | OS build | pending |
12
+ | Terminal | pending |
13
+ | Operator or worker | pending |
14
+ | Date | pending |
15
+
16
+ ## Automated evidence
17
+
18
+ - Pull-request `terminal-host` lane on `macos-15`: native unit and role-integration suites, every named crash point recovering to a clean start, the 10,000-schedule simulation corpus, `a1 tabs` maintenance end to end, and the release build of the terminal host with its manifest, session lock, and notices.
19
+ - Pull-request `resident-chaos` lane on `macos-15`: bounded randomized kills of servers, holders, and agents against the release-built host, with no duplicate tabs or holders and no orphaned processes.
20
+ - Publication `terminal_hosts` job on `macos-15`: the release artifact is rebuilt, its `--version` identity checked, and packing refuses a missing or altered artifact.
21
+
22
+ ## Physical verdicts
23
+
24
+ | # | Item | Verdict | Notes |
25
+ |---|---|---|---|
26
+ | 1 | Terminal close mid-turn | pending | |
27
+ | 2 | SSH or remote-session loss | pending | |
28
+ | 3 | Forced attach-client kill | pending | |
29
+ | 4 | Reattach fidelity | pending | |
30
+ | 5 | Input and render smoothness | pending | |
31
+ | 6 | Extension text UI | pending | |
32
+ | 7 | Two clients and controller transfer | pending | |
33
+ | 8 | Server, holder, and child failure | pending | |
34
+ | 9 | Sensitive-data separation | pending | |
35
+ | 10 | Conflict-safe direct rollback | pending | |
36
+ | 11 | Logout (Linux) | not applicable | Linux-only item. |
@@ -0,0 +1,35 @@
1
+ # Resident tabs acceptance: macOS x64
2
+
3
+ State: CI-verified
4
+
5
+ Physical acceptance against a published candidate package is pending; the operator runs [the checklist](../../../manual-resident-tabs-acceptance.md) and fills in this record. Until every item passes, resident tabs on this platform are CI-verified, not certified.
6
+
7
+ | Field | Value |
8
+ |---|---|
9
+ | Package version | pending (first published candidate carrying the terminal host) |
10
+ | terminal-host SHA-256 | pending (from that package's `terminal-host.manifest.json`) |
11
+ | OS build | pending |
12
+ | Terminal | pending |
13
+ | Operator or worker | pending |
14
+ | Date | pending |
15
+
16
+ ## Automated evidence
17
+
18
+ - Publication `terminal_hosts` and `guardians` jobs on `macos-15` (arm64): the release terminal host and process guardian are cross-compiled for Intel macOS with `--target x86_64-apple-darwin`, the host's `--version` identity is checked through Rosetta 2 when the runner can execute it (otherwise the manifest records a Mach-O architecture check), and packing refuses a missing or altered artifact. Before 2026-10-16 the same builds ran natively on `macos-15-intel`.
19
+ - Known gap: the pull-request `terminal-host` and `resident-chaos` suites run on macOS arm64 only, because modular validation outcomes are keyed by platform without architecture. Intel macOS has build and identity evidence but no automated behavior suite of its own.
20
+
21
+ ## Physical verdicts
22
+
23
+ | # | Item | Verdict | Notes |
24
+ |---|---|---|---|
25
+ | 1 | Terminal close mid-turn | pending | |
26
+ | 2 | SSH or remote-session loss | pending | |
27
+ | 3 | Forced attach-client kill | pending | |
28
+ | 4 | Reattach fidelity | pending | |
29
+ | 5 | Input and render smoothness | pending | |
30
+ | 6 | Extension text UI | pending | |
31
+ | 7 | Two clients and controller transfer | pending | |
32
+ | 8 | Server, holder, and child failure | pending | |
33
+ | 9 | Sensitive-data separation | pending | |
34
+ | 10 | Conflict-safe direct rollback | pending | |
35
+ | 11 | Logout (Linux) | not applicable | Linux-only item. |
@@ -0,0 +1,36 @@
1
+ # Resident tabs acceptance: Windows x64
2
+
3
+ State: CI-verified
4
+
5
+ Physical acceptance against a published candidate package is pending; the operator runs [the checklist](../../../manual-resident-tabs-acceptance.md) and fills in this record. Until every item passes, resident tabs on this platform are CI-verified, not certified.
6
+
7
+ | Field | Value |
8
+ |---|---|
9
+ | Package version | pending (first published candidate carrying the terminal host) |
10
+ | terminal-host SHA-256 | pending (from that package's `terminal-host.manifest.json`) |
11
+ | OS build | pending |
12
+ | Terminal | pending |
13
+ | Operator or worker | pending |
14
+ | Date | pending |
15
+
16
+ ## Automated evidence
17
+
18
+ - Pull-request `terminal-host` lane on `windows-2025`: native unit and role-integration suites, every named crash point recovering to a clean start, the 10,000-schedule simulation corpus, `a1 tabs` maintenance end to end, and the release build of the terminal host with its manifest, session lock, and notices.
19
+ - Pull-request `resident-chaos` lane on `windows-2025`: bounded randomized kills of servers, holders, and agents against the release-built host, with no duplicate tabs or holders and no orphaned processes.
20
+ - Publication `terminal_hosts` job on `windows-2025`: the release artifact is rebuilt, its `--version` identity checked, and packing refuses a missing or altered artifact.
21
+
22
+ ## Physical verdicts
23
+
24
+ | # | Item | Verdict | Notes |
25
+ |---|---|---|---|
26
+ | 1 | Terminal close mid-turn | pending | Milestone 2 passed this item against development build `09028be5` (run 38159593912); that evidence is for that build, not this package. |
27
+ | 2 | SSH or remote-session loss | pending | Milestone 2 passed Windows OpenSSH loss against development build `09028be5`; it is not evidence for this package. |
28
+ | 3 | Forced attach-client kill | pending | |
29
+ | 4 | Reattach fidelity | pending | |
30
+ | 5 | Input and render smoothness | pending | |
31
+ | 6 | Extension text UI | pending | |
32
+ | 7 | Two clients and controller transfer | pending | |
33
+ | 8 | Server, holder, and child failure | pending | |
34
+ | 9 | Sensitive-data separation | pending | |
35
+ | 10 | Conflict-safe direct rollback | pending | |
36
+ | 11 | Logout (Linux) | not applicable | Linux-only item. |
@@ -0,0 +1,70 @@
1
+ # Manual one-pane terminal-host result
2
+
3
+ ## First manual artifact
4
+
5
+ - Artifact: `native/terminal-host/target/debug/addone-terminal-host.exe`
6
+ - SHA-256: `8d81db199687a9b8f195b4e40cb4b235de3ea00ffeb9cf55f9c64b1b3582cbba`
7
+ - Size: 2,214,912 bytes
8
+ - User-controlled run: one fullscreen `cmd.exe` pane inside Windows Terminal
9
+
10
+ The user reported that typing commands, cursor movement, colors, Windows Terminal resize, and fast output worked correctly.
11
+
12
+ The first artifact had one finding: `Ctrl+Shift+Q` did not exit.
13
+
14
+ ## Corrective artifact
15
+
16
+ - Corrective artifact SHA-256: `1025a0823114477b7ab311ef55098647fc337b98a9194cf389fc124a047360bf`
17
+ - Size: 2,227,712 bytes
18
+ - Correction: accept `Ctrl+Q` or `Ctrl+Shift+Q`, including uppercase key delivery.
19
+ - Correction: resolve Windows command shims through generic PATH/PATHEXT lookup; `pi` resolves to `C:\Users\tprokopiev\AppData\Roaming\npm\pi.cmd`.
20
+ - Automated non-interactive result after correction: build, version/provenance, terminal model, PTY start, process exit, and cleanup passed.
21
+
22
+ ## Follow-up artifact
23
+
24
+ - Artifact SHA-256: `b083af60eb8c4ca90438e4022c4e6d10b1410dda5554f554a8b814ba2cdee291`
25
+ - Size: 2,238,464 bytes
26
+ - Removed the host-owned quit shortcut so `Ctrl+Q` no longer intercepts input.
27
+ - Added generic calling-shell ancestry detection; this Git Bash environment resolves to `C:\Program Files\Git\usr\bin\bash.exe --login -i`.
28
+ - Disabled mouse capture by default so the outer terminal can provide native selection.
29
+ - Added `Shift+PageUp`/`Shift+PageDown` and `Shift+Up`/`Shift+Down` host scrollback.
30
+ - Non-interactive terminal model and PTY cleanup probes pass.
31
+
32
+ ## Theme-preservation artifact
33
+
34
+ - Artifact SHA-256: `9989373d1ee28ac42bf7a6b1be02d68b92c23b71f14336db493a93d76df48198`
35
+ - Size: 2,238,464 bytes
36
+ - The frame composer now emits the outer terminal's default foreground/background for unstyled cells instead of forcing black.
37
+ - The automated probe asserts the default-background sequence and passes.
38
+
39
+ ## Palette-preservation artifact
40
+
41
+ - Artifact SHA-256: `203219f0ee79f3086467dccb5479b5749b09f8bac79623f84682545d374ba2f4`
42
+ - Size: 2,238,976 bytes
43
+ - Palette-indexed child colors are emitted as palette indexes (`38;5;n` / `48;5;n`) instead of being converted through Ghostty's default RGB palette.
44
+ - The automated probe asserts default-background and palette-passthrough sequences and passes.
45
+
46
+ ## Scrollback artifact
47
+
48
+ - Artifact SHA-256: `6280786d713abe37eb979e309d27b7ed1eb1f1e1e76e485b0bc5f9c357391ca6`
49
+ - Size: 2,246,656 bytes
50
+ - Mouse capture is enabled so wheel events reach the host; wheel and Shift+navigation scroll the retained terminal viewport.
51
+ - Viewport changes mark the frame dirty before composition.
52
+ - The non-interactive probe verifies retained scrollback, viewport movement, and repainted earlier content.
53
+ - Use the outer terminal's modifier-based selection, usually Shift+drag in Windows Terminal, while pointer capture is active.
54
+
55
+ ## Selection and exit artifact
56
+
57
+ - Artifact SHA-256: `fc6d9d1ecbaae4718b850a42b5e6868758d1f4c8c8e1a7645237115d1f1d883c`
58
+ - Size: 2,266,624 bytes
59
+ - Plain left-drag selects terminal content with one uniform white background and black foreground; release emits an OSC 52 clipboard write.
60
+ - Double-click selects a word; triple-click selects a line.
61
+ - Ctrl+C clears an active host selection before reaching the child; without selection, interrupt keys remain child-owned.
62
+ - Mouse wheel scrolls the retained viewport. Home, End, PageUp, PageDown, and arrow keys remain child-owned; no host keyboard scroll binding is active.
63
+ - PTY output-channel closure exits the host when the child session ends.
64
+ - Non-interactive probes pass for terminal rendering, scrollback, selection, and PTY cleanup.
65
+
66
+ Manual retest should verify plain drag selection, double/triple click, mouse wheel, and Ctrl+C selection clearing. No terminal was launched or driven by automation on the active workstation.
67
+
68
+ ## User acceptance
69
+
70
+ The user manually confirmed that the vanilla-Pi terminal-host proof launches and works after the interaction corrections. The accepted one-pane pipeline includes theme/palette preservation, retained scrollback, mouse wheel scrolling, plain drag selection, word/line click selection, selection clearing with Ctrl+C, and child-owned interrupt behavior. Task 5.1 is accepted; the next gate is the 2×2 multi-pane proof.
@@ -0,0 +1,32 @@
1
+ # Manual 2×2 terminal-host basic result
2
+
3
+ ## Exact artifact
4
+
5
+ - Recorded at: `2026-08-14T16:13:20.217Z`
6
+ - Source commit: `aeb7421ff5cc82bc5da04cfb0d356e8f8041b6cb`
7
+ - Artifact: `native/terminal-host/target/debug/addone-terminal-host.exe`
8
+ - SHA-256: `896e1b5d2e2730dfd8e591fe3bd565a2aa283fb3ec6f64e8345745c6afcf024d`
9
+ - Size: 2,367,488 bytes
10
+ - Invocation: user-controlled `npm run proof:terminal-host`
11
+ - Surface: one existing outer terminal, one fixed tab, four independently PTY-backed Pi sessions
12
+
13
+ ## User-reported result
14
+
15
+ The user manually confirmed all of the following against the exact artifact:
16
+
17
+ - all four panes launched Pi;
18
+ - the four-pane presentation worked without observed flicker;
19
+ - pane focus and input routing worked;
20
+ - changing or clicking the focused pane preserved content in every pane after the repaint correction.
21
+
22
+ The user accepted this basic multi-pane proof result.
23
+
24
+ ## Explicit product disposition
25
+
26
+ The fixed 2×2 grid and dashed pane outlines are disposable proof scaffolding, not an accepted production layout or UI design. This result proves the native multi-pane pipeline only. It does not approve carrying the fixed geometry, border treatment, or proof interaction model into the product.
27
+
28
+ Production tabs and panes are expected later to use authoritative arbitrary layouts selected through the AddOne UI. The proof implementation may be removed or replaced after the exact-artifact 2×2 gate is finished; it must not become the default production workspace by inertia.
29
+
30
+ ## Gate scope
31
+
32
+ This record does not complete the formal tasks 5.3–5.6 acceptance gate. High-rate output, broader terminal modes and interactions, resize/terminal-size measurements, resource observations, abnormal exits, isolated-worker requirements, and the final stop/go decision remain separately required. No automated physical terminal control was performed on the active workstation.
@@ -0,0 +1,115 @@
1
+ {
2
+ "schema": "addone-multi-agent-milestone-baseline-v1",
3
+ "recordedAt": "2026-08-13T17:49:35.803Z",
4
+ "branch": "milestone/multi-agent-workspace",
5
+ "source": {
6
+ "commit": "8f4a45b907c8ccfca9b6fad52bd12c2bfe7b1172",
7
+ "tree": "f702a5cc6fba92a430d00634504039f0d8f4a304",
8
+ "developCommitAtBranchCreation": "8f4a45b907c8ccfca9b6fad52bd12c2bfe7b1172",
9
+ "originDevelopAtBranchCreation": "a526a63062b2f93db821c631548da885e20dc41d",
10
+ "tagAtCommit": null,
11
+ "cleanAtBranchCreation": true
12
+ },
13
+ "runtime": {
14
+ "platform": "win32",
15
+ "architecture": "x64",
16
+ "osRelease": "10.0.26200",
17
+ "node": "v24.16.0",
18
+ "npm": "11.13.0"
19
+ },
20
+ "package": {
21
+ "name": "@timurproko/addone",
22
+ "version": "0.1.5-dev.10",
23
+ "packageManager": "npm@11.13.0",
24
+ "nodeRange": ">=22.19.0 <25",
25
+ "lockfileVersion": 3,
26
+ "packageJsonSha256": "fb5966d03c9efb8d7aa726cc0582f34227aa525bf28baaa492c0a8af7fa0b617",
27
+ "packageLockSha256": "626b54ca5b5619c71a2dc7d667d49e4746bdea268be6fafa0635011f97824b80",
28
+ "localTarball": {
29
+ "filename": "timurproko-addone-0.1.5-dev.10.tgz",
30
+ "integrity": "sha512-7gLuq3Ec8uU76jXNWiBYUYMdK9O8roRROjs36xOnhJ+M9jboSRLdSBc0zQQXNqmsD6xa9b/87o/UqymmkbsFlg==",
31
+ "shasum": "370482e37ba171f7bd52f57eb6969c6c5940c2f4",
32
+ "sha256": "1046f005802bd1372ae232d5301d038511f7c9f072d1e0cb1a4ea1965b5f112f",
33
+ "size": 80121,
34
+ "unpackedSize": 370136,
35
+ "fileCount": 167,
36
+ "note": "Locally packed milestone source; it intentionally differs from the already-published dev.10 bytes because later documentation and update wording commits are present."
37
+ },
38
+ "registry": {
39
+ "latest": "0.1.4",
40
+ "next": "0.1.5-dev.10",
41
+ "nextIntegrity": "sha512-XjwhIsCbZjJbAwFQjWLnSsSS6Lb21Uls1MhkQUXOAiJh5Fg7IfQI4Ol4gMUGuzxSzOf38Cor+F+zB8nHLh79Dg==",
42
+ "nextShasum": "4af9a7697ad79209214889a8c56f3bb19228fb65"
43
+ }
44
+ },
45
+ "launchProfiles": {
46
+ "terminalCapability": "transparent",
47
+ "addone": {
48
+ "invocation": "a1",
49
+ "configurationRoot": "~/.a1/agent",
50
+ "projectTrust": "pi-default"
51
+ },
52
+ "pi": {
53
+ "invocation": "a1 pi",
54
+ "configurationRoot": "~/.pi/agent",
55
+ "environmentRule": "PI_CODING_AGENT_DIR removed",
56
+ "projectTrust": "pi-default"
57
+ },
58
+ "evidenceHashes": {
59
+ "documentationSha256": "0fcc0a7823dcdad2f00d6e2c82ba117d14b7cb2a2fcebfbb2615eafd94413003",
60
+ "contractsSha256": "bc63eeacdc65b89b0b4d84c2e25a4fb8f937d1864ab4275119a4a0aec707a38c",
61
+ "pathsSha256": "5a263fa07d3ccfd21a71721b43a99844d46f7cc15ed8f36caa556c1cc0cbbdfa",
62
+ "preparationSha256": "b5eb00f3c6ebbfda0dd9e8e793b6553b00720a4d24f24d5bcacf1d0f7183687d",
63
+ "isolationTestSha256": "9c72d63d2a4bcc143d73afbbe921821c3d813e10a4b0297288dff93bcb77d07e"
64
+ }
65
+ },
66
+ "gates": [
67
+ {
68
+ "command": "npm ci",
69
+ "passed": true,
70
+ "detail": "68 packages installed; 0 vulnerabilities"
71
+ },
72
+ {
73
+ "command": "npm run build",
74
+ "passed": true
75
+ },
76
+ {
77
+ "command": "npm run check",
78
+ "passed": true,
79
+ "detail": "typecheck, architecture, deprecated-dependency policy, 31 Vitest files/155 tests, and 1 release file/3 tests"
80
+ },
81
+ {
82
+ "command": "npm audit --audit-level=high --json",
83
+ "passed": true,
84
+ "detail": "0 vulnerabilities"
85
+ },
86
+ {
87
+ "command": "openspec validate --specs --strict --no-interactive",
88
+ "passed": true,
89
+ "detail": "7 main specifications"
90
+ },
91
+ {
92
+ "command": "openspec validate evolve-bare-a1-into-multi-agent-workspace --strict --no-interactive",
93
+ "passed": true
94
+ },
95
+ {
96
+ "command": "npm pack --ignore-scripts --json",
97
+ "passed": true,
98
+ "detail": "exact local tarball metadata and SHA-256 recorded"
99
+ }
100
+ ],
101
+ "releaseVerdict": {
102
+ "schema": "addone-development-preview-platform-verdict-v2",
103
+ "passed": true,
104
+ "certificationStatus": "uncertified-development-preview",
105
+ "terminalCapability": "transparent",
106
+ "physicalHostCertification": "deferred",
107
+ "crossPlatformCertification": "deferred",
108
+ "stableReleaseEligible": false
109
+ },
110
+ "desktopAutomation": "not-run",
111
+ "terminalApplicationsLaunched": false,
112
+ "physicalCertification": "deferred",
113
+ "stableReleaseEligible": false,
114
+ "passed": true
115
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "schema": "addone-multi-agent-owned-ui-prerequisite-v1",
3
+ "milestone": "evolve-bare-a1-into-multi-agent-workspace",
4
+ "prerequisiteChange": "build-owned-pi-ui-foundation",
5
+ "recordedAt": "2026-08-17T12:31:58Z",
6
+ "result": "satisfied",
7
+ "acceptedBaselineCommit": "084d0fb7e4004bc4b83a0b28c8aaea736b558d44",
8
+ "hardenedFoundationCommit": "efb244472fa4e6499300533a3f535fe60ab7f948",
9
+ "publishedSourceCommit": "d407ed017a6f9216a9a0c62d85d7cd44803d4d2c",
10
+ "publication": {
11
+ "package": "@timurproko/addone@0.1.5-dev.11",
12
+ "tag": "next",
13
+ "workflowRun": "https://github.com/timurproko/addone/actions/runs/32030101549",
14
+ "integrity": "sha512-05GQdg7ZfvcEpI6wAvebyx/06JPnV5AUtSbptx7P3mzT28iU4yurP87uKIKsvpNwPzjMsr8k5RfiAeEyq/GfpQ==",
15
+ "latestPreserved": "0.1.4"
16
+ },
17
+ "acceptance": {
18
+ "sourcePortCoverage": "109 records and 29 behaviors; zero pending or stale entries",
19
+ "modalCoverage": "47 nodes, 111 transitions, and 36 settings instances",
20
+ "terminalParity": "54 checkpoints with zero differences",
21
+ "extensionBoundary": "validated public ExtensionUIContext translated through AddOne-owned contracts",
22
+ "zeroDebtGate": "passed",
23
+ "manualBaseAcceptance": "passed",
24
+ "prohibitedRuntimeOrPackagePatches": 0
25
+ },
26
+ "compositionBoundary": {
27
+ "ownedContractsComposableForStructuredTabs": true,
28
+ "terminalHostInitializationRequired": false,
29
+ "ptyCreationRequired": false,
30
+ "interactiveModeMutationRequired": false,
31
+ "deepPiImportsRequired": false
32
+ },
33
+ "milestoneAuthorization": {
34
+ "task5_4OwnedUiPrerequisite": "complete",
35
+ "structuredTabsMayBeginAtTask5_5": true,
36
+ "structuredTabsStartedByThisRecord": false,
37
+ "section6MayBegin": false,
38
+ "section6Blocker": "Section 6 additionally requires terminal-host proof acceptance; this record satisfies only the owned-UI prerequisite.",
39
+ "composedTerminalWorkAuthorized": false
40
+ },
41
+ "evidence": [
42
+ "evidence/owned-pi-ui-foundation/automated-evidence-7.35-zero-debt-final-gates.json",
43
+ "evidence/owned-pi-ui-foundation/zero-debt-architecture-audit.md",
44
+ "evidence/owned-pi-ui-foundation/manual-acceptance-pi-0.84.2-base-084d0fb.json",
45
+ "evidence/owned-pi-ui-foundation/owned-ui-shell-composability.json",
46
+ "evidence/owned-pi-ui-foundation/automated-evidence-8.5-next-publication.json"
47
+ ]
48
+ }
@@ -0,0 +1,125 @@
1
+ {
2
+ "schema": "a1-terminal-host-provenance-v1",
3
+ "recordedAt": "2026-08-20T09:25:48.307Z",
4
+ "change": "evolve-bare-a1-into-multi-agent-workspace",
5
+ "hostMode": "console-inside-existing-terminal",
6
+ "desktopApplicationRequired": false,
7
+ "sources": [
8
+ {
9
+ "name": "libghostty-vt",
10
+ "repository": "https://github.com/ghostty-org/ghostty",
11
+ "commit": "c5a21edfcbc2d5b46540ad91b7980aca31f5f1f3",
12
+ "committedAt": "2026-07-14T20:12:12-07:00",
13
+ "role": "terminal parsing, retained state, and input semantics",
14
+ "license": "MIT",
15
+ "licenseNotice": "Copyright (c) 2024 Mitchell Hashimoto, Ghostty contributors",
16
+ "licenseSha256": "3129de97bc7769d683e52ce02cb4eaecd2b0aab144b09d6325a1b135bdc87cc0",
17
+ "cleanSourceTree": true,
18
+ "licenseVerification": "verified-local-license-file"
19
+ },
20
+ {
21
+ "name": "portable-pty",
22
+ "version": "0.9.0",
23
+ "role": "ConPTY and Unix PTY/process ownership",
24
+ "license": "MIT",
25
+ "licenseNotice": "Copyright (c) 2018 Wez Furlong",
26
+ "licenseSha256": "c06f48b2acbbb4bb88345225c6d85264773528fe9fc99241cd255a7e32be632e",
27
+ "cleanSourceTree": true,
28
+ "licenseVerification": "verified-local-license-file"
29
+ },
30
+ {
31
+ "name": "crossterm",
32
+ "version": "0.29.0",
33
+ "registryChecksum": "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b",
34
+ "role": "outer-terminal raw mode and host input events",
35
+ "license": "MIT",
36
+ "cleanSourceTree": true,
37
+ "licenseVerification": "declared-license-recorded; license notice must be vendored before packaging"
38
+ }
39
+ ],
40
+ "rendererPolicy": {
41
+ "initial": "A1-owned buffered frame composer",
42
+ "ratatui": "optional evaluation candidate, not selected by default"
43
+ },
44
+ "excludedStacks": [
45
+ "Ghostty desktop application",
46
+ "Winghostty Win32 runtime",
47
+ "OpenGL/WGL",
48
+ "Metal",
49
+ "GTK",
50
+ "AppKit",
51
+ "Herdr",
52
+ "Node terminal parser",
53
+ "Node terminal renderer"
54
+ ],
55
+ "patchPolicy": {
56
+ "default": "retain upstream behavior without local patches",
57
+ "requiredPatchFields": [
58
+ "source revision",
59
+ "target revision",
60
+ "reason",
61
+ "tests",
62
+ "upstream synchronization decision",
63
+ "license impact"
64
+ ],
65
+ "behavioralTerminalPatchesRequireSeparateReview": true
66
+ },
67
+ "buildPrerequisites": {
68
+ "operatingSystems": [
69
+ "windows-10",
70
+ "windows-11"
71
+ ],
72
+ "architectures": [
73
+ "x64",
74
+ "arm64"
75
+ ],
76
+ "language": "Rust",
77
+ "zig": ">=0.15.2 <0.16",
78
+ "cToolchain": "Visual Studio 2022 Build Tools/MSVC on Windows",
79
+ "terminal": "user-owned terminal emulator",
80
+ "isolatedPhysicalWorkerRequired": true,
81
+ "guiSdkRequired": false,
82
+ "openGlRequired": false,
83
+ "win32WindowRuntimeRequired": false,
84
+ "localProbe": {
85
+ "rustAvailable": true,
86
+ "rustVersion": "1.97.1",
87
+ "zigAvailable": true,
88
+ "zigVersion": "0.15.2",
89
+ "requiredZigAvailable": true,
90
+ "nativeBuildAttempted": true,
91
+ "reason": "Rust 1.97.1 and Zig 0.15.2 are available; the clean console-host build and non-interactive probe pass."
92
+ }
93
+ },
94
+ "artifactManifestRequirements": [
95
+ "artifactPath",
96
+ "sha256",
97
+ "sizeBytes",
98
+ "signatureStatus",
99
+ "buildTimestamp",
100
+ "a1Commit",
101
+ "a1ProtocolVersion",
102
+ "libghosttyVtCommit",
103
+ "ptyComponentVersion",
104
+ "hostInputComponentVersion",
105
+ "rendererComponentIdentity",
106
+ "retainedComponents",
107
+ "adaptedComponents",
108
+ "compilerVersions",
109
+ "targetTriple",
110
+ "licenseHashes",
111
+ "buildCommand",
112
+ "dependencyCacheProvenance",
113
+ "cleanSourceTree",
114
+ "evidenceSchema",
115
+ "physicalVerdictReference"
116
+ ],
117
+ "checks": {
118
+ "license": "passed",
119
+ "provenance": "passed",
120
+ "sourceTreeHygiene": "passed",
121
+ "binaryBuild": "passed",
122
+ "physicalAutomation": "not-run"
123
+ },
124
+ "passed": true
125
+ }