{"bundle_type":"pith_open_graph_bundle","bundle_version":"1.0","pith_number":"pith:2019:O7JIUQRQUPFAPBUVK2J23DLNBS","short_pith_number":"pith:O7JIUQRQ","canonical_record":{"source":{"id":"1904.11254","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2019-04-25T10:46:41Z","cross_cats_sorted":[],"title_canon_sha256":"f0127cc1999a8812f936a66f42269822934ce1fb0f8a50160ffc67fcb0cbbbea","abstract_canon_sha256":"7ee43a6f22cfbb614ee0962987f314aec01b2b70f7973eef3b5dd69af2c4d652"},"schema_version":"1.0"},"canonical_sha256":"77d28a4230a3ca0786955693ad8d6d0c89f63258f7beccd692df265b61e870ea","source":{"kind":"arxiv","id":"1904.11254","version":1},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1904.11254","created_at":"2026-05-17T23:47:45Z"},{"alias_kind":"arxiv_version","alias_value":"1904.11254v1","created_at":"2026-05-17T23:47:45Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1904.11254","created_at":"2026-05-17T23:47:45Z"},{"alias_kind":"pith_short_12","alias_value":"O7JIUQRQUPFA","created_at":"2026-05-18T12:33:24Z"},{"alias_kind":"pith_short_16","alias_value":"O7JIUQRQUPFAPBUV","created_at":"2026-05-18T12:33:24Z"},{"alias_kind":"pith_short_8","alias_value":"O7JIUQRQ","created_at":"2026-05-18T12:33:24Z"}],"events":[{"event_type":"record_created","subject_pith_number":"pith:2019:O7JIUQRQUPFAPBUVK2J23DLNBS","target":"record","payload":{"canonical_record":{"source":{"id":"1904.11254","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2019-04-25T10:46:41Z","cross_cats_sorted":[],"title_canon_sha256":"f0127cc1999a8812f936a66f42269822934ce1fb0f8a50160ffc67fcb0cbbbea","abstract_canon_sha256":"7ee43a6f22cfbb614ee0962987f314aec01b2b70f7973eef3b5dd69af2c4d652"},"schema_version":"1.0"},"canonical_sha256":"77d28a4230a3ca0786955693ad8d6d0c89f63258f7beccd692df265b61e870ea","receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-17T23:47:45.377230Z","signature_b64":"UbHk2A6VGX/VBUtzX1Rgx7McgJLjWWdnUMywYuQwvVwECFLw604BrzVfn5O9MA7iJRMNuDKrXWwx3zsFZ0KbBA==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"77d28a4230a3ca0786955693ad8d6d0c89f63258f7beccd692df265b61e870ea","last_reissued_at":"2026-05-17T23:47:45.376704Z","signature_status":"signed_v1","first_computed_at":"2026-05-17T23:47:45.376704Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"source_kind":"arxiv","source_id":"1904.11254","source_version":1,"attestation_state":"computed"},"signer":{"signer_id":"pith.science","signer_type":"pith_registry","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"created_at":"2026-05-17T23:47:45Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"kDVkrorIUoAm1WbwhaUjyETflfyj2ABaW8OvRY4IO6F5zkvPrSYUXBXj8N0nSwgmUedZljFpDBtLDupjAPg5AA==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-06-09T05:04:16.502262Z"},"content_sha256":"284ec47ff66d44c3a75deeca6566eec339f3ce9b4efa90d2c94cb9fa333681a7","schema_version":"1.0","event_id":"sha256:284ec47ff66d44c3a75deeca6566eec339f3ce9b4efa90d2c94cb9fa333681a7"},{"event_type":"graph_snapshot","subject_pith_number":"pith:2019:O7JIUQRQUPFAPBUVK2J23DLNBS","target":"graph","payload":{"graph_snapshot":{"paper":{"title":"SafeStrings: Representing Strings as Structured Data","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.PL","authors_text":"David Clark, David Kelly, Earl T. Barr, Mark Marron","submitted_at":"2019-04-25T10:46:41Z","abstract_excerpt":"Strings are ubiquitous in code. Not all strings are created equal, some contain structure that makes them incompatible with other strings. CSS units are an obvious example. Worse, type checkers cannot see this structure: this is the latent structure problem. We introduce SafeStrings to solve this problem and expose latent structure in strings. Once visible, operations can leverage this structure to efficiently manipulate it; further, SafeStrings permit the establishment of closure properties. SafeStringsharness the subtyping and inheritance mechanics of their host language to create a natural "},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1904.11254","kind":"arxiv","version":1},"verdict":{"id":null,"model_set":{},"created_at":null,"strongest_claim":"","one_line_summary":"","pipeline_version":null,"weakest_assumption":"","pith_extraction_headline":""},"references":{"count":0,"sample":[],"resolved_work":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","internal_anchors":0},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"author_claims":{"count":0,"strong_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"builder_version":"pith-number-builder-2026-05-17-v1"},"verdict_id":null},"signer":{"signer_id":"pith.science","signer_type":"pith_registry","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"created_at":"2026-05-17T23:47:45Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"VEJsqfYcOX2kDXa1ksyK/ztSXzCvafxNhRkrbcaRwQt9EnnMhHtRxXOU4ZZh0fJEonJGk5ycjL7BLrgPI8ZTAA==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-06-09T05:04:16.502997Z"},"content_sha256":"8683ddf13c876247c38aa6094cc1bb90edd14e3f4ab5296bc78d181152136919","schema_version":"1.0","event_id":"sha256:8683ddf13c876247c38aa6094cc1bb90edd14e3f4ab5296bc78d181152136919"}],"timestamp_proofs":[],"mirror_hints":[{"mirror_type":"https","name":"Pith Resolver","base_url":"https://pith.science","bundle_url":"https://pith.science/pith/O7JIUQRQUPFAPBUVK2J23DLNBS/bundle.json","state_url":"https://pith.science/pith/O7JIUQRQUPFAPBUVK2J23DLNBS/state.json","well_known_bundle_url":"https://pith.science/.well-known/pith/O7JIUQRQUPFAPBUVK2J23DLNBS/bundle.json","status":"primary"}],"public_keys":[{"key_id":"pith-v1-2026-05","algorithm":"ed25519","format":"raw","public_key_b64":"stVStoiQhXFxp4s2pdzPNoqVNBMojDU/fJ2db5S3CbM=","public_key_hex":"b2d552b68890857171a78b36a5dccf368a953413288c353f7c9d9d6f94b709b3","fingerprint_sha256_b32_first128bits":"RVFV5Z2OI2J3ZUO7ERDEBCYNKS","fingerprint_sha256_hex":"8d4b5ee74e4693bcd1df2446408b0d54","rotates_at":null,"url":"https://pith.science/pith-signing-key.json","notes":"Pith uses this Ed25519 key to sign canonical record SHA-256 digests. Verify with: ed25519_verify(public_key, message=canonical_sha256_bytes, signature=base64decode(signature_b64))."}],"merge_version":"pith-open-graph-merge-v1","built_at":"2026-06-09T05:04:16Z","links":{"resolver":"https://pith.science/pith/O7JIUQRQUPFAPBUVK2J23DLNBS","bundle":"https://pith.science/pith/O7JIUQRQUPFAPBUVK2J23DLNBS/bundle.json","state":"https://pith.science/pith/O7JIUQRQUPFAPBUVK2J23DLNBS/state.json","well_known_bundle":"https://pith.science/.well-known/pith/O7JIUQRQUPFAPBUVK2J23DLNBS/bundle.json"},"state":{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2019:O7JIUQRQUPFAPBUVK2J23DLNBS","merge_version":"pith-open-graph-merge-v1","event_count":2,"valid_event_count":2,"invalid_event_count":0,"equivocation_count":0,"current":{"canonical_record":{"metadata":{"abstract_canon_sha256":"7ee43a6f22cfbb614ee0962987f314aec01b2b70f7973eef3b5dd69af2c4d652","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2019-04-25T10:46:41Z","title_canon_sha256":"f0127cc1999a8812f936a66f42269822934ce1fb0f8a50160ffc67fcb0cbbbea"},"schema_version":"1.0","source":{"id":"1904.11254","kind":"arxiv","version":1}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1904.11254","created_at":"2026-05-17T23:47:45Z"},{"alias_kind":"arxiv_version","alias_value":"1904.11254v1","created_at":"2026-05-17T23:47:45Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1904.11254","created_at":"2026-05-17T23:47:45Z"},{"alias_kind":"pith_short_12","alias_value":"O7JIUQRQUPFA","created_at":"2026-05-18T12:33:24Z"},{"alias_kind":"pith_short_16","alias_value":"O7JIUQRQUPFAPBUV","created_at":"2026-05-18T12:33:24Z"},{"alias_kind":"pith_short_8","alias_value":"O7JIUQRQ","created_at":"2026-05-18T12:33:24Z"}],"graph_snapshots":[{"event_id":"sha256:8683ddf13c876247c38aa6094cc1bb90edd14e3f4ab5296bc78d181152136919","target":"graph","created_at":"2026-05-17T23:47:45Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"graph_snapshot":{"author_claims":{"count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","strong_count":0},"builder_version":"pith-number-builder-2026-05-17-v1","claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"paper":{"abstract_excerpt":"Strings are ubiquitous in code. Not all strings are created equal, some contain structure that makes them incompatible with other strings. CSS units are an obvious example. Worse, type checkers cannot see this structure: this is the latent structure problem. We introduce SafeStrings to solve this problem and expose latent structure in strings. Once visible, operations can leverage this structure to efficiently manipulate it; further, SafeStrings permit the establishment of closure properties. SafeStringsharness the subtyping and inheritance mechanics of their host language to create a natural ","authors_text":"David Clark, David Kelly, Earl T. Barr, Mark Marron","cross_cats":[],"headline":"","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2019-04-25T10:46:41Z","title":"SafeStrings: Representing Strings as Structured Data"},"references":{"count":0,"internal_anchors":0,"resolved_work":0,"sample":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1904.11254","kind":"arxiv","version":1},"verdict":{"created_at":null,"id":null,"model_set":{},"one_line_summary":"","pipeline_version":null,"pith_extraction_headline":"","strongest_claim":"","weakest_assumption":""}},"verdict_id":null}}],"author_attestations":[],"timestamp_anchors":[],"storage_attestations":[],"citation_signatures":[],"replication_records":[],"corrections":[],"mirror_hints":[],"record_created":{"event_id":"sha256:284ec47ff66d44c3a75deeca6566eec339f3ce9b4efa90d2c94cb9fa333681a7","target":"record","created_at":"2026-05-17T23:47:45Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"attestation_state":"computed","canonical_record":{"metadata":{"abstract_canon_sha256":"7ee43a6f22cfbb614ee0962987f314aec01b2b70f7973eef3b5dd69af2c4d652","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2019-04-25T10:46:41Z","title_canon_sha256":"f0127cc1999a8812f936a66f42269822934ce1fb0f8a50160ffc67fcb0cbbbea"},"schema_version":"1.0","source":{"id":"1904.11254","kind":"arxiv","version":1}},"canonical_sha256":"77d28a4230a3ca0786955693ad8d6d0c89f63258f7beccd692df265b61e870ea","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"77d28a4230a3ca0786955693ad8d6d0c89f63258f7beccd692df265b61e870ea","first_computed_at":"2026-05-17T23:47:45.376704Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-05-17T23:47:45.376704Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"UbHk2A6VGX/VBUtzX1Rgx7McgJLjWWdnUMywYuQwvVwECFLw604BrzVfn5O9MA7iJRMNuDKrXWwx3zsFZ0KbBA==","signature_status":"signed_v1","signed_at":"2026-05-17T23:47:45.377230Z","signed_message":"canonical_sha256_bytes"},"source_id":"1904.11254","source_kind":"arxiv","source_version":1}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:284ec47ff66d44c3a75deeca6566eec339f3ce9b4efa90d2c94cb9fa333681a7","sha256:8683ddf13c876247c38aa6094cc1bb90edd14e3f4ab5296bc78d181152136919"],"state_sha256":"7723e0ab3a39dac52e2958b00044dc52973d8f84187241a960e6116dcb76cd44"},"bundle_signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"mHnwTs+y9rLpgUHHhWF9aT4EjuaVzvgzPYPieZKhFNpYAsFKgMUSjIqx0b7Kam+YnLll4qoTcmNxObFwsn28Bg==","signed_message":"bundle_sha256_bytes","signed_at":"2026-06-09T05:04:16.507097Z","bundle_sha256":"e84b8e47af9b3deedd19320a8b04f6759381642696b79956a671d199ff7d7b19"}}