patchwork-os 1.2.0-beta.2.canary.577 → 1.2.0-beta.2.canary.580
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/dist/runLog.d.ts +31 -0
- package/dist/runLog.js +112 -6
- package/dist/runLog.js.map +1 -1
- package/dist/runStepLedger.d.ts +46 -0
- package/dist/runStepLedger.js +102 -0
- package/dist/runStepLedger.js.map +1 -0
- package/package.json +1 -1
package/dist/runLog.d.ts
CHANGED
|
@@ -130,6 +130,22 @@ export interface RecipeRun {
|
|
|
130
130
|
* just round-trips the value.
|
|
131
131
|
*/
|
|
132
132
|
manualRunId?: string;
|
|
133
|
+
/**
|
|
134
|
+
* PID of the process that started this run.
|
|
135
|
+
*
|
|
136
|
+
* Exists so the startup sweep can tell "the bridge died mid-run" from
|
|
137
|
+
* "another process is running this right now". `runs.jsonl` is shared by
|
|
138
|
+
* eight construction sites, and the sweep marked every `"running"` row
|
|
139
|
+
* `interrupted` in the constructor — so any short-lived reader (a CLI verb,
|
|
140
|
+
* the dashboard, a second bridge) declared a live sibling's runs dead. That
|
|
141
|
+
* terminal row then beat the live one in `syncFromDisk`, and `completeRun`
|
|
142
|
+
* no-ops on a non-running row, so a run that SUCCEEDED recorded
|
|
143
|
+
* `interrupted` with zero steps.
|
|
144
|
+
*
|
|
145
|
+
* Optional: rows written before this field existed carry no stamp, and are
|
|
146
|
+
* swept exactly as before — an unknown owner is not evidence of a live one.
|
|
147
|
+
*/
|
|
148
|
+
ownerPid?: number;
|
|
133
149
|
/**
|
|
134
150
|
* Phase 0β provenance — files this run delivered to the inbox
|
|
135
151
|
* (`~/.patchwork/inbox/`). One entry per `file.write` step whose
|
|
@@ -204,6 +220,10 @@ export declare class RecipeRunLog {
|
|
|
204
220
|
private readonly memoryCap;
|
|
205
221
|
private lastFileSize;
|
|
206
222
|
private _lastSyncMs;
|
|
223
|
+
/** seq → step ids already written to the in-flight evidence ledger. Keeps
|
|
224
|
+
* `updateRunSteps` (which receives the FULL step list each call) from
|
|
225
|
+
* re-appending every prior step on every step completion. */
|
|
226
|
+
private readonly persistedStepIds;
|
|
207
227
|
private readonly now;
|
|
208
228
|
constructor(opts: RunLogOptions);
|
|
209
229
|
/**
|
|
@@ -284,6 +304,8 @@ export declare class RecipeRunLog {
|
|
|
284
304
|
model?: string;
|
|
285
305
|
parentSeq?: number;
|
|
286
306
|
manualRunId?: string;
|
|
307
|
+
/** Test seam — defaults to this process. See `RecipeRun.ownerPid`. */
|
|
308
|
+
ownerPid?: number;
|
|
287
309
|
}): number;
|
|
288
310
|
/**
|
|
289
311
|
* Replace the in-memory step list for a running entry. Called as steps
|
|
@@ -292,6 +314,15 @@ export declare class RecipeRunLog {
|
|
|
292
314
|
* already terminal.
|
|
293
315
|
*/
|
|
294
316
|
updateRunSteps(seq: number, stepResults: RunStepResult[]): void;
|
|
317
|
+
/**
|
|
318
|
+
* Write the evidence-bearing steps of a still-running run to the sibling
|
|
319
|
+
* step ledger, so an interruption before `completeRun` no longer erases the
|
|
320
|
+
* record of actions that already happened. Only the steps this instance has
|
|
321
|
+
* not already written, and only the ones that carry evidence — see
|
|
322
|
+
* `isEvidenceBearing`. Rows land in `run_steps.jsonl`, never in `runs.jsonl`,
|
|
323
|
+
* because that file's byte cap is what starved the trust ledger.
|
|
324
|
+
*/
|
|
325
|
+
private persistInFlightEvidence;
|
|
295
326
|
/**
|
|
296
327
|
* Finalize a running entry: update status + duration, append step results,
|
|
297
328
|
* and persist the row to JSONL. No-op if the seq is unknown (e.g. the run
|
package/dist/runLog.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { appendFileSync, mkdirSync, readFileSync, renameSync, statSync, unlinkSync, writeFileSync, } from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { withFileLockSync } from "./fileLockSync.js";
|
|
4
|
+
import { appendStepEvidence, isEvidenceBearing, loadStepEvidence, } from "./runStepLedger.js";
|
|
4
5
|
const MAX_OUTPUT_TAIL = 2_000;
|
|
5
6
|
const DEFAULT_MEMORY_CAP = 500;
|
|
6
7
|
/**
|
|
@@ -34,6 +35,50 @@ const MAX_ARCHIVE_BYTES = 8 * 1024 * 1024;
|
|
|
34
35
|
function runKey(r) {
|
|
35
36
|
return r.taskId ? `task:${r.taskId}` : `seq:${r.seq}`;
|
|
36
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Is the process that owns a running row still alive?
|
|
40
|
+
*
|
|
41
|
+
* `kill(pid, 0)` sends no signal — it only asks whether the pid is addressable.
|
|
42
|
+
* `EPERM` means the process exists but belongs to another user, which is still
|
|
43
|
+
* alive for our purposes.
|
|
44
|
+
*
|
|
45
|
+
* An ABSENT stamp returns false (⇒ sweep). Rows predating `ownerPid` must keep
|
|
46
|
+
* being recovered, and "we don't know" is not evidence of a live owner.
|
|
47
|
+
*
|
|
48
|
+
* The residual risk is pid reuse: an unrelated process inheriting a dead
|
|
49
|
+
* bridge's pid leaves a run stuck `"running"` forever. That is the direction to
|
|
50
|
+
* fail in — a visibly stuck row is recoverable and obvious, whereas the
|
|
51
|
+
* alternative silently rewrites a completed run's history, which is the bug
|
|
52
|
+
* being fixed.
|
|
53
|
+
*/
|
|
54
|
+
function isProcessAlive(pid) {
|
|
55
|
+
if (typeof pid !== "number" || !Number.isInteger(pid) || pid <= 0) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
try {
|
|
59
|
+
process.kill(pid, 0);
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
return err?.code === "EPERM";
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Union of a run's own step list and the recovered in-flight rows, keyed by
|
|
68
|
+
* step id. The persisted row wins on a tie: the in-memory list of an
|
|
69
|
+
* interrupted run is whatever the crashed process last managed to hand over,
|
|
70
|
+
* and the ledger row is what actually reached disk.
|
|
71
|
+
*/
|
|
72
|
+
function mergeStepResults(existing, recovered) {
|
|
73
|
+
const byId = new Map();
|
|
74
|
+
for (const s of existing ?? [])
|
|
75
|
+
if (s?.id)
|
|
76
|
+
byId.set(s.id, s);
|
|
77
|
+
for (const s of recovered)
|
|
78
|
+
if (s?.id)
|
|
79
|
+
byId.set(s.id, s);
|
|
80
|
+
return Array.from(byId.values());
|
|
81
|
+
}
|
|
37
82
|
/** Disk-retention line cap. Exported so a reader that must see the FULL retained
|
|
38
83
|
* history (e.g. worker trust replay) can size its in-memory ring to match the
|
|
39
84
|
* disk, instead of being silently bounded by DEFAULT_MEMORY_CAP. */
|
|
@@ -51,6 +96,10 @@ export class RecipeRunLog {
|
|
|
51
96
|
memoryCap;
|
|
52
97
|
lastFileSize = 0;
|
|
53
98
|
_lastSyncMs = 0;
|
|
99
|
+
/** seq → step ids already written to the in-flight evidence ledger. Keeps
|
|
100
|
+
* `updateRunSteps` (which receives the FULL step list each call) from
|
|
101
|
+
* re-appending every prior step on every step completion. */
|
|
102
|
+
persistedStepIds = new Map();
|
|
54
103
|
now;
|
|
55
104
|
constructor(opts) {
|
|
56
105
|
this.opts = opts;
|
|
@@ -288,6 +337,7 @@ export class RecipeRunLog {
|
|
|
288
337
|
startRun(opts) {
|
|
289
338
|
const seq = ++this.seq;
|
|
290
339
|
const run = {
|
|
340
|
+
ownerPid: opts.ownerPid ?? process.pid,
|
|
291
341
|
seq,
|
|
292
342
|
taskId: opts.taskId,
|
|
293
343
|
recipeName: opts.recipeName,
|
|
@@ -324,6 +374,38 @@ export class RecipeRunLog {
|
|
|
324
374
|
if (!run || run.status !== "running")
|
|
325
375
|
return;
|
|
326
376
|
this.runs[idx] = { ...run, stepResults: [...stepResults] };
|
|
377
|
+
this.persistInFlightEvidence(this.runs[idx], stepResults);
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Write the evidence-bearing steps of a still-running run to the sibling
|
|
381
|
+
* step ledger, so an interruption before `completeRun` no longer erases the
|
|
382
|
+
* record of actions that already happened. Only the steps this instance has
|
|
383
|
+
* not already written, and only the ones that carry evidence — see
|
|
384
|
+
* `isEvidenceBearing`. Rows land in `run_steps.jsonl`, never in `runs.jsonl`,
|
|
385
|
+
* because that file's byte cap is what starved the trust ledger.
|
|
386
|
+
*/
|
|
387
|
+
persistInFlightEvidence(run, stepResults) {
|
|
388
|
+
if (!run.taskId)
|
|
389
|
+
return; // no join key ⇒ nothing to fold it back onto
|
|
390
|
+
let written = this.persistedStepIds.get(run.seq);
|
|
391
|
+
if (!written) {
|
|
392
|
+
written = new Set();
|
|
393
|
+
this.persistedStepIds.set(run.seq, written);
|
|
394
|
+
}
|
|
395
|
+
for (const step of stepResults) {
|
|
396
|
+
if (!step?.id || written.has(step.id))
|
|
397
|
+
continue;
|
|
398
|
+
if (!isEvidenceBearing(step))
|
|
399
|
+
continue;
|
|
400
|
+
written.add(step.id);
|
|
401
|
+
appendStepEvidence(this.opts.dir, {
|
|
402
|
+
taskId: run.taskId,
|
|
403
|
+
seq: run.seq,
|
|
404
|
+
recipeName: run.recipeName,
|
|
405
|
+
at: this.now(),
|
|
406
|
+
step,
|
|
407
|
+
}, this.opts.logger);
|
|
408
|
+
}
|
|
327
409
|
}
|
|
328
410
|
/**
|
|
329
411
|
* Finalize a running entry: update status + duration, append step results,
|
|
@@ -384,6 +466,10 @@ export class RecipeRunLog {
|
|
|
384
466
|
}),
|
|
385
467
|
};
|
|
386
468
|
this.runs[idx] = finalized;
|
|
469
|
+
// The terminal row now carries the full step list, so the in-flight
|
|
470
|
+
// tracking for this run is dead weight. (The ledger's own rows age out via
|
|
471
|
+
// its size cap — they are only ever read for runs still marked "running".)
|
|
472
|
+
this.persistedStepIds.delete(seq);
|
|
387
473
|
mkdirSync(path.dirname(this.file), { recursive: true, mode: 0o700 });
|
|
388
474
|
this.append(finalized);
|
|
389
475
|
}
|
|
@@ -593,8 +679,11 @@ export class RecipeRunLog {
|
|
|
593
679
|
// A row for a run we already hold. Take it only when it represents
|
|
594
680
|
// PROGRESS, never when it would rewind.
|
|
595
681
|
//
|
|
596
|
-
// `updateRunSteps` mutates the in-memory row
|
|
597
|
-
//
|
|
682
|
+
// `updateRunSteps` mutates the in-memory row; it writes only
|
|
683
|
+
// EVIDENCE-BEARING steps to the sibling step ledger, and never
|
|
684
|
+
// rewrites this run's row in `runs.jsonl`. So a live run's full
|
|
685
|
+
// step list still exists only here (the ledger is a crash-recovery
|
|
686
|
+
// subset, folded in at load, not a mirror). Blindly
|
|
598
687
|
// replacing with the on-disk row would wipe the progress the
|
|
599
688
|
// dashboard is streaming. The old `seq > this.seq` gate protected
|
|
600
689
|
// this by accident (it skipped every existing run); removing that
|
|
@@ -702,20 +791,37 @@ export class RecipeRunLog {
|
|
|
702
791
|
if (this.runs.length > this.memoryCap) {
|
|
703
792
|
this.runs.splice(0, this.runs.length - this.memoryCap);
|
|
704
793
|
}
|
|
705
|
-
// Sweep:
|
|
706
|
-
//
|
|
707
|
-
//
|
|
708
|
-
//
|
|
794
|
+
// Sweep: a run still `status:"running"` after loading was interrupted by a
|
|
795
|
+
// bridge restart. Flip in memory and append the corrected terminal record
|
|
796
|
+
// so future reads see "interrupted" instead of a permanently-stuck entry.
|
|
797
|
+
//
|
|
798
|
+
// ONLY when its owning process is provably gone. This ran unconditionally,
|
|
799
|
+
// in the constructor, against a file eight construction sites share — so a
|
|
800
|
+
// `patchwork` CLI verb or a dashboard poll declared a live sibling's runs
|
|
801
|
+
// dead. The damage was not cosmetic: `syncFromDisk` hands the terminal row
|
|
802
|
+
// back to the owning bridge (terminal beats live, by design) and
|
|
803
|
+
// `completeRun` no-ops on a non-running row, so the real completion was
|
|
804
|
+
// never written and a SUCCESSFUL run recorded `interrupted`, zero steps.
|
|
709
805
|
const now = this.now();
|
|
806
|
+
// Fold in-flight evidence back onto the runs it belongs to. Read lazily —
|
|
807
|
+
// most restarts sweep nothing, and this is startup path.
|
|
808
|
+
let evidence = null;
|
|
710
809
|
for (let i = 0; i < this.runs.length; i++) {
|
|
711
810
|
const run = this.runs[i];
|
|
712
811
|
if (!run || run.status !== "running")
|
|
713
812
|
continue;
|
|
813
|
+
if (isProcessAlive(run.ownerPid))
|
|
814
|
+
continue;
|
|
815
|
+
evidence ??= loadStepEvidence(this.opts.dir, this.opts.logger);
|
|
816
|
+
const recovered = run.taskId ? evidence.get(run.taskId) : undefined;
|
|
714
817
|
const interrupted = {
|
|
715
818
|
...run,
|
|
716
819
|
status: "interrupted",
|
|
717
820
|
doneAt: now,
|
|
718
821
|
durationMs: now - run.createdAt,
|
|
822
|
+
...(recovered?.length
|
|
823
|
+
? { stepResults: mergeStepResults(run.stepResults, recovered) }
|
|
824
|
+
: {}),
|
|
719
825
|
};
|
|
720
826
|
this.runs[i] = interrupted;
|
|
721
827
|
this.append(interrupted);
|
package/dist/runLog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runLog.js","sourceRoot":"","sources":["../src/runLog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runLog.js","sourceRoot":"","sources":["../src/runLog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { Logger } from "./logger.js";
|
|
2
|
+
import type { RunStepResult } from "./runLog.js";
|
|
3
|
+
/**
|
|
4
|
+
* In-flight evidence ledger — `run_steps.jsonl`, a sibling of `runs.jsonl`.
|
|
5
|
+
*
|
|
6
|
+
* A run's steps reached disk only when `completeRun` fired, so an interruption
|
|
7
|
+
* erased the record of actions that had already happened. This file carries the
|
|
8
|
+
* steps that MATTER between `startRun` and the terminal append; `RecipeRunLog`
|
|
9
|
+
* folds them back onto the interrupted run at load, so every existing reader of
|
|
10
|
+
* `runs.jsonl` (dashboard, trust replay) sees the evidence without learning
|
|
11
|
+
* about a second file.
|
|
12
|
+
*
|
|
13
|
+
* Deliberately NOT written into `runs.jsonl`. That file is byte-capped, and its
|
|
14
|
+
* budget is exactly what starved the trust ledger to a 17 h span against a 24 h
|
|
15
|
+
* durability window — adding per-step writes to it would buy durability by
|
|
16
|
+
* spending retention, which is the same evidence loss wearing different clothes.
|
|
17
|
+
*/
|
|
18
|
+
export interface RunStepLedgerRow {
|
|
19
|
+
taskId: string;
|
|
20
|
+
seq: number;
|
|
21
|
+
recipeName: string;
|
|
22
|
+
at: number;
|
|
23
|
+
step: RunStepResult;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Is this step worth persisting mid-flight?
|
|
27
|
+
*
|
|
28
|
+
* Only steps that carry evidence: a non-reversible action (it happened and
|
|
29
|
+
* cannot simply be re-derived) or any error (the halt reason is the whole
|
|
30
|
+
* point of the record). Reads are excluded because volume is the constraint.
|
|
31
|
+
*
|
|
32
|
+
* Agent steps are excluded on BOTH outcomes, matching #1320: the gate carves
|
|
33
|
+
* them out as "not a gated action-class", and a failed agent step reports on a
|
|
34
|
+
* model call, not on whether the worker can be trusted with a side effect.
|
|
35
|
+
*/
|
|
36
|
+
export declare function isEvidenceBearing(step: RunStepResult): boolean;
|
|
37
|
+
export declare function stepLedgerPath(dir: string): string;
|
|
38
|
+
/** Append one evidence row. Never throws — losing a mid-flight row must not
|
|
39
|
+
* take down the run that produced it. */
|
|
40
|
+
export declare function appendStepEvidence(dir: string, row: RunStepLedgerRow, logger?: Logger): void;
|
|
41
|
+
/**
|
|
42
|
+
* Read the ledger, grouped by taskId, newest-wins per step id. Returns an empty
|
|
43
|
+
* map when the file is missing or unreadable — fail-soft, exactly as before
|
|
44
|
+
* this ledger existed.
|
|
45
|
+
*/
|
|
46
|
+
export declare function loadStepEvidence(dir: string, logger?: Logger): Map<string, RunStepResult[]>;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { appendFileSync, mkdirSync, readFileSync, renameSync, statSync, writeFileSync, } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { AGENT_STEP_TOOL, classifyActionClass } from "./workers/actionClass.js";
|
|
4
|
+
/** Cap on `run_steps.jsonl`. Rows only matter until their run reaches a
|
|
5
|
+
* terminal record, so this is a crash-window buffer, not history. */
|
|
6
|
+
const MAX_LEDGER_BYTES = 2 * 1024 * 1024;
|
|
7
|
+
/**
|
|
8
|
+
* Is this step worth persisting mid-flight?
|
|
9
|
+
*
|
|
10
|
+
* Only steps that carry evidence: a non-reversible action (it happened and
|
|
11
|
+
* cannot simply be re-derived) or any error (the halt reason is the whole
|
|
12
|
+
* point of the record). Reads are excluded because volume is the constraint.
|
|
13
|
+
*
|
|
14
|
+
* Agent steps are excluded on BOTH outcomes, matching #1320: the gate carves
|
|
15
|
+
* them out as "not a gated action-class", and a failed agent step reports on a
|
|
16
|
+
* model call, not on whether the worker can be trusted with a side effect.
|
|
17
|
+
*/
|
|
18
|
+
export function isEvidenceBearing(step) {
|
|
19
|
+
if (step.tool === AGENT_STEP_TOOL)
|
|
20
|
+
return false;
|
|
21
|
+
if (step.status === "error")
|
|
22
|
+
return true;
|
|
23
|
+
if (!step.tool)
|
|
24
|
+
return false;
|
|
25
|
+
return classifyActionClass(step.tool).reversibility !== "reversible";
|
|
26
|
+
}
|
|
27
|
+
export function stepLedgerPath(dir) {
|
|
28
|
+
return path.join(dir, "run_steps.jsonl");
|
|
29
|
+
}
|
|
30
|
+
/** Append one evidence row. Never throws — losing a mid-flight row must not
|
|
31
|
+
* take down the run that produced it. */
|
|
32
|
+
export function appendStepEvidence(dir, row, logger) {
|
|
33
|
+
const file = stepLedgerPath(dir);
|
|
34
|
+
try {
|
|
35
|
+
mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
36
|
+
trimIfOversized(file);
|
|
37
|
+
appendFileSync(file, `${JSON.stringify(row)}\n`, { mode: 0o600 });
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
logger?.warn?.(`[runsteps] append failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Read the ledger, grouped by taskId, newest-wins per step id. Returns an empty
|
|
45
|
+
* map when the file is missing or unreadable — fail-soft, exactly as before
|
|
46
|
+
* this ledger existed.
|
|
47
|
+
*/
|
|
48
|
+
export function loadStepEvidence(dir, logger) {
|
|
49
|
+
const file = stepLedgerPath(dir);
|
|
50
|
+
let raw;
|
|
51
|
+
try {
|
|
52
|
+
statSync(file);
|
|
53
|
+
raw = readFileSync(file, "utf-8");
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return new Map();
|
|
57
|
+
}
|
|
58
|
+
const byTask = new Map();
|
|
59
|
+
for (const line of raw.split("\n")) {
|
|
60
|
+
if (!line)
|
|
61
|
+
continue;
|
|
62
|
+
try {
|
|
63
|
+
const parsed = JSON.parse(line);
|
|
64
|
+
if (!parsed?.taskId || !parsed.step?.id)
|
|
65
|
+
continue;
|
|
66
|
+
let steps = byTask.get(parsed.taskId);
|
|
67
|
+
if (!steps) {
|
|
68
|
+
steps = new Map();
|
|
69
|
+
byTask.set(parsed.taskId, steps);
|
|
70
|
+
}
|
|
71
|
+
steps.set(parsed.step.id, parsed.step);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
// skip malformed row — one bad line must not hide the rest
|
|
75
|
+
logger?.debug?.("[runsteps] skipped malformed row");
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
const out = new Map();
|
|
79
|
+
for (const [taskId, steps] of byTask)
|
|
80
|
+
out.set(taskId, Array.from(steps.values()));
|
|
81
|
+
return out;
|
|
82
|
+
}
|
|
83
|
+
/** Keep the newest half when the buffer exceeds its cap. */
|
|
84
|
+
function trimIfOversized(file) {
|
|
85
|
+
let size;
|
|
86
|
+
try {
|
|
87
|
+
size = statSync(file).size;
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (size <= MAX_LEDGER_BYTES)
|
|
93
|
+
return;
|
|
94
|
+
const lines = readFileSync(file, "utf-8").split("\n").filter(Boolean);
|
|
95
|
+
const keep = lines.slice(Math.floor(lines.length / 2));
|
|
96
|
+
const tmp = `${file}.tmp`;
|
|
97
|
+
writeFileSync(tmp, keep.length > 0 ? `${keep.join("\n")}\n` : "", {
|
|
98
|
+
mode: 0o600,
|
|
99
|
+
});
|
|
100
|
+
renameSync(tmp, file);
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=runStepLedger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runStepLedger.js","sourceRoot":"","sources":["../src/runStepLedger.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "patchwork-os",
|
|
3
|
-
"version": "1.2.0-beta.2.canary.
|
|
3
|
+
"version": "1.2.0-beta.2.canary.580",
|
|
4
4
|
"description": "Your personal AI runtime, local-first. Patchwork OS gives any AI model a consistent set of tools, YAML recipes, a delegation policy with approval queue, and a durable trace memory — all on your machine, all under your policy.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|