personal memory agent

talent: wire exec pre-hook for routine state master

Give exec.md its own pre-hook (exec_context.py) so $active_routines and $routine_suggestion substitute with real runtime state when the routines skill loads. Extract the shared rendering + eligibility logic into talent/_routine_context.py; chat and exec now produce byte-for-byte identical routine vars. Chat retains its other template vars and the owner_message trigger-counting side effect.