@abelxiaoxing/cadence 2.0.5 → 2.0.6

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/README.md CHANGED
@@ -20,8 +20,10 @@ cadence token-link --workspace ~/cadence --reveal
20
20
  ```
21
21
 
22
22
  The global install puts `cadence` (and its alias `cadence-service`) on `PATH`.
23
- It needs no install script: the postinstall only creates a missing `~/.pi/agent/cadence/.env` research template, and npm may skip it (npm 12 blocks install scripts by default) without any other effect.
23
+ Cadence ships no install script, so npm 12 and Bun, which skip untrusted install scripts by default, change nothing.
24
+ They may still report blocked scripts from the pinned Pi SDK's dependencies: `@google/genai`'s preinstall only echoes `no-op`, and `protobufjs`'s postinstall only warns about a dependent's version scheme, so neither needs approval.
24
25
  `cadence server install` registers and starts the background service for `~/cadence` on `http://127.0.0.1:17423`; `--workspace /absolute/project` selects another workspace.
26
+ It also creates the research template `~/.pi/agent/cadence/.env` when missing; Pi's startup card names that path until it exists.
25
27
 
26
28
  | Platform | Service | Starts |
27
29
  | -------- | ------------------------------------------------------------------------------------------- | -------------------------------------------- |
@@ -167,8 +169,7 @@ Outbound provider proxy policy is independent of inbound HTTPS and refuses unsup
167
169
  - `skills/git-commit` requires an explicit commit request and deterministic audit; task review never commits.
168
170
  - Three pinned professional profiles in `agents/` provide readonly design/diagnosis and direct-edit implementation instructions, not execution authority.
169
171
  - `config/` contains optional research/check examples.
170
- Missing-only user `.env` template creation is the only postinstall behavior; it registers no service, and nothing depends on npm running it.
171
- No build/Git/provider operation runs.
172
+ The package has no install script; `cadence server install` creates a missing user `.env` template, and no build/Git/provider operation runs at install.
172
173
  - `node /absolute/cadence/src/operator-cli.mjs doctor|runs [workspace]` remains readonly and independent of service startup.
173
174
 
174
175
  ## Development and evidence
@@ -359,7 +360,7 @@ Byte values are UTF-8/encoded bounds where specified; they are not targets to si
359
360
  | Host refuses during startup | Fixed code/stage only; unregistered exits `refused`, registered stays `quarantined` |
360
361
  | Workspace containing the private state home | Land on `~/cadence` (only start creates it); never move state into the working copy |
361
362
  | Restart changes the definition's workspace or Node path | Stop with the loaded definition before rewriting, not only a signal |
362
- | npm skips or hides the install hook (`allow-scripts`) | Nothing depends on it; only `cadence server install` registers a service |
363
+ | npm 12 or Bun skips untrusted install scripts by default | Ship none; `cadence server install` registers the service and creates the template |
363
364
  | Service manager that only signals (launchd, Windows login) | Orderly Stop first; an unconfirmed Stop changes nothing; no SIGTERM or `taskkill` |
364
365
  | Pi's TUI replaces an info status with the next one | The missing-service hint is its own warning notification |
365
366
 
@@ -395,7 +396,7 @@ Regression owners:
395
396
  - `agent-panel`, `agent-panel-model`, `agent-panel-cadence`: panel keys/rendering and readonly owner observation that never starts, cancels or replays work.
396
397
  - `test/web/`: adapted pure/SSR tests separately from actual built-browser contexts, HTTPS, mixed clients, focus/viewports and complete downloads.
397
398
  - `package-*`, `distribution`, `service-package`, `independence`: exact tar/member/body/import/notice closure and nonactivating discovery.
398
- - `service-autostart`, `install-config`: explicit `cadence server` registration on systemd, launchd and the Windows Run key, definition escaping, restart/disable/mask/foreign handling, orderly Stop before every change and a postinstall that registers nothing.
399
+ - `service-autostart`, `install-config`: explicit `cadence server` registration on systemd, launchd and the Windows Run key, definition escaping, restart/disable/mask/foreign handling, orderly Stop before every change and a package without install scripts.
399
400
  - `workspace-landing`: home-directory redirection to `~/cadence` across management, native attach and observation.
400
401
 
401
402
  Regenerate operator/service/native/browser outputs only through their canonical builders; `--check` variants compare new private output without overwriting canonical bytes.
@@ -404,6 +405,11 @@ Review the independently enumerated package member list and every emitted body,
404
405
  Keep public Pi peers external for the extension, the exact Undici/ws runtime edges, the exact optional SDK pins for the standalone owner and all upstream/font/vendor notices.
405
406
  Preserve original license bytes through their precise Git attributes; line-ending normalization must not invalidate audited source/notice hashes.
406
407
 
408
+ ### Release 2.0.6 acceptance snapshot
409
+
410
+ Full `verify` passed on the 2.0.6 release tree (`8d31512` plus the version bump): 1940 root tests in 78 files (27 Windows-only controls skipped on Linux), 111 web tests, 5 real-browser scenarios and the 132-member pack audit, in the 2.0.3 environment below.
411
+ The package ships no install script: in isolated global installs, Bun 1.3.14 blocked three scripts for 2.0.5 (Cadence's postinstall and the Pi SDK's `@google/genai` and `protobufjs` scripts) and only those two SDK scripts for 2.0.6, and npm 11 lists only them.
412
+
407
413
  ### Release 2.0.5 acceptance snapshot
408
414
 
409
415
  Full `verify` passed on the 2.0.5 release tree (`dce261b` plus the version bump): 1940 root tests in 78 files (27 Windows-only controls skipped on Linux), 111 web tests, 5 real-browser scenarios and the 133-member pack audit, in the 2.0.3 environment below.
@@ -36,7 +36,8 @@ cadence server uninstall
36
36
  ```
37
37
 
38
38
  Only these explicit commands register, change or remove the service; no package install, update hook, `/cadence` or browser visit does.
39
- The package postinstall only creates a missing research `.env` template, so npm skipping it (`allow-scripts`, npm 12's default) changes nothing else.
39
+ The package has no install script, so npm 12 and Bun skipping untrusted scripts by default changes nothing; the pinned Pi SDK's blocked `@google/genai` preinstall only echoes `no-op`, and its `protobufjs` postinstall only warns about version schemes.
40
+ `install` also creates the research template `~/.pi/agent/cadence/.env` when it is missing, never overwriting it, whatever the service result.
40
41
  `install` works from any package location and runs `start --foreground --workspace` (Linux, macOS) or `start --workspace` (Windows) from that copy with the installing Node, without `--port`.
41
42
  The workspace is `~/cadence` (created if missing), an existing absolute `--workspace`, or on later installs the one the definition already runs; a workspace containing the service's state home lands on `~/cadence` with a note.
42
43
  A new workspace selects `http://127.0.0.1:17423`; a port saved by an earlier start of that workspace still wins, and an occupied endpoint fails instead of falling back.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abelxiaoxing/cadence",
3
- "version": "2.0.5",
3
+ "version": "2.0.6",
4
4
  "description": "Shared Pi task workspace: native terminal and WebUI, persistent service, checks and human review.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -22,7 +22,6 @@
22
22
  "src/agent-panel.ts",
23
23
  "src/cadence-service.mjs",
24
24
  "src/index.ts",
25
- "src/install-config.mjs",
26
25
  "src/native-build.ts",
27
26
  "src/native-client.ts",
28
27
  "src/native-export.ts",
@@ -72,7 +71,6 @@
72
71
  ]
73
72
  },
74
73
  "scripts": {
75
- "postinstall": "node src/install-config.mjs",
76
74
  "pack:check": "node scripts/pack-check.mjs",
77
75
  "traceability:check": "node scripts/traceability-check.mjs",
78
76
  "verify": "bun run check && bun run check:web && bun run build:web:check && bun run lint && bun run check:agents && bun run test && bun run test:web && bun run test:browser && bun run pack:check",
package/src/index.ts CHANGED
@@ -3,7 +3,7 @@ import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
3
3
  import { registerAgentPanel } from "./agent-panel.ts";
4
4
  import { registerCadenceAgentFeed } from "./agent-panel-cadence.ts";
5
5
  import { autostartNotice } from "./native-client.ts";
6
- import { startupCardLines } from "./startup-card.ts";
6
+ import { CONFIG_MISSING, startupCardLines } from "./startup-card.ts";
7
7
  import { registerTaskShell } from "./task-shell.ts";
8
8
 
9
9
  /** Sole production composition. Discovery registers inert capabilities only;
@@ -25,7 +25,11 @@ export default function register(pi: ExtensionAPI): void {
25
25
  home: os.homedir(),
26
26
  projectTrusted: ctx.isProjectTrusted(),
27
27
  });
28
- const shown = lines.length > 1 ? lines.slice(1) : lines;
28
+ // An existing file's path is noise; a missing one says where to create it.
29
+ const shown =
30
+ lines.length > 1 && !lines[0].endsWith(CONFIG_MISSING)
31
+ ? lines.slice(1)
32
+ : lines;
29
33
  ctx.ui.notify(shown.join("\n"), "info");
30
34
  // A later info status replaces this card in Pi's TUI; a warning stays.
31
35
  const autostart = autostartNotice();