Write every file in plan under root, creating the directories they need,
and report what each write did. Deletes nothing: the plan's orphaned stubs,
orphaned registry, and case collisions are the caller's to report.
Throws before writing anything when the plan writes a scaffold whose path
holds different contents, because that file is a handler the developer owns.
Rebuild the plan from readGenerationRoot whenever the root may have
changed since it was read; applying an unchanged root's plan again rewrites
the generated files and changes nothing else.
Write every file in
planunderroot, creating the directories they need, and report what each write did. Deletes nothing: the plan's orphaned stubs, orphaned registry, and case collisions are the caller's to report.Throws before writing anything when the plan writes a
scaffoldwhose path holds different contents, because that file is a handler the developer owns. Rebuild the plan from readGenerationRoot whenever the root may have changed since it was read; applying an unchanged root's plan again rewrites the generated files and changes nothing else.