okstra 0.89.0 → 0.90.0
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/docs/kr/architecture.md +1 -1
- package/docs/superpowers/plans/2026-06-18-subagent-pane-reclaim.md +483 -0
- package/docs/superpowers/specs/2026-06-18-subagent-pane-reclaim-design.md +150 -0
- package/package.json +1 -1
- package/runtime/BUILD.json +2 -2
- package/runtime/bin/okstra-antigravity-exec.sh +1 -0
- package/runtime/bin/okstra-codex-exec.sh +1 -0
- package/runtime/bin/okstra-subagent-reclaim.sh +26 -0
- package/runtime/bin/okstra-trace-cleanup.sh +41 -13
- package/runtime/prompts/profiles/_common-contract.md +7 -6
- package/runtime/python/okstra_ctl/pane_reclaim.py +55 -0
- package/runtime/python/okstra_ctl/report_views.py +60 -15
- package/runtime/python/okstra_ctl/wizard.py +85 -6
- package/runtime/skills/okstra-run/SKILL.md +5 -2
- package/runtime/templates/reports/report.css +10 -1
- package/runtime/templates/reports/settings.template.json +20 -0
- package/src/doctor.mjs +12 -5
- package/src/install.mjs +1 -0
package/src/doctor.mjs
CHANGED
|
@@ -194,11 +194,13 @@ export async function run(args) {
|
|
|
194
194
|
env: process.env,
|
|
195
195
|
capabilities: { tmuxAvailable: Boolean(process.env.TMUX) },
|
|
196
196
|
});
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
197
|
+
// doctor is an environment diagnostic, not a dispatch path. A failed host
|
|
198
|
+
// auto-detection only means we cannot attribute the optional skill checks to a
|
|
199
|
+
// runtime, so degrade it to a warning and keep running the host-independent
|
|
200
|
+
// checks. Dispatch callers of resolveRuntime stay fail-closed by design — this
|
|
201
|
+
// leniency lives only here. With resolvedRuntime null the skill checks skip
|
|
202
|
+
// (requiredSkillNamesForRuntime → []); pass --runtime to include them.
|
|
203
|
+
const resolvedRuntime = runtimeResolution.ok ? runtimeResolution.resolvedRuntime : null;
|
|
202
204
|
|
|
203
205
|
const results = [
|
|
204
206
|
await check("python3", checkPython3),
|
|
@@ -258,6 +260,11 @@ export async function run(args) {
|
|
|
258
260
|
return allOk ? 0 : 1;
|
|
259
261
|
}
|
|
260
262
|
|
|
263
|
+
if (!runtimeResolution.ok) {
|
|
264
|
+
process.stdout.write(
|
|
265
|
+
` [WARN] runtime host: ${runtimeResolution.reason} skill checks skipped — pass --runtime <claude-code|codex|external> to include them.\n`,
|
|
266
|
+
);
|
|
267
|
+
}
|
|
261
268
|
for (const r of results) {
|
|
262
269
|
const mark = r.ok ? "OK " : "FAIL";
|
|
263
270
|
process.stdout.write(` [${mark}] ${r.name}: ${r.detail}\n`);
|
package/src/install.mjs
CHANGED