@quantod/qq 1.1.5 → 1.1.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.
@@ -327,6 +327,8 @@ Parameters:
327
327
  - `deleteAfter` (boolean, optional) — delete the file after loading. Default: true.
328
328
  - `duplicates` (`ignore` | `append` | `replace`, optional, default `ignore`) — how to handle records whose `id` already exists in the pipeline. `ignore`: skip silently (existing item unchanged). `append`: append the new record's payload to the existing item's payload and bump `seq` (invalidates any live claim). `replace`: replace the existing item's payload entirely and bump `seq`.
329
329
 
330
+ **⚠ Avoid `append` and `replace` in production pipelines.** Both modes write to items outside the normal `claim → release` cycle, bypassing QQ's concurrency control. Any agent currently holding a claim on an affected item will find its `seq` token expired and lose its work. `replace` is especially destructive — it silently discards the existing payload with no recovery path. The correct way to update an item's payload is to `claim` it and `release` it with new content. Use `append`/`replace` only for offline data preparation before a pipeline has active workers.
331
+
330
332
  **Record format** (all fields optional):
331
333
  ```yaml
332
334
  id: item-1
@@ -367,7 +369,7 @@ Parameters:
367
369
  - `format` (`jsonl` | `json` | `yaml` | `csv`) — data format (explicit, no file extension to infer from)
368
370
  - `pipeline` (string)
369
371
  - `stage` (string, optional) — default stage. Defaults to empty string.
370
- - `duplicates` (`ignore` | `append` | `replace`, optional, default `ignore`) — same semantics as `load_file`
372
+ - `duplicates` (`ignore` | `append` | `replace`, optional, default `ignore`) — same semantics as `load_file`. The same warning applies: prefer `claim → release` over `append`/`replace` whenever workers may be active.
371
373
 
372
374
  Returns the same shape as `load_file` (`summary` + `items`), without the `deleteAfter` behaviour.
373
375
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quantod/qq",
3
- "version": "1.1.5",
3
+ "version": "1.1.6",
4
4
  "description": "Persistent queue for multi-stage Claude agent pipelines",
5
5
  "license": "UNLICENSED",
6
6
  "engines": {
@@ -327,6 +327,8 @@ Parameters:
327
327
  - `deleteAfter` (boolean, optional) — delete the file after loading. Default: true.
328
328
  - `duplicates` (`ignore` | `append` | `replace`, optional, default `ignore`) — how to handle records whose `id` already exists in the pipeline. `ignore`: skip silently (existing item unchanged). `append`: append the new record's payload to the existing item's payload and bump `seq` (invalidates any live claim). `replace`: replace the existing item's payload entirely and bump `seq`.
329
329
 
330
+ **⚠ Avoid `append` and `replace` in production pipelines.** Both modes write to items outside the normal `claim → release` cycle, bypassing QQ's concurrency control. Any agent currently holding a claim on an affected item will find its `seq` token expired and lose its work. `replace` is especially destructive — it silently discards the existing payload with no recovery path. The correct way to update an item's payload is to `claim` it and `release` it with new content. Use `append`/`replace` only for offline data preparation before a pipeline has active workers.
331
+
330
332
  **Record format** (all fields optional):
331
333
  ```yaml
332
334
  id: item-1
@@ -367,7 +369,7 @@ Parameters:
367
369
  - `format` (`jsonl` | `json` | `yaml` | `csv`) — data format (explicit, no file extension to infer from)
368
370
  - `pipeline` (string)
369
371
  - `stage` (string, optional) — default stage. Defaults to empty string.
370
- - `duplicates` (`ignore` | `append` | `replace`, optional, default `ignore`) — same semantics as `load_file`
372
+ - `duplicates` (`ignore` | `append` | `replace`, optional, default `ignore`) — same semantics as `load_file`. The same warning applies: prefer `claim → release` over `append`/`replace` whenever workers may be active.
371
373
 
372
374
  Returns the same shape as `load_file` (`summary` + `items`), without the `deleteAfter` behaviour.
373
375