Phase 7: guaranteed single termination point + milestone tasks
- A duration-0 task with no resources is now a valid milestone task (the
same convention the engine's own synthesizedFINISHnode has always
used) -E_NO_RESOURCEis exempted,E_BAD_DURATIONallows0. - A non-critical chain that reaches project completion with zero slack
(no room for a feeding buffer) now connects directly to the synthesized
FINISHmilestone instead of being silently left disconnected. check_schedulegained a new connectivity check (E_DISCONNECTED_TASK)
as a defense-in-depth safety net.- Docs: new "Guaranteed Single Termination Point" section in
network-layout.md, milestone-task guidance in formats.md, and several
stale doc fixes (validation code table, legacy CSV column names).
See PLAN.md's Phase 7 section for full implementation details.