@gcunharodrigues/wrxn 0.12.0 → 0.13.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gcunharodrigues/wrxn",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.1",
|
|
4
4
|
"description": "WRXN Kernel — installable AI operating system. Two profiles (project | workspace), pull-based updates, managed/seeded/state file classes.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"wrxn": "bin/wrxn.cjs"
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"test": "node --test --require ./test/setup.cjs"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"recon-wrxn": "6.0.0-wrxn.
|
|
19
|
+
"recon-wrxn": "6.0.0-wrxn.7"
|
|
20
20
|
},
|
|
21
21
|
"engines": {
|
|
22
22
|
"node": ">=20"
|
|
@@ -66,11 +66,14 @@ function readBaton(root) {
|
|
|
66
66
|
// ── the SessionEnd-synth hold (auto-memory-03) ──────────────────────────────────
|
|
67
67
|
// When a session ends, memory-synth-spawn.cjs raises a `.pending-handoff` marker and launches the synth
|
|
68
68
|
// detached; the synth writes the baton then clears the marker. So a back-to-back /clear could start
|
|
69
|
-
// BEFORE the fresh baton exists. We hold: poll the marker until it clears (synth done)
|
|
70
|
-
//
|
|
71
|
-
//
|
|
69
|
+
// BEFORE the fresh baton exists. We hold: poll the marker until it clears (synth done) so the new session
|
|
70
|
+
// ALWAYS resumes on the freshly-written handoff — not the previous one. The cap is a crash backstop only
|
|
71
|
+
// (a SIGKILLed synth that never clears the marker must not hang start forever), NOT a budget for a healthy
|
|
72
|
+
// synth. The poll-decision is pure and the loop takes an injected clock, so it is unit-tested with no wall sleep.
|
|
72
73
|
const HANDOFF_MARKER_REL = ['.wrxn', 'continuity', '.pending-handoff'];
|
|
73
|
-
|
|
74
|
+
// 3 min: a heavy HITL-session synth takes >1min to write its baton; 60s abandoned it mid-write and the
|
|
75
|
+
// next session resumed on the PREVIOUS baton (operator-set 2026-06-21). Crash backstop only — never a budget.
|
|
76
|
+
const HOLD_CAP_MS = 180000;
|
|
74
77
|
const HOLD_POLL_MS = 250; // poll cadence (the real sleep step; tests inject their own).
|
|
75
78
|
|
|
76
79
|
// A synchronous sleep for the real poll loop (the hook must finish before it emits; tests inject their
|
|
@@ -173,4 +176,4 @@ if (require.main === module) {
|
|
|
173
176
|
}
|
|
174
177
|
}
|
|
175
178
|
|
|
176
|
-
module.exports = { holdDecision, holdForHandoff };
|
|
179
|
+
module.exports = { holdDecision, holdForHandoff, HOLD_CAP_MS };
|