When the task queue is exhausted, Foundry does not assume the project goal is met. It runs an explicit goal completion check before marking a project as done.
state.goals
{ "goal_completed": boolean, "reasoning": "string" }
goal_completed: true
COMPLETED
goal_completed: false
cwd
A goal_completed: false result is a clean halt: not a crash. State is fully persisted. The operator can review the reasoning, add tasks, and resume.