| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 |
- {
- "schemaVersion": 1,
- "pageVersion": "sha256:e71947f4ffd79153e75af279f7eade4504e8b9a729d276a1f1938a45a094f7a0",
- "claims": [
- {
- "id": "claim_c5dd9ee6003245adaa1701eb40862582",
- "statement": "Role serialises to system, user and assistant, and ChatTurn holds a role and content.",
- "evidence": [
- {
- "resource": "repo://src/ai.rs#L60-L87",
- "version": "repo-lines-v1:sha256:a3ba5081f556babe8c0b542175d88321a54c6a0d016283721c5f79da510b0435:eyJzZWxlY3RlZExpbmVDb3VudCI6MjgsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImRjYzU5YWNjMmRmZWM1OWI2NjE3ZDdmNmE5MTljOTNhZGU4NjU2MzU5ZGNhYTA5MjUxZDM0YzRlZmI4NTIzMjEiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjZmNDU4MTFlNWRlMTgyNWY2ZTllYTM0ZmM2NzAwNTg2YWQxNGViZDVhOTFiNmE3ODZkNTU5YTBhMmI4ZWU5NDQiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6Ijk0ODgzMTY4NjYzMDEyM2RlNmQ0ZmJlNmJiYjBiZmM5Njg1MzgzOTI3MmQ1YTNmYzFiZjViMjdiZWY3NjlkNTUifQ"
- }
- ]
- },
- {
- "id": "claim_93019c6e84b74870ba0a05b843fffef8",
- "statement": "AiClient and ImageInput Debug implementations omit the API key and image bytes.",
- "evidence": [
- {
- "resource": "repo://src/ai.rs#L124-L160",
- "version": "repo-lines-v1:sha256:252913842faf254329b50d5fd74240a84fdd0456ec9e8e68bcc77e1d8883daa4:eyJzZWxlY3RlZExpbmVDb3VudCI6MzcsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjE2NTYxZDE4YzQxMTY4MjBjZGFiOTJmMjQwNDVhNzlmMTVlNzZmZTdiY2FiODY4Y2JkYTMyZWI1YzM0NWQ1YmMiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjM3ZDYwZjQxMWJhNTUxYTEzOGUwOWJkYjdiMDg5YjRjMGE3NDUyNTU2MzUzYmE3YTAxNGVhODA5ODEyY2M1Y2QiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjIyZmQyY2VkZGZlMDVkZDM4ZTYwZmRjYzkwNGU1OWZkZTM3Y2IxODY4Yjk3MzhlODJkNWI2ZTIxZmE3Nzg0OWYifQ"
- }
- ]
- },
- {
- "id": "claim_5dfcd52a48d349059a04d949e6637509",
- "statement": "AiClient::new requires openai_api_key, uses a 60 second request timeout, builds the endpoint from the base URL without trailing slash plus /chat/completions and copies the retry count from ai_retries.",
- "evidence": [
- {
- "resource": "repo://src/ai.rs#L169-L197",
- "version": "repo-lines-v1:sha256:f967f19779a732371d88712967219c8c951d71246e7691599693c2d86eaa50b2:eyJzZWxlY3RlZExpbmVDb3VudCI6MjksImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQyMDRmMzBiYmM1OTNhOGQxOGFiYTY3OWYyMWQ0ZGY1M2JiN2YxYjdlYWIwYTNkNDRmOWJhMjgyZmVhYjFhYjUiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjA2YWQyYTE2MzQ0NTcwYjlkY2QwODA0NjQ4Y2NhNzgxYTA0YmRiNWVmMTkwYTQxZGRlOWQ1N2NjYzE0ZjBhY2QiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImY0OGYzMmRjZTI0MWMwNmFjYzBlZjdjZTc4NWM4MGZjM2E5NTk3MTZlODYwNTcwYjdkZmM0MWNiYjg0MWZjNDkifQ"
- },
- {
- "resource": "repo://src/ai.rs#L26-L29",
- "version": "repo-lines-v1:sha256:387091425f02a452aec12422a8131f0728f26389419cee2af4500edf72eba0d1:eyJzZWxlY3RlZExpbmVDb3VudCI6NCwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiZTdjZDhjOGU3Yzc4MWIxNTNhYzUzOGI4MGU4YmUwYjI5OTkzZjNlMTI0ZThmYjRhMzcwOGQ5Yjk5YzkwNmRlZCIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiYzgxOGM0OTA5ZDY1ZmUwYmI0NWFmYjQyYmNlNTE4YjA1MzlkOTFhMzY2NzUyMWMwMTYxYjYxMzkwZGY4MTI2YyIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiMDg1MDNiYzliMGYzYjMwYjZmMzI3Y2ZlMzIwYTNhNDA0MzI4N2MzNDJhMmZhOTI1ZjYyM2M2ODAyYThkYTY3OSIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiYzY0NGQwYjM2ZWY3MmUxMTU1YTY5N2MwNGU4ZmZhNjNmZDU1MjQ2NTkyZWI2YTM3MTNkNjA2M2Y3Y2JjYjBmOCJ9"
- }
- ]
- },
- {
- "id": "claim_c2b08a6fd5474b718caeccd3caf28a21",
- "statement": "The default base URL is https://ollama.com/v1 and the default model is deepseek-v4.1-flash.",
- "evidence": [
- {
- "resource": "repo://src/config.rs#L35-L37",
- "version": "repo-lines-v1:sha256:ace88a2257793291dac3b3a9be115c8460366e7dce83953bc6d52977e07763a4:eyJzZWxlY3RlZExpbmVDb3VudCI6MywiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiZTc2MTBlZDMwOGNjNWU5MmE3MzAxODA5ZDE1OWZiODlkOTg5ZjIxYTNmZjMwZTc5MGQ2NjU4ZDAwNTM0MThjNCIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiYWM0ZGZhMzdlOWNjNjNjNTM4MmEzNjg2M2Q2Nzg3ZWU0OWViYTU2N2EyNGFiYmYyZGI3OTlhN2YwOWFjMmI1NCIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiY2JiNmQ0YzQ2ZTZkZWY5ZGZmYWRiYzZiNTIwN2U4N2EwZTI4MzQzMjliZmI0M2I1YjI2NmU2MTA0Y2RlZWJiMiIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiN2U4MDVmNGIzNWUzODc2YTEyODk5MTUyODJhZGE1Y2QzM2E3N2Y1MzJiZjI5YzE4Yzg5ZGEyMmIxNGNmNTBiZCJ9"
- }
- ]
- },
- {
- "id": "claim_f1bcd507d7bc494488698809a5e4d5af",
- "statement": "complete sends a body with the model, role/content messages and a tools list containing only the parameterless no_reply function.",
- "evidence": [
- {
- "resource": "repo://src/ai.rs#L199-L208",
- "version": "repo-lines-v1:sha256:84db9a28e9fbaa3500a8750fd4e0562b0ca94d27cb5b716c579ef27b6d1ab945:eyJzZWxlY3RlZExpbmVDb3VudCI6MTAsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjRjOTFlMDQ2M2RhZDJlNGQ5NTk1YmYzNDkzMTdiZjFkNDRkY2ExMzI4NGNkZTEwMDIwNmJjYTFiNDFlYjBhNmEiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImViOWEwOGJjMjlmNmViZWJlOWE1ZjAxOTAzZDk4NDVkYmNiNTg0MmE0NTVmMDdkNWY0MDAyZGFjMzJhNWM2MDUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjNiZTgwNmFkMjA4NWZmMTAzY2RiYzgzNTg0ZGIzODBkZjQ1OTdmMDZkNGJmOTQ5NDc3NGQ1ZmRlZTg5YmYwYmMifQ"
- },
- {
- "resource": "repo://src/ai.rs#L343-L379",
- "version": "repo-lines-v1:sha256:dda6d7007908d587c35f4714ff74812e0a09bc602f912758f08b2a1b5d39175f:eyJzZWxlY3RlZExpbmVDb3VudCI6MzcsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjM5OGNjOWNlYzY5ZDJiZmQzNThlZTEyMzYxYWNmNWI4Nzc5NjI1NjUzMDRlNDcwOWJjMmUxMDE3ODU5YTJjZDQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjAxYmE0NzE5YzgwYjZmZTkxMWIwOTFhN2MwNTEyNGI2NGVlZWNlOTY0ZTA5YzA1OGVmOGY5ODA1ZGFjYTU0NmIiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImU0OWVhZTIzMTIxNDdhOTMxMjNjMGE4ZjJlZTUyYmVjNTgzYTRhMzc5NjQ5MGQ4NmYxMWE3OWIzNWE2ZWViY2EiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6Ijc1NDJjMzEwZjQwN2NjOGUxZjNiNzg4MDQzOTM4YTBmNzdkYWVkNDJmZDI4NTI3YTU2ZjRmMzUxNDY5OWE0ZjYifQ"
- }
- ]
- },
- {
- "id": "claim_eca836c7fc554ba9b5a1e0bbfe970f9d",
- "statement": "describe_image requires a vision model and validates that the image is non-empty and at most MAX_IMAGE_BYTES (5 MiB) before any request.",
- "evidence": [
- {
- "resource": "repo://src/ai.rs#L18-L20",
- "version": "repo-lines-v1:sha256:cddeca6fba6fde7769f6cdec95f08d62b34b93c4f1a6822927f4b106a7db0a07:eyJzZWxlY3RlZExpbmVDb3VudCI6MywiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiNTkyZDVjNzYwZTNiYmRlNWQ3MDRlNjE4YWY1ZmVmZTY5YWMzODEyMjg0MGU3NTUwYjk1N2RlYTZkMjFiY2YxZiIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiMGJmZTUyOGM4OWM4NTc2YTQxMjYyZDU4NTdkMjE4ZDFjYWIzYTFhYzY4MzVlMGVjMDI4ODI2ZDk5YWVkZWVhNiIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiNDdiNTMxMDc0OTNkYTIyZTIzZmQyYTlmZTVjY2EwYjFhOGQzYjM2MmI2YzQ1YjkyMjZiZDM1OWE5MzgxODFiMyIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiYWMzYWNhOGE0NDIxMDNkMDMwNGMzMjYzZmIzMzQxNzBkMjVmN2M3MmZjZjg2ZWZkNGIwZTE2MDY2NDBiYjk2NyJ9"
- },
- {
- "resource": "repo://src/ai.rs#L218-L236",
- "version": "repo-lines-v1:sha256:3b94ba30b7e5cb2d330d42ad007c48b0603bfef4b59fed9f017691dc5588825f:eyJzZWxlY3RlZExpbmVDb3VudCI6MTksImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjUzNTRlMzRjMWYwMTgyN2YyMzk2ZTdlZTc3MWZkOTQ4MDhkOGFiNjlkMzIyOGU3NzQyNWI4MDIyMzM1NWRiYjUiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjRiZTViMmQ5MTI2YWViZGRjY2YxOWJlYmFiZTFmNjRkODYzZmQzODA0MWMyY2FkYjk3MzM3ZWFiYmZiNmUzOGYiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjA1ZWY0YzRmMGNjMDcxMzBjOTc1ZWVhM2E3MzdkMGJmOGNjZjY3MThiODUwMDY5NWY0NTU2Y2E2OTk5NmQ0YTcifQ"
- },
- {
- "resource": "repo://src/ai.rs#L408-L427",
- "version": "repo-lines-v1:sha256:092f50c0711f3d5bc0d27aec19da222f84f626a7d3a736ad917fcc84a58b6d9f:eyJzZWxlY3RlZExpbmVDb3VudCI6MjAsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjRmNjM1OTllNGU1ZWMwYTJmMzlmYWEzN2RlYTJlODQwZWIzYjQ2NmJmMGJiNDBlODEzYjdlMTMzYTI0ZGVjZmUiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6ImUyYjlmYWRmNDM1MTMxNWMwYmMwMTE2YTQzYjNkYmQ5OGE0NWE5YjI0NjExYTg4Y2Q2ODRjZTMyNzlmOGE0N2EiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjYwNjNjNGQxYWY4Y2Q4OWJiMGJkZDc2NTdmZmNiZjY4MDZhNjEwZDc5ZDZjOGQ0YzMwN2MyNDFkZjM5MDA1MjIiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImJiZTExYTZmMDQxMTdlZjQ2MDZhNTZkNmMxNWZjNjE5N2Q4ODg5ODY1MzcxNTc1ZTk0MDg0ODg4YjBhZTEzOWYifQ"
- }
- ]
- },
- {
- "id": "claim_23440e7b2c704bdd90c1385f5bcb4ecd",
- "statement": "The image description body is a single user message holding the description request text and the image as a base64 data URL, sent to the vision model without tools.",
- "evidence": [
- {
- "resource": "repo://src/ai.rs#L381-L406",
- "version": "repo-lines-v1:sha256:504cd9a8e9a12796644c5e64bf2dfaf3e052ae4cdc48d88acb91a8674cd4d994:eyJzZWxlY3RlZExpbmVDb3VudCI6MjYsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjkxMWU4YjYyZTMzYmM0ODQxYzg2YTUyYmJmZDQyNGFlNDFlMGJiZWE4MjQyMmQxMGUwZDIwYjlmMzA1ZmI0MGMiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImY4ZTUxYTI1NDgwNDkyN2MwNDc3OTFjYjkyNmUxY2MxNTUwMzY3ZjhlYTA3NWFjNzk0MDc5NGIzOTAwZmUxNGMiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjJjMWU2Yzg2MTE1NTc0YWZlM2FhMjAwNDYxYzRkMmUzZmRiNzI5ZjFmYjMyMjQzN2VmNGJhNWZmYzJmMDkxZGIifQ"
- }
- ]
- },
- {
- "id": "claim_8b2297ed4cce446aaf66b88450532f54",
- "statement": "request_reply posts with bearer auth and reports transport, read, non-2xx (as a typed StatusError) and invalid JSON errors with response bodies truncated to 300 characters.",
- "evidence": [
- {
- "resource": "repo://src/ai.rs#L105-L122",
- "version": "repo-lines-v1:sha256:1e8751e4147e04846b7aafee348637638f2fc85f2f11b79537cc0246feaccc44:eyJzZWxlY3RlZExpbmVDb3VudCI6MTgsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImVmOTlmZDhkOTIwYjk2MTFiZmI3MDkxZTJjZTU3ODM3ZTY5MzY2NmVkNjRjMzFmNmIzMDY5MjJhYjVjOTBkMjUiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjM0ZGQyM2ZhMzVjMjczYjgwYzEwZGViNzUwYjNmM2M5NDFhNmJlMDg1NDBmNWFlNGQ2ODdkNjQyZmQ0NTQxNjQiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImJjMDk2M2MxZWY1YzRiMjZkZDNmNGY2MDhlZGRhZmNhMDRkMDVhNjI1ODk1YTcxZTYzMmY2N2Y4OTQxYjc2M2IiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjY3Y2VkMGUzMjc4NjE2MjcwZjFiMDY1NjRlYjlhMDUyYTczNTc0ZWJlYjgxODg0ZDM0YjIyZTFlMjBiMDM0ZTYifQ"
- },
- {
- "resource": "repo://src/ai.rs#L282-L314",
- "version": "repo-lines-v1:sha256:580ac5298eb243d788d0a8c2ab3c5d4b293ef2288d101b6f46bb06680a3bdbab:eyJzZWxlY3RlZExpbmVDb3VudCI6MzMsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6Ijc1MTkyMjFkZDdiYWFiZGNmMTIyYmJmNTU5ZGM5MGNiOWJmY2E2NTcxOGU4NTk1MDIyMGEzOGE1MTk0ODgwZTYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImEyYWMyZWMxODc1NDdmYTFiNzk2MjZiMGE0NjUyN2IwZDc2N2U0YzE0MzAyMTQyYjQ0NjdiMzY4ZDA2YjcyMTgiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImI2YzllMjYwYjQyZThmYmJiMDRiOWZiM2UwOWEzNmMyZjI1OWI1MDBhOTM1OWE0OTYwMTA2NDYxNWIxY2Q5YjMifQ"
- },
- {
- "resource": "repo://src/ai.rs#L568-L574",
- "version": "repo-lines-v1:sha256:366599ee31cc7c09c20fa0ddcff49b42b55831d6b97ede5ec5da7376b9aaa450:eyJzZWxlY3RlZExpbmVDb3VudCI6NywiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiOTgxODJmYmI3OGRjMzUzZjJkNjM2ZTc2MjU0YzYzNjIxZmQ2N2IyZjFlNzVmNTM0MzE0ZjFmYmI2N2IwYjJkZSIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDEyY2EzNDVjY2Y3NWJmOWMwODA2YmNlNjk1YmU4ZGU4MDhiNzk5ODQyNTFhN2E1NGQyMDJjZjYxMDFkZDQ1MSIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiODI0MTY5N2IzMjdjNjYxODJlYTJhODdjOGJmZDI1Nzk5Y2I5MTk3OGY0MTBhMmI0NjA4ZTM2YjZiZDc4YjUzYiIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiN2JjOThkNmIwZGM0OTJjNTAxNmRmMTA4MDVhM2E1NGViOWMxODRhNWE2MTM3ZTdmNGJlY2ZhMGMyMjA1NTBkMCJ9"
- }
- ]
- },
- {
- "id": "claim_1acd5c55f8234d20bf935285166fe3b1",
- "statement": "parse_reply returns Reply::NoReply when the first choice calls the no_reply tool (even with text), otherwise Reply::Text with the trimmed first choice content, and fails on missing choices or empty content.",
- "evidence": [
- {
- "resource": "repo://src/ai.rs#L429-L477",
- "version": "repo-lines-v1:sha256:b50cbfe36f47a1bcbd306810d81baa272a3fb57a711164de89a741f5818b12ca:eyJzZWxlY3RlZExpbmVDb3VudCI6NDksImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImRjZjNhM2E5Zjk2MTJjZGJmMDZjMjU0YTU2NGY4NTBlOGFiZTEyYTNjMWNmZWRmNWYxMjJiN2IzMTlmZDdmYjUiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6Ijk2MjY0OGRjYWQyYTIyOTY3Y2YzMGUxZDRhMGE2NDA0OGQyZmE4NGY0ODNmNTEyMjU4NjZmODIyMmJmMTVlZWIiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImU0MDRmMmRiY2YyZGQyYjZhMThkYWRkYjg3MTg4Y2E2NGQyMjZhOWZmMTJkMGEzNTNjZGIzMzM3YTcyY2NkODAiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImIyMWNhYWEyZTk5ZTU2MTA0ZWU2MjkxM2JhMTY3ZTc0MmJkYzBmZDg0YmI3ZDhiODg5NzQyMWI2ZTExNzUzYWUifQ"
- }
- ]
- },
- {
- "id": "claim_81e7f0f6c91247d7a19ac4576bc19245",
- "statement": "When ai_log is enabled, send_body appends one record per request (header with timestamp, endpoint and model, pretty request body, RISPOSTA or ERRORE outcome) to ai_requests.log in the data directory, ignoring write failures.",
- "evidence": [
- {
- "resource": "repo://src/ai.rs#L261-L280",
- "version": "repo-lines-v1:sha256:80e196adb6578d005aa9692b9e78d664b43c74a606ded3b99a348545c412b065:eyJzZWxlY3RlZExpbmVDb3VudCI6MjAsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjUxNzY0ZmUzOGM2MTVjODM3MzM2M2ZhM2U2OTVhNTQ3Y2M0MGM5MjhmZjIwYjE0ZTI3NGRjZjQxNDI5NjI5MjQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6Ijk5OWJkZWZlZWFjYTYzNDBlMDI5MGRjODZlODg5Yzg5ZDVlMTg5YWE1YmE0NGI1ODViM2I3MDczNGY0YTYyZDgiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjEyYTMyMmRjMWM3OTk2OTEzNTU1MGI0YzRkMzYyMThiNTQ4ZDY2NjE4OWRmNDFkMWM1ODIyYjU1MmE3OTljNjMifQ"
- },
- {
- "resource": "repo://src/ai.rs#L521-L566",
- "version": "repo-lines-v1:sha256:f5678d32b8e747a88110624d96ba85e6f0b191d2ff311ce41bd841dd4cd0a2a9:eyJzZWxlY3RlZExpbmVDb3VudCI6NDYsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjAxYmE0NzE5YzgwYjZmZTkxMWIwOTFhN2MwNTEyNGI2NGVlZWNlOTY0ZTA5YzA1OGVmOGY5ODA1ZGFjYTU0NmIiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjVhMDJhNmJkMDVjZjBmNWY4NmNlMjk3MTg5ZDk1MjJlYzU4ZWZhMzY1ZjI4NGNjNGYyOWE2NTk2NmQxODhiZWQiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjJjZTgwZDQ1MzU3ZWY2NWZiNjUzODgzZWEzOTU1NDMyMDMzN2Q0YjA3MzcxNzQ1ZWE0MGFkYzRmMGFjNTU0YTcifQ"
- },
- {
- "resource": "repo://src/config.rs#L333-L339",
- "version": "repo-lines-v1:sha256:77a53fa11fa04d405caba6426205b2c57c25edd1b59ce057d5429c3cb0af854d:eyJzZWxlY3RlZExpbmVDb3VudCI6NywiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiNzUyM2JkYmRjYjY1ZGIyYThmNWU0OGI0ZmUyMDdjOTUxYjdjNzE3NDYxYzgwNjUzODMxNjExZGI0YjMxZjdhZCIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDg5M2Y0MGUzNzgxZWI4OTZjODJkMDQ2YTA4MDY3YTExZTM1Y2RmMmYxZGZhZjI2ZmVhOTBiOGRiNjY3NjQxMyIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiNDRhMWY2MWFmZTk3ZWM0YWZjODI1OWM4ZGI4MDljZjlmMjkxNWQ3ZWUwYWRlZWJhNzdkZDMxZDBjZmJkM2JhZSIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiYTUyMTYwNGIzNWZjNDBhZjAwY2JhNGVlYTJmZDVlMmMzYWYxODYzYjM5MTE4NWQ3YmY0YmIwOWU3MmQwYzhiMyJ9"
- }
- ]
- },
- {
- "id": "claim_f0daf29d06b746e4a4770b63d4051776",
- "statement": "Log records replace image base64 data URLs with a placeholder carrying only the payload length and never include the API key.",
- "evidence": [
- {
- "resource": "repo://src/ai.rs#L473-L547",
- "version": "repo-lines-v1:sha256:abb31f22842d8a444e09f5ec22b68f5ff8465a79ef1489ef4b124d21b18bcd0e:eyJzZWxlY3RlZExpbmVDb3VudCI6NzUsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjNhZmRkOGE1NjBlNzQ4ZmFmNGRlZDhhYjJmOWU4NmUyMTU5NDA1YTAxMGUwYzE4YjI2M2NhNDE4MzAxMzFjZTciLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjBhNjlhODZmMTdiMzAyZWQ5MDgwZTZhMGNjNzY1ZTgxMmFiZmJmYzBmYmZjODNmY2Q5MTA5ZDQ0MWQ3MTExZTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImRkNmI1NWM2ODQyOGJkOWU4ZDZiNGU0Y2YwYmJmYmI4Mjc4MWEzMjU4NjEwYWU5ZTAxMjI3NzA0NjM1MGQwN2IiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImVkMjc4N2RhNGI5YWFiNTIyZDRmZWQwODQ1MjY2YzFmMzk5ZWEwM2E4NTdjOTE5Njk2Y2MzNjk2Y2I1NjVmNGQifQ"
- }
- ]
- },
- {
- "id": "claim_9851fadc06844be99a0f3d957816a806",
- "statement": "Requests are sent through send_with_retry, which makes up to 1 + ai_retries attempts, retrying only errors accepted by is_retryable and returning the last attempt's error.",
- "evidence": [
- {
- "resource": "repo://src/ai.rs#L238-L259",
- "version": "repo-lines-v1:sha256:c006e232dbf853be3e7d3072eeee16260cafa0266b3e5044835b674eb20f8601:eyJzZWxlY3RlZExpbmVDb3VudCI6MjIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjYwNzBmYTg1ZjNiN2RjOGYwM2QwYjBmMjA2NWNhYzQ5NWYxNWQyNzQwMWExN2I4YzE2Y2Q4ZmQ5YWIwMWQ0MWQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6Ijk5OWJkZWZlZWFjYTYzNDBlMDI5MGRjODZlODg5Yzg5ZDVlMTg5YWE1YmE0NGI1ODViM2I3MDczNGY0YTYyZDgiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjExYWIwMTYzYTk2YjkzZWI0ODA1NmUxM2Y4ODUzMTJmOGVhNDQ5NjcwYmY3MWU2ZTRiZTAxOTU0ODg1OTk2YjEifQ"
- }
- ]
- },
- {
- "id": "claim_3db025b2e15e4fafb172f9c85b626365",
- "statement": "is_retryable rejects HTTP 4xx responses other than 429 and accepts 429, 5xx and every non-status failure.",
- "evidence": [
- {
- "resource": "repo://src/ai.rs#L317-L332",
- "version": "repo-lines-v1:sha256:29bbd06d8acee1a3e8788f3a5d669981da5c3ff1da3d4ad7b5a66e0cfcd3a69a:eyJzZWxlY3RlZExpbmVDb3VudCI6MTYsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImQxOGVkNTcxN2U3MjlmODcxM2RkZjJiYWE4ZGI1ZGZlZDgzNWYyY2JhZDI3ZGEwNTUwMzgwMWNiNmZlNTAwNGYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjE5ZTc2MzU1Y2YxMTk5NDgwYzNmOTk4MzZiMTQ4NmM4NDFkODkxZmFhZDkwNGM2MDhlMDkzMDIyZDM3NTdhZWUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjVjZGFjZmMzNDYzZjY1NDljYjAzNTQ0MzdiNjg3N2YzYmNlZjVhNWQ4NDk2YmMwYjFhYzc0YTE5OWUyY2Q0YTEifQ"
- }
- ]
- },
- {
- "id": "claim_7034e6fb066940d290795dfacb0eec1f",
- "statement": "The wait before retry number n is 2 seconds times n (linear backoff).",
- "evidence": [
- {
- "resource": "repo://src/ai.rs#L334-L341",
- "version": "repo-lines-v1:sha256:97d05ac13a6dbe53449bb68ab41111ae5cd01fd47dfe333a12720fe3807b20ca:eyJzZWxlY3RlZExpbmVDb3VudCI6OCwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiOTIwYTE1YWFhMWYxOTliZDY5OWE4ZDYwMmUxZjBmZTI4Y2EzZjY5MDBiYzdkMzRlNTA5ZjA3MDQ5ZjRkN2FiNCIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDEyY2EzNDVjY2Y3NWJmOWMwODA2YmNlNjk1YmU4ZGU4MDhiNzk5ODQyNTFhN2E1NGQyMDJjZjYxMDFkZDQ1MSIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiMTllNzYzNTVjZjExOTk0ODBjM2Y5OTgzNmIxNDg2Yzg0MWQ4OTFmYWFkOTA0YzYwOGUwOTMwMjJkMzc1N2FlZSIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiMmIxNGY0OGEzYjA0NzBiZWJhYWYzOTkyZGUzMWVjOTIzNzQ2OGI2NjhiZGYyOTE3NzgzODdiZGZmNmVmZWM3ZiJ9"
- },
- {
- "resource": "repo://src/ai.rs#L40-L41",
- "version": "repo-lines-v1:sha256:a6cd14dcc37ca5d183c435aa127ad8dbeef21602bc807930aa189eca98564927:eyJzZWxlY3RlZExpbmVDb3VudCI6MiwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiZGQ1MjU3MzRjZmE3YjA2ZDZmMWRhMDZkZTcwNWQ2MWVhOWU0NzhmNTBlOWVmOTgxYzZkMDUwNTVmMjMzMmY2YSIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiYzBhYmVjMDQ5ZGNlYzk3OWRhZGFkMTBhOGQ5Njc3NWQyNjZlZTc4ODg4NzIxMTdkMmVlZTQ2MGYzNzMwOGEwOCIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiM2JkNzgyOGI3NTc2YTllMzY4ZGZlOTE4Mjc0NGQ5OTVmNGVmNDZmMzkwZDcyYmMxZDNlZjVlMjRlMjY0Y2QwMyIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiMDkxNDgzNWMyYmIwMWE3ZmI2NzE5NTA4ZDFlZTdjMzU1MzJlYTk1MWI4MDE4NDgyNDY1NTRiMzg3ZDI0ZTY2NiJ9"
- }
- ]
- },
- {
- "id": "claim_6439ccd0b4f54d9cad75a0e3501d84fb",
- "statement": "When ai_log is enabled, one log record is appended per attempt, so each retry is logged separately.",
- "evidence": [
- {
- "resource": "repo://src/ai.rs#L238-L280",
- "version": "repo-lines-v1:sha256:61675dd2723f8e4314c949dc027ac6e1a543b610794b2f4213100826f4f7eb90:eyJzZWxlY3RlZExpbmVDb3VudCI6NDMsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjYwNzBmYTg1ZjNiN2RjOGYwM2QwYjBmMjA2NWNhYzQ5NWYxNWQyNzQwMWExN2I4YzE2Y2Q4ZmQ5YWIwMWQ0MWQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6Ijk5OWJkZWZlZWFjYTYzNDBlMDI5MGRjODZlODg5Yzg5ZDVlMTg5YWE1YmE0NGI1ODViM2I3MDczNGY0YTYyZDgiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjEyYTMyMmRjMWM3OTk2OTEzNTU1MGI0YzRkMzYyMThiNTQ4ZDY2NjE4OWRmNDFkMWM1ODIyYjU1MmE3OTljNjMifQ"
- }
- ]
- },
- {
- "id": "claim_436ce19bdcf94d028d46da1886350561",
- "statement": "The image description request comes from vision.md when present, otherwise from the built-in DEFAULT_IMAGE_DESCRIPTION_REQUEST, and a NoReply outcome of a description is turned into an empty-reply error.",
- "evidence": [
- {
- "resource": "repo://src/ai.rs#L184-L196",
- "version": "repo-lines-v1:sha256:e959c04c9811c5e76d9abb77e95982781c484819d9218c76a6cf30f03ac92baa:eyJzZWxlY3RlZExpbmVDb3VudCI6MTMsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjAyZDhhNWIxYzc4MTIwMGExYTNiYmQ2NGI4MDU0Yzk3N2E3OWZkNDk0MDk3M2I3M2RlMjE5MTVkZjQ2YTFmMGEiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6ImY5YjE5ODJlOGRkNzQ4MTE4MTQ2YjM5YTJkMDA2MmY0MDgxZTM0Nzc5Yjg2NzVjMjM0YzRmYjEyNGRjMzkzOTAiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImI4NjJmMzRhNzU3YWRjNDZhMDMxY2JmY2VjZjI4NTQ1NDJkMDc5ZDEyZjAzNzc4ZGMwMzgwYTI3ODY0YjYyMWUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjQ4NGU3OGMwZTQzNDBjZGJhNzIzZTIwNzdiODQ3NTUzZTg0ZDNlOTkwMjZmZWQxOGIwNDUxNDA1Y2MxNzQxMmEifQ"
- },
- {
- "resource": "repo://src/ai.rs#L22-L23",
- "version": "repo-lines-v1:sha256:093425babc91b6274b3b8f3a786d50d409a30fc9e71342d62c8cc3f248520993:eyJzZWxlY3RlZExpbmVDb3VudCI6MiwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiYjdhOTc4ZWIwYzk2ZDZlMDlhM2MxNzI4ZjNkNDhlZTE5NTA4MDQ2MGEwMjAyOGMxY2MyM2JiMjYzNTllY2RmMSIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiMjQzZjI1YjQzY2FmYmUxYTg5MDNiMjAwMThiMDEwZWE4NmJiZWQ3N2JhOTk3NjAwZTdjNTAzMmM5Y2M1Y2NmOCIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiNmY1ZjBkMGY4NWQyYWRmMmE1YjFmODFlNDY4NDJkZGRmMjljZTY2NDQ3NGY0MTllYjQ5NTAzMzMwMTNlYTU4NiIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiMDM4NDJhNGNmOTA1YmJmOWY2NmFkNTY5ODljYjZiYmFhNjNhMzQ0YmIwMjUwNjY4YmU2ODVhNjZlMGRjYjgwZiJ9"
- },
- {
- "resource": "repo://src/ai.rs#L225-L236",
- "version": "repo-lines-v1:sha256:bda19d95aafbb2269b1eb5d3138a4ddf5ed88f848b8254487116da95269ad3df:eyJzZWxlY3RlZExpbmVDb3VudCI6MTIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6Ijg3ZmUwOTY4MzlmODMzNDkxOTA4ZTQ1NmFhNDI2MDJkZjQzNTc5ZDQyOWExMDg4YmVlNWRhNjE4ZjlkOWYwZmYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjBiYjIyNTU2ZGUzMmVjZTc4YjRlYThhMjUwNjQzODVkMWZhYjdjNjA2ODk5MTQ2NDJmZjk2NjkzNDE4NzA5ZWQiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjA1ZWY0YzRmMGNjMDcxMzBjOTc1ZWVhM2E3MzdkMGJmOGNjZjY3MThiODUwMDY5NWY0NTU2Y2E2OTk5NmQ0YTcifQ"
- }
- ]
- },
- {
- "id": "claim_70aafb70d3424afcaadc8fc0e2628054",
- "statement": "The no_reply tool description only says what the tool does, never when to use it; deciding when to stay silent is left to the system prompt in SOUL.md.",
- "evidence": [
- {
- "resource": "repo://src/ai.rs#L42-L49",
- "version": "repo-lines-v1:sha256:316aee398af311a49e09bb1b511935db92322af15e12d53c4ab9a88707448d9d:eyJzZWxlY3RlZExpbmVDb3VudCI6OCwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiMzk0M2Q3YWQzMjNmOTlkMDAzM2JjMTI5ODk3MmI3YmUwNzIxYjAxNDZjMmExYjlhZmZjYzc0NTcyYWFjZjNiNSIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiZDk4ODQ5YjY2YWQzY2FiZTdlZmVjOGU1ZmI5YWI3NjJkYTc4MzViMzg4YzM4YWIyOWVkNDM1MjBiNGI4YTk1NSIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiZGNkYjE3MDIxM2RkOWVkM2I2OWExZmU5ZWYwNzg1YWRhMzljNzkzMDA3N2E0OGM5ODMxNWE1ZjJmOWFlYTIzNyIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiNzUwZjY3OTE5ZWU2Y2JmNWYxY2VmYjNkZDIyMTViMWFmOTJmMDkwZDdhNWFjMDg3OGZlY2IwOWQ0YTczYzM4NCJ9"
- }
- ]
- }
- ],
- "verification": {
- "by": "openwiki/0.7.2",
- "at": "2026-10-21T21:49:12.291Z"
- }
- }
|