@huseynsnmz/pi-board 0.0.0-stage → 0.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/CHANGELOG.md +273 -0
  2. package/IMPLEMENTATION_PLAN.md +920 -0
  3. package/LICENSE +21 -0
  4. package/PRD.md +484 -0
  5. package/PROGRESS.md +142 -0
  6. package/README.md +448 -2
  7. package/VERIFY.md +115 -0
  8. package/docs/BATCH_SELECTION_READ_FLOW.md +277 -0
  9. package/docs/EXPLORATION.md +187 -0
  10. package/docs/PTY_ATTACH_IMPLEMENTATION_PLAN.md +581 -0
  11. package/docs/RELEASE.md +148 -0
  12. package/docs/superpowers/plans/2026-08-15-screenlog-gc.md +704 -0
  13. package/docs/superpowers/plans/2026-08-16-attach-double-cursor-jiggle-retry.md +499 -0
  14. package/docs/superpowers/plans/2026-08-21-attach-coldstart-jiggle-rearm.md +797 -0
  15. package/docs/superpowers/plans/2026-08-21-dashboard-keypress-lag.md +366 -0
  16. package/docs/superpowers/plans/2026-08-21-issue-14-needs-input-no-auto-done.md +576 -0
  17. package/docs/superpowers/plans/2026-08-22-jiggle-shrink-and-hold.md +337 -0
  18. package/docs/superpowers/plans/2026-08-22-launch-cwd-favorites.md +916 -0
  19. package/docs/superpowers/plans/2026-08-22-question-tool-grouping.md +211 -0
  20. package/docs/superpowers/plans/2026-08-22-rename-state-labels.md +182 -0
  21. package/docs/superpowers/plans/2026-08-22-stable-list-order.md +51 -0
  22. package/docs/superpowers/plans/2026-08-27-locks-acquirelock-spin.md +614 -0
  23. package/docs/superpowers/plans/2026-08-27-pty-runner-test-flaky.md +32 -0
  24. package/docs/superpowers/plans/2026-08-29-code-refs-badges.md +223 -0
  25. package/docs/superpowers/plans/2026-08-30-circular-navigation.md +308 -0
  26. package/docs/superpowers/plans/2026-08-30-post-exit-timing-fix.md +37 -0
  27. package/docs/superpowers/plans/2026-08-30-pty-attach-quality-debt.md +311 -0
  28. package/docs/superpowers/plans/2026-08-30-readme-v2.md +294 -0
  29. package/docs/superpowers/plans/2026-09-01-attach-detach-gate-cursor-anchor.md +284 -0
  30. package/docs/superpowers/plans/2026-09-02-attach-detach-editor-state.md +722 -0
  31. package/docs/superpowers/plans/2026-09-03-code-refs-pr-backlink-narrow.md +551 -0
  32. package/docs/superpowers/plans/2026-09-03-detach-gate-glyph-fallback.md +146 -0
  33. package/docs/superpowers/plans/2026-09-04-evidence-outputpreview.md +209 -0
  34. package/docs/superpowers/plans/2026-09-04-warm-host-reclaim.md +796 -0
  35. package/docs/superpowers/plans/2026-09-05-issue-13-drainnextfollowup-pty-probe.md +114 -0
  36. package/docs/superpowers/plans/2026-09-05-issue-38-windows-wezterm-ime-cursor.md +73 -0
  37. package/docs/superpowers/plans/2026-09-05-issue-39-truncate-codepoint-boundary.md +143 -0
  38. package/docs/superpowers/plans/2026-09-05-issue-61-mention-fallback-guards.md +226 -0
  39. package/docs/superpowers/plans/2026-09-05-issue-63-flaky-manual-completion.md +87 -0
  40. package/docs/superpowers/plans/2026-09-05-issue-64-changelog-release-helper.md +53 -0
  41. package/docs/superpowers/plans/2026-09-05-pty-host-stacking-sock-race.md +731 -0
  42. package/docs/superpowers/plans/2026-09-08-attach-ctrl-left-detach.md +30 -0
  43. package/docs/superpowers/plans/2026-09-08-dashboard-shrink-repaint.md +68 -0
  44. package/docs/superpowers/plans/2026-09-08-issue-11-attach-runtime-desync-heal.md +917 -0
  45. package/docs/superpowers/plans/2026-09-08-legacy-stale-host-recovery.md +125 -0
  46. package/docs/superpowers/plans/2026-09-08-spawn-async-error-swallow.md +56 -0
  47. package/docs/superpowers/plans/2026-09-08-stale-model-attach-guard.md +96 -0
  48. package/docs/superpowers/plans/2026-09-09-claimpid-blocks-replace.md +267 -0
  49. package/docs/superpowers/plans/2026-09-09-harden-runner-architecture.md +603 -0
  50. package/docs/superpowers/plans/2026-09-09-single-writer-completion.md +252 -0
  51. package/docs/superpowers/plans/2026-09-10-reader-consistency.md +115 -0
  52. package/docs/superpowers/plans/2026-09-14-attach-cursor-dectcem-gate.md +469 -0
  53. package/docs/superpowers/plans/2026-09-14-attach-snapshot.md +92 -0
  54. package/docs/superpowers/plans/2026-09-14-host-meta-orphan-lock.md +771 -0
  55. package/docs/superpowers/plans/2026-09-14-issue-106-terminal-frame-cognition.md +299 -0
  56. package/docs/superpowers/plans/2026-09-14-issue-113-foreground-preview-race.md +609 -0
  57. package/docs/superpowers/plans/2026-09-14-terminal-model.md +145 -0
  58. package/docs/superpowers/plans/2026-09-15-coordinator-pipe-root-normalize.md +224 -0
  59. package/docs/superpowers/plans/2026-09-15-lease-publish-eprem-reclaim.md +341 -0
  60. package/docs/superpowers/plans/2026-09-18-detach-anchor-reporter-endpoint.md +875 -0
  61. package/docs/superpowers/plans/2026-09-20-control-lifecycle.md +116 -0
  62. package/docs/superpowers/plans/2026-09-20-issue-121-perf-gate-out-of-coverage.md +517 -0
  63. package/docs/superpowers/plans/2026-09-23-a5-mid-stream-assertion.md +25 -0
  64. package/docs/superpowers/plans/2026-09-23-cwd-browse-tab-drill.md +393 -0
  65. package/docs/superpowers/plans/2026-09-23-terminal-query-forwarding.md +51 -0
  66. package/docs/superpowers/plans/2026-09-23-unconditional-detach-key.md +58 -0
  67. package/docs/superpowers/plans/2026-09-24-control-reconcile-flake.md +698 -0
  68. package/docs/superpowers/plans/2026-09-24-probe-attached-clients.md +605 -0
  69. package/docs/superpowers/plans/2026-09-29-issue-145-holding-semantic-state.md +1183 -0
  70. package/docs/superpowers/plans/2026-09-29-issue-145-user-verification.md +66 -0
  71. package/docs/superpowers/plans/2026-09-30-board-delete-key-x-y-confirm.md +649 -0
  72. package/docs/superpowers/plans/2026-09-30-issue-153-runner-stop-boot-window.md +618 -0
  73. package/docs/superpowers/plans/2026-09-30-issue-95-test-discipline.md +555 -0
  74. package/docs/superpowers/plans/2026-09-30-publish-dispatch-tag-check.md +259 -0
  75. package/docs/superpowers/plans/2026-10-06-attach-settle-scheme-delivery.md +751 -0
  76. package/docs/superpowers/plans/2026-10-09-issue-167-attach-middle-paste.md +509 -0
  77. package/docs/superpowers/plans/2026-10-09-issue-169-fullscreen-mouse-ownership.md +346 -0
  78. package/docs/superpowers/plans/2026-10-10-attach-delete-in-place.md +832 -0
  79. package/docs/superpowers/plans/2026-10-10-issue-174-selection-mirror-paste-source.md +510 -0
  80. package/docs/superpowers/plans/2026-10-14-issue-170-attach-reply-guard.md +771 -0
  81. package/docs/superpowers/plans/2026-10-14-issue-178-accept-registration-race.md +1257 -0
  82. package/docs/superpowers/plans/2026-10-14-issue-184-snapshot-window-contract.md +657 -0
  83. package/docs/superpowers/plans/2026-10-14-issue-185-attach-wheel-alt-screen.md +47 -0
  84. package/docs/superpowers/plans/2026-10-14-issue-187-motionless-drag.md +931 -0
  85. package/docs/superpowers/plans/2026-10-14-issue-189-mixed-input-segments.md +823 -0
  86. package/docs/superpowers/plans/2026-10-15-issue-188-x10-mouse-release.md +526 -0
  87. package/docs/superpowers/plans/2026-10-16-issue-198-attach-wheel-forward-fallback.md +32 -0
  88. package/docs/superpowers/plans/2026-10-18-attach-wheel-replay-pseudo-scrollback.md +437 -0
  89. package/docs/superpowers/plans/2026-10-19-issue-213-reply-guard-csi-key.md +257 -0
  90. package/docs/superpowers/plans/2026-10-19-issue-214-attach-forward-alt-modifier.md +202 -0
  91. package/docs/superpowers/plans/2026-10-21-issue-221-ask-user-question.md +198 -0
  92. package/docs/superpowers/plans/2026-10-23-issue-222-attach-ready.md +290 -0
  93. package/docs/superpowers/plans/2026-10-23-issue-225-monotonic-foreground-state.md +450 -0
  94. package/docs/superpowers/plans/2026-10-23-issue-229-vim-jkl.md +449 -0
  95. package/docs/superpowers/plans/2026-10-23-issue-232-attach-bg-only-cells.md +153 -0
  96. package/docs/superpowers/plans/2026-10-23-lease-heartbeat-staleness.md +537 -0
  97. package/docs/superpowers/plans/2026-10-23-selected-row-highlight.md +405 -0
  98. package/docs/superpowers/plans/2026-10-24-issue-217-windows-pid-reuse-stopping.md +367 -0
  99. package/docs/superpowers/plans/2026-10-24-issue-230-warm-host-background-runs.md +806 -0
  100. package/docs/superpowers/plans/2026-10-24-issue-238-windows-process-identity-token.md +490 -0
  101. package/docs/superpowers/plans/2026-10-24-issue-241-coordinator-root-exit.md +461 -0
  102. package/docs/superpowers/plans/2026-10-25-issue-239-coordinator-replacement-identity.md +504 -0
  103. package/docs/superpowers/plans/2026-10-26-issue-245-key-hints-doc-sync.md +244 -0
  104. package/docs/superpowers/plans/2026-10-27-issue-172-fullscreen-selection-clear.md +344 -0
  105. package/docs/superpowers/plans/2026-10-27-issue-252-select-key-hints.md +209 -0
  106. package/docs/superpowers/plans/2026-10-28-issue-255-coordinator-endpoint-zombie.md +442 -0
  107. package/docs/superpowers/plans/2026-10-28-issue-257-legacy-pty-runner-endpoint-cleanup.md +256 -0
  108. package/docs/superpowers/plans/2026-11-03-cwd-favorites-full-pool.md +266 -0
  109. package/docs/superpowers/specs/2026-08-15-screenlog-gc-design.md +105 -0
  110. package/docs/superpowers/specs/2026-08-16-attach-double-cursor-jiggle-retry-design.md +142 -0
  111. package/docs/superpowers/specs/2026-08-21-attach-coldstart-jiggle-rearm-design.md +110 -0
  112. package/docs/superpowers/specs/2026-08-21-dashboard-keypress-lag-design.md +59 -0
  113. package/docs/superpowers/specs/2026-08-21-issue-14-needs-input-no-auto-done-design.md +109 -0
  114. package/docs/superpowers/specs/2026-08-22-cwd-favorites-design.md +131 -0
  115. package/docs/superpowers/specs/2026-08-22-jiggle-shrink-and-hold-design.md +111 -0
  116. package/docs/superpowers/specs/2026-08-22-question-tool-grouping-design.md +114 -0
  117. package/docs/superpowers/specs/2026-08-22-rename-state-labels-design.md +80 -0
  118. package/docs/superpowers/specs/2026-08-27-locks-acquirelock-spin-design.md +97 -0
  119. package/docs/superpowers/specs/2026-08-27-pty-runner-test-flaky-design.md +35 -0
  120. package/docs/superpowers/specs/2026-08-29-code-refs-badges-design.md +128 -0
  121. package/docs/superpowers/specs/2026-08-30-circular-navigation-design.md +47 -0
  122. package/docs/superpowers/specs/2026-08-30-eprm-atomicwrite-race-design.md +77 -0
  123. package/docs/superpowers/specs/2026-08-30-post-exit-timing-fix-design.md +80 -0
  124. package/docs/superpowers/specs/2026-08-30-pty-attach-quality-debt-design.md +105 -0
  125. package/docs/superpowers/specs/2026-08-30-readme-v2-design.md +115 -0
  126. package/docs/superpowers/specs/2026-09-01-attach-detach-gate-cursor-anchor-design.md +78 -0
  127. package/docs/superpowers/specs/2026-09-02-attach-detach-editor-state-design.md +120 -0
  128. package/docs/superpowers/specs/2026-09-03-code-refs-pr-backlink-narrow-design.md +92 -0
  129. package/docs/superpowers/specs/2026-09-03-detach-gate-glyph-fallback-design.md +99 -0
  130. package/docs/superpowers/specs/2026-09-04-evidence-outputpreview-design.md +50 -0
  131. package/docs/superpowers/specs/2026-09-04-warm-host-reclaim-design.md +106 -0
  132. package/docs/superpowers/specs/2026-09-05-issue-13-drainnextfollowup-pty-probe-design.md +64 -0
  133. package/docs/superpowers/specs/2026-09-05-issue-38-windows-wezterm-ime-design.md +48 -0
  134. package/docs/superpowers/specs/2026-09-05-issue-39-truncate-codepoint-boundary-design.md +64 -0
  135. package/docs/superpowers/specs/2026-09-05-issue-61-mention-fallback-design.md +71 -0
  136. package/docs/superpowers/specs/2026-09-05-issue-63-flaky-manual-completion-design.md +49 -0
  137. package/docs/superpowers/specs/2026-09-05-issue-64-changelog-helper-design.md +76 -0
  138. package/docs/superpowers/specs/2026-09-05-pty-host-stacking-sock-race-design.md +510 -0
  139. package/docs/superpowers/specs/2026-09-07-issue-11-attach-runtime-desync-heal-design.md +130 -0
  140. package/docs/superpowers/specs/2026-09-08-attach-ctrl-left-detach-design.md +58 -0
  141. package/docs/superpowers/specs/2026-09-08-dashboard-shrink-repaint-design.md +52 -0
  142. package/docs/superpowers/specs/2026-09-08-legacy-stale-host-recovery-design.md +87 -0
  143. package/docs/superpowers/specs/2026-09-08-spawn-async-error-swallow-design.md +56 -0
  144. package/docs/superpowers/specs/2026-09-08-stale-model-attach-guard-design.md +79 -0
  145. package/docs/superpowers/specs/2026-09-09-claimpid-blocks-replace-design.md +147 -0
  146. package/docs/superpowers/specs/2026-09-09-harden-runner-architecture-design.md +304 -0
  147. package/docs/superpowers/specs/2026-09-14-attach-cursor-dectcem-gate-design.md +114 -0
  148. package/docs/superpowers/specs/2026-09-14-host-meta-orphan-lock-design.md +120 -0
  149. package/docs/superpowers/specs/2026-09-14-issue-106-terminal-frame-cognition-design.md +146 -0
  150. package/docs/superpowers/specs/2026-09-14-issue-113-foreground-preview-race-design.md +116 -0
  151. package/docs/superpowers/specs/2026-09-15-coordinator-pipe-root-normalize-design.md +84 -0
  152. package/docs/superpowers/specs/2026-09-15-lease-publish-eprem-reclaim-design.md +92 -0
  153. package/docs/superpowers/specs/2026-09-18-detach-anchor-reporter-endpoint-design.md +123 -0
  154. package/docs/superpowers/specs/2026-09-20-issue-121-perf-gate-out-of-coverage-design.md +204 -0
  155. package/docs/superpowers/specs/2026-09-23-a5-mid-stream-assertion-design.md +43 -0
  156. package/docs/superpowers/specs/2026-09-23-cwd-browse-tab-drill-design.md +95 -0
  157. package/docs/superpowers/specs/2026-09-23-terminal-query-forwarding-design.md +63 -0
  158. package/docs/superpowers/specs/2026-09-23-unconditional-detach-key-design.md +57 -0
  159. package/docs/superpowers/specs/2026-09-24-control-reconcile-flake-design.md +98 -0
  160. package/docs/superpowers/specs/2026-09-24-probe-attached-clients-design.md +190 -0
  161. package/docs/superpowers/specs/2026-09-29-issue-145-holding-semantic-state-design.md +394 -0
  162. package/docs/superpowers/specs/2026-09-30-board-delete-key-x-y-confirm-design.md +86 -0
  163. package/docs/superpowers/specs/2026-09-30-issue-153-runner-stop-boot-window-design.md +75 -0
  164. package/docs/superpowers/specs/2026-09-30-issue-95-test-discipline-design.md +226 -0
  165. package/docs/superpowers/specs/2026-09-30-publish-dispatch-tag-check-design.md +129 -0
  166. package/docs/superpowers/specs/2026-10-06-attach-settle-scheme-delivery-design.md +196 -0
  167. package/docs/superpowers/specs/2026-10-09-issue-167-attach-middle-paste-design.md +125 -0
  168. package/docs/superpowers/specs/2026-10-09-issue-169-fullscreen-mouse-ownership-design.md +130 -0
  169. package/docs/superpowers/specs/2026-10-10-attach-delete-in-place-design.md +224 -0
  170. package/docs/superpowers/specs/2026-10-10-issue-174-selection-mirror-paste-source-design.md +154 -0
  171. package/docs/superpowers/specs/2026-10-14-issue-170-attach-reply-guard-design.md +195 -0
  172. package/docs/superpowers/specs/2026-10-14-issue-178-accept-registration-race-design.md +287 -0
  173. package/docs/superpowers/specs/2026-10-14-issue-184-snapshot-window-contract-design.md +288 -0
  174. package/docs/superpowers/specs/2026-10-14-issue-185-attach-wheel-alt-screen-design.md +126 -0
  175. package/docs/superpowers/specs/2026-10-14-issue-187-motionless-drag-design.md +269 -0
  176. package/docs/superpowers/specs/2026-10-14-issue-189-mixed-input-segments-design.md +369 -0
  177. package/docs/superpowers/specs/2026-10-15-issue-188-x10-mouse-release-design.md +252 -0
  178. package/docs/superpowers/specs/2026-10-16-issue-198-attach-wheel-forward-fallback-design.md +67 -0
  179. package/docs/superpowers/specs/2026-10-18-attach-wheel-replay-pseudo-scrollback-design.md +250 -0
  180. package/docs/superpowers/specs/2026-10-19-issue-213-reply-guard-csi-key-design.md +165 -0
  181. package/docs/superpowers/specs/2026-10-19-issue-214-attach-forward-alt-modifier-design.md +131 -0
  182. package/docs/superpowers/specs/2026-10-20-issue-221-ask-user-question-design.md +270 -0
  183. package/docs/superpowers/specs/2026-10-22-issue-225-monotonic-foreground-state-design.md +225 -0
  184. package/docs/superpowers/specs/2026-10-23-issue-222-attach-ready-design.md +204 -0
  185. package/docs/superpowers/specs/2026-10-23-issue-229-vim-jkl-design.md +90 -0
  186. package/docs/superpowers/specs/2026-10-23-issue-232-attach-bg-only-cells-design.md +146 -0
  187. package/docs/superpowers/specs/2026-10-23-lease-heartbeat-staleness-design.md +271 -0
  188. package/docs/superpowers/specs/2026-10-23-selected-row-highlight-design.md +191 -0
  189. package/docs/superpowers/specs/2026-10-24-issue-217-windows-pid-reuse-stopping-design.md +334 -0
  190. package/docs/superpowers/specs/2026-10-24-issue-230-warm-host-background-runs-design.md +283 -0
  191. package/docs/superpowers/specs/2026-10-24-issue-238-windows-process-identity-token-design.md +286 -0
  192. package/docs/superpowers/specs/2026-10-24-issue-241-coordinator-root-exit-design.md +381 -0
  193. package/docs/superpowers/specs/2026-10-25-issue-239-coordinator-replacement-identity-design.md +331 -0
  194. package/docs/superpowers/specs/2026-10-26-issue-245-key-hints-doc-sync-design.md +72 -0
  195. package/docs/superpowers/specs/2026-10-27-issue-172-fullscreen-selection-clear-design.md +248 -0
  196. package/docs/superpowers/specs/2026-10-27-issue-252-select-key-hints-design.md +95 -0
  197. package/docs/superpowers/specs/2026-10-28-issue-255-coordinator-endpoint-zombie-design.md +380 -0
  198. package/docs/superpowers/specs/2026-10-28-issue-257-legacy-pty-runner-endpoint-cleanup-design.md +197 -0
  199. package/docs/superpowers/specs/2026-11-03-cwd-favorites-full-pool-design.md +106 -0
  200. package/index.ts +6 -0
  201. package/package.json +84 -4
  202. package/runner/job-runner-legacy.mjs +68 -0
  203. package/runner/job-runner.mjs +834 -0
  204. package/runner/pty-runner-legacy.mjs +50 -0
  205. package/runner/pty-runner.mjs +2156 -0
  206. package/runner/state-coordinator.mjs +673 -0
  207. package/runner/state-runner.mjs +203 -0
  208. package/runner/title-runner.mjs +80 -0
  209. package/scripts/budget-audit.mjs +135 -0
  210. package/scripts/patch-vulns.mjs +59 -0
  211. package/scripts/release.mjs +446 -0
  212. package/scripts/release_helper.mjs +309 -0
  213. package/scripts/run-perf-gate.mjs +40 -0
  214. package/scripts/run-tests.mjs +375 -0
  215. package/src/commands/agent-board.ts +366 -0
  216. package/src/commands/attach-decision.mjs +66 -0
  217. package/src/commands/attach-flow.ts +247 -0
  218. package/src/commands/bg.ts +103 -0
  219. package/src/commands/board-model.ts +21 -0
  220. package/src/core/atomic.mjs +184 -0
  221. package/src/core/attach-delete.mjs +24 -0
  222. package/src/core/attach-frame-proof.mjs +862 -0
  223. package/src/core/attach-frame-reporter.mjs +648 -0
  224. package/src/core/attach-frame-stream.mjs +266 -0
  225. package/src/core/attach-view-proof.mjs +709 -0
  226. package/src/core/auto-state.mjs +377 -0
  227. package/src/core/background-runs.mjs +273 -0
  228. package/src/core/code-refs-store.mjs +315 -0
  229. package/src/core/code-refs.mjs +913 -0
  230. package/src/core/config.mjs +77 -0
  231. package/src/core/control-protocol.mjs +482 -0
  232. package/src/core/coordinator-client.mjs +633 -0
  233. package/src/core/coordinator-journal.mjs +282 -0
  234. package/src/core/coordinator-protocol.mjs +14 -0
  235. package/src/core/cwd-stats.mjs +114 -0
  236. package/src/core/dashboard-render.mjs +10 -0
  237. package/src/core/derive.mjs +117 -0
  238. package/src/core/diagnostics.mjs +133 -0
  239. package/src/core/double-press.mjs +22 -0
  240. package/src/core/editor-state-reporter.mjs +112 -0
  241. package/src/core/events.mjs +286 -0
  242. package/src/core/evidence.mjs +245 -0
  243. package/src/core/follow-up-queue.mjs +211 -0
  244. package/src/core/foreground-preview-cache.mjs +117 -0
  245. package/src/core/foreground-projection-cache.mjs +99 -0
  246. package/src/core/frame-witness-update.mjs +35 -0
  247. package/src/core/heuristics.mjs +313 -0
  248. package/src/core/host-coordination.mjs +300 -0
  249. package/src/core/host-crash.mjs +79 -0
  250. package/src/core/host-probe.mjs +207 -0
  251. package/src/core/host-protocol.mjs +73 -0
  252. package/src/core/ids.mjs +35 -0
  253. package/src/core/ime-cursor-coalesce.mjs +193 -0
  254. package/src/core/invocation.mjs +43 -0
  255. package/src/core/launch-options.mjs +418 -0
  256. package/src/core/launch.mjs +157 -0
  257. package/src/core/load-config.mjs +4 -0
  258. package/src/core/locks.mjs +530 -0
  259. package/src/core/paths.mjs +183 -0
  260. package/src/core/pid.mjs +75 -0
  261. package/src/core/prewarm-schedule.mjs +41 -0
  262. package/src/core/process-identity-probe.mjs +228 -0
  263. package/src/core/prompt-transport.mjs +13 -0
  264. package/src/core/pty-attach-jiggle-controller.mjs +356 -0
  265. package/src/core/pty-attach-jiggle-retry.mjs +109 -0
  266. package/src/core/pty-attach-reconnect.mjs +61 -0
  267. package/src/core/pty-attach-render.mjs +229 -0
  268. package/src/core/pty-links.mjs +71 -0
  269. package/src/core/pty-scroll.mjs +522 -0
  270. package/src/core/pty-support.mjs +327 -0
  271. package/src/core/repo.mjs +103 -0
  272. package/src/core/rows.mjs +398 -0
  273. package/src/core/screen-log-gc.mjs +198 -0
  274. package/src/core/screen-log.mjs +160 -0
  275. package/src/core/session-view.mjs +174 -0
  276. package/src/core/state-commands.mjs +757 -0
  277. package/src/core/status-consistency.mjs +98 -0
  278. package/src/core/steering-prompts.mjs +34 -0
  279. package/src/core/steering.mjs +133 -0
  280. package/src/core/stop-latch.mjs +41 -0
  281. package/src/core/store.mjs +523 -0
  282. package/src/core/terminal-attach-client.mjs +981 -0
  283. package/src/core/terminal-attach-protocol.mjs +460 -0
  284. package/src/core/terminal-model.mjs +222 -0
  285. package/src/core/terminal-query-sequences.mjs +239 -0
  286. package/src/core/terminal-reply-guard.mjs +222 -0
  287. package/src/core/terminal-snapshot.mjs +440 -0
  288. package/src/core/test-knobs.mjs +28 -0
  289. package/src/core/title.mjs +43 -0
  290. package/src/core/types.mjs +414 -0
  291. package/src/core/warm-host-sweeper.mjs +168 -0
  292. package/src/core/worktree.mjs +65 -0
  293. package/src/index.ts +283 -0
  294. package/src/runtime/service.mjs +3210 -0
  295. package/src/ui/chrome.ts +20 -0
  296. package/src/ui/dashboard-decisions.mjs +55 -0
  297. package/src/ui/dashboard-evidence.mjs +85 -0
  298. package/src/ui/dashboard.ts +2178 -0
  299. package/src/ui/double-left.ts +26 -0
  300. package/src/ui/external-editor.ts +25 -0
  301. package/src/ui/focus.ts +26 -0
  302. package/src/ui/pty-attach.ts +3091 -0
  303. package/src/ui/waiting.ts +25 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,273 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project are documented here, generated from
4
+ conventional commits by `scripts/release_helper.mjs`. Entries are
5
+ forward-only: they begin with the first release after this file landed —
6
+ for earlier history, see the git log and the pull-request list.
7
+
8
+ ## [0.15.1] - 2026-11-04
9
+
10
+ ### Features
11
+
12
+ - **keys**: `Ctrl+S` groups by directory, `Shift+Up` and `Shift+Down` reorder, `Ctrl+G` opens your editor
13
+ - **state**: a session waiting on a permission prompt or other dialog shows as `Needs answer`
14
+
15
+ ## [0.15.0] - 2026-11-04
16
+
17
+ ### Features
18
+
19
+ - **keys**: typing starts a task with no key first, and the keys follow Claude Code's agent view
20
+ - **board**: `Left` twice puts the session you're in on the board, so you can come back to it
21
+ - **config**: settings move to `~/.pi/agent/extensions/pi-board/config.json`
22
+ - **model**: `/board-model` chooses the helper model, which is now off until you choose one
23
+ - **ui**: drawn with frames and Pi's theme colors, to match pi-frame
24
+
25
+ ## [0.14.0] - 2026-11-04
26
+
27
+ First release of `@huseynsnmz/pi-board`, a fork of `@zhuxixi/pi-agent-board` 0.13.1.
28
+
29
+ ### Features
30
+
31
+ - **dispatch**: `Enter` starts a task right away; `Ctrl+N` while typing opens the Start session dialog
32
+ - **board**: `Left` twice on an empty prompt opens the board
33
+ - **board**: announce `agent-board:closed`, so an extension can draw its header and footer again
34
+
35
+ ## [0.13.1] - 2026-10-28
36
+
37
+ ### Fixes
38
+
39
+ - **attach**: clear the fullscreen selection highlight after copy-on-release (issue #172) (#251)
40
+ - **coordinator**: self-supervise the endpoint and restore the #70 cleanup gate (issue #255) (#256)
41
+
42
+ ### Changes
43
+
44
+ - **ui**: align SELECT hints, help overlay and ! wording with the handler (issue #252) (#253)
45
+ - sync key hints with the implemented bindings — peek footer, README ! rows, multi-select table (issue #245) (#249)
46
+
47
+ [0.13.1]: https://github.com/zhuxixi/pi-agent-board/compare/v0.13.0...v0.13.1
48
+
49
+ ## [0.13.0] - 2026-10-26
50
+
51
+ ### Features
52
+
53
+ - **ui**: vim-style j/k/l board keys — j/k navigate, l attaches (issue #229) (#237)
54
+ - **ui**: paint the selected board row with selectedBg (issue #231) (#233)
55
+
56
+ ### Fixes
57
+
58
+ - **coordinator**: verify lease identity before signalling (issue #239) (#247)
59
+ - **dashboard**: keep selected rows visible beside scroll markers (#226)
60
+ - **attach**: render cells that only carry a background (#235)
61
+ - **coordinator**: root-vanished self-exit and suite leak gate (issue #241) (#244)
62
+ - **host**: unify process identity tokens and produce them on win32 (issue #238) (#243)
63
+ - **host**: keep warm hosts alive while a background workflow run is active (issue #230) (#242)
64
+ - **host**: corroborate unverified process identity to unstick pid-reuse recovery (issue #217) (#240)
65
+ - **lease**: reclaim stale coordinator leases by heartbeat instead of pid liveness (issue #224) (#236)
66
+ - keep foreground rows monotonic across out-of-order state writes (#228)
67
+ - recognize ask_user_question and questionnaire-shaped tools as pending questions (#223)
68
+
69
+ [0.13.0]: https://github.com/zhuxixi/pi-agent-board/compare/v0.12.1...v0.13.0
70
+
71
+ ## [0.12.1] - 2026-10-20
72
+
73
+ ### Fixes
74
+
75
+ - **release**: collapse repeated trailing PR refs in CHANGELOG entries (#218)
76
+ - **attach**: keep the Alt modifier on the forwarded wheel report (#216)
77
+ - **attach**: stop the reply guard swallowing kitty/modifyOtherKeys PageDown (#215)
78
+
79
+ ### Changes
80
+
81
+ - **attach**: tidy the mouse-enable helper placement and comment indent (#209)
82
+
83
+ [0.12.1]: https://github.com/zhuxixi/pi-agent-board/compare/v0.12.0...v0.12.1
84
+
85
+ ## [0.12.0] - 2026-10-19
86
+
87
+ ### Features
88
+
89
+ - **attach**: ctrl+x in-place delete confirm — archive from the attach view (#193)
90
+
91
+ ### Fixes
92
+
93
+ - **attach**: re-assert the fullscreen mouse mode when the attach view opens (#208) (#208)
94
+ - **attach**: stop spending wheel notches on snapshot-hydration scrollback (#206)
95
+ - **attach**: decode the X10 mouse release code as release (#200) (#200)
96
+ - **attach**: classify a motion-less legacy drag by screen geometry (#202)
97
+ - **attach**: dispatch mixed input reads per segment and pass terminal reports through (issue #189) (#196)
98
+ - **attach**: forward the fullscreen wheel whenever the local viewport cannot move (#199)
99
+ - **attach**: stop terminal reply fragments leaking into the attached child's input (#194)
100
+ - **attach**: forward the fullscreen wheel to alternate-screen children (#190)
101
+ - **attach**: scroll the fullscreen wheel in the attach viewport (#183)
102
+
103
+ ### Changes
104
+
105
+ - **attach**: gate the alt-wheel scenario on the child's first frame (#204)
106
+ - accept-registration race — echo-probe waits, flake postmortems, load-independent repro (#192) (#192)
107
+ - **attach**: keep the A5 burst inside the snapshot frame window and pin the window contract (#191)
108
+
109
+ [0.12.0]: https://github.com/zhuxixi/pi-agent-board/compare/v0.11.1...v0.12.0
110
+
111
+ ## [0.11.1] - 2026-10-13
112
+
113
+ ### Fixes
114
+
115
+ - **attach**: defer color-scheme reports until child input is ready (#180)
116
+
117
+ [0.11.1]: https://github.com/zhuxixi/pi-agent-board/compare/v0.11.0...v0.11.1
118
+
119
+ ## [0.11.0] - 2026-10-12
120
+
121
+ ### Features
122
+
123
+ - **attach**: mirror pi's fullscreen selection into X11 PRIMARY + paste-source override (#177)
124
+
125
+ [0.11.0]: https://github.com/zhuxixi/pi-agent-board/compare/v0.10.2...v0.11.0
126
+
127
+ ## [0.10.2] - 2026-10-10
128
+
129
+ ### Fixes
130
+
131
+ - **attach**: stop writing outer-terminal mouse mode in fullscreen TUI (#173)
132
+ - **attach**: middle-click paste via handleMouse under pi >=1.0 fullscreen TUI (#171)
133
+ - **attach**: deliver terminal color scheme at settle via feature-detected probe API (#166)
134
+ - **attach**: prevent startup background replies from echoing in the PTY (#165) (#165)
135
+
136
+ [0.10.2]: https://github.com/zhuxixi/pi-agent-board/compare/v0.10.1...v0.10.2
137
+
138
+ ## [0.10.1] - 2026-10-01
139
+
140
+ ### Fixes
141
+
142
+ - **attach**: prevent stale hyperlink IDs from leaking across cells (#158)
143
+
144
+ [0.10.1]: https://github.com/zhuxixi/pi-agent-board/compare/v0.10.0...v0.10.1
145
+
146
+ ## [0.10.0] - 2026-10-01
147
+
148
+ ### Features
149
+
150
+ - **ui**: x then y confirms session deletion (issue #150) (#152)
151
+ - 8th semantic state holding + manual-fence lift on interactive input (issue #145) (#151)
152
+
153
+ ### Fixes
154
+
155
+ - **ci**: read the dispatch recovery tag from inputs, not the ref name (issue #154) (#156)
156
+ - job-runner boot-window stop loss + dead-run reconcile convergence (issue #153) (#155)
157
+ - **attach**: answer the color-scheme query client-side for attached sessions (issue #148) (#149)
158
+
159
+ ### Changes
160
+
161
+ - probe knob guard uses the production-default floor, not a jitter-prone absolute bound (issue #95) (#159)
162
+ - flake postmortems, budget audit gate, ladder knobs (issue #95 F3-F4) (#157)
163
+
164
+ [0.10.0]: https://github.com/zhuxixi/pi-agent-board/compare/v0.9.0...v0.10.0
165
+
166
+ ## [0.9.0] - 2026-09-25
167
+
168
+ ### Features
169
+
170
+ - **attach**: forward terminal queries to the real terminal — automatic theme works in attach sessions (issue #128) (#138)
171
+ - **attach**: unconditional Ctrl+\ detach key, terminal-independent (issue #126) (#137)
172
+
173
+ ### Fixes
174
+
175
+ - **runner**: probes leave attachedClients at hello (issue #130) (#142)
176
+ - browse-mode Tab completes and drills down directories in cwd picker (issue #127) (#141)
177
+
178
+ ### Changes
179
+
180
+ - **release**: orchestrate releases and publish from CI (#144)
181
+ - control-reconcile flaky assertions — windowed recorder + invariant realignment (issue #140) (#143)
182
+ - **attach**: scope A5 mid-stream seq assertion to post-snapshot window (issue #132) (#139)
183
+
184
+ [0.9.0]: https://github.com/zhuxixi/pi-agent-board/compare/v0.8.0...v0.9.0
185
+
186
+ ## [0.8.0] - 2026-09-23
187
+
188
+ ### Features
189
+
190
+ - **attach**: detach gate reads only editor_state — delete buffer heuristics (issue #91 phase 6, D1) (#135)
191
+ - control command lifecycle — staged acks, durable journal, reconcile, generation token (issue #91 phase 5, D4) (#134)
192
+ - switch attach to snapshot+subscribe with legacy fallback (issue #91 phase 4, D2 closure) (#122)
193
+ - canonical terminal model and capture-and-subscribe protocol (issue #91 phase 3, D2+D5) (#117)
194
+ - reader-side revision consistency, beat bootstrap, and paired-revision invariant (issue #91, D3 arc closure) (#111)
195
+
196
+ ### Fixes
197
+
198
+ - **attach**: editor-shaped ← detach anchor + restore the editor-state reporter endpoint (issue #103) (#119)
199
+ - **paths**: normalize root before hashing the win32 coordinator pipe name (issue #124) (#125)
200
+ - **locks**: reclaim Windows lease orphans on publish-rename EPERM (issue #114) (#123)
201
+ - **attach**: stop painting the PTY cursor block when the child hides it (issue #102) (#120)
202
+ - **attach**: learn TUI frame cognition in terminal chain states (issue #106) (#118)
203
+ - **host**: reclaim orphaned host-meta locks and add contention diagnostics (issue #112) (#116)
204
+ - foreground preview read-your-writes cache for coordinator write races (issue #113) (#115)
205
+
206
+ ### Changes
207
+
208
+ - move the A11 perf gate out of coverage instrumentation (issue #121) (#133)
209
+
210
+ [0.8.0]: https://github.com/zhuxixi/pi-agent-board/compare/v0.7.0...v0.8.0
211
+
212
+ ## [0.7.0] - 2026-09-10
213
+
214
+ ### Features
215
+
216
+ - runtime cursor desync detect + rate-limited heal (issue #11) (#105)
217
+ - detached View State Coordinator as single writer for state/status (issue #91, phase 1+2a) (#104)
218
+
219
+ ### Fixes
220
+
221
+ - **coordinator**: protocol version gate replaces stale coordinators on extension updates (issue #108) (#109)
222
+
223
+ ### Changes
224
+
225
+ - route all remaining state writes through the View State Coordinator (issue #91, phase 2b) (#107)
226
+
227
+ [0.7.0]: https://github.com/zhuxixi/pi-agent-board/compare/v0.6.2...v0.7.0
228
+
229
+ ## [0.6.2] - 2026-09-09
230
+
231
+ ### Fixes
232
+
233
+ - **host**: claim role no longer blocks terminal host replacement (#99) (#100)
234
+
235
+ [0.6.2]: https://github.com/zhuxixi/pi-agent-board/compare/v0.6.1...v0.6.2
236
+
237
+ ## [0.6.1] - 2026-09-08
238
+
239
+ ### Fixes
240
+
241
+ - add an unconditional Ctrl+Left detach chord to the attach surface (issue #89) (#97)
242
+ - force full-clear repaint on dashboard mount and content shrink (issue #88) (#96)
243
+ - fail host launch fast on a provably stale defaultModel + exit attribution (issue #90) (#94)
244
+ - finalize provably-dead legacy hosts in attach resolver and self-heal (issue #87) (#93)
245
+ - swallow async spawn errors in detached runner launches (issue #86) (#92)
246
+
247
+ [0.6.1]: https://github.com/zhuxixi/pi-agent-board/compare/v0.6.0...v0.6.1
248
+
249
+ ## [0.6.0] - 2026-09-07
250
+
251
+ ### Features
252
+
253
+ - conventional-commit driven CHANGELOG via release_helper.mjs (issue #64) (#83)
254
+
255
+ ### Fixes
256
+
257
+ - pty host stacking and control.sock cross-deletion via per-instance ownership protocol (issue #70) (#84)
258
+ - guard mention fallback against placeholders, code spans, and pr-context (issue #61) (#82)
259
+ - truncate never splits surrogate pairs or emits lone surrogates (issue #39) (#81)
260
+ - extract evidence outputPreview from AgentToolResult content (issue #41) (#77)
261
+ - reclaim idle warm PTY hosts via periodic sweep + lifecycle cleanup (issue #75) (#76)
262
+ - narrow code-refs PR back-link extraction by evidence context (issue #65) (#73)
263
+
264
+ ### Performance
265
+
266
+ - use cached PTY probe on the reconcile drain path (issue #13) (#79)
267
+
268
+ ### Changes
269
+
270
+ - Windows WezTerm IME needs a visible hardware cursor (issue #38) (#80)
271
+ - poll markCompleted to success instead of racing the persist window (issue #63) (#78)
272
+
273
+ [0.6.0]: https://github.com/zhuxixi/pi-agent-board/compare/v0.5.2...v0.6.0