(directory, client, sessionID)
| 1581 | job.goalBlockedReason = [parsed.reason, parsed.needed ? `Needed: ${parsed.needed}` : ""].filter(Boolean).join(` |
| 1582 | `) || "Goal blocked."; |
| 1583 | if (parsed.evidence) |
| 1584 | job.goalEvidence = parsed.evidence; |
| 1585 | state.jobs = (state.jobs || []).map((candidate) => candidate.id === job.id ? job : candidate); |
| 1586 | await writeState(directory, sessionID, state); |
| 1587 | await writeGoalReport(directory, sessionID, job); |
| 1588 | await appendLoopLog(directory, "goal-blocked", { sessionID, job: job.name || job.id, reason: job.goalBlockedReason }); |
| 1589 | return { ok: true, job, message: `Goal blocked: ${job.goalBlockedReason}` }; |
no test coverage detected