talents/participation: migrate to external participation.schema.json + shared entry fragment master
Next L3 structured-outputs migration: constrain the participation talent with an external schema. Follows sense (8c952dc4), story (50693752), daily_schedule (0e098e7b), and detect_created (b58bd862). Introduces talent/participation.schema.json plus a shared participation_entry.schema.json fragment. The top-level schema inlines that fragment shape (Option B) instead of using cross-file $ref because think/talent.py::_load_talent_schema has no cross-file registry plumbing; drift is guarded by tests/test_participation_schema.py::test_participation_schema_items_match_fragment. No post-hook changes: talent/participation.py is byte-identical, and the prompt body in talent/participation.md is untouched. Provider-side validation remains deferred per precedent; advisory local validation continues through the existing dispatcher path. Forward note: talent/schedule.md:55-63 is the logical next adoption site for the shared fragment, but its current participation example does not include entity_id, which the fragment requires, so that follow-up lode will need to update the example or introduce a variant.