@unbrained/pm-web 2026.7.20 → 2026.7.23

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 CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026.7.23 - 2026-07-23
4
+
5
+ ### Fixed
6
+
7
+ - Recommend pm merge reconcile (2026.7.22) over raw history-repair in Multi-agent merge safety docs ([pm-web-n1pm](https://github.com/unbraind/pm-web/blob/main/.agents/pm/issues/pm-web-n1pm.toon))
8
+
9
+ ### Other
10
+
11
+ - Adopt pm field-aware merge driver for multi-agent branch-merge safety ([pm-web-94so](https://github.com/unbraind/pm-web/blob/main/.agents/pm/chores/pm-web-94so.toon))
12
+
3
13
  ## 2026.7.18 - 2026-07-18
4
14
 
5
15
  ### Other
package/README.md CHANGED
@@ -238,3 +238,22 @@ cookie). The pure generator lives in `src/ical.ts` and is unit-tested.
238
238
  Press `?` for the in-app shortcuts overlay. Highlights: `Ctrl/⌘+K` global
239
239
  search, `/` focus search, `n`/`c` new item, `t` cycle theme, `a` activity,
240
240
  `g i` items, `g g` graph, `g s` search, `g c` calendar, `Esc` close modal.
241
+
242
+ ## Multi-agent merge safety
243
+
244
+ This repo tracks its project management in `.agents/pm/` and ships a committed `.gitattributes`
245
+ that maps those tracker artifacts to pm-cli's field-aware Git merge drivers, so concurrent-branch
246
+ tracker edits merge cleanly instead of hard-conflicting. The driver **definitions** live in
247
+ per-clone Git config; `npm install` / `npm ci` wires them automatically via the `prepare` script (a portable Node guard, `scripts/prepare-merge-driver.mjs`: it runs
248
+ `pm merge install` only when the `pm` CLI is on `PATH`, and no-ops cleanly otherwise so
249
+ production / `--omit=dev` installs are not broken; being Node-based it behaves identically
250
+ on POSIX shells and Windows `cmd.exe`). To (re)run manually: `npm run merge:install`.
251
+
252
+ After merging a branch that touched `.agents/pm/`, reconcile any residual history-hash drift with
253
+ **`pm merge reconcile`** (pm-cli ≥ 2026.7.22): preview with `pm merge reconcile --dry-run`, apply with
254
+ `pm merge reconcile --message "post-merge reconcile"`, then confirm with `pm validate`, which scans the
255
+ whole tracker and flags remaining history drift across **every** affected item (`pm merge reconcile`
256
+ itself lists each affected stream in its output; `pm history --verify <id>` spot-checks one item). The field-aware driver already unions every author's
257
+ content, so `reconcile` only re-greens the hash chain (no data loss) — see the authoritative
258
+ [pm-cli merge-safety guide](https://github.com/unbraind/pm-cli/blob/main/docs/MERGE_SAFETY.md). The
259
+ older blunt `pm history-repair --all` remains available as a lower-level primitive.
package/dist/index.js CHANGED
@@ -176,7 +176,7 @@ function processAlive(pid) {
176
176
  }
177
177
  export default defineExtension({
178
178
  name: "pm-web",
179
- version: "2026.7.20",
179
+ version: "2026.7.23",
180
180
  activate(api) {
181
181
  // -----------------------------------------------------------------------
182
182
  // Command: pm web [--port <port>] [--detach]
package/manifest.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pm-web",
3
- "version": "2026.7.20",
3
+ "version": "2026.7.23",
4
4
  "description": "Full web UI for pm-cli — browse, create, update, search and manage pm projects in the browser. Self-hosted via Docker or Node.js.",
5
5
  "author": "@unbraind",
6
6
  "entry": "./dist/index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbrained/pm-web",
3
- "version": "2026.7.20",
3
+ "version": "2026.7.23",
4
4
  "description": "Full web UI for pm-cli — browse, create, update, search and manage pm projects in the browser. Self-hosted via Docker or Node.js.",
5
5
  "type": "module",
6
6
  "files": [
@@ -34,7 +34,9 @@
34
34
  "prepack": "npm run build",
35
35
  "build:test": "tsc -p tsconfig.test.json",
36
36
  "test": "npm run build:server && npm run build:test && node --test dist-test/*.js",
37
- "prepublishOnly": "npm run release:check"
37
+ "prepublishOnly": "npm run release:check",
38
+ "prepare": "node scripts/prepare-merge-driver.mjs",
39
+ "merge:install": "pm merge install"
38
40
  },
39
41
  "dependencies": {
40
42
  "@unbrained/pm-cli": "^2026.7.15",
@@ -56,7 +58,8 @@
56
58
  "@types/uuid": "^11.0.0",
57
59
  "pm-changelog": "^2026.7.12",
58
60
  "tsx": "^4.23.0",
59
- "typescript": "^7.0.2"
61
+ "typescript": "^7.0.2",
62
+ "@unbrained/pm-cli": "^2026.7.22"
60
63
  },
61
64
  "repository": {
62
65
  "type": "git",