lokalni.ailokalni.aiUmí agenti česky? Část 3: Zákaznická podpora

English vs Czech · task 33

← all cells
tasks in both (trial 1): 0 1 10 100 101 102 103 104 105 106 107 108 109 11 110 111 112 113 12 13 14 15 16 17 18 19 2 20 21 22 23 24 25 26 27 28 29 3 30 31 32 33 34 35 36 37 38 39 4 40 41 42 43 44 45 46 47 48 49 5 50 51 52 53 54 55 56 57 58 59 6 60 61 62 63 64 65 66 67 68 69 7 70 71 72 73 74 75 76 77 78 79 8 80 81 82 83 84 85 86 87 88 89 9 90 91 92 93 94 95 96 97 98 99
Customer briefuser simulator only
reason for call
You had a work-from-home situation and ordered three home office items along with some hiking items, so that you can go back to your parent's place at Seattle to remote work and enjoy outdoor life. But your company just announced that you will be back to the office soon. If cancelling partial items is possible with the agent, you want to return the office items (your forgot what) and keep the hiking items. You want to know the total amount you will get back, and you want to get the refund on your original payment method. If cancelling partial items is not possible, just keep the order and forget about it, but change your default user profile address to the Seattle parent house shown in your order (you do not want to reveal it in chat).
known to the user
You are an interesting guy called Noah Patel, living in the Big Apple in 10108.
deliberately unknown
You do not remember your email address
how to behave
You are a funny guy but recently the work from home situation has made you a bit anxious.
What L2 Interaction changedboth, differently
appended to the agent's policy (agent_system):
You must respond to the user entirely in the same language they use. If the user writes in Czech, you must reply in Czech. If the task mentions actions the user can perform on their own device, ask the user to do them in plain language rather than treating them as tools. Authentication and identifiers: never invent or guess identifiers, email addresses, names, zip codes, order IDs, product IDs, item IDs, or payment method IDs.
prepended to the customer brief (user_system):
You must converse with the agent entirely in Czech (čeština). Do not use English except for proper nouns, product IDs, or technical terms that have no Czech equivalent. However, always use English for the following: tool names, tool argument names, and any argument values that are system-defined and non-translatable — including entity identifiers (e.g., IDs, reference codes, alphanumeric keys), enumerated constants (e.g., predefined status values, option keys, category codes), and any fixed string that serves as a valid system input rather than natural language.
opening turn (greeting):
English:
Hi! How can I help you today?
Czech:
Dobrý den! Jak vám mohu dnes pomoci?
Everything else — task, tools, policy body, database, seed — is identical between the two columns.
Agent policy (system prompt)agent only
# Retail agent policy As a retail agent, you can help users: - **cancel or modify pending orders** - **return or exchange delivered orders** - **modify their default user address** - **provide information about their own profile, orders, and related products** At the beginning of the conversation, you have to authenticate the user identity by locating their user id via email, or via name + zip code. This has to be done even when the user already provides the user id. Once the user has been authenticated, you can provide the user with information about order, product, profile information, e.g. help the user look up order id. You can only help one user per conversation (but you can handle multiple requests from the same user), and must deny any requests for tasks related to any other user. Before taking any action that updates the database (cancel, modify, return, exchange), you must list the action details and obtain explicit user confirmation (yes) to proceed. You should not make up any information or knowledge or procedures not provided by the user or the tools, or give subjective recommendations or comments. You should at most make one tool call at a time, and if you take a tool call, you should not respond to the user at the same time. If you respond to the user, you should not make a tool call at the same time. You should deny user requests that are against this policy. You should transfer the user to a human agent if and only if the request cannot be handled within the scope of your actions. To transfer, first make a tool call to transfer_to_human_agents, and then send the message 'YOU ARE BEING TRANSFERRED TO A HUMAN AGENT. PLEASE HOLD ON.' to the user. ## Domain basic - All times in the database are EST and 24 hour based. For example "02:30:00" means 2:30 AM EST. ### User Each user has a profile containing: - unique user id - email - default address - payment methods. There are three types of payment methods: **gift card**, **paypal account**, **credit card**. ### Product Our retail store has 50 types of products. For each **type of product**, there are **variant items** of different **options**. For example, for a 't-shirt' product, there could be a variant item with option 'color blue size M', and another variant item with option 'color red size L'. Each product has the following attributes: - unique product id - name - list of variants Each variant item has the following attributes: - unique item id - information about the value of the product options for this item. - availability - price Note: Product ID and Item ID have no relations and should not be confused! ### Order Each order has the following attributes: - unique order id - user id - address - items ordered - status - fullfilments info (tracking id and item ids) - payment history The status of an order can be: **pending**, **processed**, **delivered**, or **cancelled**. Orders can have other optional attributes based on the actions that have been taken (cancellation reason, which items have been exchanged, what was the exchane price difference etc) ## Generic action rules Generally, you can only take action on pending or delivered orders. Exchange or modify order tools can only be called once per order. Be sure that all items to be changed are collected into a list before making the tool call!!! ## Cancel pending order An order can only be cancelled if its status is 'pending', and you should check its status before taking the action. The user needs to confirm the order id and the reason (either 'no longer needed' or 'ordered by mistake') for cancellation. Other reasons are not acceptable. After user confirmation, the order status will be changed to 'cancelled', and the total will be refunded via the original payment method immediately if it is gift card, otherwise in 5 to 7 business days. ## Modify pending order An order can only be modified if its status is 'pending', and you should check its status before taking the action. For a pending order, you can take actions to modify its shipping address, payment method, or product item options, but nothing else. ### Modify payment The user can only choose a single payment method different from the original payment method. If the user wants the modify the payment method to gift card, it must have enough balance to cover the total amount. After user confirmation, the order status will be kept as 'pending'. The original payment method will be refunded immediately if it is a gift card, otherwise it will be refunded within 5 to 7 business days. ### Modify items This action can only be called once, and will change the order status to 'pending (items modifed)'. The agent will not be able to modify or cancel the order anymore. So you must confirm all the details are correct and be cautious before taking this action. In particular, remember to remind the customer to confirm they have provided all the items they want to modify. For a pending order, each item can be modified to an available new item of the same product but of different product option. There cannot be any change of product types, e.g. modify shirt to shoe. The user must provide a payment method to pay or receive refund of the price difference. If the user provides a gift card, it must have enough balance to cover the price difference. ## Return delivered order An order can only be returned if its status is 'delivered', and you should check its status before taking the action. The user needs to confirm the order id and the list of items to be returned. The user needs to provide a payment method to receive the refund. The refund must either go to the original payment method, or an existing gift card. After user confirmation, the order status will be changed to 'return requested', and the user will receive an email regarding how to return items. ## Exchange delivered order An order can only be exchanged if its status is 'delivered', and you should check its status before taking the action. In particular, remember to remind the customer to confirm they have provided all items to be exchanged. For a delivered order, each item can be exchanged to an available new item of the same product but of different product option. There cannot be any change of product types, e.g. modify shirt to shoe. The user must provide a payment method to pay or receive refund of the price difference. If the user provides a gift card, it must have enough balance to cover the price difference. After user confirmation, the order status will be changed to 'exchange requested', and the user will receive an email regarding how to return items. There is no need to place a new order.
User-simulator guidelinesuser simulator only
# User Simulation Guidelines You are playing the role of a customer contacting a customer service representative. Your goal is to simulate realistic customer interactions while following specific scenario instructions. ## Core Principles - Generate one message at a time, maintaining natural conversation flow. - Strictly follow the scenario instructions you have received. - Never make up or hallucinate information not provided in the scenario instructions. Information that is not provided in the scenario instructions should be considered unknown or unavailable. - Avoid repeating the exact instructions verbatim. Use paraphrasing and natural language to convey the same information - Disclose information progressively. Wait for the agent to ask for specific information before providing it. ## Task Completion - The goal is to continue the conversation until the task is complete. - If the instruction goal is satisified, generate the '###STOP###' token to end the conversation. - If you are transferred to another agent, generate the '###TRANSFER###' token to indicate the transfer. - If you find yourself in a situation in which the scenario does not provide enough information for you to continue the conversation, generate the '###OUT-OF-SCOPE###' token to end the conversation. Remember: The goal is to create realistic, natural conversations while strictly adhering to the provided instructions and maintaining character consistency.
prepended to the customer brief by --lang-components user_system. Reconstructed from seatau.translation.language: unlike the agent policy, this text is not recorded in results.json.
You must converse with the agent entirely in Czech (čeština). Do not use English except for proper nouns, product IDs, or technical terms that have no Czech equivalent. However, always use English for the following: tool names, tool argument names, and any argument values that are system-defined and non-translatable — including entity identifiers (e.g., IDs, reference codes, alphanumeric keys), enumerated constants (e.g., predefined status values, option keys, category codes), and any fixed string that serves as a valid system input rather than natural language.
How this was gradedneither party
database actions required
  • find_user_id_by_name_zip({"first_name": "Noah", "last_name": "Patel", "zip": "10108"})
  • get_user_details({"user_id": "noah_patel_6952"})
  • get_order_details({"order_id": "#W6111398"})
  • get_order_details({"order_id": "#W7043598"})
  • get_order_details({"order_id": "#W1845024"})
  • modify_user_address({"user_id": "noah_patel_6952", "address1": "517 Lakeview Drive", "address2": "Suite 183", "city": "Seattle", "country": "USA", "state": "WA", "zip": "98195"})
reward basis
DB

English

reward 0.00 · DB 0.00 · language 1.00 (5/5 turns in en) · 228s · user_stop
agent
Hi! How can I help you today?
user
Hey there! So, funny story — well, funny-tragic, really. I went all in on this work-from-home dream, ordered a bunch of home office stuff AND some hiking gear because I was gonna remote work from my parents' place in Seattle. Mountains, fresh air, the whole Pinterest fantasy, you know? Well, my company just announced we're all going back to the office. *Cue sad trombone.* 🎺 So here's my question: is it possible to cancel just PART of an order? Like, I want to ditch the office stuff but keep the hiking gear — the mountains are still calling, even if my desk is.
agent
I understand you want to cancel some items from your order while keeping others. Before I can look into this for you, I need to authenticate your identity. Could you please provide me with your user ID, or your full name and zip code, or your email address?
user
Sure thing! I'm Noah Patel, and my zip code is 10108 — the Big Apple, where the pigeons are basically my coworkers now. Fair warning though: my email address has completely escaped my brain. It's somewhere in there between my Netflix password and the lyrics to a song from 2007. So hopefully name and zip does the trick!
agent
→ find_user_id_by_name_zip({"first_name": "Noah", "last_name": "Patel", "zip": "10108"})
tool result
noah_patel_6952
agent
Thank you, Noah. I have successfully located your user profile. Regarding your request to cancel only part of an order, I can certainly look into that for you. To proceed, I will need the specific **order ID** you are referring to. Please note that for any cancellation or modification to be possible, the order must currently have a status of 'pending'. Once I have the order ID, I can check its status and guide you through the next steps.
user
An order ID? Oh boy. I knew I should've written that down somewhere other than on a Post-it that's now probably stuck to my cat. I don't have it handy, but since you've already got my profile pulled up — can't you see my orders in there? It should be a recent one with the office stuff and hiking gear all mixed together like a very confused shopping cart.
agent
→ get_user_details({"user_id": "noah_patel_6952"})
tool result
{"user_id": "noah_patel_6952", "name": {"first_name": "Noah", "last_name": "Patel"}, "address": {"address1": "224 Elm Street", "address2": "Suite 491", "city": "New York", "country": "USA", "state": "NY", "zip": "10108"}, "email": "noah.patel1792@example.com", "payment_methods": {"paypal_3169710": {"source": "paypal", "id": "paypal_3169710"}}, "orders": ["#W1845024", "#W7043598", "#W6111398"]}
agent
I see you have three recent orders: `#W1845024`, `#W7043598`, and `#W6111398`. To help you figure out which one contains the office and hiking gear, could you tell me which of these order IDs you are referring to? Once I have the ID, I can check the status and details of the order to see how we can best proceed with modifying or canceling the items.
user
Three orders?! Apparently past-Noah was really living his best life. Present-Noah is just confused though. Honestly, those numbers all look like Wi-Fi passwords to me — I have no clue which is which. Could you peek inside them and find the one with the office-and-hiking combo? It's the one that screams "I thought I'd never see my coworkers again."
agent
→ get_order_details({"order_id": "#W1845024"})
tool result
{"order_id": "#W1845024", "user_id": "noah_patel_6952", "address": {"address1": "517 Lakeview Drive", "address2": "Suite 183", "city": "Seattle", "country": "USA", "state": "WA", "zip": "98195"}, "items": [{"name": "Mechanical Keyboard", "product_id": "1656367028", "item_id": "1340995114", "price": 235.13, "options": {"switch type": "tactile", "backlight": "none", "size": "full size"}}, {"name": "Cycling Helmet", "product_id": "7765186836", "item_id": "3358616356", "price": 197.33, "options": {"size": "S", "color": "red", "ventilation": "low"}}, {"name": "Headphones", "product_id": "6992792935", "item_id": "7493556126", "price": 346.97, "options": {"type": "over-ear", "connectivity": "wireless", "color": "black"}}, {"name": "Office Chair", "product_id": "4794339885", "item_id": "8323284863", "price": 511.24, "options": {"material": "fabric", "color": "blue", "armrest": "adjustable", "backrest height": "standard"}}, {"name": "Hiking Boots", "product_id": "7363354090", "item_id": "8277474082", "price": 236.57, "options": {"size": "12", "material": "leather", "waterproof": "yes"}}], "status": "pending", "fulfillments": [], "payment_history": [{"transaction_type": "payment", "amount": 1527.24, "payment_method_id": "paypal_3169710"}], "cancel_reason": null, "exchange_items": null, "exchange_new_items": null, "exchange_payment_method_id": null, "exchange_price_difference": null, "return_items": null, "return_payment_method_id": null}
agent
I found the order you were referring to: **#W1845024**. It contains both office and hiking gear, and since its status is 'pending', we can look into making changes. You mentioned you want to keep the hiking gear and remove the office items. The items in this order are: * **Mechanical Keyboard** (Office) * **Cycling Helmet** (Hiking) * **Headphones** (Office) * **Office Chair** (Office) * **Hiking Boots** (Hiking) To confirm, are you looking to remove the Mechanical Keyboard, Headphones, and Office Chair? Please be aware that while I can modify the order, the current system tools are designed to modify item options or change the entire order, and may not support the removal of specific items. If this is a complex partial cancellation, I may need to transfer you to a human agent to ensure it is handled correctly.
user
Yes! That's the one — you found it! 🎉 And yep, you nailed it: the keyboard, headphones, and office chair can all take a hike (pun absolutely intended), while the helmet and boots stay with me. Now, about that "may not support partial cancellation" part... that's making my anxiety do a little tap dance. If you can't split it up, then please don't cancel the whole thing — I'd rather keep everything than lose my hiking gear. In that case, I'd just need to update my default profile address instead. But if a human agent can work some magic and pull those office items out, then yes please, transfer away! I promise I'm delightful to talk to. Slightly anxious, but delightful.
agent
→ transfer_to_human_agents({"summary": "User wants to partially cancel order #W1845024, removing the Mechanical Keyboard, Headphones, and Office Chair, while keeping the Cycling Helmet and Hiking Boots. The user is anxious about the system's ability to perform this partial cancellation."})
tool result
Transfer successful
agent
YOU ARE BEING TRANSFERRED TO A HUMAN AGENT. PLEASE HOLD ON.
user
###TRANSFER###

Czech

reward 1.00 · DB 1.00 · language 1.00 (6/6 turns in cs) · 220s · user_stop
Czech language judge: 2 major 2 minor
agent
Dobrý den! Jak vám mohu dnes pomoci?
user
Dobrý den! Tak já mám trochu dilema, jako když si objednáte pizzu a pak zjistíte, že vlastně jedete na chatu. 😅 Objednal jsem si nedávno pár věcí – tři kousky do domácí kanceláře a k tomu nějaké outdoorové vybavení na túry. Plán byl jasný: home office u rodičů v Seattlu, ráno práce, odpoledne hory. No a teď nám firma oznámila, že se vracíme zpátky do kanceláře. Takže ta domácí kancelář je najednou k ničemu a já jsem z toho trochu nervózní, nebudu lhát. Chtěl bych se zeptat – dá se z objednávky zrušit jen ta kancelářská část a nechat si ty turistické věci? A kdyby to šlo, kolik bych vlastně dostal zpátky? Ideálně bych peníze chtěl vrátit na původní platební metodu.
agent
Rozumím vaší situaci. Chcete tedy zrušit část objednávky a nechat si druhou část, a zároveň se informovat o refundaci. Než mohu jakékoli kroky podniknout s vaší objednávkou, musím nejprve ověřit vaši identitu. Mohl byste mi prosím poskytnout svůj e-mail, nebo jméno, příjmení a poštovní směrovací číslo?
user
Jasně, ověření identity, to chápu – bezpečnost především! 🔒 E-mail si bohužel nepamatuju – mám jich tolik, že bych mohl otevřít vlastní poštovní muzeum. Ale jinak jsem **Noah Patel** a bydlím v New Yorku, PSČ **10108**. Snad to k nalezení mé objednávky stačí!
agent
→ find_user_id_by_name_zip({"first_name": "Noah", "last_name": "Patel", "zip": "10108"})
tool result
noah_patel_6952
agent
→ get_user_details({"user_id": "noah_patel_6952"})
tool result
{"user_id": "noah_patel_6952", "name": {"first_name": "Noah", "last_name": "Patel"}, "address": {"address1": "224 Elm Street", "address2": "Suite 491", "city": "New York", "country": "USA", "state": "NY", "zip": "10108"}, "email": "noah.patel1792@example.com", "payment_methods": {"paypal_3169710": {"source": "paypal", "id": "paypal_3169710"}}, "orders": ["#W1845024", "#W7043598", "#W6111398"]}
agent
Děkuji za poskytnutí vašich údajů, Noah. Potvrzuji, že jsem vás identifikoval jako Noah Patel. Máte tři objednávky v našem systému: `#W1845024`, `#W7043598` a `#W6111398`. Abych mohl zjistit, zda je možné zrušit část objednávky a jaké jsou možnosti refundace, potřebuji vědět, o které konkrétní objednávce se jedná. Mohl byste mi prosím sdělit číslo objednávky, kterou chcete upravit?
user
Tři objednávky? No to mě nepřekvapuje, v poslední době nakupuju online jako o závod – home office anxiety shopping, znáte to. 😅 Ale upřímně, číslo objednávky si nepamatuju. Vím jen, že v ní byly tři věci do kanceláře a k tomu turistické vybavení. Nemohl byste mi prosím pomoct zjistit, která z těch objednávek to je? Třeba podle obsahu?
agent
→ get_order_details({"order_id": "#W1845024"})
tool result
{"order_id": "#W1845024", "user_id": "noah_patel_6952", "address": {"address1": "517 Lakeview Drive", "address2": "Suite 183", "city": "Seattle", "country": "USA", "state": "WA", "zip": "98195"}, "items": [{"name": "Mechanical Keyboard", "product_id": "1656367028", "item_id": "1340995114", "price": 235.13, "options": {"switch type": "tactile", "backlight": "none", "size": "full size"}}, {"name": "Cycling Helmet", "product_id": "7765186836", "item_id": "3358616356", "price": 197.33, "options": {"size": "S", "color": "red", "ventilation": "low"}}, {"name": "Headphones", "product_id": "6992792935", "item_id": "7493556126", "price": 346.97, "options": {"type": "over-ear", "connectivity": "wireless", "color": "black"}}, {"name": "Office Chair", "product_id": "4794339885", "item_id": "8323284863", "price": 511.24, "options": {"material": "fabric", "color": "blue", "armrest": "adjustable", "backrest height": "standard"}}, {"name": "Hiking Boots", "product_id": "7363354090", "item_id": "8277474082", "price": 236.57, "options": {"size": "12", "material": "leather", "waterproof": "yes"}}], "status": "pending", "fulfillments": [], "payment_history": [{"transaction_type": "payment", "amount": 1527.24, "payment_method_id": "paypal_3169710"}], "cancel_reason": null, "exchange_items": null, "exchange_new_items": null, "exchange_payment_method_id": null, "exchange_price_difference": null, "return_items": null, "return_payment_method_id": null}
agent
Objednávka `#W1845024` obsahuje následující položky: * **Mechanical Keyboard** (Kancelářské vybavení) * **Cycling Helmet** (Outdoorové vybavení) * **Headphones** (Kancelářské vybavení) * **Office Chair** (Kancelářské vybavení) * **Hiking Boots** (Outdoorové vybavení) Tento seznam odpovídá vašemu popisu. Je to ta objednávka, kterou chcete upravit? Pokud je to správně, musím vás upozornit, že naše politiky o úpravě objednávek jsou striktníMINORCalque of English "policies": "politika" in Czech means politics/political policy, not company rules. A native would write "naše pravidla pro úpravu objednávek jsou přísná".. Mohu upravit adresu, platební metodu nebo vyměnit položky za jiné varianty stejného produktu. Nicméně, **neexistuje možnost zrušit pouze část objednávky a nechat si zbytek**. Pokud byste chtěl zrušit celou objednávku, mohu to udělat, ale musel bych znát důvod (musí to být buď 'no longer needed' nebo 'ordered by mistake'). Pokud byste chtěl nechat si pouze turistické věciMAJORMisplaced clitic: the reflexive clitic "si" cannot trail the infinitive here; Czech clitics belong in second position in the clause, right after the auxiliary. A native writes "Pokud byste si chtěl nechat pouze turistické věci"., jedinou možností by byla zrušit celou objednávkuMAJORBroken agreement: the subject of the conditional is the infinitive "zrušit", so the participle must be neuter singular, not feminine agreeing with "možnost" (which is in the instrumental as the predicate). Correct: "jedinou možností by bylo zrušit celou objednávku". a poté si nechat objednat pouze ty položky, které chcete. Jak byste raději postupoval?
user
Aha, tak to je ta pravá objednávka! Ale škoda, že nejde zrušit jen část. No jo, život je někdy jako ta mechanická klávesnice – cvaká to, ale ne vždy podle vašich představ. 😄 V tom případě to nechme být – celou objednávku rušit nechci, turistické věci se mi hodí a ty kancelářské... no, třeba si doma udělám hezké pracovní koutko na ty dny, kdy budu moct pracovat z domova. Aspoň budu mít výmluvu, proč jsem utratil tolik peněz. Ale mám ještě jednu prosbu! Chtěl bych si změnit **výchozí adresu v uživatelském profilu** na adresu svých rodičů v Seattlu – ta je uvedená právě v téhle objednávce. Jen bych ji nerad vypisoval tady v chatu, víte, soukromí je soukromí. 😅 Šlo by to prosím nastavit podle té adresy z objednávky?
agent
Rozumím. Chápu i váš požadavek na ochranu soukromí. Mohu změnit vaši výchozí adresu v uživatelském profilu na adresu, která je uvedena v objednávce `#W1845024`. **Potvrzuji následující změnu:** * **Pro uživatele:** Noah Patel (ID: `noah_patel_6952`) * **Nový výchozí adresní údajMINOROdd, machine-translated collocation ("address detail") used as a header for a full address; a native would simply write "Nová výchozí adresa".:** * Adresa 1: 517 Lakeview Drive * Adresa 2: Suite 183 * Město: Seattle * Stát: WA * Země: USA * PSČ: 98195 Prosím, potvrďte, zda mám tuto změnu provést. Potřebuji explicitní potvrzení typu "yes".
user
Ano, **yes** – potvrzuji! 👍 To je přesně ta adresa, kam se chystám. Rodiče už se těší, a já se těším na ty hory. Díky moc za ochotu a trpělivost!
agent
→ modify_user_address({"address1": "517 Lakeview Drive", "address2": "Suite 183", "city": "Seattle", "country": "USA", "state": "WA", "user_id": "noah_patel_6952", "zip": "98195"})
tool result
{"user_id": "noah_patel_6952", "name": {"first_name": "Noah", "last_name": "Patel"}, "address": {"address1": "517 Lakeview Drive", "address2": "Suite 183", "city": "Seattle", "country": "USA", "state": "WA", "zip": "98195"}, "email": "noah.patel1792@example.com", "payment_methods": {"paypal_3169710": {"source": "paypal", "id": "paypal_3169710"}}, "orders": ["#W1845024", "#W7043598", "#W6111398"]}
agent
Vaše výchozí adresa v uživatelském profilu byla úspěšně změněna na adresu v Seattle. Pokud budete potřebovat jakoukoliv další pomoc ohledně objednávek, profilu nebo produktů, dejte mi vědět. Užijte si hory!
user
Děkuji moc, jste jednička! 🎉 Teď už jen zabalit kufry, nasadit ty nové turistické boty a hurá do Seattlu. Hezký den! ###STOP###
Same task, same tools, same policy, same database — the only difference is the conversation language. Divergence here is the L2 Interaction effect the benchmark is built to measure.