@lcv-ideas-software/cross-review 4.1.1 → 4.2.1

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.
Files changed (40) hide show
  1. package/CHANGELOG.md +49 -1
  2. package/NOTICE +1 -1
  3. package/README.md +104 -81
  4. package/SECURITY.md +18 -37
  5. package/dist/scripts/runtime-smoke.js +49 -0
  6. package/dist/scripts/runtime-smoke.js.map +1 -1
  7. package/dist/scripts/smoke.js +56 -23
  8. package/dist/scripts/smoke.js.map +1 -1
  9. package/dist/src/core/caller-tokens.js +3 -2
  10. package/dist/src/core/caller-tokens.js.map +1 -1
  11. package/dist/src/core/config.d.ts +3 -3
  12. package/dist/src/core/config.js +6 -7
  13. package/dist/src/core/config.js.map +1 -1
  14. package/dist/src/core/file-config.d.ts +1 -1
  15. package/dist/src/core/orchestrator.d.ts +45 -45
  16. package/dist/src/core/orchestrator.js +12 -2
  17. package/dist/src/core/orchestrator.js.map +1 -1
  18. package/dist/src/core/relator-lottery.js +5 -1
  19. package/dist/src/core/relator-lottery.js.map +1 -1
  20. package/dist/src/core/session-store.d.ts +9 -9
  21. package/dist/src/core/session-store.js +2 -2
  22. package/dist/src/core/session-store.js.map +1 -1
  23. package/dist/src/core/types.d.ts +164 -164
  24. package/dist/src/dashboard/server.js +12 -8
  25. package/dist/src/dashboard/server.js.map +1 -1
  26. package/dist/src/mcp/server.d.ts +13 -13
  27. package/dist/src/mcp/server.js +101 -7
  28. package/dist/src/mcp/server.js.map +1 -1
  29. package/dist/src/peers/base.d.ts +6 -6
  30. package/dist/src/peers/errors.js +11 -9
  31. package/dist/src/peers/errors.js.map +1 -1
  32. package/dist/src/peers/gemini.js +2 -2
  33. package/dist/src/peers/gemini.js.map +1 -1
  34. package/dist/src/peers/model-selection.js +1 -1
  35. package/dist/src/peers/model-selection.js.map +1 -1
  36. package/dist/src/peers/perplexity.js +5 -2
  37. package/dist/src/peers/perplexity.js.map +1 -1
  38. package/dist/src/peers/text.d.ts +3 -3
  39. package/docs/evidence-preflight.md +1 -1
  40. package/package.json +8 -8
package/CHANGELOG.md CHANGED
@@ -7,6 +7,54 @@ standard `v00.00.00`; npm package versions remain SemVer.
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [v04.02.01] — 2026-05-21
11
+
12
+ **Patch — publish the workspace hard-gate cleanup as a package release.** The
13
+ previous `main` sync included runtime and smoke-test TypeScript strictness
14
+ updates, dependency refreshes, and repo-local `tsconfig.base.json` hardening; this
15
+ patch formalizes those source changes as npm package `4.2.1`.
16
+
17
+ ### Fixed
18
+
19
+ - Removed the remaining Perplexity probe payload cast by typing the payload
20
+ object directly against the OpenAI-compatible request shape.
21
+ - Updated strict optional/property handling across peer adapters, core
22
+ orchestration code, smoke tests, and runtime smoke tests so
23
+ `exactOptionalPropertyTypes` and `noUncheckedIndexedAccess` remain enabled.
24
+ - Kept the smoke source pin for `enabledPeers` aligned with strict optional
25
+ property semantics without removing the paired behavioral assertion.
26
+
27
+ ### Changed
28
+
29
+ - Refreshed package dependencies to the latest available versions at release
30
+ time and kept `package-lock.json` in sync.
31
+ - Added a repo-local `tsconfig.base.json` so GitHub Actions and package
32
+ consumers do not depend on a parent workspace file.
33
+
34
+ ## [v04.02.00] — 2026-05-17
35
+
36
+ **Minor — bounded MCP session listing and cancellation semantics cleanup.** This
37
+ release addresses the operational findings reported against v4.1.1 while keeping
38
+ the runtime API-only.
39
+
40
+ ### Changed
41
+
42
+ - `session_list` is now paginated and summary-only by default
43
+ (`limit=25`, `max=100`, `offset=0`) and accepts `outcome_filter` plus
44
+ `detail`. This prevents large local histories from producing multi-megabyte
45
+ stdio payloads; callers that need a full session should use `session_read` or
46
+ request a bounded `detail="full"` page explicitly.
47
+
48
+ ### Fixed
49
+
50
+ - `session_cancel_job` no longer terminal-aborts a session when no running job
51
+ matches the request. It now returns `requested=false` with
52
+ `reason="no_running_job_matched"` and leaves the session resumable.
53
+ - `session_init` now honors `response_format="markdown"` instead of falling
54
+ through to JSON serialization.
55
+ - Added smoke/runtime-smoke guards for bounded `session_list`, non-terminal
56
+ no-job cancellation, and the markdown `session_init` response path.
57
+
10
58
  ## [v04.01.01] — 2026-05-17
11
59
 
12
60
  **Patch — release the hard-gate cleanup as a published package.** The previous
@@ -2400,7 +2448,7 @@ This is the v2.13.0 sub-release; items 2-6 (precision report, active-mode auto-w
2400
2448
  - **`SessionMode = "ship" | "review"` type** in `src/core/types.ts`. Disambiguates the caller's intent for `run_until_unanimous` and `session_start_unanimous`. `ship` (default) — `initial_draft` is the artifact under refinement, lead_peer produces a NEW REVISED VERSION as prose. `review` — `initial_draft` is the review subject, lead may emit structured responses (preserves v2.12 behavior for callers who want it).
2401
2449
  - **`mode: SessionMode` parameter on `RunUntilUnanimousInput`** + zod schemas for `run_until_unanimous` and `session_start_unanimous` MCP tools. Default `"ship"`.
2402
2450
  - **`leadShipModeDirective()`** prompt block injected into `buildRevisionPrompt` and `buildInitialDraftPrompt` when `mode === "ship"`. Codifies for the lead: "you are the relator producing a refined artifact (prose), NOT a peer reviewer voting; do NOT start your output with `READY`/`NOT_READY`/`NEEDS_EVIDENCE`; do NOT emit a JSON object with a `status` field; output only the revised artifact text".
2403
- - **`detectLeadDrift(generationText)` helper** + `LEAD_DRIFT_PATTERN` regex (`/^\s*[{`'"]?\s\*"?(READY|NOT_READY|NEEDS_EVIDENCE)\b/`) scanning the first 200 chars. Returns `true` when the lead's output starts with a structured peer-review status keyword — meta-review drift signature.
2451
+ - **`detectLeadDrift(generationText)` helper** + `LEAD_DRIFT_PATTERN` regex (`/^\s*[{`'"]?\s\*"?(READY|NOT_READY|NEEDS_EVIDENCE)\b/`) scanning the first 200 chars. Returns`true` when the lead's output starts with a structured peer-review status keyword — meta-review drift signature.
2404
2452
  - **`session.lead_drift_detected` event** — fires once per drifted lead generation. Data: `{lead_peer, round_kind: "initial-draft" | "revision", consecutive_drifts (revision only), first_chars: <first 100 chars>}`. Operator-visible signal that the lead misread the call as meta-review.
2405
2453
  - **Drift-tolerance gate**: 2 consecutive drifts on the revision path abort the session with `outcome: "aborted"` + `outcome_reason: "lead_meta_review_drift"`. A single drift preserves the prior `draft` for the next round (does NOT replace it with the lead's meta-review output), so the round loop continues with the artifact peers were actually reviewing. The drift counter resets to 0 when a non-drifted revision is observed.
2406
2454
  - **Initial-draft drift handling**: when no `initial_draft` is provided AND the lead's INITIAL generation drifts, the session aborts immediately (no prior draft to fall back to).
package/NOTICE CHANGED
@@ -1,5 +1,5 @@
1
1
  cross-review
2
- Copyright 2026 Leonardo Cardozo Vargas
2
+ Copyright © 2026 LCV Ideas & Software
3
3
 
4
4
  This product is licensed under the Apache License, Version 2.0
5
5
  (the "License"); you may not use this product except in compliance with the