{"record_type":"pith_number_record","schema_url":"https://pith.science/schemas/pith-number/v1.json","pith_number":"pith:2026:AVU7VU5ZLAEBPBVGCVRWBOJP7V","short_pith_number":"pith:AVU7VU5Z","schema_version":"1.0","canonical_sha256":"0569fad3b958081786a6156360b92ffd653d665f55c9c5b981f241537db931be","source":{"kind":"arxiv","id":"2603.00991","version":2},"attestation_state":"computed","paper":{"title":"Tracking Capabilities for Safer Agents","license":"http://creativecommons.org/licenses/by/4.0/","headline":"AI agents can generate capability-safe code with no significant loss in task performance while the type system blocks leaks and side effects.","cross_cats":["cs.PL"],"primary_cat":"cs.AI","authors_text":"Cao Nguyen Pham, Martin Odersky, Oliver Bra\\v{c}evac, Yaoyu Zhao, Yichen Xu","submitted_at":"2026-03-01T08:39:37Z","abstract_excerpt":"AI agents that interact with the real world through tool calls pose fundamental safety challenges: agents might leak private information, cause unintended side effects, or be manipulated through prompt injection. To address these challenges, we propose to put the agent in a programming-language-based \"safety harness\": instead of calling tools directly, agents express their intentions as code in a capability-safe language: Scala 3 with capture checking. Capabilities are program variables that regulate access to effects and resources of interest. Scala's type system tracks capabilities staticall"},"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":true,"formal_links_present":true},"canonical_record":{"source":{"id":"2603.00991","kind":"arxiv","version":2},"metadata":{"license":"http://creativecommons.org/licenses/by/4.0/","primary_cat":"cs.AI","submitted_at":"2026-03-01T08:39:37Z","cross_cats_sorted":["cs.PL"],"title_canon_sha256":"ca75e8f7641b32cc65ca0d137e97b5f5ef576666ac7f35c8594d1436fd6d9d1c","abstract_canon_sha256":"266cf315043be1b306a934dbec5f5a625482f53b76e632685de57b404af56204"},"schema_version":"1.0"},"receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-29T01:05:06.003686Z","signature_b64":"QQ04qj+VijgQBGhG+chorKTZqPjw989AaB098dQsXZrZywyvp8+fpMbxOFRxkDFYJTW96darEVx9W4BmO6c6AA==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"0569fad3b958081786a6156360b92ffd653d665f55c9c5b981f241537db931be","last_reissued_at":"2026-05-29T01:05:06.002593Z","signature_status":"signed_v1","first_computed_at":"2026-05-29T01:05:06.002593Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"graph_snapshot":{"paper":{"title":"Tracking Capabilities for Safer Agents","license":"http://creativecommons.org/licenses/by/4.0/","headline":"AI agents can generate capability-safe code with no significant loss in task performance while the type system blocks leaks and side effects.","cross_cats":["cs.PL"],"primary_cat":"cs.AI","authors_text":"Cao Nguyen Pham, Martin Odersky, Oliver Bra\\v{c}evac, Yaoyu Zhao, Yichen Xu","submitted_at":"2026-03-01T08:39:37Z","abstract_excerpt":"AI agents that interact with the real world through tool calls pose fundamental safety challenges: agents might leak private information, cause unintended side effects, or be manipulated through prompt injection. To address these challenges, we propose to put the agent in a programming-language-based \"safety harness\": instead of calling tools directly, agents express their intentions as code in a capability-safe language: Scala 3 with capture checking. Capabilities are program variables that regulate access to effects and resources of interest. Scala's type system tracks capabilities staticall"},"claims":{"count":4,"items":[{"kind":"strongest_claim","text":"Our experiments show that agents can generate capability-safe code with no significant loss in task performance, while the type system reliably prevents unsafe behaviors such as information leakage and malicious side effects.","source":"verdict.strongest_claim","status":"machine_extracted","claim_id":"C1","attestation":"unclaimed"},{"kind":"weakest_assumption","text":"That large language models can reliably produce correct, well-typed capability-safe Scala code for arbitrary tasks and that the capture-checking system covers all relevant safety properties for real-world tool use.","source":"verdict.weakest_assumption","status":"machine_extracted","claim_id":"C2","attestation":"unclaimed"},{"kind":"one_line_summary","text":"AI agents can generate code in a capability-safe Scala dialect that statically prevents information leakage and malicious side effects while preserving task performance.","source":"verdict.one_line_summary","status":"machine_extracted","claim_id":"C3","attestation":"unclaimed"},{"kind":"headline","text":"AI agents can generate capability-safe code with no significant loss in task performance while the type system blocks leaks and side effects.","source":"verdict.pith_extraction.headline","status":"machine_extracted","claim_id":"C4","attestation":"unclaimed"}],"snapshot_sha256":"6e208500aed47fdce7d628df7fe59c8a5cb56a469e82e0503052603ccf98c057"},"source":{"id":"2603.00991","kind":"arxiv","version":2},"verdict":{"id":"3e56d15c-2814-4102-9310-ff6a21cc77b6","model_set":{"reader":"grok-4.3"},"created_at":"2026-05-15T18:28:22.252763Z","strongest_claim":"Our experiments show that agents can generate capability-safe code with no significant loss in task performance, while the type system reliably prevents unsafe behaviors such as information leakage and malicious side effects.","one_line_summary":"AI agents can generate code in a capability-safe Scala dialect that statically prevents information leakage and malicious side effects while preserving task performance.","pipeline_version":"pith-pipeline@v0.9.0","weakest_assumption":"That large language models can reliably produce correct, well-typed capability-safe Scala code for arbitrary tasks and that the capture-checking system covers all relevant safety properties for real-world tool use.","pith_extraction_headline":"AI agents can generate capability-safe code with no significant loss in task performance while the type system blocks leaks and side effects."},"integrity":{"clean":true,"summary":{"advisory":0,"critical":0,"by_detector":{},"informational":0},"endpoint":"/pith/2603.00991/integrity.json","findings":[],"available":true,"detectors_run":[],"snapshot_sha256":"c28c3603d3b5d939e8dc4c7e95fa8dfce3d595e45f758748cecf8e644a296938"},"references":{"count":86,"sample":[{"doi":"","year":2025,"title":"Amazon Web Services. 2025. Bedrock AgentCore policy. Accessed: 2025-06-01. https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/policy.htm l (cit. on p. 8)","work_id":"b71d8ceb-53b3-4192-915f-565dddd6d58d","ref_index":1,"cited_arxiv_id":"","is_internal_anchor":false},{"doi":"","year":2024,"title":"Amazon Web Services. 2024. Cedar policy language. Accessed: 2025-06-01. https://www.cedarpolicy.com/ (cit. on p. 8)","work_id":"7abc0276-b639-4d05-b542-82c4e8b298b8","ref_index":2,"cited_arxiv_id":"","is_internal_anchor":false},{"doi":"","year":null,"title":"Nada Amin, Samuel Grütter, Martin Odersky, Tiark Rompf, and Sandro Stucki","work_id":"629297b0-1156-4df8-abe8-4f28d9e087e2","ref_index":3,"cited_arxiv_id":"","is_internal_anchor":false},{"doi":"10.1007/978-3-319-30936-1_14","year":null,"title":"InA List of Successes That Can Change the World(Lecture Notes in Computer Science)","work_id":"5c49c691-648b-4cec-a23b-0d93d2e3180f","ref_index":4,"cited_arxiv_id":"","is_internal_anchor":false},{"doi":"","year":2016,"title":"Concrete Problems in AI Safety","work_id":"c8d14fbe-6eab-464a-95b3-778aabd82fa3","ref_index":5,"cited_arxiv_id":"1606.06565","is_internal_anchor":true}],"resolved_work":86,"snapshot_sha256":"c6dce866aa7b6e697ae532916fd7847b1e399d79e0d098d90bdbd1c69e6e8064","internal_anchors":15},"formal_canon":{"evidence_count":2,"snapshot_sha256":"0568ba6fd24d1739ebce857bc66776f56a1380f103fd2964da428dbe3c240c8a"},"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":"2603.00991","created_at":"2026-05-29T01:05:06.002768+00:00"},{"alias_kind":"arxiv_version","alias_value":"2603.00991v2","created_at":"2026-05-29T01:05:06.002768+00:00"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.2603.00991","created_at":"2026-05-29T01:05:06.002768+00:00"},{"alias_kind":"pith_short_12","alias_value":"AVU7VU5ZLAEB","created_at":"2026-05-29T01:05:06.002768+00:00"},{"alias_kind":"pith_short_16","alias_value":"AVU7VU5ZLAEBPBVG","created_at":"2026-05-29T01:05:06.002768+00:00"},{"alias_kind":"pith_short_8","alias_value":"AVU7VU5Z","created_at":"2026-05-29T01:05:06.002768+00:00"}],"events":[],"event_summary":{},"paper_claims":[],"inbound_citations":{"count":2,"internal_anchor_count":2,"sample":[{"citing_arxiv_id":"2605.08369","citing_title":"First-Class Refinement Types for Scala","ref_index":22,"is_internal_anchor":true},{"citing_arxiv_id":"2604.23425","citing_title":"When the Agent Is the Adversary: Architectural Requirements for Agentic AI Containment After the April 2026 Frontier Model Escape","ref_index":36,"is_internal_anchor":true}]},"formal_canon":{"evidence_count":2,"sample":[],"anchors":[]},"links":{"html":"https://pith.science/pith/AVU7VU5ZLAEBPBVGCVRWBOJP7V","json":"https://pith.science/pith/AVU7VU5ZLAEBPBVGCVRWBOJP7V.json","graph_json":"https://pith.science/api/pith-number/AVU7VU5ZLAEBPBVGCVRWBOJP7V/graph.json","events_json":"https://pith.science/api/pith-number/AVU7VU5ZLAEBPBVGCVRWBOJP7V/events.json","paper":"https://pith.science/paper/AVU7VU5Z"},"agent_actions":{"view_html":"https://pith.science/pith/AVU7VU5ZLAEBPBVGCVRWBOJP7V","download_json":"https://pith.science/pith/AVU7VU5ZLAEBPBVGCVRWBOJP7V.json","view_paper":"https://pith.science/paper/AVU7VU5Z","resolve_alias":"https://pith.science/api/pith-number/resolve?arxiv=2603.00991&json=true","fetch_graph":"https://pith.science/api/pith-number/AVU7VU5ZLAEBPBVGCVRWBOJP7V/graph.json","fetch_events":"https://pith.science/api/pith-number/AVU7VU5ZLAEBPBVGCVRWBOJP7V/events.json","actions":{"anchor_timestamp":"https://pith.science/pith/AVU7VU5ZLAEBPBVGCVRWBOJP7V/action/timestamp_anchor","attest_storage":"https://pith.science/pith/AVU7VU5ZLAEBPBVGCVRWBOJP7V/action/storage_attestation","attest_author":"https://pith.science/pith/AVU7VU5ZLAEBPBVGCVRWBOJP7V/action/author_attestation","sign_citation":"https://pith.science/pith/AVU7VU5ZLAEBPBVGCVRWBOJP7V/action/citation_signature","submit_replication":"https://pith.science/pith/AVU7VU5ZLAEBPBVGCVRWBOJP7V/action/replication_record"}},"created_at":"2026-05-29T01:05:06.002768+00:00","updated_at":"2026-05-29T01:05:06.002768+00:00"}