Fix audit finding F06: Fix evidence digest computation across adapters to ensure cryptographic integrity.
Recorded from user prompt in conversation 78d87a8b-d52c-4b44-b8f5-077656700b95.
src/data2dsl_adapters.pynormalize_spec and normalize_telemetry digest calculations. Instead of val_obj.get("value", "") (which produced empty strings for string-set values like pins/buses), now serialize string-set items via ",".join(sorted(str(i) for i in val_obj["items"])). Different pin configurations now produce unique SHA-256 digests.response.service_count and sorted response.ports.parties, sorted obligations, sorted deliverables, and canonical representation of val_obj.tests/test_evidence_digests.pypytest tests/test_evidence_digests.py: 4/4 passed.