@smartergpt/lexrunner 1.5.2 → 2.0.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 CHANGED
@@ -6,6 +6,56 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [2.0.1] - 2026-08-29
10
+
11
+ ### Fixed
12
+
13
+ - **Published MCP identity** - Report the installed package version from both the SDK MCP server and
14
+ the published `lexrunner-mcp` launcher instead of the stale pre-release `0.1.0` value. Release
15
+ tests now initialize the packed MCP through the official client transport and require its server
16
+ identity to match the installed manifest before accepting the tool inventory.
17
+
18
+ ## [2.0.0] - 2026-08-29
19
+
20
+ ### Breaking changes
21
+
22
+ - **Gate execution receipts v2** - Replace `lexrunner-gate-execution-receipt/v1` with v2. Receipt
23
+ consumers must accept the required `binding` object for item, gate-declaration, candidate, and
24
+ effective-timeout identity. The receipt's top-level `attempt` identifies the execution attempt;
25
+ the evidence manifest separately binds the plan digest. Version-1-only parsers must migrate
26
+ before consuming 2.0.0 evidence.
27
+ - **Declared containers fail closed** - A gate with a container declaration is now rejected as an
28
+ unsupported execution mode instead of silently running the declared command on the local host.
29
+
30
+ ### Added
31
+
32
+ - **Plan-bound gate evidence** - Return an explicit SHA-256-bound gate evidence manifest from gate
33
+ execution and let CLI, SDK MCP, and published MCP status inspect that exact reference. Status
34
+ rejects changed plans or candidates, changed gate declarations, duplicate identities, path
35
+ escapes, and tampered manifests or execution receipts. Caller-supplied hashes are reported as
36
+ unverified observations and cannot mint merge eligibility; authoritative verification remains
37
+ part of the plan-pinned verifier work in #865.
38
+ - **Owned gate evidence roots** - Write each run into a fresh unique child of the requested artifact
39
+ directory, exclude only that owned child from candidate freshness, and reject evidence after any
40
+ other tracked or untracked candidate change.
41
+ - **Visible timeout precedence** - Allow an exact `timeoutMs` on an individual plan gate and an MCP
42
+ operation-default timeout. Per-gate values override the hostility-adjusted operation default and
43
+ the effective timeout is included in bounded gate results and evidence.
44
+ - **Fail-closed runtime declarations** - Reject unsupported container execution instead of silently
45
+ running the declared command on the local host.
46
+
47
+ ### Fixed
48
+
49
+ - Preserve stable, bounded duplicate-plan diagnostics without reflecting hostile item or gate names.
50
+ - Validate hosted CLI evidence at its hashed, workflow-owned artifact paths.
51
+ - Align vulnerability and flake-report fixtures with hashed item and gate identities.
52
+
53
+ ### Compatibility
54
+
55
+ - Retain deprecated CLI, MCP IntegrationRun/`health`, environment-variable, and flat-path aliases
56
+ through the 2.x line. Their runtime metadata, warnings, tests, and documentation now schedule
57
+ removal for 3.0.0.
58
+
9
59
  ## [1.5.2] - 2026-08-28
10
60
 
11
61
  ### Changed
package/README.mcp.md CHANGED
@@ -478,6 +478,7 @@ same frozen plan.
478
478
  - `onlyItem` (string, optional): Execute gates for this item only
479
479
  - `onlyGate` (string, optional): Execute this gate only
480
480
  - `outDir` (string, optional): Output directory for gate results
481
+ - `timeoutMs` (integer, optional): Operation-default timeout; a gate's own `timeoutMs` overrides it
481
482
 
482
483
  **Returns:**
483
484
 
@@ -490,12 +491,21 @@ same frozen plan.
490
491
  "gates": [
491
492
  {
492
493
  "name": "test",
493
- "status": "pass"
494
+ "status": "pass",
495
+ "timeoutMs": 45000
494
496
  }
495
497
  ]
496
498
  }
497
499
  ],
498
500
  "allGreen": true,
501
+ "artifactRefs": [
502
+ { "kind": "gate-results-directory", "path": "..." },
503
+ {
504
+ "kind": "gate-evidence-manifest",
505
+ "path": ".../gate-evidence-manifest.json",
506
+ "sha256": "sha256:..."
507
+ }
508
+ ],
499
509
  "planArtifact": {
500
510
  "contract": "plan-artifact-identity-v1",
501
511
  "kind": "execution-plan",
@@ -508,6 +518,13 @@ same frozen plan.
508
518
  }
509
519
  ```
510
520
 
521
+ Pass the returned manifest `path` and `sha256` to `weave_status` as `evidenceFile` and
522
+ `evidenceSha256`. Status does not scan the output directory or remember an active run. It validates
523
+ the plan, candidate, gate, receipt, timeout, and hash bindings and reports the matching gate
524
+ observations with `authority: "unverified"`. Those observations do not create merge eligibility:
525
+ that requires the separately trusted, plan-pinned verifier receipt tracked by #865. Each execution
526
+ uses a fresh unique child of `outDir`, and the returned artifact reference names that exact run.
527
+
511
528
  **Example (using repository or profile fallback):**
512
529
 
513
530
  ```json
package/README.md CHANGED
@@ -115,11 +115,13 @@ The checked-in package version is the single source for `lexrunner --version` an
115
115
 
116
116
  <!-- BEGIN GENERATED PACKAGE VERSION -->
117
117
 
118
- Current repository package version: **1.5.2**. npm availability and dist-tags are separate
118
+ Current repository package version: **2.0.1**. npm availability and dist-tags are separate
119
119
  release evidence; inspect the registry rather than inferring publication from source metadata.
120
120
  <!-- END GENERATED PACKAGE VERSION -->
121
121
 
122
- See the [1.5.2 release notes](docs/releases/1.5.2.md), the
122
+ See the [2.0.1 MCP identity correction](docs/releases/2.0.1.md), the
123
+ [2.0.0 plan-bound evidence release](docs/releases/2.0.0.md), the
124
+ [1.5.2 exact Lex alignment release](docs/releases/1.5.2.md), the
123
125
  [1.5.1 release correction](docs/releases/1.5.1.md), the
124
126
  [1.4.1 canonical CLI release](docs/releases/1.4.1.md), the
125
127
  [1.4.0 native-host boundary release](docs/releases/1.4.0.md), the
@@ -16,7 +16,7 @@ import {
16
16
  hasCapability,
17
17
  parseAutopilotConfig,
18
18
  validateAutopilotConfig
19
- } from "./chunk-TIMHM7VL.js";
19
+ } from "./chunk-ARDKZW7F.js";
20
20
  import "./chunk-4FFGNTAV.js";
21
21
  import "./chunk-6A4IE3TI.js";
22
22
  import "./chunk-VAGHAQT2.js";