@lincoln504/pi-research 1.5.1 → 1.5.2

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/docs/CHANGELOG.md CHANGED
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.5.2] - 2026-08-22
9
+
10
+ ### Fixed
11
+
12
+ - **SKILL.md's backgrounding guidance no longer invites double-backgrounding.** The old bullet ("append `&` and keep the PID") was written for shell tools with no background mechanism of their own; an agent following it inside a harness-level background call (e.g. `run_in_background: true` on Claude Code's Bash tool) forked the run and exited the tracked shell immediately, so the harness reported "completed (exit code 0)" seconds after launch while the research process kept running detached and untracked — repeatedly observed live, with a perfect correlation between the inner `&` and instant false-completion notifications across nine launches. The bullet now says to use exactly one mechanism: the harness's own background option when it exists (never combined with `&`), and `&`-plus-PID — waiting on the PID, not on any "completed" signal — only where no such option exists (`skills/pi-research/SKILL.md`).
13
+
8
14
  ## [1.5.1] - 2026-08-22
9
15
 
10
16
  Post-1.5.0 hardening pass driven by a full static-analysis battery (npm audit,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lincoln504/pi-research",
3
- "version": "1.5.1",
3
+ "version": "1.5.2",
4
4
  "description": "Web research for your agents with smart and safe tooling + knowledge store",
5
5
  "type": "module",
6
6
  "private": false,
@@ -2,7 +2,7 @@
2
2
  name: pi-research
3
3
  description: "Multi-agent web research for any coding agent. Use for anything requiring current information from the internet — news, trends, product/service/company facts, statistics, people, places, events, APIs, library behavior, or 'what is X / how does X work' questions. Also use to search a local knowledge store of previously researched findings before doing live research. Powered by the pi-research engine (search, stealth scraping, security databases, Stack Exchange). Not for reading local files, running project commands, or analyzing this repository's own source."
4
4
  license: MIT
5
- metadata: { "author": "Lincoln Deen", "version": "1.5.1", "package": "@lincoln504/pi-research", "engine": "pi-research-sdk", "openclaw": { "requires": { "bins": ["node"] } } }
5
+ metadata: { "author": "Lincoln Deen", "version": "1.5.2", "package": "@lincoln504/pi-research", "engine": "pi-research-sdk", "openclaw": { "requires": { "bins": ["node"] } } }
6
6
  allowed-tools: Bash(node:*)
7
7
  ---
8
8
 
@@ -25,7 +25,14 @@ node "<SKILL_DIR>/scripts/run.mjs" status [--json]
25
25
  `knowledge` 600000ms · `research --depth 1` 1500000ms · `--depth 2` 1800000ms · `--depth 3` 2400000ms.
26
26
  These already include headroom for the run to sit **queued** behind other runs on a
27
27
  busy machine (see below); don't shorten them on the assumption a slot is free.
28
- - **Background**: append `&` and keep the PID to work while a run completes; otherwise it runs foreground (blocks). Timeouts apply either way.
28
+ - **Background — use ONE mechanism, never two.** If your shell tool has its own
29
+ background option (e.g. `run_in_background: true` on Claude Code's Bash tool), use
30
+ that alone and do **not** also append `&`: with both, the shell forks the run and
31
+ exits at once, the harness reports that instant exit as "completed" while the
32
+ research continues detached, and the completion notification is meaningless. Only
33
+ on a harness with no background option, append `&` and keep the PID — and then
34
+ wait on that PID, not on any "completed" signal, before reading output. Otherwise
35
+ it runs foreground (blocks). Timeouts apply either way.
29
36
  - **Several at once is fine.** Up to 3 runs execute concurrently machine-wide (shared
30
37
  with any other tool or agent on this machine); further runs **queue** for a slot and
31
38
  report `• queued: …` on stderr — that is normal, not a stall. Only if nothing frees