cbb27b8d87
Introduces semantics.el with SemFrame (sem_frame/sem_frame_simple/sem_frame_obj constructors), sem_to_spec to convert intent frames into realizer slot maps, and sem_realize/sem_realize_full as end-to-end frame→text entry points. Supports intents: assert, query, describe, greet. Wires generate_frame() into nlg.el and adds 4 new passing tests (sem-assert, sem-query, sem-describe, sem-greet). All 10 tests pass.