@smartergpt/lexrunner 1.4.1 → 1.5.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,104 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.5.1] - 2026-08-23
10
+
11
+ ### Fixed
12
+
13
+ - **Credential-free release ancestry verification** - Verify that the signed release commit is
14
+ contained in `main` through the authenticated GitHub compare API after checkout credentials are
15
+ deliberately discarded. This recovery release carries forward the complete 1.5.0 feature set;
16
+ the immutable `lexrunner-v1.5.0` workflow failed closed before install or publication.
17
+
18
+ ## [1.5.0] - 2026-08-23
19
+
20
+ ### Added
21
+
22
+ - **Durable Attempt awaitables** - Add bounded lifecycle observation and wakeup contracts that bind
23
+ the exact Attempt revision and terminal state without embedding credentials or accepting unsafe
24
+ replay state.
25
+ - **Executable gate receipts** - Retain fresh per-attempt command evidence with exact cwd,
26
+ shell/argv identity, duration, exit and failure classification, bounded stream hashes, and
27
+ declared artifact hashes.
28
+ - **Disposable workspace recovery controller** - Add a root-owned WSL2 controller that prepares
29
+ bounded Attempt-owned ext4 roots from a hash-checked sealed source, records pre-mutation
30
+ filesystem and Git identities, journals each root before exposing it, and atomically detaches and
31
+ discards only the exactly bound root. Recovery is resumable across preparation, detach, evidence,
32
+ and delete crash windows. Complete bounded pre/post manifests and canonical deltas remain
33
+ resolvable from controller-only evidence after deletion, while strict receipts bind their hashes,
34
+ worker absence, recovery authorization, and workspace absence without creating a writer grant or
35
+ launch path.
36
+ - **Governed workspace mutation profile** - Add a non-review task profile whose proposed authority
37
+ is limited to an Attempt-owned read scope and exact writable-path-set hash with whole-workspace
38
+ discard recovery. The profile exports no execution-binding constructor: schema records and an
39
+ adapter manifest cannot mint a write receipt. Protected authority integration must independently
40
+ resolve exact-image qualification and controller-prepared workspace evidence by hash, validate
41
+ freshness with its own trusted clock, and construct the generic grant only after those records
42
+ reconstruct the prompt, source, read, write, ownership, and rollback bindings. The task input
43
+ hash also binds its normalized duration, output-byte, evidence-byte, and tool-call budgets.
44
+ - **Governed task capability foundation** - Add a review-neutral task/profile binding and positive
45
+ capability ceiling that represents recoverable workspace writes, explicitly bounded external
46
+ effects, contained runtime execution, and attenuated nested Delegations without weakening `NO`.
47
+ - **Governed committed-corpus review** - Bind a clean committed native-WSL candidate to its exact
48
+ Attempt, workspace lease, task packet, launch envelope, and path mapping; export only bounded Git
49
+ object bytes and the exact patch; seal them read-only for the asynchronous two-phase Codex review.
50
+ - **Independent repository verification** - Reopen the authoritative lifecycle records and require
51
+ protected provider receipts to match the corpus, prompt, schema, task offer, and Delegation before
52
+ a review can become admissible.
53
+
54
+ ### Changed
55
+
56
+ - **Native Windows gate execution** - Run local command gates through a resolved PowerShell runtime
57
+ with explicit argument and working-directory identity instead of accidentally crossing into WSL
58
+ or relying on a platform shell shim.
59
+ - **Provider stream failure terminality** - Convert bounded-line, invalid-event, sequence, and
60
+ transport failures into a durable `failed` executor event with a bounded protected failure frame;
61
+ cancel the provider, never retain raw failure output in lifecycle state, and reserve `lost` for
62
+ unexplained stream disappearance.
63
+ - **Governed review task profile** - Express read-only review through a durable generic
64
+ `GovernedTaskSpec`, bind the Delegation offer to its exact task and provider, and independently
65
+ reconstruct the profile from protected prompt, corpus, output-contract, and budget bindings;
66
+ release accepted work only after the generic grant and qualified adapter evaluate, and dispatch
67
+ `PASS`/`BLOCK` interpretation through the exact profile verifier.
68
+ - **Qualified provider topology** - Bind the root-owned repository exporter and exact Git executable
69
+ and version into live qualification evidence, and securely discard sealed corpora that never
70
+ become operation-bound.
71
+
72
+ ### Fixed
73
+
74
+ - **Gate artifact freshness** - Fail closed when declared evidence is missing, stale, unsupported,
75
+ changed during retention, or cannot be preserved with identical bytes.
76
+ - **Cross-platform package smoke** - Invoke npm and installed package bin targets through the active
77
+ Node runtime so packed-consumer validation works on Windows without spawning `.cmd` shims.
78
+ - **Windows Git-backed verification** - Render prompt-search diagnostics with stable separators,
79
+ use privilege-free junction fixtures, and bound process-restart tests with Windows-sized timing
80
+ and cleanup retries.
81
+ - **Governed refusal and budget enforcement** - Persist an offer-phase `NO` directly from the
82
+ offered Delegation state, and independently reject duration, output, evidence-byte, or tool-call
83
+ usage beyond the exact task budget bound to execution requirements and the evidence reservation.
84
+ - **Generic continuation and outcome isolation** - Deny both direct work and post-`ACCEPT`
85
+ continuation when the durable generic task/execution binding is absent, keep unbound legacy
86
+ offers refusal-only, reject contradictory `PASS` output with blocking findings, and make generic
87
+ results and verification receipts accept profile-owned outcome identifiers without embedding the
88
+ code-review vocabulary. Bind the root task grant issuer to the operator principal named by the
89
+ protected authorization requirements so a self-consistent caller grant cannot mint authority.
90
+ - **Git object substitution defense** - Verify every exported file against the blob object ID in
91
+ the candidate tree, preserve that object ID in the sealed manifest, and recheck the binding at
92
+ both the Windows corpus parser and provider boundary.
93
+ - **Qualification upgrade boundary** - Reject pre-profile qualification manifests so repository
94
+ review cannot use a legacy attestation that omits the exporter and Git executable hashes.
95
+ - **Repository launch lease race** - Atomically require the bound active workspace lease when
96
+ authorizing the offer, creating the durable operation, and authorizing post-acceptance work; the
97
+ independent verifier also rejects results after lease release.
98
+ - **Repository corpus memory bounds** - Read Git blobs one at a time, reject aggregate tree size from
99
+ object headers before buffering payloads, and stop every Git metadata or patch stream after its
100
+ declared maximum plus one byte.
101
+ - **Repository receipt lifecycle projection** - Verify the provider's corpus-header receipt against
102
+ provider-visible fields while independently enforcing the host-owned workspace-lease revision.
103
+ - **Failed repository launch cleanup** - Treat post-validation launch construction transactionally:
104
+ stop partially created worker units and remove partial spools and unreferenced sealed corpora
105
+ whenever launch fails before returning a handle.
106
+
9
107
  ## [1.4.1] - 2026-08-04
10
108
 
11
109
  ### Added
package/README.md CHANGED
@@ -115,11 +115,12 @@ 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.4.1**. npm availability and dist-tags are separate
118
+ Current repository package version: **1.5.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.4.1 release notes](docs/releases/1.4.1.md), the
122
+ See the [1.5.1 release notes](docs/releases/1.5.1.md), the
123
+ [1.4.1 canonical CLI release](docs/releases/1.4.1.md), the
123
124
  [1.4.0 native-host boundary release](docs/releases/1.4.0.md), the
124
125
  [1.3.0 dogfood release](docs/releases/1.3.0.md), the
125
126
  [1.2.1 publication repair](docs/releases/1.2.1.md), and the underlying
@@ -16,7 +16,7 @@ import {
16
16
  hasCapability,
17
17
  parseAutopilotConfig,
18
18
  validateAutopilotConfig
19
- } from "./chunk-4R52WTFO.js";
19
+ } from "./chunk-TIMHM7VL.js";
20
20
  import "./chunk-4FFGNTAV.js";
21
21
  import "./chunk-6A4IE3TI.js";
22
22
  import "./chunk-VAGHAQT2.js";