| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- {
- "schemaVersion": 1,
- "pageVersion": "sha256:eb01f5f500741db0c4fe6150c60f34a21f09961bad77eaf7779a0075d6a2ee6d",
- "claims": [
- {
- "id": "claim_4abb79458e064f78a8d565a7069cb356",
- "statement": "autoreply.rs contains pure decision and context-building logic without I/O.",
- "evidence": [
- {
- "resource": "repo://src/autoreply.rs#L1-L4",
- "version": "repo-lines-v1:sha256:ab77952e2cd65858f5a94c8c5277b1200f58c820e5529a8757c0fe06a1e1a9fe:eyJzZWxlY3RlZExpbmVDb3VudCI6NCwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiNTFiNTJkMjY2MjhkMDI1N2NiNzM3NDY0NmMyNTg5Yjc5MDEyMDBiNDc1YmZhYWUxMmFjYWU0ZjBmNWIwOTA5MiIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiYTk1YmVlYmQwZDJhZmU0YmMyNGU4MzE5MzQ1MGY1YzY0MzMxZmFkNzNhNWQ2YTI0YWYyODRlZTcyZTI1ZWI1OSIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjAsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3ODUyYjg1NSIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiZTVkODIxZDkwZWIyMjM0YThkNWYyZjc1MGZiZmVmMGU1ZjE0OWE2Yjc1MTBkNDRhYTNmMTNiMjdlNTQwYWE2ZCJ9"
- }
- ]
- },
- {
- "id": "claim_bd1031863e03434ea4649d5866821b34",
- "statement": "Enabling autoreply requires a configured AI and a private chat or group, while disabling is always allowed, and the flag is persisted.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L605-L624",
- "version": "repo-lines-v1:sha256:51d6d6426fedb162314e30c78add489199bf678d7b5030f289a017684c6415ef:eyJzZWxlY3RlZExpbmVDb3VudCI6MjAsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjRlZmZlOWM3MmQ5ZTYzOGI1NTYwMjBhM2VjODIzOGM1ZDJlMzk0ZTdkMjk5ZjFlNzE2ZmQyYjFkZGU1ZDQ3MGEiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjkzNzNhMTgxNzI2YzQ3ZjdjNzlmOTI3ZDI2NzhhYzQ3NjYzY2VhMzI1OGYxOGEwNTM0ZTg2NDVlYmFlOTlkMGUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImU2ZWQ1MmZlYjhjZTliMjNiYmNiYTkwMGFkYjk0MzE3MjA4ODNhZTk0ODY4NmQyNjhlNmRkMjFlNjljYTU3YjkifQ"
- },
- {
- "resource": "repo://src/app.rs#L885-L898",
- "version": "repo-lines-v1:sha256:76ea2311dd543d33bf1c52b4cee8997184cb67643a8ba3b2f715abf2fea34667:eyJzZWxlY3RlZExpbmVDb3VudCI6MTQsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjA0NDI0MGFiOGNkMTM1NDE2ZTQ5MjMyYTEzMGIzYzlkYmI2NWZmYzg0OGNjYzY3OWJhYTQxYWQzNjY4ZTA3MjQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjE5ZTc2MzU1Y2YxMTk5NDgwYzNmOTk4MzZiMTQ4NmM4NDFkODkxZmFhZDkwNGM2MDhlMDkzMDIyZDM3NTdhZWUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6Ijg5NGUwY2FkODFjNTBiOWY4MWE5ODI2ZjA1YzUyZjY0MGE0ZGM3NzdiYWQyNGM2MGEwMjQ5NzhlZWJmMWRjMGMifQ"
- }
- ]
- },
- {
- "id": "claim_39956a806ff74eb3bdbe245a5c9b0f43",
- "statement": "A chat is private when its JID server is s.whatsapp.net or lid, a group when it is g.us, and autoreply is supported only for these two kinds.",
- "evidence": [
- {
- "resource": "repo://src/autoreply.rs#L48-L97",
- "version": "repo-lines-v1:sha256:2c5bff97825cbfe1e0822d2f2450e3d71e38f9eba0e4ba5d78ce48dd225acc29:eyJzZWxlY3RlZExpbmVDb3VudCI6NTAsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImRlNzAzNDZhYmE0OTZiOTAzNzI1MTY5OWQzY2YyNDAwNmU0ZGYyMDM2N2MzNDRiZjllZjkyOWEwMjJmYTRjZGYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjIxNTY3ZTI1ZmQ3ZTExMzc3YmU4NDk5OTc2NDEzOThhYzRmZTMxNTBiNzE3OTA4NjNiNzc0ZTAzYmNiZGM0ZjkiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjZhYzE3ZjhmYjIwNjZkNTU5ZDU2MmYzNTkwODY4ZDRlNTMwYjIwZmQzNzdkNDkwZTJmZjE4Njc3Y2M3YTBlZTkifQ"
- }
- ]
- },
- {
- "id": "claim_01e8cc3ee34a49b6a579c25728a8efa1",
- "statement": "Only newly saved messages reach maybe_autoreply, which requires an AI client and system prompt and receives the addressed_to JIDs.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L267-L315",
- "version": "repo-lines-v1:sha256:ca8f7a75fdaf722cb92f44a51cbdf6cb156b724100673fe626d55a064d5c4af3:eyJzZWxlY3RlZExpbmVDb3VudCI6NDksImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6Ijg4ZTRiZTg5ZDNlZDdkYzY5MGQxOGMyN2NmY2I1MmExYWFjNGI5NmZmZDU0ZmFjOTIzOTczZmQxY2Q3ZGNhNWEiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjE2MmVlNTdlNDFhOGMyMGFlMDE2NGRmMjYxNDM5ZGNjNDk5ZDM1MjA4MzQxNTE1MTZkMDQ3ZThkZWFlOGE0NjYiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6Ijk0NDE2M2IzN2JlYTdlZjFjNmJiMDZkODAzMTQxOGRmZjZjNTBlNjgzMmUyMWVkZTI2ZjlhN2VjODA5MDlhMTIifQ"
- },
- {
- "resource": "repo://src/app.rs#L389-L395",
- "version": "repo-lines-v1:sha256:8954f8190e201652fd68eb454a728e5e4173257eddebb901b8a0b8d4c773564e:eyJzZWxlY3RlZExpbmVDb3VudCI6NywiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiODA1ZTgyYjdjMjlkNzVkZDI3YmZhYTZiYjkxMzZiOTMwMjQyYWEzYjJkNmM5NjI4ZWVmMmY3ZjIxNzdlMzhhNiIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDg5M2Y0MGUzNzgxZWI4OTZjODJkMDQ2YTA4MDY3YTExZTM1Y2RmMmYxZGZhZjI2ZmVhOTBiOGRiNjY3NjQxMyIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiMjRmNGQ3NzU2OTA1OWI4NjMyNGU2YTVmNGY2YWU4YWI4NjM4YmUzNTY5YjM5MjRlZDJkOWJiZjY0MzczMjUyNCIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiZTRhNDZkM2QxYTE0NjM2YTRmZGVmODJkZWRhMWZlM2UzMjgzYjA3ZTBlMzc1ZWU5NGQyODIwZDRiYzI5MzFmNCJ9"
- }
- ]
- },
- {
- "id": "claim_4d8d74d736ed4ca19a1d0de711c9f12f",
- "statement": "should_reply requires the chat flag, an allowed sender, a private or group chat, a timestamp not before process start, non-placeholder text and an elapsed per-chat cooldown.",
- "evidence": [
- {
- "resource": "repo://src/autoreply.rs#L176-L194",
- "version": "repo-lines-v1:sha256:9e93a0db0fa4ced6aa27a7f47b3a56fb1208bdf99886614dbc09fce7164c9ec4:eyJzZWxlY3RlZExpbmVDb3VudCI6MTksImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjExMGZiOGMzY2ZlZGE5ODcwZGRhNjg4NjBjYTA4YmJlZjI4ODIxYzc5ZTQyZTNkZDQ5MDY2MzQzZGEyMjcyY2UiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjU0ZWYyYjYzZjg4Njk1ZTc2OTIzMjVmMjE3Mzk4NzJjMDhiNTgxNjdjY2YyZWM2NTY2MGYzMDJkOTMyYTEyY2EiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjQ0MGUyMTJhMmMxNWZlMGJmOWRiNGZjYTEyOWU0NzAwYTViMjBjNWJmMzg2ZjI0N2YyMTMyNDAwNWE2YzM3MTQifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L258-L282",
- "version": "repo-lines-v1:sha256:5c6b334c7ae6b4472da173dee6b729d06f5dcbdc994c15293c1090b8a2bbd3dd:eyJzZWxlY3RlZExpbmVDb3VudCI6MjUsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImI3MWJmYWRhZDk1ZTAyNzJiOTdkYmQ2Y2JjMzhkY2U5MWZlOGZiMDFmN2IwMzI3MzA4MDc3Y2U0M2IzZGI0MDIiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjJhOGZmNzc1N2U2ODI2MGYyM2Q1ODU0ZWFlMTExNDQ1NDM3MDNlMzE4MWQxMjIyOGU5MzRmOTM4NmQ1ZjBmYWYiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjJmYmE5MjI2NzJlMWM1MjY1NTMwZjBkYTNlN2RlZDBmOWQxZjUxNjY4YjJlMWMyZWI2MThlYWEzM2VlZmZkMDMifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L309-L320",
- "version": "repo-lines-v1:sha256:615cc2e52db1ca6101cf9b4078bacea06df42f2f0c7854818c096cdca18b44b6:eyJzZWxlY3RlZExpbmVDb3VudCI6MTIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImUyNWNkOTE3ZmM2NjY0NDRlZmFkM2UxYTVjNDBlNWI1ZDA2OTIzNWMzNTdiODg0NmZkMmM5MGRjNDFkZjg3NDQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjcxMjVhNjRhNDA1MjAxNjg3OTIzNWNhMjI0ODhiMTMyMTIzZmI2MDEyMDMxZTllOGVmZjlkYmEwNjU4OWM4MjkiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImZjMzI3YTcyNGI1MTQzMjY4NjE4YjJiMzEzNDU3MmIzMWI4OTFmZjczZDAzNGU4ODFhZDg1OWEzNDliZGRjMTcifQ"
- }
- ]
- },
- {
- "id": "claim_79a2ab515a274bab8fd3dd9736315e51",
- "statement": "Own messages trigger only when human-written in the self-chat, detected by comparing with own JIDs without device suffix.",
- "evidence": [
- {
- "resource": "repo://src/autoreply.rs#L145-L174",
- "version": "repo-lines-v1:sha256:b0f425dbb2a112090ca31624b7a4edec4b2bddb2492d830fb200b8c235a4b88f:eyJzZWxlY3RlZExpbmVDb3VudCI6MzAsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQyNTc4ZDBlMjk2NDIwYTNkMWFmOGUyZDU1ZjJhYzFmOWFkZmZjNTY4ODIwOTI4Y2I1ZTU5M2YzMDMxN2Q0N2YiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6Ijk5OWJkZWZlZWFjYTYzNDBlMDI5MGRjODZlODg5Yzg5ZDVlMTg5YWE1YmE0NGI1ODViM2I3MDczNGY0YTYyZDgiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6Ijc3M2M5Y2QwZGRhYmU0MWEzMjJjMGRlNTI0OTIxOGM5YjNiYTZhODZlNDhlNDc0MWUwNmVmYmUyOGRlZmE0ZTcifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L349-L365",
- "version": "repo-lines-v1:sha256:daeb52efe3c35b1565aea1badb2260d9cfb4caef892ee11755af3f03d40c0788:eyJzZWxlY3RlZExpbmVDb3VudCI6MTcsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImRhNTE4MDYxM2Q4NjEwNGE4Zjk1N2FhYTI2ODI4YjBmMjQ2NTk3ZTg4M2UyMzk3YTc3NDEyMzVkNjNhMTkzZmMiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjE5ZTc2MzU1Y2YxMTk5NDgwYzNmOTk4MzZiMTQ4NmM4NDFkODkxZmFhZDkwNGM2MDhlMDkzMDIyZDM3NTdhZWUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjBjNGVkNWUzYjNkYWRhZTk2YzQyZDg5ZDk2MTBkNTYyMmY5ZTkxOGI2ZTU5ZTQ2ZDMzNzUzMjNiNTNmNGJmMWUifQ"
- }
- ]
- },
- {
- "id": "claim_aabba3ec6866414a832790bbba7669db",
- "statement": "record_reply is invoked in start_reply before the AI request is spawned and clears any pending deferral of the chat.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L397-L416",
- "version": "repo-lines-v1:sha256:77c613038db86228ee90623150e68a8e459a6add92955e4833a1ac3e5f863adc:eyJzZWxlY3RlZExpbmVDb3VudCI6MjAsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImU0YTg3YjlhYzc5ZmRlZWFlMjkyODk0ZTMxNDQ3NzU4ZWQwYjdiNTFlZmMwMjJkN2YxNDhlZTU5MTY1MDY2N2QiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjFiYWU5M2RkYzVmMDAxZTlkYTEyOWJmNDgwOTM0NzBiNWVkOGYzYzc3Y2MwNjI0NmIyY2U5MTg3ZjEyMzRiNGQiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjA2ZWViM2RhYjZhYTAxODdiMjY5ZjlmNGY1NjUyODE3ZTljNDE0ZTQzZjQ1Nzc5OWY4YWJlMjliMjhiM2IzZmQifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L246-L256",
- "version": "repo-lines-v1:sha256:150894127b938da2f1738e8bb2cf4936f7132bcad9feabc703f5b262caedc1f8:eyJzZWxlY3RlZExpbmVDb3VudCI6MTEsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjBkNmYxZjI2ZTdiNWQ1MzU3ZmJmMzU3NTJjYzQwY2Y5MzE5NDViYWEzNDdlMTNlNGEzOTBhZjAzZTc0NDE2NDUiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjM2Y2JmMjg5MDUyMmJjN2ZkOGM4MjNjODY3M2E4Y2Q3MjAxYzVhODQyODc4NDg0YzYyNjY5YzFjZWJjYTVkZGIiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjUwN2UwYTVmMjdiMDAxOGQxMDJiZjJlY2JlNDVlNGQ3ZDI0NTcyNGY2YWY2MTFiMmZkYjZmYzU0M2FlMWI0M2IifQ"
- }
- ]
- },
- {
- "id": "claim_e5cd4fb182a34e47aec8344c6682627c",
- "statement": "build_turns starts with the system prompt plus a role note, keeps the last 200 non-blank messages, maps roles depending on self-chat, prefixes group user turns with the sender label and rewrites only user turns for voice notes and images.",
- "evidence": [
- {
- "resource": "repo://src/autoreply.rs#L13-L27",
- "version": "repo-lines-v1:sha256:a71b2b1ae4d31324f82e6858e3af144db8883e18a974555890172b34e25e4971:eyJzZWxlY3RlZExpbmVDb3VudCI6MTUsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImJkYTIxOWRlYzM3NjlkNDZkZjMxMmE5MzYzZGFhZmI5N2IzMGQxMTRkNWE0NGY4MmY4ZmNhZjJmNTJlNWY1NzkiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjdjY2U3ZjMxMmFjMmQ5ZmMzNGFlOGJjZDJhM2RkZmNiNGVjNjEyNDM0OTBjNTYwMDVhZmJmZmE4ZGM5ZjFiMTgiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImZkMGM2MzgyNzI5ZDA4ZTE0NGQ1NmJiNWJlNzAwYjMzMjEzMTMyMjAwNzQ3ZWI3M2JlYjc0NTAwOTlhYjg2Y2UiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImNiMDliNDAxZTM5ZTFlMWEyMGU3ZWI0MTc0MTE5MThmZWRkZWU3OTBiZmVhOTdlMDY4MzNlMDc0YmY1NDc1YzAifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L367-L526",
- "version": "repo-lines-v1:sha256:2cb857b8e50b9c0653a2a3640c4cdd6c7ed1a0bca468b66c729aa8cb45c35556:eyJzZWxlY3RlZExpbmVDb3VudCI6MTYwLCJmaXJzdFNlbGVjdGVkTGluZUhhc2giOiIzZTBiMjBmNDZiMWYzNDE5OGQ3NGE0N2I3ZGNiZDUxZjI5NzhmYjNhM2YyNWE2OGQ0YzE1NzA3YTUwNTI0NjVlIiwibGFzdFNlbGVjdGVkTGluZUhhc2giOiI0MTJjYTM0NWNjZjc1YmY5YzA4MDZiY2U2OTViZThkZTgwOGI3OTk4NDI1MWE3YTU0ZDIwMmNmNjEwMWRkNDUxIiwicHJlY2VkaW5nQ29udGV4dExpbmVDb3VudCI6MywicHJlY2VkaW5nQ29udGV4dEhhc2giOiIxOWU3NjM1NWNmMTE5OTQ4MGMzZjk5ODM2YjE0ODZjODQxZDg5MWZhYWQ5MDRjNjA4ZTA5MzAyMmQzNzU3YWVlIiwiZm9sbG93aW5nQ29udGV4dExpbmVDb3VudCI6MywiZm9sbG93aW5nQ29udGV4dEhhc2giOiI3YmM5OGQ2YjBkYzQ5MmM1MDE2ZGYxMDgwNWEzYTU0ZWI5YzE4NGE1YTYxMzdlN2Y0YmVjZmEwYzIyMDU1MGQwIn0"
- }
- ]
- },
- {
- "id": "claim_3e40d76522d14d6a8010a842c8b4d312",
- "statement": "With an image and a vision model one task downloads the image, tries the vision completion and falls back to a text completion, combining errors if both fail.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L418-L449",
- "version": "repo-lines-v1:sha256:885842d6f63043fbcf5c591add81a58c3216ed176aadc89bb23c76042527af03:eyJzZWxlY3RlZExpbmVDb3VudCI6MzIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImQ2Njg5ODM3ODc3YzUxMGVhYWU0ZDE5YmFhMjkxYWI0NmQ2ZDhjMGEzMGU0M2I5MjViNDNiY2I4NTc4ZTdlMDQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjE2MmVlNTdlNDFhOGMyMGFlMDE2NGRmMjYxNDM5ZGNjNDk5ZDM1MjA4MzQxNTE1MTZkMDQ3ZThkZWFlOGE0NjYiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImQwMjI2ZGQ4YmZkY2JkMDhlNjUxMjUzOGY4MmU5YWNiOTEyNzg2NTgwNDEwMmQ2YjRlMzQ4NmRmMjU4YjMxNmYifQ"
- },
- {
- "resource": "repo://src/app.rs#L781-L844",
- "version": "repo-lines-v1:sha256:c97db5fc22afa0f7a649b64cc9adfad1301d31a11a6024b3c54cf65fe46016df:eyJzZWxlY3RlZExpbmVDb3VudCI6NjQsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6Ijk0MTM1OGQzZmUwMGY3ZDM4YWM4MjNjMDc4OWNlZmU2NTNhMTE2YzkyZmNjNWMyYjYwNWY4ODA0MjA2MzRjYTAiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImQxZTM5MDcyMDkzN2I1OWI2MzAyZjNjZGUwY2Y5NzgyMTUxZjc2OTg0MDM4Yjc4ZjBiYzJmNjkxYjFmZTcwM2EiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImMwMDY1Njk0Y2MyNGUxNGQxNjdiNzI0YjgxNDZhNDIyYzI4MGUyNjE4MmNhNjFmMDVlMmQ2M2I1MTRiNTQxYjUifQ"
- }
- ]
- },
- {
- "id": "claim_045b183e6c6b444c84449e47227a98cb",
- "statement": "AI replies are discarded if autoreply was disabled meanwhile, otherwise sent and stored with is_ai true.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L465-L522",
- "version": "repo-lines-v1:sha256:c3eaf2c14e923f56550d8c6b4a5e3496a2bf65fa25a0232776d085154bc05810:eyJzZWxlY3RlZExpbmVDb3VudCI6NTgsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImEwMWQxYjkzMjk5YjRiOTc3ZWNiOGUzMWE0MDhmMWUxZjczMjA5OGY3ZmI4MjMxYzllOTgwMmJhNmQzNmRlYzciLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjQxN2NmMGY3N2ZlYjJiMGFiOWViN2M5NWUyZmNhZjQ5Mzg3ZDYyMjk4ZmYyZGE2ZGYyZGQwYmRlMWQwMGE2OGYiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjYzYjQ0YTU2ODZkYjM0MjNlMDVmOGMxOWMwYmMyNzlmMDA1NTE4NDJmMzgwZjIxMTM1ZTkzMTZhY2IwNmQ5ODEifQ"
- }
- ]
- },
- {
- "id": "claim_66877f18a3ca434fa2dc9b5857ba48b9",
- "statement": "Cooldowns come from cooldown_seconds and group_cooldown_seconds; group messages not addressed to the user use the group cooldown, while private chats and group messages that mention an own JID or quote an own message use the private cooldown.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L165-L199",
- "version": "repo-lines-v1:sha256:a25933c1c4dff0de5b2f69ae0e9d8a49c1940e8a4b0643b39cd8981e74a78bbd:eyJzZWxlY3RlZExpbmVDb3VudCI6MzUsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjdmNTYzZjU4ZTBlOWQyYjgxMjgwMTZhOWEyZGZhMTU2YjgzNTM0NWYzOTkzYTVhYjdkNjVhNWU4ODFmMDg0Y2UiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjBhOGJlZTA0NjIzODBmZjdmN2Y0ZDZhYzE2MGViODRmYjk3YjgwZGRjMjM2ZGFmZWY4NTQ4OTYxYjcwZDQ4ZmQiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImU3M2U3ZTFjNDIxZDk5NzQ5ZWVmNzNjNjJiNmE4ODAyODhjNGNhZDM4ZTYwZWQyMTNjNmM1ZDI1ZjAyMDU3OGMifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L322-L346",
- "version": "repo-lines-v1:sha256:192ac46e05e25b4f5fb6e0cc1832fd04f3f34de846a5b57af4e0a59f064034cf:eyJzZWxlY3RlZExpbmVDb3VudCI6MjUsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImM4NzhjMGI1MjIwNTBlYjIxNDQ5MmY3MmM4OTM5MWIyNjFmNmRjZTBjY2NhNWRiMTU1ZjAwMWU1ZmJkYzdhNWYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjNiYTZmNjc2ZmYyNGZjN2VhMjM2NzZhOTNkYjc2MzRhNmJmMzM3Y2ViYmE1OWJkZmExYWM5NmQ2ZGRjNDUwMDEiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjhjYTUwMTNjY2ZiYWFhNGY4YTdiMmRlYTU1MDU2NTRhN2VmN2ExNGVmNTZhZGI3NzEyNGM2Y2NkMWVhMWNjN2UifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L99-L107",
- "version": "repo-lines-v1:sha256:44aff225b65bc9725548abb963fccb03939a521d1c74d6e56d69851eaa0c0b4d:eyJzZWxlY3RlZExpbmVDb3VudCI6OSwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiY2M5OGJhYTA3YzIyNTBkNzRlY2VmNWE2NTZmMWQ3MzdjNjg2MzJmNzRmN2VjYTkzNmJiYTU0MTljZDVkNDk0ZSIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDEyY2EzNDVjY2Y3NWJmOWMwODA2YmNlNjk1YmU4ZGU4MDhiNzk5ODQyNTFhN2E1NGQyMDJjZjYxMDFkZDQ1MSIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiYjJiMThkY2EzNzJhZGFlNGQxMGM3ODdjNzVmOGE4NGE1MzAyZjViNTg0MjBkYTU2Yzc0YTUzZWY4OTVjNDI4MiIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiMTYzOGJmZDhmM2I4ZjU5NDNkNDI4MmEyZjcwZDQ4MGE5YTkwZWQwYTdlMDVlZDI5Y2YxYTRjNGMzNmRhYmQ3YiJ9"
- }
- ]
- },
- {
- "id": "claim_aa50de18f27a4f1ba952016d6c32b9f0",
- "statement": "In private chats a message blocked only by the cooldown marks the chat pending and a tokio timer emits CooldownElapsed, after which one text-only reply is sent if the deferral is still pending; groups never defer.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L305-L332",
- "version": "repo-lines-v1:sha256:91ec3385dbb5835ccce818fd691bc5017fa8ffaa0bf2e13d9e1bcc9b3720087c:eyJzZWxlY3RlZExpbmVDb3VudCI6MjgsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjgxZWU1NzQ0N2I0ZTUxM2M5MzIwZTY2ZmNjODc5NTUzZTMxYjY5ZjQ3ZWE4OGUzNGQwZGQ1MjM3YWRmM2NjODgiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImUxYzg5NTg5NTI1Njg3YTExOGM4NjA3NTY1MmM4ZjdlNGE1YWY3OTIyY2FmOGUzYjE0ZGE4MzAwYjM4ZmM0MGQiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjIyMGUyNjkzMzFhZTU2NTJiYTMxNWViYTdmYzRlNWMxNWFhNDlhMzdiMjE2NGY3NjRlYmNiYTA1ODE5ZGMyNDAifQ"
- },
- {
- "resource": "repo://src/app.rs#L744-L755",
- "version": "repo-lines-v1:sha256:c3506143ab1af95e5059073dbe2e9099d3c5115a9502bf0faa04a3d2578cf991:eyJzZWxlY3RlZExpbmVDb3VudCI6MTIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImZiNzQ3YTE0ZDllZGE0MjlmN2RlOTA1M2UxYmMyNzMzODZhNDQyZWE4MDQzYzI0NWE5ZDQ1M2JmMjk2Y2I2NmIiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjRjNjg0ZTk4OWVmNzk4ODJiNmIyOTMwNDdiMTJiNDg4YjkwNjlhYmUzMzc2ZTVhNTNhOGEyZTI5YjY4ODcyMTAiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjA1ZDJlYmFjZThlMTE0NjAzZTYyZDc1YjVmNmRjODFjMzJiMzgzMmI4YjBiMGUzZDVhZDY0OTMyMDQ4YTZkMzgifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L196-L244",
- "version": "repo-lines-v1:sha256:7b191379781acc86afacb1fc13ed7598963b49d4924f91aba89a3bdfb10afc5a:eyJzZWxlY3RlZExpbmVDb3VudCI6NDksImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjhlY2IzMTBjMzIwZWFhYTRiMjM2MDllZjBmNjZiZjZiMWQ4MGE3NjQzOGVhZTgxYmVkYWMwZmI5ZTA3MDMxODQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjVkOGQ4Y2NkOGU3YTk0NWI5NzY3YjgwOTkwMDMzYzM4NDVlMmQ3MzZjYWFmY2FjZGE4OTIzMTQ5OWNlNWQ4YmYiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjYyZDBkODQyNmQ1NThjNWM0ZjJiZDI5M2E0NDNlYTJlZGVmNGMxODgzODQyNzQyOWViMjUxNjU4ZjRlZWQxYzQifQ"
- }
- ]
- },
- {
- "id": "claim_d8b08d3eeb4d432f82bfd00abc49cbd2",
- "statement": "On the first OfflineSyncCompleted per process, catch_up sends one text-only reply to each autoreply-enabled non-group chat whose last message is from the contact, older than app start and within catch_up_seconds, and reports the count in the status.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L33-L33",
- "version": "repo-lines-v1:sha256:e4cb6140de212ef27ad95651543bae53cb782d2cd46e494db3057b17e46a2635:eyJzZWxlY3RlZExpbmVDb3VudCI6MSwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiZTRjYjYxNDBkZTIxMmVmMjdhZDk1NjUxNTQzYmFlNTNjYjc4MmQyY2Q0NmU0OTRkYjMwNTdiMTdlNDZhMjYzNSIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiZTRjYjYxNDBkZTIxMmVmMjdhZDk1NjUxNTQzYmFlNTNjYjc4MmQyY2Q0NmU0OTRkYjMwNTdiMTdlNDZhMjYzNSIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiOWRjMmZmMjdhMGM0NWJjOTE0NmMzMWI4ZTc1NWIzMjc3YjEyYTVjMjRkOGJiZGQ2N2Q2MWU2OTYwMWNjOWIxNSIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiZjY4OWU1OTZlNGI2YmY2YmM1M2M5NmMxYTdmMTk4MGY4ZDE1NTRhMDQ0NTAxMmI0ZDRjMDlhY2JmZjY2YmI3OSJ9"
- },
- {
- "resource": "repo://src/app.rs#L334-L387",
- "version": "repo-lines-v1:sha256:7b732bdff31637aad1a767205e928e6c5e8dbef03947ccae737a2e10683ad0dc:eyJzZWxlY3RlZExpbmVDb3VudCI6NTQsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImM5ZmJjMjYxZDk1MDVkNTBjZTU1MWY4ZDI4OTQ2MTZjMWM2MGY3NTlhZTAwYTE1OWY4Yzg3OGVmMWJjM2Y2ZWEiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjYzNDg5OGVjYWExNTlkNzQ4NTQzYzk1NGNjZDUwMWRjYjJkY2RhZTMxOGE5NmNiYTQxNzVjZjUzNGE5M2I1OTEiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6Ijc4OTU5NGE5NzIzN2Y2NjVkMmU0Y2RhMTIyZmY1NTIyNzJjMjVmZTFhMTI0NmZjMGNkNjllMDQ4MjE2ZTNlYWMifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L284-L307",
- "version": "repo-lines-v1:sha256:cf7440fc0934f44bb4a4f220c328b46fba2e06a8e9670a0af1fa746714b2e56d:eyJzZWxlY3RlZExpbmVDb3VudCI6MjQsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjNlZTNjZmNlMWFhMTdjOTk2YzhlZDhiZmVmN2UzODZkZjU1NDZmZjk1ODUyNzUxNTdhMjEwMzI3OGE1NGE0ZjQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImUwZGY3NGRlMGI2ZGVlYjk5NjI4MGU2YzFiZDRlOGIyNTQ1MDUyODZhNzBhZjZkN2U4MWE0MTRjOWJhYzA3MGEiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjQ5MjhiMjFiN2NiMTg5YTQ5MTU5NzAxZGYxOGQzM2ZkZTdmZjU0MWU2MWU1MzlhMGYxZTRiM2VkY2FlOWRiYTIifQ"
- }
- ]
- },
- {
- "id": "claim_bd2df469e93d46108b7885dedb6da25b",
- "statement": "The AI context is loaded with messages_since from local midnight of yesterday, capped at CONTEXT_MESSAGES.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L397-L416",
- "version": "repo-lines-v1:sha256:77c613038db86228ee90623150e68a8e459a6add92955e4833a1ac3e5f863adc:eyJzZWxlY3RlZExpbmVDb3VudCI6MjAsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImU0YTg3YjlhYzc5ZmRlZWFlMjkyODk0ZTMxNDQ3NzU4ZWQwYjdiNTFlZmMwMjJkN2YxNDhlZTU5MTY1MDY2N2QiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjFiYWU5M2RkYzVmMDAxZTlkYTEyOWJmNDgwOTM0NzBiNWVkOGYzYzc3Y2MwNjI0NmIyY2U5MTg3ZjEyMzRiNGQiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjA2ZWViM2RhYjZhYTAxODdiMjY5ZjlmNGY1NjUyODE3ZTljNDE0ZTQzZjQ1Nzc5OWY4YWJlMjliMjhiM2IzZmQifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L476-L497",
- "version": "repo-lines-v1:sha256:50ee4ad69b117378616ca21b79b698134c88777e95ce91db1351b2411baa697f:eyJzZWxlY3RlZExpbmVDb3VudCI6MjIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImZkNDcwYzIwOWRjNTFhNjVkMGE4MzYzYjE3ZmI5NGI2MTZiOTMwNjU4MTIxZTc3ZjFmMTcwZGU2OWEzMGZiYzEiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjFhZWNlZmYwMmE0Y2M3YzRkNDU0ODYxNjk0OTM2OTFmNzk3Y2U5ZWZkOWFhZjU1OTQwZGE3NWIwNWVhM2RiY2IiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjIwYzRkZTBiYjA5ZGM2YTUzMmVjOGUxOGQ0ODFjMGQyZWJjMDA3ODNlMzhiODk4MDMyNzJiMmY4ZTMwOTJhMzIifQ"
- }
- ]
- }
- ],
- "verification": {
- "by": "openwiki/0.7.2",
- "at": "2026-10-19T19:53:56.480Z"
- }
- }
|