claude-code-session-manager 0.35.10 → 0.35.13
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/index.html
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
8
8
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
9
9
|
<link href="https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,400&family=Geist:wght@300;400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap" rel="stylesheet">
|
|
10
|
-
<script type="module" crossorigin src="./assets/index-
|
|
10
|
+
<script type="module" crossorigin src="./assets/index-LqC9hNy3.js"></script>
|
|
11
11
|
<link rel="modulepreload" crossorigin href="./assets/monaco-editor-BW5C4Iv1.js">
|
|
12
12
|
<link rel="stylesheet" crossorigin href="./assets/monaco-editor-BTnBOi8r.css">
|
|
13
13
|
<link rel="stylesheet" crossorigin href="./assets/index-C7NyYuXu.css">
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-code-session-manager",
|
|
3
|
-
"version": "0.35.
|
|
3
|
+
"version": "0.35.13",
|
|
4
4
|
"description": "Local cockpit for the Claude Code CLI — multi-tab terminal, full config surface, scheduler, voice dictation, and live observability.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/main/index.cjs",
|
package/src/main/scheduler.cjs
CHANGED
|
@@ -2115,6 +2115,38 @@ async function reverifyNeedsReview() {
|
|
|
2115
2115
|
console.log(`[scheduler] boot reverify: left for review: ${detail}`);
|
|
2116
2116
|
}
|
|
2117
2117
|
|
|
2118
|
+
// Mirror the live-completion auto-promote (spawnJob, ~line 1583): ANY
|
|
2119
|
+
// completed fix-plan job whose original is still needs_review/failed means
|
|
2120
|
+
// the original's work is logically done. Runs every pass (not just against
|
|
2121
|
+
// jobs healed THIS pass) and over ALL completed fix-plan jobs, not just
|
|
2122
|
+
// ones just-healed above — a fix-plan job healed by a PRIOR boot/periodic
|
|
2123
|
+
// pass, or completed via a live run, is just as valid a promotion source.
|
|
2124
|
+
// Idempotent: an already-promoted original has status !== 'needs_review'/
|
|
2125
|
+
// 'failed', so isPromotableOriginal excludes it on repeat passes — safe to
|
|
2126
|
+
// re-run unconditionally. (2026-07-12: 521-fix-*/523-fix-* healed on one
|
|
2127
|
+
// boot but their originals stayed stuck needs_review on every subsequent
|
|
2128
|
+
// boot/tick, because the promotion only ran inside `if (healed.length)`
|
|
2129
|
+
// scoped to that single pass's fresh heals.)
|
|
2130
|
+
const promoted = [];
|
|
2131
|
+
await mutate((s) => {
|
|
2132
|
+
for (const job of s.jobs) {
|
|
2133
|
+
if (job.status !== 'completed' || !isFixPlanSlug(job.slug)) continue;
|
|
2134
|
+
const orig = healTargetForFix(job.slug, s.jobs);
|
|
2135
|
+
if (!orig) continue;
|
|
2136
|
+
const priorStatus = orig.status;
|
|
2137
|
+
orig.status = 'completed';
|
|
2138
|
+
orig.exitCode = 0;
|
|
2139
|
+
orig.error = null;
|
|
2140
|
+
orig.completedBy = job.slug;
|
|
2141
|
+
if (priorStatus === 'needs_review') delete orig.verifierVerdict;
|
|
2142
|
+
promoted.push(`${orig.slug} (was ${priorStatus}, via ${job.slug})`);
|
|
2143
|
+
}
|
|
2144
|
+
});
|
|
2145
|
+
if (promoted.length) {
|
|
2146
|
+
console.log(`[scheduler] boot reverify: auto-promoted ${promoted.length} original(s): ${promoted.join(', ')}`);
|
|
2147
|
+
await broadcast();
|
|
2148
|
+
}
|
|
2149
|
+
|
|
2118
2150
|
// Surface needs_review jobs that can never self-heal or get an auto-fix
|
|
2119
2151
|
// investigation (no runId, no backfillable run dir) instead of leaving
|
|
2120
2152
|
// them silently stranded. Also surface no-plan auto-fix jobs whose one
|