{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2602-14849","title":"Atomix: Timely, Transactional Tool Use for Reliable Agentic Workflows","arxiv_id":"2602.14849","date":"2026-02-16","proceeding":null,"authors":["Bardia Mohammadi","Nearchos Potamitis","Lars Klein","Akhil Arora","Laurent Bindschaedler"],"abstract":"LLM agents execute multi-step workflows that mutate external state through tools. Common orchestrators treat tool return as the settlement trigger, so faults, speculation, and concurrent agents can leave partial effects, losing-branch residue, stale writes, or irreversible sends. Correct settlement needs two facts that retries, checkpoint replay, locks, and compensation each conflate: which effects must settle together, and when earlier conflicting work is exhausted. Atomix makes this split explicit with progress-aware transactions. The runtime records reads and effects during execution, seals a transaction when its footprint is complete, and commits only after per-resource frontiers show that no earlier conflicting work can still arrive. Commit is final settlement: Atomix releases bufferable effects, accepts reversible external effects as final, and lets irreversible effects leave the gate. Abort suppresses unreleased effects and compensates externalized reversible effects where possible. On representative agent workloads, this composition improves clean recovery under injected faults, isolates contending and speculative work, and prevents correctly classified irreversible actions from leaking; microbenchmarks show microsecond-scale wrapper overhead relative to tool latency.","url_abs":"https://arxiv.org/abs/2602.14849","url_pdf":"https://arxiv.org/pdf/2602.14849","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2602.14849","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2602.14849"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/mpi-dsg/atomix","reach":null}],"summary":{"unverified":6},"by_repo_kind":{"found_in_text":{"samples":6,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"ca6a2fb19281dd0c","entry":"cmd_demo","repo":"mpi-dsg/atomix","repo_kind":"found_in_text","path":"src/atomix/__main__.py","file_url":"https://github.com/mpi-dsg/atomix/blob/HEAD/src/atomix/__main__.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ca6a2fb19281dd0c"}},{"code_sha256_prefix":"a78220dd7371f58b","entry":"cmd_osworld","repo":"mpi-dsg/atomix","repo_kind":"found_in_text","path":"src/atomix/__main__.py","file_url":"https://github.com/mpi-dsg/atomix/blob/HEAD/src/atomix/__main__.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a78220dd7371f58b"}},{"code_sha256_prefix":"88752738b11473da","entry":"cmd_version","repo":"mpi-dsg/atomix","repo_kind":"found_in_text","path":"src/atomix/__main__.py","file_url":"https://github.com/mpi-dsg/atomix/blob/HEAD/src/atomix/__main__.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"88752738b11473da"}},{"code_sha256_prefix":"5c22288de7d5c59c","entry":"get_logger","repo":"mpi-dsg/atomix","repo_kind":"found_in_text","path":"src/atomix/logging.py","file_url":"https://github.com/mpi-dsg/atomix/blob/HEAD/src/atomix/logging.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5c22288de7d5c59c"}},{"code_sha256_prefix":"b53d4f5e18d4ad4a","entry":"parse_flags","repo":"mpi-dsg/atomix","repo_kind":"found_in_text","path":"src/atomix/config.py","file_url":"https://github.com/mpi-dsg/atomix/blob/HEAD/src/atomix/config.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b53d4f5e18d4ad4a"}},{"code_sha256_prefix":"2da8052ea7b493ae","entry":"setup_logging","repo":"mpi-dsg/atomix","repo_kind":"found_in_text","path":"src/atomix/logging.py","file_url":"https://github.com/mpi-dsg/atomix/blob/HEAD/src/atomix/logging.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2da8052ea7b493ae"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}