@timurproko/a1 0.1.8-dev.112 → 0.1.8-dev.122

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 (388) hide show
  1. package/README.md +1 -0
  2. package/bin/cli.js +7 -7
  3. package/bin/guardian.js +1 -1
  4. package/bin/supervisor.js +1 -1
  5. package/bin/ui.js +3 -3
  6. package/dist/{src/cli → cli}/packages.d.ts +1 -1
  7. package/dist/composition/agent-engine-bridge.d.ts +3 -0
  8. package/dist/composition/agent-engine-bridge.js +108 -0
  9. package/dist/composition/index.d.ts +3 -0
  10. package/dist/composition/index.js +3 -0
  11. package/dist/composition/owned-ui.d.ts +25 -0
  12. package/dist/composition/owned-ui.js +40 -0
  13. package/dist/composition/process.d.ts +16 -0
  14. package/dist/composition/process.js +45 -0
  15. package/dist/composition/settings-route-host.d.ts +8 -0
  16. package/dist/composition/settings-route-host.js +73 -0
  17. package/dist/{src/features → features}/owned-ui/customization.d.ts +1 -1
  18. package/dist/{src/features → features}/owned-ui/customization.js +1 -1
  19. package/dist/{src/features → features}/owned-ui/diagnostics.d.ts +1 -1
  20. package/dist/{src/features → features}/owned-ui/run.d.ts +2 -2
  21. package/dist/{src/features → features}/owned-ui/settings-app.d.ts +3 -3
  22. package/dist/{src/features → features}/owned-ui/settings-app.js +1 -1
  23. package/dist/{src/features → features}/workspace/capabilities.d.ts +1 -1
  24. package/dist/{src/features → features}/workspace/reducer.d.ts +1 -1
  25. package/dist/{src/features → features}/workspace/reducer.js +1 -1
  26. package/dist/{src/features → features}/workspace/router.d.ts +1 -1
  27. package/dist/{src/features → features}/workspace/store.d.ts +1 -1
  28. package/dist/{src/foundation → foundation}/launch-guardian/main.js +8 -2
  29. package/dist/foundation/lifecycle/paths.d.ts +28 -0
  30. package/dist/{src/foundation → foundation}/lifecycle/paths.js +21 -0
  31. package/dist/{src/foundation → foundation}/native-host-protocol/messages.d.ts +1 -1
  32. package/dist/{src/foundation → foundation}/native-host-protocol/messages.js +1 -1
  33. package/dist/{src/foundation → foundation}/release/bootstrap.js +42 -10
  34. package/dist/foundation/release/endpoints.d.ts +20 -0
  35. package/dist/foundation/release/endpoints.js +50 -0
  36. package/dist/{src/foundation → foundation}/release/index.d.ts +1 -0
  37. package/dist/{src/foundation → foundation}/release/index.js +1 -0
  38. package/dist/{src/foundation → foundation}/release/release-gc.d.ts +4 -1
  39. package/dist/{src/foundation → foundation}/release/release-gc.js +9 -1
  40. package/dist/{src/foundation → foundation}/release/update.d.ts +8 -0
  41. package/dist/{src/foundation → foundation}/release/update.js +60 -22
  42. package/dist/{src/foundation → foundation}/storage/control-store.d.ts +1 -1
  43. package/dist/{src/foundation → foundation}/storage/control-store.js +1 -1
  44. package/dist/{src/foundation → foundation}/structured-agent-runtime/backpressure.d.ts +1 -1
  45. package/dist/{src/foundation → foundation}/structured-agent-runtime/backpressure.js +1 -1
  46. package/dist/{src/foundation → foundation}/structured-agent-runtime/commands.d.ts +1 -1
  47. package/dist/{src/foundation → foundation}/structured-agent-runtime/commands.js +1 -1
  48. package/dist/{src/foundation → foundation}/structured-agent-runtime/handshake.d.ts +1 -1
  49. package/dist/{src/foundation → foundation}/structured-agent-runtime/handshake.js +1 -1
  50. package/dist/{src/foundation → foundation}/structured-agent-runtime/reconnection.d.ts +1 -1
  51. package/dist/{src/foundation → foundation}/structured-agent-runtime/reconnection.js +1 -1
  52. package/dist/{src/foundation → foundation}/structured-agent-runtime/state.d.ts +1 -1
  53. package/dist/{src/foundation → foundation}/structured-agent-runtime/state.js +1 -1
  54. package/dist/foundation/supervision/index.d.ts +3 -0
  55. package/dist/foundation/supervision/index.js +3 -0
  56. package/dist/{src/foundation → foundation}/supervision/main.js +11 -5
  57. package/dist/foundation/supervision/paths.d.ts +1 -0
  58. package/dist/foundation/supervision/paths.js +1 -0
  59. package/dist/{src/foundation → foundation}/supervision/server.d.ts +18 -1
  60. package/dist/{src/foundation → foundation}/supervision/server.js +52 -1
  61. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/components.d.ts +1 -1
  62. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/conformance.js +2 -2
  63. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-extension-ui.d.ts +1 -1
  64. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-footer-status.d.ts +1 -1
  65. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-presenters-transcript.d.ts +1 -1
  66. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-presenters-transcript.js +1 -1
  67. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-selectors-dialogs.d.ts +1 -1
  68. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-shared-facade.d.ts +1 -1
  69. package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-footer.d.ts +1 -1
  70. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/adapter.d.ts +2 -2
  71. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/adapter.js +59 -6
  72. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/conformance.js +2 -2
  73. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/model-auth-integration.d.ts +1 -1
  74. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/package-integration.d.ts +1 -1
  75. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/package-integration.js +1 -1
  76. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/resource-extension-integration.d.ts +1 -1
  77. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/session-integration.d.ts +1 -1
  78. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/session-integration.js +1 -1
  79. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/settings-integration.d.ts +1 -1
  80. package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflow-controllers.d.ts +1 -1
  81. package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/owned-ui}/route-host.d.ts +1 -1
  82. package/dist/{src/foundation/pi-owned-ui-integration/session-shell.d.ts → integrations/pi/owned-ui/session-shell-root.d.ts} +7 -46
  83. package/dist/integrations/pi/owned-ui/session-shell-root.js +722 -0
  84. package/dist/integrations/pi/owned-ui/session-shell.d.ts +46 -0
  85. package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/owned-ui}/session-shell.js +6 -720
  86. package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/presentation-adapter.d.ts +1 -1
  87. package/dist/native/darwin-arm64/manifest.json +1 -1
  88. package/dist/native/linux-x64/manifest.json +3 -3
  89. package/dist/native/linux-x64/process-guardian +0 -0
  90. package/dist/native/win32-x64/manifest.json +2 -2
  91. package/dist/native/win32-x64/process-guardian.exe +0 -0
  92. package/dist/{src/foundation/ui-apps → ui/apps}/contracts.d.ts +1 -1
  93. package/dist/{src/foundation/ui-apps → ui/apps}/host.d.ts +1 -1
  94. package/dist/{src/foundation/ui-apps → ui/apps}/host.js +1 -1
  95. package/dist/{src/foundation/owned-ui-settings → ui/settings}/session.d.ts +1 -1
  96. package/docs/architecture/boundaries.md +8 -8
  97. package/docs/architecture/project-structure.md +52 -29
  98. package/docs/architecture/toolchain.md +4 -4
  99. package/docs/ci-release-runbook.md +1 -1
  100. package/docs/features/launch-profiles.md +6 -8
  101. package/docs/manual-owned-ui-checkpoint.md +52 -0
  102. package/docs/manual-terminal-colour-check.md +1 -1
  103. package/package.json +23 -23
  104. package/dist/src/composition/index.d.ts +0 -48
  105. package/dist/src/composition/index.js +0 -258
  106. package/dist/src/foundation/lifecycle/paths.d.ts +0 -10
  107. package/dist/src/foundation/supervision/index.d.ts +0 -3
  108. package/dist/src/foundation/supervision/index.js +0 -3
  109. package/dist/src/foundation/supervision/paths.d.ts +0 -1
  110. package/dist/src/foundation/supervision/paths.js +0 -1
  111. package/docs/manual-transparent-checkpoint.md +0 -53
  112. /package/dist/{src/cli → cli}/capabilities.d.ts +0 -0
  113. /package/dist/{src/cli → cli}/capabilities.js +0 -0
  114. /package/dist/{src/cli → cli}/dispatch.d.ts +0 -0
  115. /package/dist/{src/cli → cli}/dispatch.js +0 -0
  116. /package/dist/{src/cli → cli}/index.d.ts +0 -0
  117. /package/dist/{src/cli → cli}/index.js +0 -0
  118. /package/dist/{src/cli → cli}/packages.js +0 -0
  119. /package/dist/{src/cli → cli}/version-stats.d.ts +0 -0
  120. /package/dist/{src/cli → cli}/version-stats.js +0 -0
  121. /package/dist/{src/cli → cli}/version.d.ts +0 -0
  122. /package/dist/{src/cli → cli}/version.js +0 -0
  123. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/capability-ports.d.ts +0 -0
  124. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/capability-ports.js +0 -0
  125. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain-validation.d.ts +0 -0
  126. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain-validation.js +0 -0
  127. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain.d.ts +0 -0
  128. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain.js +0 -0
  129. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/index.d.ts +0 -0
  130. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/index.js +0 -0
  131. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/model.d.ts +0 -0
  132. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/model.js +0 -0
  133. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/package-ports.d.ts +0 -0
  134. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/package-ports.js +0 -0
  135. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/ports.d.ts +0 -0
  136. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/ports.js +0 -0
  137. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/serialization.d.ts +0 -0
  138. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/serialization.js +0 -0
  139. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/validation.d.ts +0 -0
  140. /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/validation.js +0 -0
  141. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/extension-ui.d.ts +0 -0
  142. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/extension-ui.js +0 -0
  143. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/index.d.ts +0 -0
  144. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/index.js +0 -0
  145. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/model.d.ts +0 -0
  146. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/model.js +0 -0
  147. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/validation.d.ts +0 -0
  148. /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/validation.js +0 -0
  149. /package/dist/{src/foundation/presentation-contracts → contracts/presentation}/index.d.ts +0 -0
  150. /package/dist/{src/foundation/presentation-contracts → contracts/presentation}/index.js +0 -0
  151. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/index.d.ts +0 -0
  152. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/index.js +0 -0
  153. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/model.d.ts +0 -0
  154. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/model.js +0 -0
  155. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/validation.d.ts +0 -0
  156. /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/validation.js +0 -0
  157. /package/dist/{src/features → features}/launch/development-launch.d.ts +0 -0
  158. /package/dist/{src/features → features}/launch/development-launch.js +0 -0
  159. /package/dist/{src/features → features}/launch/index.d.ts +0 -0
  160. /package/dist/{src/features → features}/launch/index.js +0 -0
  161. /package/dist/{src/features → features}/launch/initialize-profile.d.ts +0 -0
  162. /package/dist/{src/features → features}/launch/initialize-profile.js +0 -0
  163. /package/dist/{src/features → features}/launch/intent.d.ts +0 -0
  164. /package/dist/{src/features → features}/launch/intent.js +0 -0
  165. /package/dist/{src/features → features}/launch/prepare-launch.d.ts +0 -0
  166. /package/dist/{src/features → features}/launch/prepare-launch.js +0 -0
  167. /package/dist/{src/features → features}/launch/profile-paths.d.ts +0 -0
  168. /package/dist/{src/features → features}/launch/profile-paths.js +0 -0
  169. /package/dist/{src/features → features}/launch/profiles.d.ts +0 -0
  170. /package/dist/{src/features → features}/launch/profiles.js +0 -0
  171. /package/dist/{src/features → features}/launch/runtime-selection.d.ts +0 -0
  172. /package/dist/{src/features → features}/launch/runtime-selection.js +0 -0
  173. /package/dist/{src/features → features}/owned-ui/diagnostics.js +0 -0
  174. /package/dist/{src/features → features}/owned-ui/index.d.ts +0 -0
  175. /package/dist/{src/features → features}/owned-ui/index.js +0 -0
  176. /package/dist/{src/features → features}/owned-ui/run.js +0 -0
  177. /package/dist/{src/features → features}/workspace/capabilities.js +0 -0
  178. /package/dist/{src/features → features}/workspace/index.d.ts +0 -0
  179. /package/dist/{src/features → features}/workspace/index.js +0 -0
  180. /package/dist/{src/features → features}/workspace/presentation.d.ts +0 -0
  181. /package/dist/{src/features → features}/workspace/presentation.js +0 -0
  182. /package/dist/{src/features → features}/workspace/reconciliation.d.ts +0 -0
  183. /package/dist/{src/features → features}/workspace/reconciliation.js +0 -0
  184. /package/dist/{src/features → features}/workspace/router.js +0 -0
  185. /package/dist/{src/features → features}/workspace/store.js +0 -0
  186. /package/dist/{src/foundation → foundation}/launch-guardian/index.d.ts +0 -0
  187. /package/dist/{src/foundation → foundation}/launch-guardian/index.js +0 -0
  188. /package/dist/{src/foundation → foundation}/launch-guardian/main.d.ts +0 -0
  189. /package/dist/{src/foundation → foundation}/lifecycle/commands.d.ts +0 -0
  190. /package/dist/{src/foundation → foundation}/lifecycle/commands.js +0 -0
  191. /package/dist/{src/foundation → foundation}/lifecycle/index.d.ts +0 -0
  192. /package/dist/{src/foundation → foundation}/lifecycle/index.js +0 -0
  193. /package/dist/{src/foundation → foundation}/lifecycle/launch-instance.d.ts +0 -0
  194. /package/dist/{src/foundation → foundation}/lifecycle/launch-instance.js +0 -0
  195. /package/dist/{src/foundation → foundation}/lifecycle/model.d.ts +0 -0
  196. /package/dist/{src/foundation → foundation}/lifecycle/model.js +0 -0
  197. /package/dist/{src/foundation → foundation}/native-host-protocol/codec.d.ts +0 -0
  198. /package/dist/{src/foundation → foundation}/native-host-protocol/codec.js +0 -0
  199. /package/dist/{src/foundation → foundation}/native-host-protocol/evidence.d.ts +0 -0
  200. /package/dist/{src/foundation → foundation}/native-host-protocol/evidence.js +0 -0
  201. /package/dist/{src/foundation → foundation}/native-host-protocol/index.d.ts +0 -0
  202. /package/dist/{src/foundation → foundation}/native-host-protocol/index.js +0 -0
  203. /package/dist/{src/foundation → foundation}/native-host-protocol/proof-gate.d.ts +0 -0
  204. /package/dist/{src/foundation → foundation}/native-host-protocol/proof-gate.js +0 -0
  205. /package/dist/{src/foundation → foundation}/process-containment/artifact.d.ts +0 -0
  206. /package/dist/{src/foundation → foundation}/process-containment/artifact.js +0 -0
  207. /package/dist/{src/foundation → foundation}/process-containment/contracts.d.ts +0 -0
  208. /package/dist/{src/foundation → foundation}/process-containment/contracts.js +0 -0
  209. /package/dist/{src/foundation → foundation}/process-containment/index.d.ts +0 -0
  210. /package/dist/{src/foundation → foundation}/process-containment/index.js +0 -0
  211. /package/dist/{src/foundation → foundation}/process-containment/linux-process-inspector.d.ts +0 -0
  212. /package/dist/{src/foundation → foundation}/process-containment/linux-process-inspector.js +0 -0
  213. /package/dist/{src/foundation → foundation}/process-containment/native-guardian-containment.d.ts +0 -0
  214. /package/dist/{src/foundation → foundation}/process-containment/native-guardian-containment.js +0 -0
  215. /package/dist/{src/foundation → foundation}/process-containment/windows-process-inspector.d.ts +0 -0
  216. /package/dist/{src/foundation → foundation}/process-containment/windows-process-inspector.js +0 -0
  217. /package/dist/{src/foundation → foundation}/protocol/client.d.ts +0 -0
  218. /package/dist/{src/foundation → foundation}/protocol/client.js +0 -0
  219. /package/dist/{src/foundation → foundation}/protocol/index.d.ts +0 -0
  220. /package/dist/{src/foundation → foundation}/protocol/index.js +0 -0
  221. /package/dist/{src/foundation → foundation}/protocol/messages.d.ts +0 -0
  222. /package/dist/{src/foundation → foundation}/protocol/messages.js +0 -0
  223. /package/dist/{src/foundation → foundation}/release/bootstrap.d.ts +0 -0
  224. /package/dist/{src/foundation → foundation}/release/cohort-selection.d.ts +0 -0
  225. /package/dist/{src/foundation → foundation}/release/cohort-selection.js +0 -0
  226. /package/dist/{src/foundation → foundation}/release/cohort-state.d.ts +0 -0
  227. /package/dist/{src/foundation → foundation}/release/cohort-state.js +0 -0
  228. /package/dist/{src/foundation → foundation}/release/concurrency.d.ts +0 -0
  229. /package/dist/{src/foundation → foundation}/release/concurrency.js +0 -0
  230. /package/dist/{src/foundation → foundation}/release/process-cleanup.d.ts +0 -0
  231. /package/dist/{src/foundation → foundation}/release/process-cleanup.js +0 -0
  232. /package/dist/{src/foundation → foundation}/release/release-store.d.ts +0 -0
  233. /package/dist/{src/foundation → foundation}/release/release-store.js +0 -0
  234. /package/dist/{src/foundation → foundation}/release/release.d.ts +0 -0
  235. /package/dist/{src/foundation → foundation}/release/release.js +0 -0
  236. /package/dist/{src/foundation → foundation}/release/stable-release.d.ts +0 -0
  237. /package/dist/{src/foundation → foundation}/release/stable-release.js +0 -0
  238. /package/dist/{src/foundation → foundation}/release/update-transaction.d.ts +0 -0
  239. /package/dist/{src/foundation → foundation}/release/update-transaction.js +0 -0
  240. /package/dist/{src/foundation → foundation}/storage/index.d.ts +0 -0
  241. /package/dist/{src/foundation → foundation}/storage/index.js +0 -0
  242. /package/dist/{src/foundation → foundation}/structured-agent-runtime/index.d.ts +0 -0
  243. /package/dist/{src/foundation → foundation}/structured-agent-runtime/index.js +0 -0
  244. /package/dist/{src/foundation → foundation}/supervision/main.d.ts +0 -0
  245. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/components.js +0 -0
  246. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/conformance.d.ts +0 -0
  247. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/index.d.ts +0 -0
  248. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/index.js +0 -0
  249. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/resources/builtin-themes.d.ts +0 -0
  250. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/resources/builtin-themes.js +0 -0
  251. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-components.d.ts +0 -0
  252. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-components.js +0 -0
  253. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-editor-autocomplete.d.ts +0 -0
  254. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-editor-autocomplete.js +0 -0
  255. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-extension-ui.js +0 -0
  256. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-footer-status.js +0 -0
  257. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-selectors-dialogs.js +0 -0
  258. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-shared-facade.js +0 -0
  259. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/theme.d.ts +0 -0
  260. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/theme.js +0 -0
  261. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/adjacent/core/keybindings.d.ts +0 -0
  262. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/adjacent/core/keybindings.js +0 -0
  263. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/countdown-timer.d.ts +0 -0
  264. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/countdown-timer.js +0 -0
  265. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/custom-entry.d.ts +0 -0
  266. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/custom-entry.js +0 -0
  267. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/daxnuts.d.ts +0 -0
  268. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/daxnuts.js +0 -0
  269. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/earendil-announcement.d.ts +0 -0
  270. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/earendil-announcement.js +0 -0
  271. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/extension-editor.d.ts +0 -0
  272. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/extension-editor.js +0 -0
  273. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/first-time-setup.d.ts +0 -0
  274. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/first-time-setup.js +0 -0
  275. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/markdown-transform.d.ts +0 -0
  276. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/markdown-transform.js +0 -0
  277. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/mermaid.d.ts +0 -0
  278. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/mermaid.js +0 -0
  279. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/owned-editor.d.ts +0 -0
  280. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/owned-editor.js +0 -0
  281. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/scoped-models-selector.d.ts +0 -0
  282. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/scoped-models-selector.js +0 -0
  283. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-footer.js +0 -0
  284. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector-search.d.ts +0 -0
  285. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector-search.js +0 -0
  286. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector.d.ts +0 -0
  287. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector.js +0 -0
  288. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/skill-invocation-message.d.ts +0 -0
  289. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/skill-invocation-message.js +0 -0
  290. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/status-indicator.d.ts +0 -0
  291. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/status-indicator.js +0 -0
  292. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/tree-selector.d.ts +0 -0
  293. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/tree-selector.js +0 -0
  294. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/trust-selector.d.ts +0 -0
  295. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/trust-selector.js +0 -0
  296. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/external-editor.d.ts +0 -0
  297. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/external-editor.js +0 -0
  298. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/model-search.d.ts +0 -0
  299. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/model-search.js +0 -0
  300. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme-controller.d.ts +0 -0
  301. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme-controller.js +0 -0
  302. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme.d.ts +0 -0
  303. /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme.js +0 -0
  304. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/conformance.d.ts +0 -0
  305. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/index.d.ts +0 -0
  306. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/index.js +0 -0
  307. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/model-auth-integration.js +0 -0
  308. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/pi-settings-metadata.json +0 -0
  309. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/public-main-entry.d.ts +0 -0
  310. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/public-main-entry.js +0 -0
  311. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/resource-extension-integration.js +0 -0
  312. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/runtime-integration.d.ts +0 -0
  313. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/runtime-integration.js +0 -0
  314. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/settings-integration.js +0 -0
  315. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflow-controllers.js +0 -0
  316. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflows.d.ts +0 -0
  317. /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflows.js +0 -0
  318. /package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/owned-ui}/index.d.ts +0 -0
  319. /package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/owned-ui}/index.js +0 -0
  320. /package/dist/{src/foundation/pi-owned-ui-integration → integrations/pi/owned-ui}/route-host.js +0 -0
  321. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/adapter.d.ts +0 -0
  322. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/adapter.js +0 -0
  323. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/conformance.d.ts +0 -0
  324. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/conformance.js +0 -0
  325. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/contracts.d.ts +0 -0
  326. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/contracts.js +0 -0
  327. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/index.d.ts +0 -0
  328. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/index.js +0 -0
  329. /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/presentation-adapter.js +0 -0
  330. /package/dist/{src/product-identity.d.ts → product-identity.d.ts} +0 -0
  331. /package/dist/{src/product-identity.js → product-identity.js} +0 -0
  332. /package/dist/{src/product-identity.json → product-identity.json} +0 -0
  333. /package/dist/{src/foundation/ui-apps → ui/apps}/contracts.js +0 -0
  334. /package/dist/{src/foundation/ui-apps → ui/apps}/index.d.ts +0 -0
  335. /package/dist/{src/foundation/ui-apps → ui/apps}/index.js +0 -0
  336. /package/dist/{src/foundation/ui-apps → ui/apps}/registry.d.ts +0 -0
  337. /package/dist/{src/foundation/ui-apps → ui/apps}/registry.js +0 -0
  338. /package/dist/{src/foundation/ui-components → ui/components}/dialog-panel.d.ts +0 -0
  339. /package/dist/{src/foundation/ui-components → ui/components}/dialog-panel.js +0 -0
  340. /package/dist/{src/foundation/ui-components → ui/components}/frame.d.ts +0 -0
  341. /package/dist/{src/foundation/ui-components → ui/components}/frame.js +0 -0
  342. /package/dist/{src/foundation/ui-components → ui/components}/index.d.ts +0 -0
  343. /package/dist/{src/foundation/ui-components → ui/components}/index.js +0 -0
  344. /package/dist/{src/foundation/ui-components → ui/components}/label.d.ts +0 -0
  345. /package/dist/{src/foundation/ui-components → ui/components}/label.js +0 -0
  346. /package/dist/{src/foundation/ui-components → ui/components}/line-input.d.ts +0 -0
  347. /package/dist/{src/foundation/ui-components → ui/components}/line-input.js +0 -0
  348. /package/dist/{src/foundation/ui-components → ui/components}/list-block.d.ts +0 -0
  349. /package/dist/{src/foundation/ui-components → ui/components}/list-block.js +0 -0
  350. /package/dist/{src/foundation/ui-components → ui/components}/list-view.d.ts +0 -0
  351. /package/dist/{src/foundation/ui-components → ui/components}/list-view.js +0 -0
  352. /package/dist/{src/foundation/ui-components → ui/components}/mouse.d.ts +0 -0
  353. /package/dist/{src/foundation/ui-components → ui/components}/mouse.js +0 -0
  354. /package/dist/{src/foundation/ui-components → ui/components}/pane.d.ts +0 -0
  355. /package/dist/{src/foundation/ui-components → ui/components}/pane.js +0 -0
  356. /package/dist/{src/foundation/ui-components → ui/components}/revision.d.ts +0 -0
  357. /package/dist/{src/foundation/ui-components → ui/components}/revision.js +0 -0
  358. /package/dist/{src/foundation/ui-components → ui/components}/scrollbar.d.ts +0 -0
  359. /package/dist/{src/foundation/ui-components → ui/components}/scrollbar.js +0 -0
  360. /package/dist/{src/foundation/ui-components → ui/components}/shortcuts.d.ts +0 -0
  361. /package/dist/{src/foundation/ui-components → ui/components}/shortcuts.js +0 -0
  362. /package/dist/{src/foundation/ui-components → ui/components}/spans.d.ts +0 -0
  363. /package/dist/{src/foundation/ui-components → ui/components}/spans.js +0 -0
  364. /package/dist/{src/foundation/ui-components → ui/components}/status-line.d.ts +0 -0
  365. /package/dist/{src/foundation/ui-components → ui/components}/status-line.js +0 -0
  366. /package/dist/{src/foundation/ui-components → ui/components}/stepper.d.ts +0 -0
  367. /package/dist/{src/foundation/ui-components → ui/components}/stepper.js +0 -0
  368. /package/dist/{src/foundation/ui-components → ui/components}/surface.d.ts +0 -0
  369. /package/dist/{src/foundation/ui-components → ui/components}/surface.js +0 -0
  370. /package/dist/{src/foundation/ui-components → ui/components}/text.d.ts +0 -0
  371. /package/dist/{src/foundation/ui-components → ui/components}/text.js +0 -0
  372. /package/dist/{src/foundation/ui-components → ui/components}/theme.d.ts +0 -0
  373. /package/dist/{src/foundation/ui-components → ui/components}/theme.js +0 -0
  374. /package/dist/{src/foundation/ui-components → ui/components}/value-menu.d.ts +0 -0
  375. /package/dist/{src/foundation/ui-components → ui/components}/value-menu.js +0 -0
  376. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/declarations.d.ts +0 -0
  377. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/declarations.js +0 -0
  378. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/index.d.ts +0 -0
  379. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/index.js +0 -0
  380. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/migrations.d.ts +0 -0
  381. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/migrations.js +0 -0
  382. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/resolution.d.ts +0 -0
  383. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/resolution.js +0 -0
  384. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/sections.d.ts +0 -0
  385. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/sections.js +0 -0
  386. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/session.js +0 -0
  387. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/store.d.ts +0 -0
  388. /package/dist/{src/foundation/owned-ui-settings → ui/settings}/store.js +0 -0
@@ -1,4 +1,4 @@
1
- import type { PresentationComponentPort, PresentationRuntimePort, PresentationTerminalPort } from "../presentation-contracts/index.js";
1
+ import type { PresentationComponentPort, PresentationRuntimePort, PresentationTerminalPort } from "../../../contracts/presentation/index.js";
2
2
  import type { PiTuiTerminalPort } from "./contracts.js";
3
3
  export declare function createPiPresentationRuntime(root: PresentationComponentPort, terminal: PresentationTerminalPort): PresentationRuntimePort;
4
4
  export declare function createPiTerminalBridge(terminal: PresentationTerminalPort): PiTuiTerminalPort;
@@ -5,7 +5,7 @@
5
5
  "platform": "darwin",
6
6
  "architecture": "arm64",
7
7
  "capability": "unsupported",
8
- "builtAt": "2026-08-25T09:42:56.359Z",
8
+ "builtAt": "2026-08-25T15:36:18.963Z",
9
9
  "artifact": {
10
10
  "filename": "process-guardian",
11
11
  "sha256": "7524bf568992517f50ed53196c861c5edeba0d7275633bb4735ab45bd5963a28",
@@ -5,11 +5,11 @@
5
5
  "platform": "linux",
6
6
  "architecture": "x64",
7
7
  "capability": "supported",
8
- "builtAt": "2026-08-25T09:43:23.793Z",
8
+ "builtAt": "2026-08-25T15:37:04.244Z",
9
9
  "artifact": {
10
10
  "filename": "process-guardian",
11
- "sha256": "29e22fe29de2828982bc67ef418c4adcaab1490281477b7bea592ec6fe621bcd",
12
- "size": 415696
11
+ "sha256": "ee8a00eaaf79c707459bbbfb52518e9739314967049fbe5fa625f36ce33db9ee",
12
+ "size": 414568
13
13
  },
14
14
  "provenance": {
15
15
  "language": "Rust",
@@ -5,10 +5,10 @@
5
5
  "platform": "win32",
6
6
  "architecture": "x64",
7
7
  "capability": "supported",
8
- "builtAt": "2026-08-25T09:44:35.937Z",
8
+ "builtAt": "2026-08-25T15:37:02.629Z",
9
9
  "artifact": {
10
10
  "filename": "process-guardian.exe",
11
- "sha256": "0e2919843f1cdc824ce48203dace68df43f8ebb4b24b190ff7baf6c13d4846b1",
11
+ "sha256": "acca313287829ec105f5792ccbcf1c777e1a7aa2a44bbfd7bf381cf2cf93eb1a",
12
12
  "size": 172544
13
13
  },
14
14
  "provenance": {
@@ -1,4 +1,4 @@
1
- import type { PaneInputResult, PaneMouseEvent, PaneRect, UiTheme } from "../ui-components/index.js";
1
+ import type { PaneInputResult, PaneMouseEvent, PaneRect, UiTheme } from "../components/index.js";
2
2
  export interface AppSize {
3
3
  readonly width: number;
4
4
  readonly height: number;
@@ -1,4 +1,4 @@
1
- import { type PaneInputResult, type PaneMouseEvent, type UiTheme } from "../ui-components/index.js";
1
+ import { type PaneInputResult, type PaneMouseEvent, type UiTheme } from "../components/index.js";
2
2
  import type { AppSize, UiApp } from "./contracts.js";
3
3
  import type { UiAppRegistry } from "./registry.js";
4
4
  export interface AppHostSurface {
@@ -1,4 +1,4 @@
1
- import { FrameCache, finalizeFrame, } from "../ui-components/index.js";
1
+ import { FrameCache, finalizeFrame, } from "../components/index.js";
2
2
  // The interrupt byte, written as an escape: as a raw byte it is invisible to
3
3
  // every text tool, and this constant had already been emptied by one.
4
4
  const INTERRUPT = "";
@@ -1,4 +1,4 @@
1
- import type { AgentSettingsPort } from "../agent-engine-contracts/index.js";
1
+ import type { AgentSettingsPort } from "../../contracts/agent-engine/index.js";
2
2
  import type { OwnedUiSettingValue } from "./declarations.js";
3
3
  import type { OwnedUiSettingsResolution } from "./resolution.js";
4
4
  import { type OwnedUiSettingsBackend, type OwnedUiSettingsSection } from "./sections.js";
@@ -9,15 +9,15 @@ mutable a1 entry
9
9
  -> verified immutable release
10
10
  -> Node launch guardian and authenticated launch-instance registration
11
11
  -> native process guardian and per-instance containment
12
- -> a1-ui runtime selection
13
- -> owned UI or transparent Pi with inherited physical terminal handles
12
+ -> profile-aware owned-UI runtime selection
13
+ -> owned Pi-backed composition, with A1 surfaces enabled only for bare a1
14
14
  ```
15
15
 
16
16
  Launch-instance ownership is plural. The supervisor tracks any number of independently authenticated `a1`, `a1 pi`, and `a1 sandbox` 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
17
 
18
- Neither guardian reads ordinary terminal input, parses or relays runtime output, renders cells, infers frames, synthesizes terminal responses, or emits display control. Bare `a1` retains its owned UI authority. In explicit Pi profiles, Pi and the physical terminal retain direct terminal behavior. The private guardian boundary carries only bounded identity, readiness, stop, and outcome data.
18
+ Neither guardian reads ordinary terminal input, parses or relays runtime output, renders cells, infers frames, synthesizes terminal responses, or emits display control. All profiles use the same owned rendering and input pipeline. Bare `a1` exposes A1-owned surfaces; `a1 pi` and `a1 sandbox` withhold those surfaces and select their own profile roots. The private guardian boundary carries only bounded identity, readiness, stop, and outcome data.
19
19
 
20
- Transparent mode has no A1-authoritative terminal surface, internal pane, virtual scrollback, inactive resident tab, or visual reconnection. A future feature that requires those properties must introduce and certify a separate composed-terminal authority; it must not weaken or silently intercept transparent mode.
20
+ 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
21
 
22
22
  ## Current module responsibilities
23
23
 
@@ -30,20 +30,20 @@ Transparent mode has no A1-authoritative terminal surface, internal pane, virtua
30
30
  - `protocol`: additive control handshake, bounded line framing, authenticated launch-instance commands, typed stop intent, snapshots, and command results.
31
31
  - `storage`: SQLite migrations, prior-boot reconciliation, and plural launch-instance persistence. Legacy foreground rows are historical migration input and never authorize current ownership.
32
32
  - `supervisor`: endpoint identity, plural cohort ownership, per-instance reconciliation, and aggregate release shutdown coordination. It owns no terminal surface.
33
- - `transparent-terminal`: generic command resolution and direct inherited-handle child waiting below the outer launch guardian; it owns no supervisor lease.
33
+ - `pi-engine-adapter`, `pi-component-adapter`, `pi-tui-runtime-adapter`, and `pi-owned-ui-integration`: isolate pinned Pi engine and presentation knowledge behind neutral contracts; product features do not import them directly.
34
34
  - release/update/bootstrap: package-derived immutable release identity, process-guardian integrity, cohort selection, durable update transactions, rollback, and dependency-light command entry.
35
35
 
36
36
  ## Dependency direction
37
37
 
38
38
  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.
39
39
 
40
- The transparent 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 enter transparent mode. The Rust process guardian is a lifecycle-only native boundary and is independent from the held composed terminal host.
40
+ 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.
41
41
 
42
- `scripts/check-architecture.mjs` enforces the structural parts of these boundaries. Cross-cutting rationale belongs here; implementation history belongs in Git and archived OpenSpec changes.
42
+ `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.
43
43
 
44
44
  ## Planned multi-agent boundaries
45
45
 
46
- 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. Explicit launch profiles and transparent fallback may not import, initialize, launch, or connect to composed terminal-host infrastructure.
46
+ 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.
47
47
 
48
48
  Default future agents and composed hosts are children of the originating bare-`a1` launch instance and terminate when it closes. A process that survives command closure requires a separately approved explicit resident capability; durable identity or state recovery never implies an implicitly surviving process.
49
49
 
@@ -1,30 +1,51 @@
1
1
  # Project structure
2
2
 
3
- Every production module has one named owner. The executable owner map and allowed dependencies live in `scripts/project-structure-policy.mjs`; this document explains the conventions behind it.
3
+ Every production module has one named owner. The executable owner map and allowed dependencies live in `scripts/governance/project-structure-policy.mjs`; this document explains the conventions behind it. `npm run check:architecture` rejects production files without an owner, cross-owner private imports, and declared owners whose source root, public entry, or test root is missing.
4
4
 
5
5
  ## Production owners
6
6
 
7
7
  ```text
8
8
  src/
9
- cli/ public command helpers and dispatch
9
+ product-identity.ts centralized externally visible product identity
10
+ product-identity.json
11
+ cli/ public command parsing, capabilities, packages, and version reporting
12
+ composition/ process-level wiring of neutral contracts to concrete adapters
10
13
  features/
11
- launch/ product launch profiles and profile settings
12
- workspace/ multi-agent workspace presentation, reducer state, and persistence orchestration
14
+ launch/ launch profiles, profile paths, and runtime selection
15
+ owned-ui/ owned screens, settings application, diagnostics, and runtime lifecycle
16
+ workspace/ multi-agent presentation, reducer state, routing, and persistence orchestration
17
+ contracts/
18
+ agent-engine/ dependency-free agent engine, session, package, and capability ports
19
+ owned-ui/ dependency-free owned-session and extension UI contracts
20
+ presentation/ dependency-free component, terminal, and runtime ports
21
+ workspace/ dependency-free workspace, topology, host, and recovery contracts
22
+ integrations/
23
+ pi/
24
+ components/ pinned Pi component and theme adaptation
25
+ engine/ pinned Pi engine, settings, resource, package, and workflow integration
26
+ owned-ui/ Pi-backed owned session shell and route host
27
+ tui-runtime/ neutral presentation runtime over pinned Pi TUI
13
28
  foundation/
14
- lifecycle/ dependency-free launch/lifecycle contracts and paths
15
- protocol/ control framing and client contracts
16
- release/ immutable releases, cohorts, update, rollback, cleanup
17
- storage/ control-store persistence
18
- structured-agent-runtime/ structured/RPC handshake, event, command, and recovery semantics
19
- native-host-protocol/ bounded terminal-host identity, topology, lifecycle, and proof protocol
20
- supervision/ endpoint and foreground-lease ownership
21
- workspace-contracts/ dependency-free workspace, adapter, topology, host, and recovery contracts
22
- transparent-terminal/ exact command resolution and native attachment
29
+ launch-guardian/ authenticated launch-instance coordination
30
+ lifecycle/ dependency-free launch, process identity, and path contracts
31
+ native-host-protocol/ bounded terminal-host identity, topology, lifecycle, and proof protocol
32
+ process-containment/ verified native containment and process inspection
33
+ protocol/ authenticated control framing and client contracts
34
+ release/ immutable releases, update, rollback, cohorts, and cleanup
35
+ storage/ control-store persistence
36
+ structured-agent-runtime/ structured handshake, event, command, backpressure, and recovery semantics
37
+ supervision/ endpoint, launch-instance, and release-cohort ownership
38
+ ui/
39
+ apps/ application registry and host lifecycle
40
+ components/ vendor-neutral terminal UI primitives
41
+ settings/ owned settings declarations, resolution, migration, and persistence
23
42
  ```
24
43
 
25
- Each owner exposes `index.ts`. Imports within one owner may use private files. Imports crossing owners must use the provider's `index.ts` and follow the declared dependency DAG. Foundation modules never import product features.
44
+ Each directory owner exposes `index.ts`. Imports within one owner may use private files. Imports crossing owners must use the provider's public entry and follow the dependency DAG declared by `PROJECT_OWNERS`. `product-identity` is the sole current exception to the directory-entry convention because its public entry is `src/product-identity.ts`.
26
45
 
27
- `src/cli` is a thin public entry layer. Product policy belongs in a named feature. Shared code moves to foundation only when it is product-agnostic, has a precise contract, and has more than one real consumer. Do not create `core`, `common`, `utils`, or `misc` dumping grounds.
46
+ `src/cli` contains command policy but delegates runtime work. `src/composition` is the concrete dependency-injection boundary: it may know both neutral contracts and Pi implementations, while product features receive vendor-neutral ports. Foundation modules never import product features. Pi package knowledge remains inside the Pi adapter owners.
47
+
48
+ Shared code moves to foundation only when it is product-agnostic, has a precise contract, and has more than one real consumer. Do not create `core`, `common`, `utils`, or `misc` dumping grounds.
28
49
 
29
50
  ## Feature ownership
30
51
 
@@ -32,11 +53,11 @@ A feature owns:
32
53
 
33
54
  - its production behavior under `src/features/<name>`;
34
55
  - its public contract in `index.ts`;
35
- - its settings schema/defaults and path policy;
56
+ - its settings schema, defaults, and path policy when applicable;
36
57
  - its tests under `test/features/<name>`;
37
- - user-facing feature documentation under `docs/features/<name>.md` when the behavior needs more than README coverage.
58
+ - user-facing documentation under `docs/features/<name>.md` when README coverage is insufficient.
38
59
 
39
- Settings files are not mandatory for every feature. Add one only when the feature owns mutable policy. User settings, credentials, sessions, caches, downloaded packages, logs, and generated files never live in source folders.
60
+ Settings files are not mandatory for every feature. User settings, credentials, sessions, caches, downloaded packages, logs, and generated files never live in source folders.
40
61
 
41
62
  ## Test ownership
42
63
 
@@ -45,37 +66,39 @@ Tests mirror their production owner:
45
66
  ```text
46
67
  test/
47
68
  cli/
69
+ composition/
48
70
  features/<name>/
71
+ contracts/<name>/
49
72
  foundation/<name>/
73
+ integrations/pi/<name>/
74
+ product-identity/
50
75
  repository-governance/
76
+ ui/<name>/
51
77
  ```
52
78
 
53
- Use `.test.ts` for deterministic owner-level contracts. Use `.integration.test.ts` when the contract crosses real process, filesystem, registry, or release boundaries. Prefer the smallest independent boundary that proves the observable result; do not duplicate a stronger test or preserve historical bug-story names after the cause has a current invariant.
79
+ Use `.test.ts` for deterministic owner-level contracts. Use `.integration.test.ts` when the contract crosses real process, filesystem, registry, package, or release boundaries. A test of a foundation implementation belongs to that foundation owner's test root; a feature test may exercise the same public entry only when it proves feature-level composition.
54
80
 
55
- Physical desktop automation is not an ordinary integration test. It requires a separately authorized certification change and isolated disposable infrastructure.
81
+ Prefer the smallest independent boundary that proves the observable result. Do not duplicate a stronger test or preserve historical bug-story names after the cause has a current invariant. Physical desktop automation is not an ordinary integration test; it requires separately authorized certification and isolated disposable infrastructure.
56
82
 
57
83
  ## Repository authority
58
84
 
59
85
  The repository has one root `package.json`, `package-lock.json`, TypeScript configuration, Vitest configuration, and dependency installation. Nested manifests, lockfiles, `node_modules`, vendored package caches, logs, sessions, browser profiles, generated output, and runtime state are forbidden under production and feature trees.
60
86
 
61
- Build output belongs in ignored `dist/`; release/test evidence belongs in ignored `artifacts/`. Package contents are selected by the root manifest. Native proof code lives under `native/terminal-host/`; its Cargo build output and vendored Zig build output are ignored, and it remains a console terminal host rather than a desktop application.
87
+ Build output mirrors the production namespaces directly under ignored `dist/`, without an intermediate `src/` directory; release and test evidence belongs in ignored `.artifacts/`; temporary agent work belongs in ignored `.worktrees/` and `.builds/`. Repository tooling is grouped under `scripts/governance`, `scripts/release`, `scripts/pi`, and `scripts/development`; the few root scripts are standalone maintenance or build commands. Package contents are selected by the root manifest. The Rust process guardian and console terminal-host proof live under `native/`; Cargo output is ignored. Third-party terminal parser sources are isolated under `native/terminal-host/vendor/` and are not owned application modules.
62
88
 
63
89
  ## Documentation and comments
64
90
 
65
91
  - README explains installation, commands, and current limitations.
66
92
  - `docs/architecture` explains cross-cutting ownership and irreversible constraints.
67
- - `docs/architecture/resource-and-data-policy.md` defines bounded queues, data classes, redaction, terminal-content non-persistence, and proof acceptance rules.
68
- - `docs/architecture/terminal-host-provenance.md` records pinned terminal-component revisions, retained components, patch policy, and artifact provenance requirements.
69
- - `docs/architecture/terminal-host-spike-evidence.md` defines the mandatory in-terminal 2×2 proof workloads, measurements, and acceptance invariants.
70
- - `docs/architecture/terminal-host-proof-gate.md` defines the non-waivable stop/go acceptance policy and current pending record.
71
- - `docs/features` explains maintained user-facing feature behavior.
93
+ - `docs/features` explains maintained user-facing behavior.
94
+ - Operational and manual procedures live in focused runbooks under `docs`.
72
95
  - OpenSpec and Git carry planning and implementation history.
73
96
  - Source comments explain only non-obvious rationale, safety/security invariants, platform constraints, or public semantic contracts. Names, types, and decomposition explain normal control flow.
74
97
 
75
98
  ## Terminal capability boundary
76
99
 
77
- Transparent terminal attachment owns one foreground child and no A1 surface. It cannot retain inactive terminal state or switch among arbitrary interactive CLIs inside A1. Bare-`a1` multi-agent UX may use structured/RPC surfaces without terminal emulation, but arbitrary-CLI tabs require a separate composed-terminal capability with PTY, authoritative terminal state, rendering, input routing, inactive-surface lifecycle, reconnection, and cross-platform certification. That future capability must not silently intercept or replace the transparent path. Explicit launch profiles and transparent fallback must not import, initialize, launch, or connect to composed terminal-host infrastructure.
100
+ All interactive profiles use the owned rendering pipeline. Bare `a1` exposes A1-owned surfaces; `a1 pi` and `a1 sandbox` withhold those surfaces while using their respective Pi profile roots. The retired transparent attachment owner is not part of the production tree or dependency map.
78
101
 
79
- Composed terminals use a console terminal host that runs inside the user's existing terminal. The host owns pseudoterminal bytes, retained terminal state, keyboard/text/mouse/IME encoding, frame scheduling, and presentation to the containing terminal. A1's JavaScript control plane may exchange typed identity, topology revision, capability, lifecycle, status, and recovery messages only; it must not relay terminal output, per-event child input, or rendered cells. A desktop-native window, GPU renderer, Ghostty GUI runtime, Winghostty Win32 runtime, Metal, GTK, and AppKit are postponed and are not required for the in-terminal product.
102
+ The current JavaScript control plane does not provide arbitrary-CLI tabs. Such tabs require the separately bounded console terminal host to own PTYs, authoritative terminal state, rendering, input routing, inactive-surface lifecycle, and reconnection. JavaScript may exchange typed identity, topology revision, capability, lifecycle, status, and recovery messages only; it must not relay terminal output, per-event child input, or rendered cells.
80
103
 
81
- A tab owns a revisioned split tree. Each leaf pane references one PTY-backed terminal session. Structured/RPC agents remain semantically separate and may not derive state from ANSI text, terminal timing, or screen content. Native source ownership lives outside `src/` when introduced; packaged host selection is governed by release/package owners. Existing architecture tests reject terminal-host hot-path bytes in JavaScript protocol code, terminal inference in structured runtime code, composed imports from explicit launch modes, and replacement lightweight terminal parsers/renderers.
104
+ Structured agents remain semantically separate and use typed events, commands, snapshots, cancellation, and recovery evidence. They must not derive state from ANSI text, terminal timing, or screen content. Native source ownership remains outside `src/`; packaged host selection is governed by release/package owners. Architecture tests reject terminal-host hot-path bytes in JavaScript protocols, terminal inference in structured runtimes, and replacement lightweight terminal parsers or renderers.
@@ -17,7 +17,7 @@ The repository has one root package manifest, lockfile, dependency tree, TypeScr
17
17
 
18
18
  ## Platform policy
19
19
 
20
- Transparent launch uses inherited native terminal/process facilities on Windows, Linux, and macOS. The architecture is platform-neutral, but stable parity/support claims are platform-specific and require deferred physical certification against exact package bytes. An uncertified `next` preview is not evidence of stable cross-platform support.
20
+ The owned rendering pipeline uses the containing terminal on Windows, Linux, and macOS. The architecture is platform-neutral, but stable presentation/support claims are platform-specific and require deferred physical certification against exact package bytes. An uncertified development preview is not evidence of stable cross-platform support.
21
21
 
22
22
  Physical desktop automation is absent from the active repository baseline. Any future implementation must run only on dedicated disposable workers or VMs with exclusive interactive desktops and exact process ownership.
23
23
 
@@ -27,7 +27,7 @@ The published package contains:
27
27
 
28
28
  - the sole public `a1` command;
29
29
  - the internal supervisor entry;
30
- - immutable release/bootstrap, lifecycle, protocol, storage, update, and transparent-launch modules;
30
+ - immutable release/bootstrap, lifecycle, protocol, storage, update, owned-UI, and Pi-adapter modules;
31
31
  - current user and architecture documentation.
32
32
 
33
33
  It contains no PTY, terminal emulator, browser/desktop GUI, custom renderer, input translator, physical automation driver, or generated runtime data.
@@ -49,7 +49,7 @@ npm test
49
49
  npm run test:release
50
50
  ```
51
51
 
52
- `check:deprecated` verifies the complete lockfile graph against registry metadata. The release gate exercises durable stable/preview update transitions and writes an ignored machine-readable verdict under `artifacts/release-verdicts/`.
52
+ `check:deprecated` verifies the complete lockfile graph against registry metadata. The release gate exercises durable stable/development update transitions and writes an ignored machine-readable verdict under `.artifacts/release-verdicts/`.
53
53
 
54
54
  ## Pi maintenance workflows
55
55
 
@@ -67,7 +67,7 @@ npm run sync:pi-ui
67
67
 
68
68
  This optional, mutating presentation-maintenance workflow regenerates component and event-frame parity evidence when maintainers deliberately adopt upstream UI changes. Review generated diffs, attribution, and source-ledger records before committing them. It is never an engine candidate acceptance gate and is not run by `check`, `prepack`, or release publication.
69
69
 
70
- Presentation acceptance is the reader comparing `a1 pi` with pinned Pi. `node scripts/check-pinned-pi-source-ledger.mjs` validates accepted provenance; its `--engine-only` mode validates the ownership partition without comparing private upstream source.
70
+ Presentation acceptance is the reader comparing `a1 pi` with pinned Pi. `node scripts/governance/check-pinned-pi-source-ledger.mjs` validates accepted provenance; its `--engine-only` mode validates the ownership partition without comparing private upstream source.
71
71
 
72
72
  ## Publication
73
73
 
@@ -104,5 +104,5 @@ are written only after publication and are protected from force-push, movement,
104
104
  deletion.
105
105
 
106
106
  Do not add direct-push bypasses. Ruleset mutation remains a separate administrative
107
- operation: inspect with `node scripts/check-github-rulesets.mjs`, and apply only
107
+ operation: inspect with `node scripts/governance/check-github-rulesets.mjs`, and apply only
108
108
  with explicit maintainer confirmation.
@@ -5,8 +5,8 @@
5
5
  | Command | Purpose | Pi user profile |
6
6
  |---|---|---|
7
7
  | `a1` | A1-owned Pi-compatible UI | `~/.a1/agent` |
8
- | `a1 pi` | Untouched vanilla Pi fallback and comparison oracle | ordinary `~/.pi/agent` |
9
- | `a1 sandbox` | Unchanged isolated vanilla Pi profile for experiments | `~/.a1/sandbox` |
8
+ | `a1 pi` | Pi-compatible comparison surface using the ordinary Pi profile | ordinary `~/.pi/agent` |
9
+ | `a1 sandbox` | Pi-compatible surface using an isolated profile for experiments | `~/.a1/sandbox` |
10
10
 
11
11
  `a1 pi` and `a1 sandbox` are development instruments: one compares A1 against pinned Pi, the other tries resources against an isolated profile. Prerelease builds — what `a1 update:develop` or `a1 update:<number>` installs — expose them. A release build does not, and does not recognize the words: what it exposes is bare `a1` plus the maintenance and package commands. Working in this repository is unaffected, because `npm start:pi` and `npm run start:sandbox` prepare the profile and launch directly rather than through the command line.
12
12
 
@@ -31,21 +31,19 @@ npm/
31
31
 
32
32
  Run Pi’s normal `/login` independently in each profile that needs stored authentication. Provider credentials supplied through supported environment variables remain available to Pi, but profile authentication files never fall back to another root automatically.
33
33
 
34
- ## Vanilla Pi
34
+ ## Pi comparison profile
35
35
 
36
- `a1 pi` bypasses the A1-owned UI and launches the untouched pinned Pi CLI. It also removes A1’s Pi configuration-root override, so Pi uses its normal `~/.pi/agent` settings, authentication, sessions, resources, packages, and trust decisions. This is both the comparison oracle and the recovery fallback when diagnosing the owned UI.
36
+ `a1 pi` uses the same A1-owned rendering and input pipeline as bare `a1`, but withholds A1-specific screens and removes A1’s Pi configuration-root override. The pinned Pi engine therefore uses its normal `~/.pi/agent` settings, authentication, sessions, resources, packages, and trust decisions. This is the comparison and recovery profile when diagnosing the product surface; running the standalone `pi` command remains the independent upstream reference.
37
37
 
38
38
  ## Sandbox profile
39
39
 
40
- `a1 sandbox` remains a direct vanilla Pi launch. It uses `~/.a1/sandbox` and starts Pi with its supported one-run `--no-approve` trust override. Project-local executable settings and resources are ignored for that run; sandbox-owned resources still load from the selected user profile.
40
+ `a1 sandbox` uses the shared owned rendering pipeline with A1-specific screens withheld. It reads `~/.a1/sandbox` and applies Pi's supported one-run no-approval trust policy. Project-local executable settings and resources are ignored for that run; sandbox-owned resources still load from the selected user profile.
41
41
 
42
42
  “Sandbox” means Pi profile and executable-resource isolation. It is **not** an operating-system security boundary. It does not restrict filesystem access, processes, network access, environment credentials, shell tools, or commands executed by Pi.
43
43
 
44
44
  ## Terminal behavior
45
45
 
46
- Bare `a1` runs the A1-owned full-viewport TUI over public Pi engine, component, and terminal APIs. A1 owns composition, input routing, modal focus, selection behavior, scrolling, and restoration without inserting a PTY or terminal-byte relay. Its default presentation is pinned to vanilla Pi parity; structured tabs and A1-specific visual customization are not enabled.
47
-
48
- `a1 pi` and `a1 sandbox` retain transparent direct attachment. In those profiles, untouched Pi and the physical terminal own rendering, input, selection, clipboard, scrollback, and terminal modes; A1 owns only per-invocation process containment and lifecycle evidence.
46
+ Every profile runs the A1-owned full-viewport TUI over pinned Pi engine, component, and terminal APIs. A1 owns composition, input routing, modal focus, selection behavior, scrolling, and restoration without inserting a PTY or terminal-byte relay. Bare `a1` enables A1-owned screens; `a1 pi` and `a1 sandbox` use the same pipeline with those screens withheld. Structured tabs and A1-specific visual customization are not enabled.
49
47
 
50
48
  ## Concurrent instance lifecycle
51
49
 
@@ -0,0 +1,52 @@
1
+ # Manual owned-UI checkpoint
2
+
3
+ This checkpoint is user-controlled. Tests and coding agents must not launch or focus a terminal, inject desktop input, resize windows, close applications, or clean up workstation processes.
4
+
5
+ ## Prepare an exact candidate
6
+
7
+ From the candidate checkout, pack once and install that tarball into a disposable prefix:
8
+
9
+ ```powershell
10
+ npm ci
11
+ npm run build
12
+ npm pack --ignore-scripts --pack-destination .artifacts/manual-owned-ui
13
+ npm install --prefix .artifacts/manual-owned-ui/install --ignore-scripts .artifacts/manual-owned-ui/<exact-tarball>.tgz
14
+ ```
15
+
16
+ Use isolated A1 control state:
17
+
18
+ ```powershell
19
+ $manualRoot = (Resolve-Path ".artifacts/manual-owned-ui").Path
20
+ $env:A1_CONFIG_DIR = "$manualRoot\state\config"
21
+ $env:A1_DATA_DIR = "$manualRoot\state\data"
22
+ $env:A1_RUNTIME_DIR = "$manualRoot\state\runtime"
23
+ $env:A1_DATABASE_PATH = "$manualRoot\state\data\control.sqlite3"
24
+ ```
25
+
26
+ Run each installed launch form yourself:
27
+
28
+ ```powershell
29
+ & ".artifacts/manual-owned-ui/install/node_modules/.bin/a1.cmd"
30
+ & ".artifacts/manual-owned-ui/install/node_modules/.bin/a1.cmd" pi
31
+ & ".artifacts/manual-owned-ui/install/node_modules/.bin/a1.cmd" sandbox
32
+ ```
33
+
34
+ All three commands use the same A1-owned rendering and input pipeline. Bare `a1` enables A1-owned screens. `a1 pi` withholds those screens and reads the ordinary Pi profile. `a1 sandbox` also withholds them and reads the isolated sandbox profile. Confirm that files created through `/settings`, `/login`, sessions, and resource directories remain under the selected profile root.
35
+
36
+ Physical automation is not part of this repository baseline. Future certification tooling may run only on dedicated disposable workers or VMs with exclusive test desktops, never on this workstation.
37
+
38
+ ## Compare bare A1 with `a1 pi`
39
+
40
+ Use the same terminal, working directory, dimensions, environment, and equivalent profile resources. Bare A1 and the comparison profile intentionally use separate profile roots.
41
+
42
+ - [ ] Startup resources, logo, notices, spacing, editor, and footer match.
43
+ - [ ] Text, Unicode, emoji, styles, cursor, and layout match.
44
+ - [ ] Rapid typing has no visible delay or dropped or duplicated characters.
45
+ - [ ] Ctrl+C, Ctrl+P, arrows, paste, focus, dialogs, mouse, and wheel behave correctly.
46
+ - [ ] Selection, copy, clipboard, scrollback, and resize behave correctly.
47
+ - [ ] Normal and error exits return a usable parent prompt.
48
+ - [ ] Parent typing, cursor movement, Backspace, Delete, and submission work after exit.
49
+
50
+ Report failures with bare-versus-comparison behavior, platform and terminal versions, exact command, reproducibility, and optional manually captured evidence.
51
+
52
+ For recovery, use `a1 pi`; do not use the removed `a1 ui` command. `a1 sandbox` remains profile isolation rather than a security boundary. Manual acceptance can authorize an exact uncertified development preview after non-desktop gates pass. It does not certify stable presentation parity or platform support.
@@ -29,7 +29,7 @@ leave the launch without a terminal on its input; the launcher says so and stops
29
29
  rather than opening a session that closes as it starts. Running `scripts/dev`
30
30
  from the shell is the direct path.
31
31
 
32
- A directly launched `node scripts/start-local.mjs` under Git Bash does not, and
32
+ A directly launched `node scripts/development/start-local.mjs` under Git Bash does not, and
33
33
  neither does a directly launched `node …/pi/dist/cli.js`: the collapse belongs to
34
34
  the launch, not to either application.
35
35
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timurproko/a1",
3
- "version": "0.1.8-dev.112",
3
+ "version": "0.1.8-dev.122",
4
4
  "description": "Standalone terminal workspace for supervised native and managed agents",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.13.0",
@@ -25,35 +25,35 @@
25
25
  },
26
26
  "scripts": {
27
27
  "clean": "node scripts/clean.mjs",
28
- "build": "npm run clean && tsc -p tsconfig.build.json && node scripts/build-process-guardian.mjs",
29
- "build:process-guardian": "node scripts/build-process-guardian.mjs",
28
+ "build": "npm run clean && tsc -p tsconfig.build.json && node scripts/development/build-process-guardian.mjs",
29
+ "build:process-guardian": "node scripts/development/build-process-guardian.mjs",
30
30
  "typecheck": "tsgo -p tsconfig.json --noEmit",
31
- "check:architecture": "node scripts/check-architecture.mjs && node scripts/product-identifier-policy.mjs --check && node scripts/check-product-identity-boundaries.mjs && node scripts/check-package-identity.mjs && node scripts/check-pinned-pi-source-ledger.mjs && node scripts/check-terminal-host-provenance.mjs",
32
- "check:customization-ready": "node scripts/check-owned-ui-customization-prerequisites.mjs",
33
- "check:deprecated": "node scripts/check-deprecated-dependencies.mjs",
31
+ "check:architecture": "node scripts/governance/check-architecture.mjs && node scripts/governance/product-identifier-policy.mjs --check && node scripts/governance/check-product-identity-boundaries.mjs && node scripts/governance/check-package-identity.mjs && node scripts/governance/check-pinned-pi-source-ledger.mjs && node scripts/governance/check-terminal-host-provenance.mjs",
32
+ "check:customization-ready": "node scripts/governance/check-owned-ui-customization-prerequisites.mjs",
33
+ "check:deprecated": "node scripts/governance/check-deprecated-dependencies.mjs",
34
34
  "branches:prune": "node scripts/prune-merged-branches.mjs",
35
35
  "check": "npm run test:fast",
36
- "develop": "node scripts/develop.mjs",
37
- "release": "node scripts/release.mjs",
36
+ "develop": "node scripts/development/develop.mjs",
37
+ "release": "node scripts/release/release.mjs",
38
38
  "test": "npm run test:fast",
39
- "test:fast": "node scripts/run-validation-tier.mjs typecheck fast",
40
- "test:scope": "node scripts/run-validation-tier.mjs",
41
- "test:full": "node scripts/run-validation-tier.mjs full-release",
42
- "test:release": "node scripts/run-release-gates.mjs",
43
- "test:terminal-host": "node scripts/run-terminal-host-probe.mjs",
44
- "test:pi-engine-conformance": "vitest run test/foundation/pi-engine-adapter/conformance.test.ts test/foundation/pi-engine-adapter/runtime-integration.test.ts test/foundation/pi-engine-adapter/session-integration.test.ts",
45
- "report:pi-engine-conformance": "npm run build --silent && node scripts/run-pi-engine-conformance.mjs",
39
+ "test:fast": "node scripts/release/run-validation-tier.mjs typecheck fast",
40
+ "test:scope": "node scripts/release/run-validation-tier.mjs",
41
+ "test:full": "node scripts/release/run-validation-tier.mjs full-release",
42
+ "test:release": "node scripts/release/run-release-gates.mjs",
43
+ "test:terminal-host": "node scripts/development/run-terminal-host-probe.mjs",
44
+ "test:pi-engine-conformance": "vitest run test/integrations/pi/engine/conformance.test.ts test/integrations/pi/engine/runtime-integration.test.ts test/integrations/pi/engine/session-integration.test.ts",
45
+ "report:pi-engine-conformance": "npm run build --silent && node scripts/pi/run-pi-engine-conformance.mjs",
46
46
  "sync:pi-ui": "npm run update:pi-component-parity && npm run update:pi-event-frame-parity && npm run update:pi-settings-metadata",
47
- "update:pi-component-parity": "tsx scripts/update-pi-component-parity.ts",
48
- "update:pi-event-frame-parity": "tsx scripts/update-pi-event-frame-parity.ts",
49
- "proof:terminal-host": "node scripts/run-terminal-host.mjs",
50
- "start": "npm run build && node scripts/dev-launch.mjs",
51
- "start:pi": "npm run build && node scripts/dev-launch.mjs pi",
52
- "start:sandbox": "npm run build && node scripts/dev-launch.mjs sandbox",
53
- "prepack": "node scripts/prepack-gate.mjs",
47
+ "update:pi-component-parity": "tsx scripts/pi/update-pi-component-parity.ts",
48
+ "update:pi-event-frame-parity": "tsx scripts/pi/update-pi-event-frame-parity.ts",
49
+ "proof:terminal-host": "node scripts/development/run-terminal-host.mjs",
50
+ "start": "npm run build && node scripts/development/dev-launch.mjs",
51
+ "start:pi": "npm run build && node scripts/development/dev-launch.mjs pi",
52
+ "start:sandbox": "npm run build && node scripts/development/dev-launch.mjs sandbox",
53
+ "prepack": "node scripts/release/prepack-gate.mjs",
54
54
  "prepublishOnly": "npm run test:release",
55
55
  "prepare": "npm run build",
56
- "update:pi-settings-metadata": "node scripts/update-pi-settings-metadata.mjs"
56
+ "update:pi-settings-metadata": "node scripts/pi/update-pi-settings-metadata.mjs"
57
57
  },
58
58
  "dependencies": {
59
59
  "@earendil-works/pi-coding-agent": "0.84.2",
@@ -1,48 +0,0 @@
1
- import { type AgentEnginePort } from "../foundation/agent-engine-contracts/index.js";
2
- import { type PiEngineAdapter } from "../foundation/pi-engine-adapter/index.js";
3
- import { type OwnedUiApplicationPort, type PresentationComponentPort, type PresentationRuntimePort, type PresentationTerminalPort } from "../foundation/presentation-contracts/index.js";
4
- import { OwnedUiSettingsSession } from "../foundation/owned-ui-settings/index.js";
5
- import type { UiRouteHost } from "../foundation/pi-owned-ui-integration/index.js";
6
- export interface ProcessCompositionOptions {
7
- readonly cwd?: string;
8
- readonly sessionId?: string;
9
- readonly engine?: AgentEnginePort;
10
- readonly presentationFactory?: (root: PresentationComponentPort, terminal: PresentationTerminalPort) => PresentationRuntimePort;
11
- readonly createPiAdapter?: () => Promise<PiEngineAdapter>;
12
- }
13
- export interface OwnedUiCompositionOptions {
14
- readonly cwd?: string;
15
- readonly terminal?: PresentationTerminalPort;
16
- readonly createPiAdapter?: () => Promise<PiEngineAdapter>;
17
- /**
18
- * A1 profile whose settings this session reads and writes. Omitted keeps the
19
- * session settings-free, which is what the pinned comparison paths use.
20
- */
21
- readonly profileId?: string;
22
- /**
23
- * Whether A1's own surfaces are reachable. Withheld for the rendering parity
24
- * comparison, which measures this composition against pinned Pi and so must
25
- * present Pi's interface and nothing of A1's own. It is the same composition
26
- * either way: a parity run built beside the product would measure itself.
27
- */
28
- readonly ownedSurfaces?: "on" | "off";
29
- }
30
- export interface OwnedUiComposition {
31
- readonly application: OwnedUiApplicationPort;
32
- /** Present when a profile was supplied, so the caller can resolve settings before start. */
33
- readonly settings: OwnedUiSettingsSession | null;
34
- }
35
- export declare function composeOwnedUiApplication(options?: OwnedUiCompositionOptions): Promise<OwnedUiApplicationPort>;
36
- export declare function composeOwnedUi(options?: OwnedUiCompositionOptions): Promise<OwnedUiComposition>;
37
- export interface ProcessComposition {
38
- readonly engine: AgentEnginePort;
39
- createPresentation(root: PresentationComponentPort, terminal: PresentationTerminalPort): PresentationRuntimePort;
40
- dispose(): Promise<void>;
41
- }
42
- export declare function composeProcess(options?: ProcessCompositionOptions): Promise<ProcessComposition>;
43
- /**
44
- * Registers the A1-owned screens and adapts the app host to the shell's route
45
- * seam. The shell mounts whatever surface it is handed and forwards keys; it
46
- * never learns what an app is.
47
- */
48
- export declare function createOwnedRouteHost(settings: OwnedUiSettingsSession): UiRouteHost;