@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.
- package/CHANGELOG.md +49 -1
- package/NOTICE +1 -1
- package/README.md +104 -81
- package/SECURITY.md +18 -37
- package/dist/scripts/runtime-smoke.js +49 -0
- package/dist/scripts/runtime-smoke.js.map +1 -1
- package/dist/scripts/smoke.js +56 -23
- package/dist/scripts/smoke.js.map +1 -1
- package/dist/src/core/caller-tokens.js +3 -2
- package/dist/src/core/caller-tokens.js.map +1 -1
- package/dist/src/core/config.d.ts +3 -3
- package/dist/src/core/config.js +6 -7
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/file-config.d.ts +1 -1
- package/dist/src/core/orchestrator.d.ts +45 -45
- package/dist/src/core/orchestrator.js +12 -2
- package/dist/src/core/orchestrator.js.map +1 -1
- package/dist/src/core/relator-lottery.js +5 -1
- package/dist/src/core/relator-lottery.js.map +1 -1
- package/dist/src/core/session-store.d.ts +9 -9
- package/dist/src/core/session-store.js +2 -2
- package/dist/src/core/session-store.js.map +1 -1
- package/dist/src/core/types.d.ts +164 -164
- package/dist/src/dashboard/server.js +12 -8
- package/dist/src/dashboard/server.js.map +1 -1
- package/dist/src/mcp/server.d.ts +13 -13
- package/dist/src/mcp/server.js +101 -7
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/peers/base.d.ts +6 -6
- package/dist/src/peers/errors.js +11 -9
- package/dist/src/peers/errors.js.map +1 -1
- package/dist/src/peers/gemini.js +2 -2
- package/dist/src/peers/gemini.js.map +1 -1
- package/dist/src/peers/model-selection.js +1 -1
- package/dist/src/peers/model-selection.js.map +1 -1
- package/dist/src/peers/perplexity.js +5 -2
- package/dist/src/peers/perplexity.js.map +1 -1
- package/dist/src/peers/text.d.ts +3 -3
- package/docs/evidence-preflight.md +1 -1
- 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
|
|
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