pmx-canvas 0.2.2 → 0.2.4

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
@@ -5,6 +5,67 @@ All notable changes to `pmx-canvas` are documented here. This project follows
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [0.2.4] - 2026-06-24
9
+
10
+ ### Fixed
11
+
12
+ - **`canvas_ax_delivery` claim can surface the newest steering first (report #68).** The
13
+ delivery claim (`canvas_claim_ax_delivery` / `GET /api/canvas/ax/delivery/pending` / CLI
14
+ `ax delivery list`) defaults to oldest-first FIFO for ordered processing, but on a
15
+ long-lived board with stale undelivered steering an agent claiming with a small `limit`
16
+ could process old leftovers and miss the human's latest in-canvas action. A new `order`
17
+ parameter (`"oldest"` default, `"newest"`) lets an adapter claim newest-first so a fresh
18
+ browser-originated steer is never buried behind the backlog. Additive — the default FIFO
19
+ order, wire shape, and the compact `canvas://ax-context` newest-first lead block are all
20
+ unchanged.
21
+ - **CLI `ax` commands honor `--source` (report #69).** `pmx-canvas ax focus … --source codex`
22
+ (and the other `ax` subcommands that record a source — `steer`, `event add`, `interaction`,
23
+ `work`, `approval`, `review`, `evidence`, `elicitation`, `mode`, `command`, `policy`) now
24
+ persist the given source instead of always recording `cli`, so an adapterless agent using
25
+ the CLI as a fallback transport attributes its actions correctly (keeping AX loop-safety
26
+ accurate). The flag defaults to `cli` when omitted — unchanged for existing usage.
27
+
28
+ ### Docs
29
+
30
+ - **Ghost Cursor skill guidance: default-on, with concrete use/skip + settle scope.** The
31
+ bundled `pmx-canvas` skill now frames proactive `canvas_intent` signalling as the default
32
+ before meaningful spatial mutations, with explicit use-vs-skip lists and a one-ghost-per-
33
+ human-meaningful-move rule for batches. It also documents that linked settle is scoped to
34
+ node / edge / group mutations — `canvas_app` (diagram / mcp-app) and `canvas_webview`
35
+ reject an `intentId` (HTTP 400), so signal a ghost, then clear it and open without one.
36
+
37
+ ## [0.2.3] - 2026-06-23
38
+
39
+ ### Fixed
40
+
41
+ - **`canvas_webview` `start` now returns parseable JSON on failure (report #66).** A start
42
+ failure (e.g. the Bun.WebView startup timeout in a headless host) surfaced the bare error
43
+ message as the MCP tool text, so a client expecting JSON choked with
44
+ `Unexpected token 'T', "Timed out "... is not valid JSON`. The failure path now returns
45
+ `{ ok:false, error, webview }` (still flagged `isError:true`), so callers can reliably
46
+ distinguish a failure/timeout from valid content.
47
+ The composite and the legacy `canvas_webview_start` share the fix.
48
+ - **Expanded ext-app clicks now wait for bridge readiness.** The iframe no longer accepts input
49
+ while reconnecting, preventing the first interaction from being lost during a frame remount.
50
+
51
+ ### Docs
52
+
53
+ - **Documented #67 (standalone graph/json-render live-resize) as a host-browser limitation.** The
54
+ `display=site` chart reflows correctly on a live window resize in a normal browser (added an
55
+ e2e regression that resizes a loaded standalone surface in both directions and asserts the SVG
56
+ tracks the viewport with no horizontal overflow). The report's stale-until-reload behavior was
57
+ observed only in the Codex single-tab in-app browser, which does not deliver live-resize events
58
+ to the page (both width *and* height froze) — no canvas code can supply a resize signal the host
59
+ never sends. Skill **Known Limitations** + the Open-as-Site reference now recommend a system
60
+ browser for separate full-page viewing.
61
+ - **Skill eval suite 15 → 17, plus fixtures and a portability fix (report skill-audit addendum).**
62
+ Added a Ghost Cursor eval (`canvas_intent` signal → linked-settle → veto rejection) and a
63
+ standalone-surface eval (`display=site` URL, ext-app-not-open-as-site, host-resize caveat).
64
+ Bundled real fixture source files under `evals/fixtures/` for the investigation-board and
65
+ code-exploration evals (which referenced files that did not exist, so a real run failed on
66
+ missing fixtures rather than skill quality), and relaxed the pinned-context eval to accept the
67
+ host-equivalent read path (`canvas_ax_state` / HTTP) like the context-pin eval.
68
+
8
69
  ## [0.2.2] - 2026-06-22
9
70
 
10
71
  ### Added
@@ -2356,6 +2417,8 @@ otherwise have to discover by trial and error.
2356
2417
  - Regression coverage for snapshot flat-`id` aliases on both MCP and
2357
2418
  HTTP surfaces, plus async / top-level-`await` WebView script bodies.
2358
2419
 
2420
+ [0.2.4]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.2.4
2421
+ [0.2.3]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.2.3
2359
2422
  [0.2.2]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.2.2
2360
2423
  [0.2.1]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.2.1
2361
2424
  [0.2.0]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.2.0