@infinitedusky/indusk-mcp 1.24.3 → 1.24.4
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.
|
@@ -46,7 +46,15 @@ export function markFinding(projectRoot, key, state) {
|
|
|
46
46
|
export function ingestScorecard(projectRoot, scorecard) {
|
|
47
47
|
const findings = readFindings(projectRoot);
|
|
48
48
|
let added = 0;
|
|
49
|
-
|
|
49
|
+
// Defensive: the model occasionally returns a scorecard with a missing,
|
|
50
|
+
// null, or non-array `questions` field (it invents its own schema). The
|
|
51
|
+
// outer wrapper has already written the (wrong-shape) scorecard to
|
|
52
|
+
// results.log by this point — if we throw here, a misleading `error: true`
|
|
53
|
+
// entry lands right after, falsely implying the scorecard was lost.
|
|
54
|
+
// Tolerate the malformed shape silently; downstream consumers can still
|
|
55
|
+
// see the raw scorecard in results.log.
|
|
56
|
+
const questions = Array.isArray(scorecard.questions) ? scorecard.questions : [];
|
|
57
|
+
for (const q of questions) {
|
|
50
58
|
if (q.answer === "yes")
|
|
51
59
|
continue; // no finding for passing questions
|
|
52
60
|
const key = `${scorecard.changeId}:${q.id}`;
|