@zhuxixi/pi-agent-board 0.5.2 → 0.6.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.
- package/CHANGELOG.md +44 -0
- package/README.md +43 -5
- package/docs/superpowers/plans/2026-09-03-code-refs-pr-backlink-narrow.md +551 -0
- package/docs/superpowers/plans/2026-09-04-evidence-outputpreview.md +209 -0
- package/docs/superpowers/plans/2026-09-04-warm-host-reclaim.md +796 -0
- package/docs/superpowers/plans/2026-09-05-issue-13-drainnextfollowup-pty-probe.md +114 -0
- package/docs/superpowers/plans/2026-09-05-issue-38-windows-wezterm-ime-cursor.md +73 -0
- package/docs/superpowers/plans/2026-09-05-issue-39-truncate-codepoint-boundary.md +143 -0
- package/docs/superpowers/plans/2026-09-05-issue-61-mention-fallback-guards.md +226 -0
- package/docs/superpowers/plans/2026-09-05-issue-63-flaky-manual-completion.md +87 -0
- package/docs/superpowers/plans/2026-09-05-issue-64-changelog-release-helper.md +53 -0
- package/docs/superpowers/plans/2026-09-05-pty-host-stacking-sock-race.md +731 -0
- package/docs/superpowers/plans/2026-09-08-attach-ctrl-left-detach.md +30 -0
- package/docs/superpowers/plans/2026-09-08-dashboard-shrink-repaint.md +68 -0
- package/docs/superpowers/plans/2026-09-08-legacy-stale-host-recovery.md +125 -0
- package/docs/superpowers/plans/2026-09-08-spawn-async-error-swallow.md +56 -0
- package/docs/superpowers/plans/2026-09-08-stale-model-attach-guard.md +96 -0
- package/docs/superpowers/specs/2026-08-29-code-refs-badges-design.md +1 -1
- package/docs/superpowers/specs/2026-09-03-code-refs-pr-backlink-narrow-design.md +92 -0
- package/docs/superpowers/specs/2026-09-04-evidence-outputpreview-design.md +50 -0
- package/docs/superpowers/specs/2026-09-04-warm-host-reclaim-design.md +106 -0
- package/docs/superpowers/specs/2026-09-05-issue-13-drainnextfollowup-pty-probe-design.md +64 -0
- package/docs/superpowers/specs/2026-09-05-issue-38-windows-wezterm-ime-design.md +48 -0
- package/docs/superpowers/specs/2026-09-05-issue-39-truncate-codepoint-boundary-design.md +64 -0
- package/docs/superpowers/specs/2026-09-05-issue-61-mention-fallback-design.md +71 -0
- package/docs/superpowers/specs/2026-09-05-issue-63-flaky-manual-completion-design.md +49 -0
- package/docs/superpowers/specs/2026-09-05-issue-64-changelog-helper-design.md +76 -0
- package/docs/superpowers/specs/2026-09-05-pty-host-stacking-sock-race-design.md +510 -0
- package/docs/superpowers/specs/2026-09-08-attach-ctrl-left-detach-design.md +58 -0
- package/docs/superpowers/specs/2026-09-08-dashboard-shrink-repaint-design.md +52 -0
- package/docs/superpowers/specs/2026-09-08-legacy-stale-host-recovery-design.md +87 -0
- package/docs/superpowers/specs/2026-09-08-spawn-async-error-swallow-design.md +56 -0
- package/docs/superpowers/specs/2026-09-08-stale-model-attach-guard-design.md +79 -0
- package/package.json +83 -81
- package/runner/job-runner.mjs +2 -2
- package/runner/pty-runner.mjs +626 -3
- package/runner/state-runner.mjs +3 -0
- package/runner/title-runner.mjs +1 -1
- package/scripts/release_helper.mjs +277 -0
- package/src/commands/agent-board.ts +47 -35
- package/src/commands/attach-decision.mjs +66 -0
- package/src/commands/attach-flow.ts +45 -39
- package/src/commands/bg.ts +9 -0
- package/src/core/code-refs.mjs +85 -33
- package/src/core/evidence.mjs +2 -2
- package/src/core/heuristics.mjs +75 -2
- package/src/core/host-coordination.mjs +182 -0
- package/src/core/host-crash.mjs +43 -3
- package/src/core/host-probe.mjs +196 -0
- package/src/core/launch-options.mjs +17 -0
- package/src/core/launch.mjs +35 -35
- package/src/core/locks.mjs +196 -1
- package/src/core/paths.mjs +24 -0
- package/src/core/store.mjs +164 -5
- package/src/core/types.mjs +17 -1
- package/src/core/warm-host-sweeper.mjs +150 -0
- package/src/index.ts +40 -3
- package/src/runtime/service.mjs +1071 -108
- package/src/ui/dashboard-decisions.mjs +55 -0
- package/src/ui/dashboard.ts +67 -13
- package/src/ui/pty-attach.ts +23 -5
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Issue #64 CHANGELOG Release Helper — Implementation Plan
|
|
2
|
+
|
|
3
|
+
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
|
|
4
|
+
|
|
5
|
+
**Goal:** Port the jfox conventional-commit CHANGELOG helper to `scripts/release_helper.mjs` with preview/apply/verify modes, a CHANGELOG.md stub (forward-only), an npm `changelog` script, and Publishing docs.
|
|
6
|
+
|
|
7
|
+
**Architecture:** Pure exported functions (parse/generate/topPrs/verify/insert — unit tested on plain strings) + thin git-backed CLI (integration-checked against the real repo via subprocess in tests). See spec for the full contract.
|
|
8
|
+
|
|
9
|
+
**Tech Stack:** Node ESM, node --test.
|
|
10
|
+
|
|
11
|
+
## Global Constraints
|
|
12
|
+
|
|
13
|
+
- Forward-only: no backfill of ≤0.5.2 (spec).
|
|
14
|
+
- Tag format `vX.Y.Z`; repo URL `https://github.com/zhuxixi/pi-agent-board/compare/...`.
|
|
15
|
+
- No changes to the existing `verify` npm script; one new script line `changelog`.
|
|
16
|
+
- Scope (spec A7): scripts/release_helper.mjs, test/release-helper.test.mjs, package.json, CHANGELOG.md, README.md (+ process docs).
|
|
17
|
+
|
|
18
|
+
**Execution mode:** inline (executing-plans).
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
### Task 1: scripts/release_helper.mjs
|
|
23
|
+
|
|
24
|
+
Pure exports: `parseCommitLines(lines)`, `generateChangelog({version,date,entries,prevTag})`,
|
|
25
|
+
`changelogTopPrs(text)`, `functionalLines(lines)`, `verifyFrom({lines,changelogText})`,
|
|
26
|
+
`insertSection(existing, section)`. CLI: `[--dry-run] [patch|minor|major|X.Y.Z]` (default
|
|
27
|
+
patch, version from package.json, `last v* tag` via `git describe --tags --abbrev=0 --match v*`)
|
|
28
|
+
and `verify` (exit 1 + JSON missing list). Skip version-squash subjects (`0.5.2 (#74)`),
|
|
29
|
+
merge subjects, `docs(changelog)` in functional whitelist.
|
|
30
|
+
|
|
31
|
+
### Task 2: test/release-helper.test.mjs
|
|
32
|
+
|
|
33
|
+
Unit: parse fixtures (scoped feat with PR, `!`, merge skip, version-squash skip, fallback,
|
|
34
|
+
dedupe), generate grouping/order/compare-link, topPrs first-section-only, verifyFrom
|
|
35
|
+
ok/missing/extra/fail-closed, insertSection stub + existing. Integration (subprocess on the
|
|
36
|
+
real worktree repo): `--dry-run` exits 0 with `changelog_preview` containing the next version
|
|
37
|
+
heading and does not modify CHANGELOG.md; `verify` exits 1 with missing PRs from
|
|
38
|
+
v0.5.2..HEAD (functional PRs since v0.5.2 present in git but absent from the stub).
|
|
39
|
+
|
|
40
|
+
### Task 3: package.json script + CHANGELOG.md stub + README Publishing
|
|
41
|
+
|
|
42
|
+
`"changelog": "node scripts/release_helper.mjs"`; stub header (no entries, forward-only
|
|
43
|
+
note); Publishing section documents: npm version → npm run changelog (preview, review) →
|
|
44
|
+
commit → PR → tag + GitHub Release with notes from top section.
|
|
45
|
+
|
|
46
|
+
### Task 4: verify acceptance
|
|
47
|
+
|
|
48
|
+
npm test green (A5); `npm run changelog -- --dry-run` (A1); `node scripts/release_helper.mjs
|
|
49
|
+
verify` exit 1 with missing list (A4); grep README (A6); diff stat scope (A7). Commit.
|
|
50
|
+
|
|
51
|
+
## Self-Review
|
|
52
|
+
|
|
53
|
+
Spec A1-A7 map to Tasks 2-4; no placeholders; types consistent with spec signatures.
|