| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- {
- "schemaVersion": 1,
- "pageVersion": "sha256:ccc0e095054a5eb2aa06cbab3cb29b6a721ba01910ea260ce580279a25de25d8",
- "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 a chat's 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#L1127-L1140",
- "version": "repo-lines-v1:sha256:76ea2311dd543d33bf1c52b4cee8997184cb67643a8ba3b2f715abf2fea34667:eyJzZWxlY3RlZExpbmVDb3VudCI6MTQsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjA0NDI0MGFiOGNkMTM1NDE2ZTQ5MjMyYTEzMGIzYzlkYmI2NWZmYzg0OGNjYzY3OWJhYTQxYWQzNjY4ZTA3MjQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjE5ZTc2MzU1Y2YxMTk5NDgwYzNmOTk4MzZiMTQ4NmM4NDFkODkxZmFhZDkwNGM2MDhlMDkzMDIyZDM3NTdhZWUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjQ0MDNkOWZmNDhiN2ZiNmQ3MjNkZTVjOWIzMTg5MzEzZTI0NjcwYTFhOTYyYWFlMWU2MTg0YTI5ZWZjNzFjNWQifQ"
- },
- {
- "resource": "repo://src/app.rs#L763-L794",
- "version": "repo-lines-v1:sha256:c4358a68adc4872cb86ae5a6cf9f5e527660022add8d3e68770933ca4f7e6ea6:eyJzZWxlY3RlZExpbmVDb3VudCI6MzIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImEzYTUwNTFjOTU0MGU0MGQ2ZDM4ZTgzMWIzNTIxZWM3MWRiN2M5N2ZjN2IwYzRiZWQ1ZDlmYzY1YWVjMjBkNjkiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjkzNzNhMTgxNzI2YzQ3ZjdjNzlmOTI3ZDI2NzhhYzQ3NjYzY2VhMzI1OGYxOGEwNTM0ZTg2NDVlYmFlOTlkMGUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImUzZWNmNGIzNzRlN2M0ODFlZjUzODQ1Y2Y1YjlmNDI5MDk3NmQxYTlmNDlkOWY5NWJjNjIxNWEyY2VhMDYyOTAifQ"
- }
- ]
- },
- {
- "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, treats the chat as enabled when the global or per-chat autoreply is on, and receives the addressed_to JIDs.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L304-L346",
- "version": "repo-lines-v1:sha256:155b5cdb56d090f18143cef6a1591677f8c4bce133e1ab20f4e42b6361ece72f:eyJzZWxlY3RlZExpbmVDb3VudCI6NDMsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjYyNjcxZjMwOGZhYjk0MTMwNzgwNDU4MzFhNDMxYjJjZTM3MzhhMTEyMzMyNDg4OGY2ZTgzNTY1ODhjYjNmOTciLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImQ1Zjg3MzRjYWZkNWU0MTNiNTUyZDMzZjFmMThlOTEyNWI2YTkwMTFhODU2OTM2YmJjMzRmMzAxMGM4Yzg1ZjkiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6Ijk0NDE2M2IzN2JlYTdlZjFjNmJiMDZkODAzMTQxOGRmZjZjNTBlNjgzMmUyMWVkZTI2ZjlhN2VjODA5MDlhMTIifQ"
- },
- {
- "resource": "repo://src/app.rs#L366-L372",
- "version": "repo-lines-v1:sha256:9190cc2d950eb45e132eae01c1ae01b5fb4af82470bb42fae8b4e0227a315710:eyJzZWxlY3RlZExpbmVDb3VudCI6NywiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiYmMzZGZhMjZjNzdiNTNkZDcyZWZmZGI1MmEyNWFlNGY5YzMwNTdiZTk2NWI0MzRlMTMyOWIwMTM2MGZmNGViNyIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDg5M2Y0MGUzNzgxZWI4OTZjODJkMDQ2YTA4MDY3YTExZTM1Y2RmMmYxZGZhZjI2ZmVhOTBiOGRiNjY3NjQxMyIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiNjM0ODk4ZWNhYTE1OWQ3NDg1NDNjOTU0Y2NkNTAxZGNiMmRjZGFlMzE4YTk2Y2JhNDE3NWNmNTM0YTkzYjU5MSIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiMjIwZTI2OTMzMWFlNTY1MmJhMzE1ZWJhN2ZjNGU1YzE1YWE0OWEzN2IyMTY0Zjc2NGViY2JhMDU4MTlkYzI0MCJ9"
- },
- {
- "resource": "repo://src/app.rs#L430-L436",
- "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#L438-L457",
- "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#L459-L490",
- "version": "repo-lines-v1:sha256:885842d6f63043fbcf5c591add81a58c3216ed176aadc89bb23c76042527af03:eyJzZWxlY3RlZExpbmVDb3VudCI6MzIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImQ2Njg5ODM3ODc3YzUxMGVhYWU0ZDE5YmFhMjkxYWI0NmQ2ZDhjMGEzMGU0M2I5MjViNDNiY2I4NTc4ZTdlMDQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjE2MmVlNTdlNDFhOGMyMGFlMDE2NGRmMjYxNDM5ZGNjNDk5ZDM1MjA4MzQxNTE1MTZkMDQ3ZThkZWFlOGE0NjYiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImQwMjI2ZGQ4YmZkY2JkMDhlNjUxMjUzOGY4MmU5YWNiOTEyNzg2NTgwNDEwMmQ2YjRlMzQ4NmRmMjU4YjMxNmYifQ"
- },
- {
- "resource": "repo://src/app.rs#L1023-L1086",
- "version": "repo-lines-v1:sha256:c97db5fc22afa0f7a649b64cc9adfad1301d31a11a6024b3c54cf65fe46016df:eyJzZWxlY3RlZExpbmVDb3VudCI6NjQsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6Ijk0MTM1OGQzZmUwMGY3ZDM4YWM4MjNjMDc4OWNlZmU2NTNhMTE2YzkyZmNjNWMyYjYwNWY4ODA0MjA2MzRjYTAiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImQxZTM5MDcyMDkzN2I1OWI2MzAyZjNjZGUwY2Y5NzgyMTUxZjc2OTg0MDM4Yjc4ZjBiYzJmNjkxYjFmZTcwM2EiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImMwMDY1Njk0Y2MyNGUxNGQxNjdiNzI0YjgxNDZhNDIyYzI4MGUyNjE4MmNhNjFmMDVlMmQ2M2I1MTRiNTQxYjUifQ"
- }
- ]
- },
- {
- "id": "claim_045b183e6c6b444c84449e47227a98cb",
- "statement": "AI replies are discarded if both the global and per-chat autoreply were disabled meanwhile, otherwise sent and stored with is_ai true.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L506-L564",
- "version": "repo-lines-v1:sha256:20e1a027e2d853ac00e51605760fdd2bc3cb9bc4f976288e27576a8323a29479:eyJzZWxlY3RlZExpbmVDb3VudCI6NTksImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImEwMWQxYjkzMjk5YjRiOTc3ZWNiOGUzMWE0MDhmMWUxZjczMjA5OGY3ZmI4MjMxYzllOTgwMmJhNmQzNmRlYzciLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjQxN2NmMGY3N2ZlYjJiMGFiOWViN2M5NWUyZmNhZjQ5Mzg3ZDYyMjk4ZmYyZGE2ZGYyZGQwYmRlMWQwMGE2OGYiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjYzYjQ0YTU2ODZkYjM0MjNlMDVmOGMxOWMwYmMyNzlmMDA1NTE4NDJmMzgwZjIxMTM1ZTkzMTZhY2IwNmQ5ODEifQ"
- }
- ]
- },
- {
- "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#L191-L229",
- "version": "repo-lines-v1:sha256:b8e7258ce42c14156856b5548408686e166ef6c02cf336560ffc75ccd7ecf145:eyJzZWxlY3RlZExpbmVDb3VudCI6MzksImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjdmNTYzZjU4ZTBlOWQyYjgxMjgwMTZhOWEyZGZhMTU2YjgzNTM0NWYzOTkzYTVhYjdkNjVhNWU4ODFmMDg0Y2UiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjBhOGJlZTA0NjIzODBmZjdmN2Y0ZDZhYzE2MGViODRmYjk3YjgwZGRjMjM2ZGFmZWY4NTQ4OTYxYjcwZDQ4ZmQiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImU3M2U3ZTFjNDIxZDk5NzQ5ZWVmNzNjNjJiNmE4ODAyODhjNGNhZDM4ZTYwZWQyMTNjNmM1ZDI1ZjAyMDU3OGMifQ"
- },
- {
- "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 and the chat is still enabled; groups never defer.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L315-L364",
- "version": "repo-lines-v1:sha256:0f24c79bfda4f961235e5abf567bb77dfafce7f2765ead440107588291772518:eyJzZWxlY3RlZExpbmVDb3VudCI6NTAsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjMyMTY3MzlmZjBiNWNmNWE1YTZiNjY4NDAwY2RkNDZjMTY2MTQ3NjFmMGUzZmY4YzBjYWI0ZTkwMWM1ZTFiNjEiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImRhOWQ4MzUyMGI4MzFmNTE4YThlYzVjMTUzYmI1ZTE5ODgwNjI2ZWZmNjJhODRkNGVkMDkxNWNmMTNjMzI3NTgiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImNmMGY4ZWU3NGMyYmNhMjZlNTlmY2NmYjUzZmQyYWI2OGJjNzIwZTY2MGZiZjM3M2IwZjFhNTY4ZmIyNjBjOTUifQ"
- },
- {
- "resource": "repo://src/app.rs#L986-L997",
- "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 enabled non-group chat (all chats when the global autoreply is on) 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#L36-L36",
- "version": "repo-lines-v1:sha256:e4cb6140de212ef27ad95651543bae53cb782d2cd46e494db3057b17e46a2635:eyJzZWxlY3RlZExpbmVDb3VudCI6MSwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiZTRjYjYxNDBkZTIxMmVmMjdhZDk1NjUxNTQzYmFlNTNjYjc4MmQyY2Q0NmU0OTRkYjMwNTdiMTdlNDZhMjYzNSIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiZTRjYjYxNDBkZTIxMmVmMjdhZDk1NjUxNTQzYmFlNTNjYjc4MmQyY2Q0NmU0OTRkYjMwNTdiMTdlNDZhMjYzNSIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiOWRjMmZmMjdhMGM0NWJjOTE0NmMzMWI4ZTc1NWIzMjc3YjEyYTVjMjRkOGJiZGQ2N2Q2MWU2OTYwMWNjOWIxNSIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiZjY4OWU1OTZlNGI2YmY2YmM1M2M5NmMxYTdmMTk4MGY4ZDE1NTRhMDQ0NTAxMmI0ZDRjMDlhY2JmZjY2YmI3OSJ9"
- },
- {
- "resource": "repo://src/app.rs#L374-L428",
- "version": "repo-lines-v1:sha256:1b48cd00806f0dcaf496a0f9d76527769cfe0ca58e68ae4518b62289b190ab8d:eyJzZWxlY3RlZExpbmVDb3VudCI6NTUsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImM5ZmJjMjYxZDk1MDVkNTBjZTU1MWY4ZDI4OTQ2MTZjMWM2MGY3NTlhZTAwYTE1OWY4Yzg3OGVmMWJjM2Y2ZWEiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImJkYTA0OWEwZDljNDFjMmNjZGQ4OWY2MmQ2Zjc1OTA0ODBjNjQyZWI3Mzc5NTcwM2Q0MTQ1Y2I5MzQ2Y2VhZjIiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6Ijc4OTU5NGE5NzIzN2Y2NjVkMmU0Y2RhMTIyZmY1NTIyNzJjMjVmZTFhMTI0NmZjMGNkNjllMDQ4MjE2ZTNlYWMifQ"
- },
- {
- "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#L438-L457",
- "version": "repo-lines-v1:sha256:77c613038db86228ee90623150e68a8e459a6add92955e4833a1ac3e5f863adc:eyJzZWxlY3RlZExpbmVDb3VudCI6MjAsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImU0YTg3YjlhYzc5ZmRlZWFlMjkyODk0ZTMxNDQ3NzU4ZWQwYjdiNTFlZmMwMjJkN2YxNDhlZTU5MTY1MDY2N2QiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjFiYWU5M2RkYzVmMDAxZTlkYTEyOWJmNDgwOTM0NzBiNWVkOGYzYzc3Y2MwNjI0NmIyY2U5MTg3ZjEyMzRiNGQiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjA2ZWViM2RhYjZhYTAxODdiMjY5ZjlmNGY1NjUyODE3ZTljNDE0ZTQzZjQ1Nzc5OWY4YWJlMjliMjhiM2IzZmQifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L476-L497",
- "version": "repo-lines-v1:sha256:50ee4ad69b117378616ca21b79b698134c88777e95ce91db1351b2411baa697f:eyJzZWxlY3RlZExpbmVDb3VudCI6MjIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImZkNDcwYzIwOWRjNTFhNjVkMGE4MzYzYjE3ZmI5NGI2MTZiOTMwNjU4MTIxZTc3ZjFmMTcwZGU2OWEzMGZiYzEiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjFhZWNlZmYwMmE0Y2M3YzRkNDU0ODYxNjk0OTM2OTFmNzk3Y2U5ZWZkOWFhZjU1OTQwZGE3NWIwNWVhM2RiY2IiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjIwYzRkZTBiYjA5ZGM2YTUzMmVjOGUxOGQ0ODFjMGQyZWJjMDA3ODNlMzhiODk4MDMyNzJiMmY4ZTMwOTJhMzIifQ"
- }
- ]
- },
- {
- "id": "claim_bfe577e08f7e4f61bae3ac4b2b733930",
- "statement": "The global autoreply does not bypass the chat-type rule: should_reply still requires a private chat or group, so broadcasts, status and newsletters are never answered.",
- "evidence": [
- {
- "resource": "repo://src/autoreply.rs#L258-L282",
- "version": "repo-lines-v1:sha256:5c6b334c7ae6b4472da173dee6b729d06f5dcbdc994c15293c1090b8a2bbd3dd:eyJzZWxlY3RlZExpbmVDb3VudCI6MjUsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImI3MWJmYWRhZDk1ZTAyNzJiOTdkYmQ2Y2JjMzhkY2U5MWZlOGZiMDFmN2IwMzI3MzA4MDc3Y2U0M2IzZGI0MDIiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjJhOGZmNzc1N2U2ODI2MGYyM2Q1ODU0ZWFlMTExNDQ1NDM3MDNlMzE4MWQxMjIyOGU5MzRmOTM4NmQ1ZjBmYWYiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjJmYmE5MjI2NzJlMWM1MjY1NTMwZjBkYTNlN2RlZDBmOWQxZjUxNjY4YjJlMWMyZWI2MThlYWEzM2VlZmZkMDMifQ"
- }
- ]
- },
- {
- "id": "claim_f9d4f2290de14443a15f57c2419e65b7",
- "statement": "The global autoreply is persisted separately from the per-chat flags and toggling it does not change any per-chat flag.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L839-L856",
- "version": "repo-lines-v1:sha256:05cde78eab7927a8b5c33ce971f85c0e210ce60936eada88f8c9481585c1519e:eyJzZWxlY3RlZExpbmVDb3VudCI6MTgsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjlhMjY2MjVlMDNiMmE0MDg1NDg0YjQ2NjUzOTllOWRmOWFhZDQzYmVkNGQxNWFkODEwODMzMGIyMDhjNmM5ZTYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6Ijk5OWJkZWZlZWFjYTYzNDBlMDI5MGRjODZlODg5Yzg5ZDVlMTg5YWE1YmE0NGI1ODViM2I3MDczNGY0YTYyZDgiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImU2ZWQ1MmZlYjhjZTliMjNiYmNiYTkwMGFkYjk0MzE3MjA4ODNhZTk0ODY4NmQyNjhlNmRkMjFlNjljYTU3YjkifQ"
- },
- {
- "resource": "repo://src/history.rs#L285-L315",
- "version": "repo-lines-v1:sha256:7446cd3d43ecedda818c27075602eb8b9f1b3ef669ea39edf3a6c5520cc4bec3:eyJzZWxlY3RlZExpbmVDb3VudCI6MzEsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImE2OTlhMTQ5OTg2YzgxZjQ4OGYwMjQxMmU4Zjk0YjE1NjdhNWQ2OTEzZTNiYTg0NjJlMmFmYzY5NDJkYWYxMTMiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjRjZTNjZDVlMGE4OTI3NjIwMWQ2ZWU2OWE2ZGM4ZTEyMzgxNDVmMzEyYmE2ODQxZjUzMGYzNDQ0MmU0Njc2NjIiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6Ijk4NTAwNmMxYjY0YjM5MzI5ZWZhMmUxZmU2YTEwMWRiYzg0MTIzYjkxNjkyYjM1MjhjOTg4YzhhOGVmNGRjY2QifQ"
- }
- ]
- }
- ],
- "verification": {
- "by": "openwiki/0.7.2",
- "at": "2026-10-20T20:27:06.515Z"
- }
- }
|