Checks a framework preset is well-formed — a proper machine name and a human framework name — so a bad preset fails when it is defined rather than mid-run.

## Before writing SPEC.md files

Read https://raw.githubusercontent.com/brillout/sdd/refs/heads/main/sdd.md
