fix: resolve code queue runner skills path

Resolve Code Queue runner skills through approved source fallback while preserving hostPath contract diagnostics.
This commit is contained in:
Lyon
2026-05-23 22:50:31 +08:00
committed by GitHub
parent 12fdc9e238
commit 026a718a24
11 changed files with 308 additions and 76 deletions
+14
View File
@@ -626,7 +626,12 @@ function compactSkillAvailability(value: unknown): Record<string, unknown> | nul
if (skills === null) return null;
return {
ok: skills.ok ?? false,
runnerUsable: skills.runnerUsable ?? skills.ok ?? false,
contractOk: skills.contractOk ?? skills.ok ?? false,
path: skills.path ?? null,
resolvedPath: skills.resolvedPath ?? skills.path ?? null,
resolvedPathSource: skills.resolvedPathSource ?? null,
resolution: skills.resolution ?? null,
source: skills.source ?? null,
target: skills.target ?? null,
mountPoint: skills.mountPoint ?? null,
@@ -634,8 +639,13 @@ function compactSkillAvailability(value: unknown): Record<string, unknown> | nul
available: skills.available ?? false,
degraded: skills.degraded ?? true,
blocker: skills.blocker ?? null,
degradedReason: skills.degradedReason ?? skills.blocker ?? null,
readonly: skills.readonly ?? false,
skillCount: skills.skillCount ?? 0,
sourceSkillCount: skills.sourceSkillCount ?? null,
targetSkillCount: skills.targetSkillCount ?? null,
sourceMissingSkills: Array.isArray(skills.sourceMissingSkills) ? skills.sourceMissingSkills.map(String) : [],
targetMissingSkills: Array.isArray(skills.targetMissingSkills) ? skills.targetMissingSkills.map(String) : [],
requiredSkills: Array.isArray(skills.requiredSkills) ? skills.requiredSkills.map(String) : [],
missingSkills: Array.isArray(skills.missingSkills) ? skills.missingSkills.map(String) : [],
valuesPrinted: skills.valuesPrinted ?? false,
@@ -663,6 +673,8 @@ function compactSkillSync(value: unknown): Record<string, unknown> | null {
"writable",
"readonly",
"mountPoint",
"symlink",
"realPath",
"skillCount",
"requiredSkills",
"missingSkills",
@@ -677,6 +689,8 @@ function compactSkillSync(value: unknown): Record<string, unknown> | null {
"writable",
"readonly",
"mountPoint",
"symlink",
"realPath",
"skillCount",
"requiredSkills",
"missingSkills",