{"record_type":"pith_number_record","schema_url":"https://pith.science/schemas/pith-number/v1.json","pith_number":"pith:2026:ZLHSWGWWNYMWTVN46ZSPZVDLOI","short_pith_number":"pith:ZLHSWGWW","schema_version":"1.0","canonical_sha256":"cacf2b1ad66e1969d5bcf664fcd46b7206b562a9cee5dfa974559a76d6a4859f","source":{"kind":"arxiv","id":"2605.22733","version":1},"attestation_state":"computed","paper":{"title":"HarnessAPI: A Skill-First Framework for Unified Streaming APIs and MCP Tools","license":"http://creativecommons.org/licenses/by/4.0/","headline":"","cross_cats":["cs.SE"],"primary_cat":"cs.AI","authors_text":"Edwin Jose","submitted_at":"2026-05-21T17:03:44Z","abstract_excerpt":"Every Python function deployed as an LLM tool must today exist in two forms: an HTTP endpoint for human-facing clients and CI pipelines, and an MCP tool registration for agent runtimes such as Claude and Cursor. These representations share business logic yet diverge in all the surrounding machinery (routing, validation, serialisation, streaming, and schema maintenance), and they drift apart as the underlying code evolves. We present HarnessAPI, a Python framework that eliminates this duplication by treating a typed skill folder as the single source of truth. From one handler.py plus Pydantic s"},"verification_status":{"content_addressed":true,"pith_receipt":true,"author_attested":false,"weak_author_claims":0,"strong_author_claims":0,"externally_anchored":false,"storage_verified":false,"citation_signatures":0,"replication_records":0,"graph_snapshot":true,"references_resolved":false,"formal_links_present":false},"canonical_record":{"source":{"id":"2605.22733","kind":"arxiv","version":1},"metadata":{"license":"http://creativecommons.org/licenses/by/4.0/","primary_cat":"cs.AI","submitted_at":"2026-05-21T17:03:44Z","cross_cats_sorted":["cs.SE"],"title_canon_sha256":"512799e639a14cd148158145b41809cc82cb03f937f4fa3a1373e0d4c3d7548e","abstract_canon_sha256":"bc7abe582b86ab03720f911d3cd12af6420e7af6aad7917ce08a1546dbd03581"},"schema_version":"1.0"},"receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-22T02:04:52.393134Z","signature_b64":"VczWqQC9bVoHwcpZ3cgO2CkZLKrfGjbfhhU/fped63B3yCSvaqVI8Q8vReRuLjx7wknWF+p6qGFRclkmEXwsDg==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"cacf2b1ad66e1969d5bcf664fcd46b7206b562a9cee5dfa974559a76d6a4859f","last_reissued_at":"2026-05-22T02:04:52.392456Z","signature_status":"signed_v1","first_computed_at":"2026-05-22T02:04:52.392456Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"graph_snapshot":{"paper":{"title":"HarnessAPI: A Skill-First Framework for Unified Streaming APIs and MCP Tools","license":"http://creativecommons.org/licenses/by/4.0/","headline":"","cross_cats":["cs.SE"],"primary_cat":"cs.AI","authors_text":"Edwin Jose","submitted_at":"2026-05-21T17:03:44Z","abstract_excerpt":"Every Python function deployed as an LLM tool must today exist in two forms: an HTTP endpoint for human-facing clients and CI pipelines, and an MCP tool registration for agent runtimes such as Claude and Cursor. These representations share business logic yet diverge in all the surrounding machinery (routing, validation, serialisation, streaming, and schema maintenance), and they drift apart as the underlying code evolves. We present HarnessAPI, a Python framework that eliminates this duplication by treating a typed skill folder as the single source of truth. From one handler.py plus Pydantic s"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"2605.22733","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":""},"integrity":{"clean":true,"summary":{"advisory":0,"critical":0,"by_detector":{},"informational":0},"endpoint":"/pith/2605.22733/integrity.json","findings":[],"available":true,"detectors_run":[],"snapshot_sha256":"c28c3603d3b5d939e8dc4c7e95fa8dfce3d595e45f758748cecf8e644a296938"},"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"},"aliases":[{"alias_kind":"arxiv","alias_value":"2605.22733","created_at":"2026-05-22T02:04:52.392575+00:00"},{"alias_kind":"arxiv_version","alias_value":"2605.22733v1","created_at":"2026-05-22T02:04:52.392575+00:00"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.2605.22733","created_at":"2026-05-22T02:04:52.392575+00:00"},{"alias_kind":"pith_short_12","alias_value":"ZLHSWGWWNYMW","created_at":"2026-05-22T02:04:52.392575+00:00"},{"alias_kind":"pith_short_16","alias_value":"ZLHSWGWWNYMWTVN4","created_at":"2026-05-22T02:04:52.392575+00:00"},{"alias_kind":"pith_short_8","alias_value":"ZLHSWGWW","created_at":"2026-05-22T02:04:52.392575+00:00"}],"events":[],"event_summary":{},"paper_claims":[],"inbound_citations":{"count":0,"internal_anchor_count":0,"sample":[]},"formal_canon":{"evidence_count":0,"sample":[],"anchors":[]},"links":{"html":"https://pith.science/pith/ZLHSWGWWNYMWTVN46ZSPZVDLOI","json":"https://pith.science/pith/ZLHSWGWWNYMWTVN46ZSPZVDLOI.json","graph_json":"https://pith.science/api/pith-number/ZLHSWGWWNYMWTVN46ZSPZVDLOI/graph.json","events_json":"https://pith.science/api/pith-number/ZLHSWGWWNYMWTVN46ZSPZVDLOI/events.json","paper":"https://pith.science/paper/ZLHSWGWW"},"agent_actions":{"view_html":"https://pith.science/pith/ZLHSWGWWNYMWTVN46ZSPZVDLOI","download_json":"https://pith.science/pith/ZLHSWGWWNYMWTVN46ZSPZVDLOI.json","view_paper":"https://pith.science/paper/ZLHSWGWW","resolve_alias":"https://pith.science/api/pith-number/resolve?arxiv=2605.22733&json=true","fetch_graph":"https://pith.science/api/pith-number/ZLHSWGWWNYMWTVN46ZSPZVDLOI/graph.json","fetch_events":"https://pith.science/api/pith-number/ZLHSWGWWNYMWTVN46ZSPZVDLOI/events.json","actions":{"anchor_timestamp":"https://pith.science/pith/ZLHSWGWWNYMWTVN46ZSPZVDLOI/action/timestamp_anchor","attest_storage":"https://pith.science/pith/ZLHSWGWWNYMWTVN46ZSPZVDLOI/action/storage_attestation","attest_author":"https://pith.science/pith/ZLHSWGWWNYMWTVN46ZSPZVDLOI/action/author_attestation","sign_citation":"https://pith.science/pith/ZLHSWGWWNYMWTVN46ZSPZVDLOI/action/citation_signature","submit_replication":"https://pith.science/pith/ZLHSWGWWNYMWTVN46ZSPZVDLOI/action/replication_record"}},"created_at":"2026-05-22T02:04:52.392575+00:00","updated_at":"2026-05-22T02:04:52.392575+00:00"}