{"bundle_type":"pith_open_graph_bundle","bundle_version":"1.0","pith_number":"pith:2018:ZBUA4RWL564CR22L2OTA5LWLN2","short_pith_number":"pith:ZBUA4RWL","canonical_record":{"source":{"id":"1809.00580","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2018-09-03T12:39:44Z","cross_cats_sorted":[],"title_canon_sha256":"a1040da24f213dddd738c65cf4cddf74340ffb9df30dc3f8ceb9862148f77018","abstract_canon_sha256":"94ae397dbda4371da6298411223a24c2ea0d376f0554b5cee15c907b027da82b"},"schema_version":"1.0"},"canonical_sha256":"c8680e46cbefb828eb4bd3a60eaecb6ea5941e59660ba85ae53f9c511b41e510","source":{"kind":"arxiv","id":"1809.00580","version":1},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1809.00580","created_at":"2026-05-18T00:06:33Z"},{"alias_kind":"arxiv_version","alias_value":"1809.00580v1","created_at":"2026-05-18T00:06:33Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1809.00580","created_at":"2026-05-18T00:06:33Z"},{"alias_kind":"pith_short_12","alias_value":"ZBUA4RWL564C","created_at":"2026-05-18T12:33:04Z"},{"alias_kind":"pith_short_16","alias_value":"ZBUA4RWL564CR22L","created_at":"2026-05-18T12:33:04Z"},{"alias_kind":"pith_short_8","alias_value":"ZBUA4RWL","created_at":"2026-05-18T12:33:04Z"}],"events":[{"event_type":"record_created","subject_pith_number":"pith:2018:ZBUA4RWL564CR22L2OTA5LWLN2","target":"record","payload":{"canonical_record":{"source":{"id":"1809.00580","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2018-09-03T12:39:44Z","cross_cats_sorted":[],"title_canon_sha256":"a1040da24f213dddd738c65cf4cddf74340ffb9df30dc3f8ceb9862148f77018","abstract_canon_sha256":"94ae397dbda4371da6298411223a24c2ea0d376f0554b5cee15c907b027da82b"},"schema_version":"1.0"},"canonical_sha256":"c8680e46cbefb828eb4bd3a60eaecb6ea5941e59660ba85ae53f9c511b41e510","receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-18T00:06:33.132208Z","signature_b64":"e6aiHxbkS4bq2q4M85AELvg/ywczqIuJ9Wnt4gHrnadBTTqi4+d3lWyyvTPbLYTFqSMIJf59Z4mz95CLj60WCg==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"c8680e46cbefb828eb4bd3a60eaecb6ea5941e59660ba85ae53f9c511b41e510","last_reissued_at":"2026-05-18T00:06:33.131547Z","signature_status":"signed_v1","first_computed_at":"2026-05-18T00:06:33.131547Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"source_kind":"arxiv","source_id":"1809.00580","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-18T00:06:33Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"vpreevtrkdYdMIF1Me55fVJLnUG1EGNPfuiucARHB09zaCAJUvqi68wQSCeRVzDr66+k8L5nUkFpRLa+40gKAg==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-06-04T23:18:43.260276Z"},"content_sha256":"fffea1c6db0c03e24ba9bc68348e3c892a182513b41a58a93d5066188433f5ae","schema_version":"1.0","event_id":"sha256:fffea1c6db0c03e24ba9bc68348e3c892a182513b41a58a93d5066188433f5ae"},{"event_type":"graph_snapshot","subject_pith_number":"pith:2018:ZBUA4RWL564CR22L2OTA5LWLN2","target":"graph","payload":{"graph_snapshot":{"paper":{"title":"Prof. CI: Employing Continuous Integration Services and Github Workflows to Teach Test-driven Development","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.SE","authors_text":"Arian Treffer, Christoph Matthies, Matthias Uflacker","submitted_at":"2018-09-03T12:39:44Z","abstract_excerpt":"Teaching programming using Massive Open Online Courses (MOOCs) is gaining popularity due to their scalability and efficiency of knowledge distribution. However, participating in these courses usually means fully committing to the supplied programming environment in the browser. While this allows a consistent and controllable setup, learners do not gain experience with actual development tools, such as local code editors, testing frameworks, issue trackers or continuous integration (CI) services, which is critical for subsequent real-world projects. Furthermore, the tests for the functionality "},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1809.00580","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-18T00:06:33Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"7SHWQbCGtTXmK0LF8/V04ERhNzA2Ky3gGz133Mzqq1fKJm1Wf0zOAiVzan0pSdppdnr+gle1Lsw/rHdM9z4ACw==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-06-04T23:18:43.260657Z"},"content_sha256":"8199f043177ed08d9d864f378d6e38ed6876943ed9d648d44a1cf9efd2a90684","schema_version":"1.0","event_id":"sha256:8199f043177ed08d9d864f378d6e38ed6876943ed9d648d44a1cf9efd2a90684"}],"timestamp_proofs":[],"mirror_hints":[{"mirror_type":"https","name":"Pith Resolver","base_url":"https://pith.science","bundle_url":"https://pith.science/pith/ZBUA4RWL564CR22L2OTA5LWLN2/bundle.json","state_url":"https://pith.science/pith/ZBUA4RWL564CR22L2OTA5LWLN2/state.json","well_known_bundle_url":"https://pith.science/.well-known/pith/ZBUA4RWL564CR22L2OTA5LWLN2/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-04T23:18:43Z","links":{"resolver":"https://pith.science/pith/ZBUA4RWL564CR22L2OTA5LWLN2","bundle":"https://pith.science/pith/ZBUA4RWL564CR22L2OTA5LWLN2/bundle.json","state":"https://pith.science/pith/ZBUA4RWL564CR22L2OTA5LWLN2/state.json","well_known_bundle":"https://pith.science/.well-known/pith/ZBUA4RWL564CR22L2OTA5LWLN2/bundle.json"},"state":{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2018:ZBUA4RWL564CR22L2OTA5LWLN2","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":"94ae397dbda4371da6298411223a24c2ea0d376f0554b5cee15c907b027da82b","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2018-09-03T12:39:44Z","title_canon_sha256":"a1040da24f213dddd738c65cf4cddf74340ffb9df30dc3f8ceb9862148f77018"},"schema_version":"1.0","source":{"id":"1809.00580","kind":"arxiv","version":1}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1809.00580","created_at":"2026-05-18T00:06:33Z"},{"alias_kind":"arxiv_version","alias_value":"1809.00580v1","created_at":"2026-05-18T00:06:33Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1809.00580","created_at":"2026-05-18T00:06:33Z"},{"alias_kind":"pith_short_12","alias_value":"ZBUA4RWL564C","created_at":"2026-05-18T12:33:04Z"},{"alias_kind":"pith_short_16","alias_value":"ZBUA4RWL564CR22L","created_at":"2026-05-18T12:33:04Z"},{"alias_kind":"pith_short_8","alias_value":"ZBUA4RWL","created_at":"2026-05-18T12:33:04Z"}],"graph_snapshots":[{"event_id":"sha256:8199f043177ed08d9d864f378d6e38ed6876943ed9d648d44a1cf9efd2a90684","target":"graph","created_at":"2026-05-18T00:06:33Z","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":"Teaching programming using Massive Open Online Courses (MOOCs) is gaining popularity due to their scalability and efficiency of knowledge distribution. However, participating in these courses usually means fully committing to the supplied programming environment in the browser. While this allows a consistent and controllable setup, learners do not gain experience with actual development tools, such as local code editors, testing frameworks, issue trackers or continuous integration (CI) services, which is critical for subsequent real-world projects. Furthermore, the tests for the functionality ","authors_text":"Arian Treffer, Christoph Matthies, Matthias Uflacker","cross_cats":[],"headline":"","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2018-09-03T12:39:44Z","title":"Prof. CI: Employing Continuous Integration Services and Github Workflows to Teach Test-driven Development"},"references":{"count":0,"internal_anchors":0,"resolved_work":0,"sample":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1809.00580","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:fffea1c6db0c03e24ba9bc68348e3c892a182513b41a58a93d5066188433f5ae","target":"record","created_at":"2026-05-18T00:06:33Z","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":"94ae397dbda4371da6298411223a24c2ea0d376f0554b5cee15c907b027da82b","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2018-09-03T12:39:44Z","title_canon_sha256":"a1040da24f213dddd738c65cf4cddf74340ffb9df30dc3f8ceb9862148f77018"},"schema_version":"1.0","source":{"id":"1809.00580","kind":"arxiv","version":1}},"canonical_sha256":"c8680e46cbefb828eb4bd3a60eaecb6ea5941e59660ba85ae53f9c511b41e510","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"c8680e46cbefb828eb4bd3a60eaecb6ea5941e59660ba85ae53f9c511b41e510","first_computed_at":"2026-05-18T00:06:33.131547Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-05-18T00:06:33.131547Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"e6aiHxbkS4bq2q4M85AELvg/ywczqIuJ9Wnt4gHrnadBTTqi4+d3lWyyvTPbLYTFqSMIJf59Z4mz95CLj60WCg==","signature_status":"signed_v1","signed_at":"2026-05-18T00:06:33.132208Z","signed_message":"canonical_sha256_bytes"},"source_id":"1809.00580","source_kind":"arxiv","source_version":1}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:fffea1c6db0c03e24ba9bc68348e3c892a182513b41a58a93d5066188433f5ae","sha256:8199f043177ed08d9d864f378d6e38ed6876943ed9d648d44a1cf9efd2a90684"],"state_sha256":"2d8e7fce07a6b001958100c47e17ac926a0ab30a0976839acf61fca78e89a6f8"},"bundle_signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"PsDYPf1fR+frIMnz6rFd0WVJTGvKad/CICvHozr0P1wwjIci8R+u9kCTPKNkl4szwSRQRBDRPb/p/mQMslUiCA==","signed_message":"bundle_sha256_bytes","signed_at":"2026-06-04T23:18:43.263393Z","bundle_sha256":"ff61b0bd8ede50e991092afeb269241ba2ace82c3fe55041c06c652df3df2288"}}