@quolu/lattice 0.61.1 → 0.61.2

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/README.md CHANGED
@@ -189,6 +189,15 @@ lattice todo seam-proposal apply --plan <key> # isolated worktre
189
189
  lattice todo seam-proposal land --plan <key> --names names.json
190
190
  ```
191
191
 
192
+ `lattice todo status --json` exposes `dispatch_frontier`: every ready task is the default
193
+ parallel set. Starting one of them does not require `--parallel-frontier` or
194
+ `--override-reason`. Those flags record intent; they are not gates.
195
+ `--serial-confirmed` and `--serialization-reviewed` are accepted only for compatibility.
196
+
197
+ ```bash
198
+ lattice todo start --plan <key> --task <id>
199
+ ```
200
+
192
201
  Full CLI surface: `lattice --help`, then
193
202
  `lattice <plan|run|event|todo|sensor|factory-diagnostics|runtime-errors|bridge|hooks> --help`.
194
203
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quolu/lattice",
3
- "version": "0.61.1",
3
+ "version": "0.61.2",
4
4
  "description": "Schedulability compiler for multi-agent development: observe real code boundaries, refactor the conflicting seam, recompile the plan for parallel execution",
5
5
  "author": {
6
6
  "name": "Quo / クオ at kitepon.dev",
@@ -13,7 +13,7 @@ import { classifyObservedDiff } from './runtime-decision-verifier.mjs';
13
13
  import { captureWorktreeDiff, detectCheckpointFindings } from './runtime-diff-observer.mjs';
14
14
  import { acquireRuntimeLifecycleLock } from './runtime-lifecycle-lock.mjs';
15
15
  import { observeManagedProcessStartIdentity } from './runtime-managed-supervisor.mjs';
16
- import { observeWindowsWorkerProcess } from './runtime-windows-process.mjs';
16
+ import { deliverWorkerSignal, observeWindowsWorkerProcess } from './runtime-windows-process.mjs';
17
17
  import { ensureScriptedWorktree } from './runtime-scripted-worktree.mjs';
18
18
  import {
19
19
  BOUNDARY_MANIFEST_SCHEMA, selfDigest, validateRuntimeBoundaryManifest, validateRuntimePlan,
@@ -948,7 +948,7 @@ async function signalAttachedWorker(intake, signal) {
948
948
  || observed.process_group_id !== intake.worker.process_group_id) {
949
949
  fail('WORKER_IDENTITY_MISMATCH', 'signal前のlstart/argv/pgidがattach bindingと一致しない');
950
950
  }
951
- try { process.kill(intake.worker.pid, signal); }
951
+ try { deliverWorkerSignal(intake.worker.pid, signal); }
952
952
  catch { fail('WORKER_SIGNAL_FAILED', `workerへ${signal}を送れない`); }
953
953
  return true;
954
954
  }
@@ -21,6 +21,16 @@ export function parseWindowsCreationDate(value) {
21
21
  return parsed.toISOString();
22
22
  }
23
23
 
24
+ export function deliverWorkerSignal(pid, signal) {
25
+ if (!Number.isSafeInteger(pid) || pid < 1) throw new Error('pidが正整数でない');
26
+ const jobControl = signal === 'SIGSTOP' || signal === 'SIGCONT';
27
+ if (process.platform === 'win32' && jobControl) {
28
+ return { delivered: false, recorded: true };
29
+ }
30
+ process.kill(pid, signal);
31
+ return { delivered: true, recorded: true };
32
+ }
33
+
24
34
  export async function observeWindowsWorkerProcess(pid) {
25
35
  if (!Number.isSafeInteger(pid) || pid < 1) {
26
36
  throw new Error('pidが正整数でない');