| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352 |
- {
- "schemaVersion": 1,
- "pageVersion": "sha256:90d3dc1c89e757fdbd947c7d787a70192a1f423ea5575b17fd0b0cb5cfe6e505",
- "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; F3 targets the selected list row with list focus and the open chat with input focus.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L1391-L1427",
- "version": "repo-lines-v1:sha256:0186ad31b1302456cd660841125a254c3e2f46e2074372b97855046cd705d5de:eyJzZWxlY3RlZExpbmVDb3VudCI6MzcsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjBjMWZhZjI0NjQzNTZlZjY0NzAyNjI4YzM0MGYyOGNhZDljMjY3OGYxMTViNTAxNDZkMGMyNTBmNzhmZDk2NWMiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjkzNzNhMTgxNzI2YzQ3ZjdjNzlmOTI3ZDI2NzhhYzQ3NjYzY2VhMzI1OGYxOGEwNTM0ZTg2NDVlYmFlOTlkMGUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImUzZWNmNGIzNzRlN2M0ODFlZjUzODQ1Y2Y1YjlmNDI5MDk3NmQxYTlmNDlkOWY5NWJjNjIxNWEyY2VhMDYyOTAifQ"
- },
- {
- "resource": "repo://src/app.rs#L1963-L1976",
- "version": "repo-lines-v1:sha256:76ea2311dd543d33bf1c52b4cee8997184cb67643a8ba3b2f715abf2fea34667:eyJzZWxlY3RlZExpbmVDb3VudCI6MTQsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjA0NDI0MGFiOGNkMTM1NDE2ZTQ5MjMyYTEzMGIzYzlkYmI2NWZmYzg0OGNjYzY3OWJhYTQxYWQzNjY4ZTA3MjQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjE5ZTc2MzU1Y2YxMTk5NDgwYzNmOTk4MzZiMTQ4NmM4NDFkODkxZmFhZDkwNGM2MDhlMDkzMDIyZDM3NTdhZWUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjhkYTViNjcyY2ViZDYwMjY1YTM5NmE4NTAxZmMwMmEyYzg2YTZkNWJkYzMyNzRlMGQyZDA5ZDYwMTJhY2Q1ZTgifQ"
- }
- ]
- },
- {
- "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#L64-L113",
- "version": "repo-lines-v1:sha256:2c5bff97825cbfe1e0822d2f2450e3d71e38f9eba0e4ba5d78ce48dd225acc29:eyJzZWxlY3RlZExpbmVDb3VudCI6NTAsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImRlNzAzNDZhYmE0OTZiOTAzNzI1MTY5OWQzY2YyNDAwNmU0ZGYyMDM2N2MzNDRiZjllZjkyOWEwMjJmYTRjZGYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjIxNTY3ZTI1ZmQ3ZTExMzc3YmU4NDk5OTc2NDEzOThhYzRmZTMxNTBiNzE3OTA4NjNiNzc0ZTAzYmNiZGM0ZjkiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjE2MzhiZmQ4ZjNiOGY1OTQzZDQyODJhMmY3MGQ0ODBhOWE5MGVkMGE3ZTA1ZWQyOWNmMWE0YzRjMzZkYWJkN2IifQ"
- }
- ]
- },
- {
- "id": "claim_01e8cc3ee34a49b6a579c25728a8efa1",
- "statement": "Only newly saved messages reach maybe_autoreply, which requires an AI client and system prompt and treats the chat as enabled when the global or per-chat autoreply is on.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L531-L578",
- "version": "repo-lines-v1:sha256:25898277ac10619d92709af2d4e7204132d29205e0a7f7d7888b7f4f15606eed:eyJzZWxlY3RlZExpbmVDb3VudCI6NDgsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjBlYWIwYmIzYTMyYTBlZGUzMGY0ZTk1MmQ1MjcxYzRhMTgwMTZjMGU4Y2M4N2VhYmE1ODA1OTYyZDNjOGE4NTYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjgyODRmZjk5YWRlYTg2MmRlOTFhNTQwZTNjOTcwNzc4NWU0ODY1ODg2YjZlOTFmMzFiNzdmNzdlOGQzNzI4OGMiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImI1YjUzYzQyYTJjZjU2YmRlZWIxOWJhYTZhZjdhYTQzZmRkNjFmN2VhNTQzOGVjOWRmYTAwYjc0Nzg3NWM1ZGQifQ"
- },
- {
- "resource": "repo://src/app.rs#L904-L906",
- "version": "repo-lines-v1:sha256:2f717e0ab27c971d848f3c4b787b63e1843cdddb271adaa95d5811bab8ccb1c6:eyJzZWxlY3RlZExpbmVDb3VudCI6MywiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiZjZkNGY2ZDY0NTVjYjVlMWJiMTEwOTU0NzU5ZjliOTU2YzhmMTU5YTE1NTExZjVkODZhZTZhMGUwMGMyMTQzMiIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDg5M2Y0MGUzNzgxZWI4OTZjODJkMDQ2YTA4MDY3YTExZTM1Y2RmMmYxZGZhZjI2ZmVhOTBiOGRiNjY3NjQxMyIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiYWE0OGNmOWNjZDU2MDljYjc0MmQxYjNkMmY5MjIyNmYzZjQ2YjU4MWE3Zjk5YWM5N2Q4NDdmYTBjOWQ5MWI3OSIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiOTEyYzE5ODI4NjExZDJhZjdmZWFmNjQyN2ZmNzE0MjFiN2JhMTU4MzM5OWY0YWU5ODBiMzJkNThlNDUzYTJiYSJ9"
- },
- {
- "resource": "repo://src/app.rs#L1033-L1035",
- "version": "repo-lines-v1:sha256:a9005f55bfc9d8f0fe3bcd2d8af41d7200648c575a982bd6184e0a709f666f1d:eyJzZWxlY3RlZExpbmVDb3VudCI6MywiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiY2ZhYjYzNzAzMWNiMGJiMTEzOGI0YjQ2OTE3MDhiNjRhNzA3MTQ3NTZhMWExYTQzZTE0NGZmY2MwY2E2NTllMCIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDg5M2Y0MGUzNzgxZWI4OTZjODJkMDQ2YTA4MDY3YTExZTM1Y2RmMmYxZGZhZjI2ZmVhOTBiOGRiNjY3NjQxMyIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiYTZjZWVhMWQ3YmU1MjdlYWYxYTAzZTNhYWU0MjQwYjg3ZWQyZDg3NzI1YWIxNzQyZmNlMjRmZjczNTE2ZTllMiIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiYTZlYTYzN2IyZDc3YWVjZjY1Y2EyOWFjNTgzOGQ4NmRmNGEwODM4NTdmMDQwM2U5OWM2NWU3NzQyMzI5NDMwYyJ9"
- }
- ]
- },
- {
- "id": "claim_4d8d74d736ed4ca19a1d0de711c9f12f",
- "statement": "should_schedule requires no reply already pending for the chat, the chat enabled, an allowed sender, a private or group chat, a timestamp not before process start and non-blank, non-placeholder text.",
- "evidence": [
- {
- "resource": "repo://src/autoreply.rs#L188-L197",
- "version": "repo-lines-v1:sha256:1b2ab043319224b4a08306fe10e69a7a41bd99836ab89ee9cbb0c1a1f49fbf28:eyJzZWxlY3RlZExpbmVDb3VudCI6MTAsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImRhNjA3MDVjZGJlZjdmYjI4MGZmYjZkOTRhM2YyNTBhOGRmNTAzZGVhNTgxZGZhMzU0NTM4NTM4ODJhYjc3NTEiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjU0ZWYyYjYzZjg4Njk1ZTc2OTIzMjVmMjE3Mzk4NzJjMDhiNTgxNjdjY2YyZWM2NTY2MGYzMDJkOTMyYTEyY2EiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjhkOWU4ZmE2ZTkzOTA1ZTQwYzdmNmM4YWM2NWRkNTQ4MzQyNDQ3M2I1MmMxYWUxMDE5MGIwNGNmNzI4ZTZiNWEifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L247-L271",
- "version": "repo-lines-v1:sha256:bbcff26d49ec29313b51b2a51c2d5df2f8c9ed3f715d9fc6b4af559d93b7a68d:eyJzZWxlY3RlZExpbmVDb3VudCI6MjUsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6Ijc3OWM1NTkxNmMzNjZmZDdhNmU2ZTYwZmE4MDVjOTYxZGExYjVhNDFhNGJkMDk0MDkwZjZkM2YxODc5NTJkMTIiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6Ijc3MDE1ZTdkMThiMDkxMTVlZjkyMzU2NGJlMDQ3N2IxODllZTViYWI2ZjdkYmI4ZDg5NTZkMjQ0M2YwMjFmOWIiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjJmYmE5MjI2NzJlMWM1MjY1NTMwZjBkYTNlN2RlZDBmOWQxZjUxNjY4YjJlMWMyZWI2MThlYWEzM2VlZmZkMDMifQ"
- }
- ]
- },
- {
- "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#L154-L186",
- "version": "repo-lines-v1:sha256:32e4689dd25915397864463e71677879f2543d73b615303632cb241a548e433b:eyJzZWxlY3RlZExpbmVDb3VudCI6MzMsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjBjMzM4MTNhM2RiZmNlNjRmYzY2MTk0YmVlY2NlNDQxMjgxZjBiMTBkYjkyMzJjMmNmMzQ4N2NiMmExOGExZDgiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImQ3YTcwYTRiOGY2ODNiMmVhZGFlYzIyYWRkYzU4NzY3ZDUwZDAwZDlmYTQ0OTU0YjQzOTY1NTdmZDMwZWU3M2UiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImI0ZTI0ODc3YWIzZWIyYTI0NWE4ZWQxOTJiMDIxNjI5MjE2N2RhN2ViMDRlM2Y1Y2MxYjQ5Yzc1MjEzMzUyYjQifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L299-L315",
- "version": "repo-lines-v1:sha256:daeb52efe3c35b1565aea1badb2260d9cfb4caef892ee11755af3f03d40c0788:eyJzZWxlY3RlZExpbmVDb3VudCI6MTcsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImRhNTE4MDYxM2Q4NjEwNGE4Zjk1N2FhYTI2ODI4YjBmMjQ2NTk3ZTg4M2UyMzk3YTc3NDEyMzVkNjNhMTkzZmMiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjE5ZTc2MzU1Y2YxMTk5NDgwYzNmOTk4MzZiMTQ4NmM4NDFkODkxZmFhZDkwNGM2MDhlMDkzMDIyZDM3NTdhZWUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjBjNGVkNWUzYjNkYWRhZTk2YzQyZDg5ZDk2MTBkNTYyMmY5ZTkxOGI2ZTU5ZTQ2ZDMzNzUzMjNiNTNmNGJmMWUifQ"
- }
- ]
- },
- {
- "id": "claim_aabba3ec6866414a832790bbba7669db",
- "statement": "A scheduled chat stays pending from schedule_reply until finish_reply, which runs after every AI outcome, so messages arriving during the wait or the generation schedule no additional reply.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L352-L360",
- "version": "repo-lines-v1:sha256:00767085b96f8924c277929b72de9745e84060a578a404e5382f4fe6e07a3b7b:eyJzZWxlY3RlZExpbmVDb3VudCI6OSwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiNWQ4YjIxOTEzNzM3OTM3Zjk1YTUzZjNjODY4MzdjYmFmZjcxZWZkMzQyOGUwMzc0ZWQ0ZTFkZTM4ODczODVjOCIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNTUyMmM0MmNkMTljNmQwM2Q4MDhjNDUyNzIwNTUyODI1YjdlYTFjNWI0OTFiMjE4NTExY2FjNzQxNWNmOWQ5YiIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiYTA5MzYwMDY0NjVjYWQ2YzlkM2JmMGViMWQ1ZTFkNTNhMTIwN2FiN2JlMGEyZTRiMDc0OGNmMmE0ZGI1MTExMiIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiZmY3ZThiZWFmYzVhNjZlNTc3ZDk0MmMyNWZiNWYzOWE0ZTRjZGRlMTJkODg3NjBlZmM4ZTE1Y2U4OTEyOWEwNiJ9"
- },
- {
- "resource": "repo://src/app.rs#L585-L588",
- "version": "repo-lines-v1:sha256:dd72c631d7b9707b384154ff042bea6cc03745c04b4c6aa82dd6b8d77676a250:eyJzZWxlY3RlZExpbmVDb3VudCI6NCwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiODgxNjNhYjZmYzg4NDRiMTBjZWNhZTQ3YjVlYWY5YmYzNjg5NGRjMDk0N2IzYjAxNmRkYmRlODI5MTc2YjNiOSIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDg5M2Y0MGUzNzgxZWI4OTZjODJkMDQ2YTA4MDY3YTExZTM1Y2RmMmYxZGZhZjI2ZmVhOTBiOGRiNjY3NjQxMyIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiM2ZiYTBkNGUwM2NhZGQzMTgwZmNhZDlhYzRiZmZlZGNhOTU5ZTY1MDUwYjI3YWFmYzA1Mjc2MjUxMDE4MzI4NCIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiMGZkOTUxZjMzMzEyYjBkYjE5OTA3M2NkMjM0MDgxYzczMzI0MjFmNjBmNGM2ZDgwMDdiZTZiMzVjMzA4NjE0ZSJ9"
- },
- {
- "resource": "repo://src/app.rs#L883-L898",
- "version": "repo-lines-v1:sha256:ca8594a3de60f6943b74187223fab353c0af7a724cf3ef68f1d2f06141510c59:eyJzZWxlY3RlZExpbmVDb3VudCI6MTYsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjNmN2EzMzI2Mzk4MGZiOTQ4OGI5NDcyZTI4ZGU0NjE4ZWVjMzc3MTE2ZmFmZDViODZlNmUzYTZhZGVjYjM2YTEiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjRjZTljYzQ1ZjFjOTkzN2IyMGMyZmJjOTM3YmUxN2QxYzhhMmU0MTdlMjUwMDI2ZjM4MzU3N2MyY2ViNGRkN2UiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImNmMGY4ZWU3NGMyYmNhMjZlNTlmY2NmYjUzZmQyYWI2OGJjNzIwZTY2MGZiZjM3M2IwZjFhNTY4ZmIyNjBjOTUifQ"
- }
- ]
- },
- {
- "id": "claim_e5cd4fb182a34e47aec8344c6682627c",
- "statement": "build_turns starts with the system prompt, an optional 'Oggi è <date>.' line, then the chat line and role note (only the self-chat note in the self-chat), 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:eyJzZWxlY3RlZExpbmVDb3VudCI6MTUsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImJkYTIxOWRlYzM3NjlkNDZkZjMxMmE5MzYzZGFhZmI5N2IzMGQxMTRkNWE0NGY4MmY4ZmNhZjJmNTJlNWY1NzkiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjdjY2U3ZjMxMmFjMmQ5ZmMzNGFlOGJjZDJhM2RkZmNiNGVjNjEyNDM0OTBjNTYwMDVhZmJmZmE4ZGM5ZjFiMTgiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImZkMGM2MzgyNzI5ZDA4ZTE0NGQ1NmJiNWJlNzAwYjMzMjEzMTMyMjAwNzQ3ZWI3M2JlYjc0NTAwOTlhYjg2Y2UiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjM1N2I1ZjVkNWU3MTlhMDlmOTM2OGE5OWI5MzEwZTU2YjM1YTI1NDNjYjE2MGE2NmJiYzIyNjgyOTM3Nzk5ZWEifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L317-L450",
- "version": "repo-lines-v1:sha256:99a36b8a7917973178f949421f5c633f1b93bf83efb1559ce7915127743e9d65:eyJzZWxlY3RlZExpbmVDb3VudCI6MTM0LCJmaXJzdFNlbGVjdGVkTGluZUhhc2giOiIzZTBiMjBmNDZiMWYzNDE5OGQ3NGE0N2I3ZGNiZDUxZjI5NzhmYjNhM2YyNWE2OGQ0YzE1NzA3YTUwNTI0NjVlIiwibGFzdFNlbGVjdGVkTGluZUhhc2giOiI0MTJjYTM0NWNjZjc1YmY5YzA4MDZiY2U2OTViZThkZTgwOGI3OTk4NDI1MWE3YTU0ZDIwMmNmNjEwMWRkNDUxIiwicHJlY2VkaW5nQ29udGV4dExpbmVDb3VudCI6MywicHJlY2VkaW5nQ29udGV4dEhhc2giOiIxOWU3NjM1NWNmMTE5OTQ4MGMzZjk5ODM2YjE0ODZjODQxZDg5MWZhYWQ5MDRjNjA4ZTA5MzAyMmQzNzU3YWVlIiwiZm9sbG93aW5nQ29udGV4dExpbmVDb3VudCI6MywiZm9sbG93aW5nQ29udGV4dEhhc2giOiI1NGJhMWQ4NGE2YjE3M2RlOGMwZjhlNjNlZTgzNTFhOTE2ZGUyYTNlYWViZjFhZDBjZjA1YmExN2JiYzY1YjdjIn0"
- },
- {
- "resource": "repo://src/autoreply.rs#L506-L527",
- "version": "repo-lines-v1:sha256:f9c597463e1fac233f311f33358ed9a949831e38776f7c9d0d8965be5952272a:eyJzZWxlY3RlZExpbmVDb3VudCI6MjIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImFmMDViNzI5MDFlOTRmOTRjNzZmMmI3YjY0YjU5YjlmMDg3M2JlNWFiY2ZhYTBlY2ZhMWU0NTk3ZDE4MDJhZWMiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjFlZWQyZTI2YzY2Mzk5ZjM4YWRhOGY4MDMxYzA4ZTZlMTYzNjdlOWE3NzNkNjYzMTUyZDI2NDI4ZTMyNzZjYmMiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjdiYzk4ZDZiMGRjNDkyYzUwMTZkZjEwODA1YTNhNTRlYjljMTg0YTVhNjEzN2U3ZjRiZWNmYTBjMjIwNTUwZDAifQ"
- }
- ]
- },
- {
- "id": "claim_3e40d76522d14d6a8010a842c8b4d312",
- "statement": "Before a reply, audios in the context without a transcription, at most the 3 most recent, are transcribed first (the reply follows AudiosTranscribed, which then describes the postponed images), and images in the context without a stored or in-progress description, at most the 5 most recent, are described (the reply follows ImagesDescribed).",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L702-L725",
- "version": "repo-lines-v1:sha256:a257dd09ef5fad9478ec541c5e5e2b908a11cdc448654986a2150099337f2e63:eyJzZWxlY3RlZExpbmVDb3VudCI6MjQsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjE2N2NhYmY5MDc5Njk4OWRkMTE4ZmVmZjZmYjJhNzI0ZjE5OTAxMjJhOGYzNmQxNmEyM2E5MDU5ZjdiNzEzM2EiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjQxZjkzM2MwZjY2NWU1OWJiMWU0ZTk5NjBmNjA2ZGVjMjM1YjBiYzA2ZGM0ZTUwYmYwZGUzNTI5M2E2Nzg0NmEiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjM5YzEwY2I0YTNhZmI3NWE4N2VmNmE4MmZmYzVhMjBiZDZiN2U0ZmQ0NDRhMmNjMWRlMGZmZDg3MjljODQzZGUifQ"
- },
- {
- "resource": "repo://src/app.rs#L830-L875",
- "version": "repo-lines-v1:sha256:2da3a90f0f2862e08e4c2b56a2b26f8f018449d7b0112fc46e11f214fbeca676:eyJzZWxlY3RlZExpbmVDb3VudCI6NDYsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImJkYmFiZjFkNjI2OTdjZWE2NTk5ZWQyNjg5MDQzY2RhYzAyOWUxMWQ3NWIwY2U4MTRlYWVkNzhjZTk2Zjg5ZGMiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjNiOWQxNjk5ZDM4YTRkZDQ3ZjgxMGFmMDViYTIzZTM2N2NiNTE5NzljODAxM2Q3YTZmYWQyYjAzY2Q0MzA0MTEiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjBhN2YyNDA4YTExOTJiY2VmZTI0ODJhNTg2MGM1MTVhMmQ4NGIxMzQzZTE1ZDdmMGVmNGRhMTA0YzY1ZTJiM2EifQ"
- },
- {
- "resource": "repo://src/app.rs#L934-L964",
- "version": "repo-lines-v1:sha256:a6beeca1efcc61a62e317b875ec0455fe4adfd64a193fd9393c5b484952ab986:eyJzZWxlY3RlZExpbmVDb3VudCI6MzEsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImNlNGZiYTJmZGY0ZTk4MmNjZmE1ZThkYzBmOTA1ZWQ2NjVhY2E1YzgxZWZiZjRjNDNlMjAwMGQ5YjBlYTBhN2QiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImI2MmYxYzgxNDE1YjNjNTQ5ZmRlNjE3MThkZDRiOGQ0Nzg2MzU5MjEyNWI1NzEwMDZkODhmODkyYzc3NDgxNjUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjIyMGUyNjkzMzFhZTU2NTJiYTMxNWViYTdmYzRlNWMxNWFhNDlhMzdiMjE2NGY3NjRlYmNiYTA1ODE5ZGMyNDAifQ"
- }
- ]
- },
- {
- "id": "claim_045b183e6c6b444c84449e47227a98cb",
- "statement": "AI text replies are discarded if both the global and per-chat autoreply were disabled meanwhile or the owner wrote by hand after the answered context, otherwise sent and stored with is_ai true.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L1107-L1169",
- "version": "repo-lines-v1:sha256:dc263d71dc225c968c33c780874494b82440bfd214546483d0aef9fd6a02bf46:eyJzZWxlY3RlZExpbmVDb3VudCI6NjMsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjBkNzQ1Mzc3ODY0MzI0MmZhZDE3MGZhNjcxNTUxYTJiYjI4ODM4Y2M2NmQ5ZjMwZWNkODhjZTNmNjFhYjRlMGEiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6Ijk5OWJkZWZlZWFjYTYzNDBlMDI5MGRjODZlODg5Yzg5ZDVlMTg5YWE1YmE0NGI1ODViM2I3MDczNGY0YTYyZDgiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjYzYjQ0YTU2ODZkYjM0MjNlMDVmOGMxOWMwYmMyNzlmMDA1NTE4NDJmMzgwZjIxMTM1ZTkzMTZhY2IwNmQ5ODEifQ"
- }
- ]
- },
- {
- "id": "claim_66877f18a3ca434fa2dc9b5857ba48b9",
- "statement": "The reply is sent reply_delay_seconds after the first unanswered message of a chat: a timer task emits ReplyDue after that delay.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L1655-L1665",
- "version": "repo-lines-v1:sha256:be3fc24d7db22727c3dddd8c5116b8fd64a13c8a473f99818b61f3bb6ac76204:eyJzZWxlY3RlZExpbmVDb3VudCI6MTEsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImMxMmIwOGNlNWY0N2RmY2RjMTQ1MTA4ZDFkNmQ2NzhiYTllNDhjZjBmMGY5YzdiYTBhNzMxYTkzMzFjYjc2ZDMiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjRjNjg0ZTk4OWVmNzk4ODJiNmIyOTMwNDdiMTJiNDg4YjkwNjlhYmUzMzc2ZTVhNTNhOGEyZTI5YjY4ODcyMTAiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjA1ZDJlYmFjZThlMTE0NjAzZTYyZDc1YjVmNmRjODFjMzJiMzgzMmI4YjBiMGUzZDVhZDY0OTMyMDQ4YTZkMzgifQ"
- },
- {
- "resource": "repo://src/app.rs#L580-L588",
- "version": "repo-lines-v1:sha256:df493befb56dd10251865172577fc5c0bae10fe73f070b409398d5734657fd5f:eyJzZWxlY3RlZExpbmVDb3VudCI6OSwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiMjVhYmM1NWJiNzAyNjM3YTU5MGU3ZjU3ZjVlNGQ1ZDI3MTc5NmYzNmY4YWQxNzM5ODI3NWZlZThlOWY3ODM4NCIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDg5M2Y0MGUzNzgxZWI4OTZjODJkMDQ2YTA4MDY3YTExZTM1Y2RmMmYxZGZhZjI2ZmVhOTBiOGRiNjY3NjQxMyIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiOTk5YmRlZmVlYWNhNjM0MGUwMjkwZGM4NmU4ODljODlkNWUxODlhYTViYTQ0YjU4NWIzYjcwNzM0ZjRhNjJkOCIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiMGZkOTUxZjMzMzEyYjBkYjE5OTA3M2NkMjM0MDgxYzczMzI0MjFmNjBmNGM2ZDgwMDdiZTZiMzVjMzA4NjE0ZSJ9"
- },
- {
- "resource": "repo://src/config.rs#L42-L43",
- "version": "repo-lines-v1:sha256:3841a56ef56846ac61df41e175eaa085bd0d61eea8f2b034ebc6e5737f160c6e:eyJzZWxlY3RlZExpbmVDb3VudCI6MiwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiMDZiYjVjMWVhMTg4OTM2NGMyMzE4M2JjYmU1ZDY2YjhmNmMxNTVlMjgxMGRmY2JkZTc4NjY5ZTBkZjhkN2YzYSIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiZDcxNDZlZjZhMzU1NWEzNTk2Y2EyNzZlMDU0MmExN2Y4ZGNmOGMxNDY5MjNlZmZiNGNkOTBlOTZmM2Y1YjRjZiIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiYWNlODhhMjI1Nzc5MzI5MWRhYzNiM2E5YmUxMTVjODQ2MDM2NmU3ZGNlODM5NTNiYzZkNTI5NzdlMDc3NjNhNCIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiZmZlNWFjNDU3ZTA5MTNkNmMzN2UzMDkxZGE4MWNiYzg4MzU0NDRlODk0MjA1Njk1ODQ0NGM4MzkxNWE1M2YxYiJ9"
- }
- ]
- },
- {
- "id": "claim_aa50de18f27a4f1ba952016d6c32b9f0",
- "statement": "When the reply is due it is dropped if the autoreply was disabled, the AI is missing, the chat is empty or the latest message was written by hand by the owner outside the self-chat.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L680-L725",
- "version": "repo-lines-v1:sha256:15f93324b5c3304cece9ae39892bf0620866af782fe276ac9cb827e11f6c89cb:eyJzZWxlY3RlZExpbmVDb3VudCI6NDYsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjIxMGU4Y2Q4NGRkNGVlMzUzOTU2ODAxODRjZTNlYTEwZDlhMTI3Mjg1Yzk2MDVkY2RmNDJiZjkwOWJkMDZlNjYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjZjMThiNWFhYjhlMGE5MGZhY2E2ZTI5ZmMwYjdmN2NiZDQ0NWFhN2MxZmQyNzA2YjQ4M2ViMDU0ZjJkNjU1ZTkiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjM5YzEwY2I0YTNhZmI3NWE4N2VmNmE4MmZmYzVhMjBiZDZiN2U0ZmQ0NDRhMmNjMWRlMGZmZDg3MjljODQzZGUifQ"
- },
- {
- "resource": "repo://src/app.rs#L914-L926",
- "version": "repo-lines-v1:sha256:7ecf503d147e02720d6b1181aff0c941477154a712db724f4f85db692d7aadbd:eyJzZWxlY3RlZExpbmVDb3VudCI6MTMsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImIxNjE1NThmYWRiMWZlYjc4NjlhNTk4NzEzNzMxNTk4YTMyM2Y1NWZiNTFhOGY0NTA3OTAyOTlmZWE5ODljM2UiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjI0M2Y0MzIxMzM1MDhkOTFhODZlMWI0Mjc2Y2YyMjgwN2MyMzhlMDIxZDk3ZTJiNDFmY2U0NDU2YTIzMzZiMzQiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjNhMzhmYjI3YWI5N2YyMTc1ZGQ0MDc1NDhmMTcyMGUxNzMwYzY4YjA5ZGI1M2MzZTZiZTQ4OGQyYjMzMzMxZmYifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L237-L245",
- "version": "repo-lines-v1:sha256:e449aa643a18bfc13c65470f8160c3d49e5fc14fad1a09a5a427b0337ee2c354:eyJzZWxlY3RlZExpbmVDb3VudCI6OSwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiNDc3NWNlNjg3YjU5YjZlZTJkYjRhOThlZTgwOGIzNDEwNThmOWRjNTY4NDMxYjg2NDA2Y2NhMjVkMzdkNGM2MiIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDg5M2Y0MGUzNzgxZWI4OTZjODJkMDQ2YTA4MDY3YTExZTM1Y2RmMmYxZGZhZjI2ZmVhOTBiOGRiNjY3NjQxMyIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiMzZjYmYyODkwNTIyYmM3ZmQ4YzgyM2M4NjczYThjZDcyMDFjNWE4NDI4Nzg0ODRjNjI2NjljMWNlYmNhNWRkYiIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiZjZhMWQ3MTgwMWZlMmYwNzkwNjkwZDA3NjczMjAxODY5MDRhODZhYmQzNGNhMTk1ZmMwZjhkYzJkYjlhMzc0OCJ9"
- }
- ]
- },
- {
- "id": "claim_d8b08d3eeb4d432f82bfd00abc49cbd2",
- "statement": "On the first OfflineSyncCompleted per process, catch_up prepares one reply without delay for 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, including its offline images and audios, and reports the count in the status.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L970-L1027",
- "version": "repo-lines-v1:sha256:c43af5df86c402afe0390574efa8d5408228a57e12985a9f712e1691b2f8c63b:eyJzZWxlY3RlZExpbmVDb3VudCI6NTgsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjJiYWY4NjRiNzJmMjM1YjJhNzAxNzllOWRiZTlkYTg1ZmY0NWM1OTg4YjY1MTUzNmQyYjNmMDM0MzRkMTA3YjgiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjJkOWY0YzAxNDlmZTYwZWNjMDY0NDU2Y2VhNTgwNWIyMmI4YjgzZTljYzY0YzVmZTc3YzhjZDNjMzQ5ODg1OWMiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6Ijc4OTU5NGE5NzIzN2Y2NjVkMmU0Y2RhMTIyZmY1NTIyNzJjMjVmZTFhMTI0NmZjMGNkNjllMDQ4MjE2ZTNlYWMifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L284-L296",
- "version": "repo-lines-v1:sha256:978337272e69a0817dc2c97ec4cf141555c1153662f4d02558b1f314701d2555:eyJzZWxlY3RlZExpbmVDb3VudCI6MTMsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjMwOTdhNjIzNjEzOTc1ZTZhZGVhNzc4Y2ZiZjAyY2RhY2ZmMjIxMzBlZWNlMTA1NGY5MTZiMjY4MmE4MjYyYWMiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjlmOWZkZjU2MjAyM2ZlMGUwZTk0ZDE3YmZiNjg5NzA1YzM4ZGU5YTcyOTE2ZDMzNzhjNzAzNTAwYTFmY2E2MjAiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjhjYTUwMTNjY2ZiYWFhNGY4YTdiMmRlYTU1MDU2NTRhN2VmN2ExNGVmNTZhZGI3NzEyNGM2Y2NkMWVhMWNjN2UifQ"
- }
- ]
- },
- {
- "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#L1037-L1044",
- "version": "repo-lines-v1:sha256:7c77ded5ac6d33c39416f329b08cebb428d4745fd351bf74af8942d0b7a7ca02:eyJzZWxlY3RlZExpbmVDb3VudCI6OCwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiNTUxNGM3ODU1Zjc2MTlkMWNmNzRmYjkxNzViOTNiMDc1ZTAwMGFjNTA0MjFlMWRmMWQ0Nzc4NWQ3NDkxYTdmOSIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDg5M2Y0MGUzNzgxZWI4OTZjODJkMDQ2YTA4MDY3YTExZTM1Y2RmMmYxZGZhZjI2ZmVhOTBiOGRiNjY3NjQxMyIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiMWJhZTkzZGRjNWYwMDFlOWRhMTI5YmY0ODA5MzQ3MGI1ZWQ4ZjNjNzdjYzA2MjQ2YjJjZTkxODdmMTIzNGI0ZCIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiNmZlMTlkZGI5ZjIxNTk1NWQzNzM5NjBlODk1MTI1ZGE0ZmYwYTYwNTAxMGY1ZmVmYWExYTI2ZDE0NWQ4NmNkMiJ9"
- },
- {
- "resource": "repo://src/autoreply.rs#L473-L494",
- "version": "repo-lines-v1:sha256:50ee4ad69b117378616ca21b79b698134c88777e95ce91db1351b2411baa697f:eyJzZWxlY3RlZExpbmVDb3VudCI6MjIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImZkNDcwYzIwOWRjNTFhNjVkMGE4MzYzYjE3ZmI5NGI2MTZiOTMwNjU4MTIxZTc3ZjFmMTcwZGU2OWEzMGZiYzEiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjAzYTEwMzdmMDcxOTYxZmIzYjEzYTdkYWZmNjlhY2MyYmFiODEwZmU4YmRhMTZhMmIyMjcxNTU0MzcxNGNjNzUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjIwYzRkZTBiYjA5ZGM2YTUzMmVjOGUxOGQ0ODFjMGQyZWJjMDA3ODNlMzhiODk4MDMyNzJiMmY4ZTMwOTJhMzIifQ"
- }
- ]
- },
- {
- "id": "claim_bfe577e08f7e4f61bae3ac4b2b733930",
- "statement": "The global autoreply does not bypass the chat-type rule: meets_content_rules still requires a private chat or group, so broadcasts, status and newsletters are never answered.",
- "evidence": [
- {
- "resource": "repo://src/autoreply.rs#L257-L271",
- "version": "repo-lines-v1:sha256:3500de003e15b84a4a4ea0d82efa712d262694653367bfa7e0ba301b46eb3133:eyJzZWxlY3RlZExpbmVDb3VudCI6MTUsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImVhYjdlMDgxZWM2YWFmNTMwMmViYzE1MWJiYTc0NGYxZTI5MGU5NzllNGQxN2Y4YjQ3NjMzNmZhNjk2NzQyNGUiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjY0ZDMxNTc4NWMxODA1YWU3YzEzYzUwZWEyZjhhN2E2ZTcyYjNiMWVhOGQxNjgxNDIyMzYxYWZlNGRjNDIwMzEiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjJmYmE5MjI2NzJlMWM1MjY1NTMwZjBkYTNlN2RlZDBmOWQxZjUxNjY4YjJlMWMyZWI2MThlYWEzM2VlZmZkMDMifQ"
- }
- ]
- },
- {
- "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#L1501-L1518",
- "version": "repo-lines-v1:sha256:05cde78eab7927a8b5c33ce971f85c0e210ce60936eada88f8c9481585c1519e:eyJzZWxlY3RlZExpbmVDb3VudCI6MTgsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjlhMjY2MjVlMDNiMmE0MDg1NDg0YjQ2NjUzOTllOWRmOWFhZDQzYmVkNGQxNWFkODEwODMzMGIyMDhjNmM5ZTYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6Ijk5OWJkZWZlZWFjYTYzNDBlMDI5MGRjODZlODg5Yzg5ZDVlMTg5YWE1YmE0NGI1ODViM2I3MDczNGY0YTYyZDgiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImU2ZWQ1MmZlYjhjZTliMjNiYmNiYTkwMGFkYjk0MzE3MjA4ODNhZTk0ODY4NmQyNjhlNmRkMjFlNjljYTU3YjkifQ"
- },
- {
- "resource": "repo://src/history.rs#L287-L317",
- "version": "repo-lines-v1:sha256:7446cd3d43ecedda818c27075602eb8b9f1b3ef669ea39edf3a6c5520cc4bec3:eyJzZWxlY3RlZExpbmVDb3VudCI6MzEsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImE2OTlhMTQ5OTg2YzgxZjQ4OGYwMjQxMmU4Zjk0YjE1NjdhNWQ2OTEzZTNiYTg0NjJlMmFmYzY5NDJkYWYxMTMiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjRjZTNjZDVlMGE4OTI3NjIwMWQ2ZWU2OWE2ZGM4ZTEyMzgxNDVmMzEyYmE2ODQxZjUzMGYzNDQ0MmU0Njc2NjIiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImQ5YzdmYzM1ZDBjZDRiYzE1MWI4N2I1Y2IyMDhiZjEwYjM5NjA5MmY4YzMzMmJmZjNmN2ZiNWUwOWNhZWRjMmUifQ"
- }
- ]
- },
- {
- "id": "claim_fd5c7a184d1e434a85a1c63419bbadce",
- "statement": "After a reply, if a newer message that passes should_schedule arrived after the answered context, finish_reply schedules one new reply keeping the media received meanwhile.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L1770-L1772",
- "version": "repo-lines-v1:sha256:f837e4630ef0ee6fe89e07bf810f5851838ae48e227e0659b648d4ea480392fa:eyJzZWxlY3RlZExpbmVDb3VudCI6MywiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiNTk5ZjgxMThmMmE5ODIzYzNmZDQwNDcyYjlhMmUwNDE1ZTRhZGQzMWQ5NTkwNjE0NzY3MzlhYjk4YWIyNTUxMCIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDEyY2EzNDVjY2Y3NWJmOWMwODA2YmNlNjk1YmU4ZGU4MDhiNzk5ODQyNTFhN2E1NGQyMDJjZjYxMDFkZDQ1MSIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiNGQ4NDkzOWY4ODU5NjI0YmY1NGNiOTdjYWJjMDE2ZjRhYmY3OTU0YWUwNGU0MTVmODUzMjQ3ZTRmYWY2Zjc3ZCIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiNDlhNTk5ZGY5ZDUwOWVhMzBiNDMzZjkzYjY4ZjE4ZGQ1ODY2ZDVmMGJjMGMzMGEyMTU1OWFkN2U4MWM1ZmMwMCJ9"
- },
- {
- "resource": "repo://src/app.rs#L883-L898",
- "version": "repo-lines-v1:sha256:ca8594a3de60f6943b74187223fab353c0af7a724cf3ef68f1d2f06141510c59:eyJzZWxlY3RlZExpbmVDb3VudCI6MTYsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjNmN2EzMzI2Mzk4MGZiOTQ4OGI5NDcyZTI4ZGU0NjE4ZWVjMzc3MTE2ZmFmZDViODZlNmUzYTZhZGVjYjM2YTEiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjRjZTljYzQ1ZjFjOTkzN2IyMGMyZmJjOTM3YmUxN2QxYzhhMmU0MTdlMjUwMDI2ZjM4MzU3N2MyY2ViNGRkN2UiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImNmMGY4ZWU3NGMyYmNhMjZlNTlmY2NmYjUzZmQyYWI2OGJjNzIwZTY2MGZiZjM3M2IwZjFhNTY4ZmIyNjBjOTUifQ"
- }
- ]
- },
- {
- "id": "claim_4cb6835327794c709466ce1c02eda889",
- "statement": "Voice notes and images become factual texts in user turns: images use their stored description when available, otherwise an 'image you cannot see' note, followed by the caption.",
- "evidence": [
- {
- "resource": "repo://src/autoreply.rs#L29-L41",
- "version": "repo-lines-v1:sha256:a7df1e8151fbc9518136df20c28d749dbefa6d916debc172216697f30e6a8fd6:eyJzZWxlY3RlZExpbmVDb3VudCI6MTMsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQyMDQ3NjYzODdjNzE0ODkzYjdiZTA0YTBjMzdiM2RiYmMyM2MyMGU3YjJmMzgzZWFiNjc3M2RlMzQyMDMxNmIiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjBmZmRmOTQ2MGJlNGM0MjliMWVmYzAxNGM4MzdlY2I3ZWQxZTY0ZTQxMjIwMTQzYWY2NmM2MGM4ZmIzNzAxNjciLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImY1NDhiZWY1MzdjMDk5NjEzNDNhYzg0YTM5MTI2Nzk5NDhhMDQ4M2UxZWNiYmNmNzBiNTc5ZGZjNDljNjYzOTIiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImMzMjk0YzZiYjNiNjMzNThkNGEwOWI1ZGZiYzM4ZDljZmFkMzU4ODU0YzI4MzhkY2M2Mjk5ODQzYWZiMDFkNjkifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L344-L387",
- "version": "repo-lines-v1:sha256:d5ff8e0615e8b48256c14bd7751292dd94626fd4c21d40b36d73c5e2f3cb8740:eyJzZWxlY3RlZExpbmVDb3VudCI6NDQsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjZjNDVmNTRiYjMyMGQzN2U2ZjZmZGJjYTUzMjBlMmYyNjI1ODJmODkwNzlhYmY1ODJjNjI4MjgzOTM5Zjg2ZjciLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImY5YWU5MTBkNzg0M2M3YWNhZWUxMGFhMDhhMGE2ZGRhYzFhZjhjMWExMjc5ZDQ2MTRhOGNhODViOTgxMmIwODkiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjQwNWQ4YWU3NjdiNjQ4YzZmM2Y4ODE1ZDZjODQ1MjFiOTQ5MWVmZTEyNmRiYTVmZjU0MWIyMmJjNWY3YjllNWQifQ"
- }
- ]
- },
- {
- "id": "claim_37fd6eca27b74d1eb20276bf635feac0",
- "statement": "Mentions of the account owner's number or LID in message texts are replaced with @[te] before the turns are built, without matching longer numbers.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L1056-L1077",
- "version": "repo-lines-v1:sha256:861a0689d2b7c1c987c57b17528c56c211837f1c8e9b48cd0f48336dd10a790a:eyJzZWxlY3RlZExpbmVDb3VudCI6MjIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImZkMjA2ZWQ4NGMzNGNhMWE0ZmNmZmQ1NmFlOTBiNDgyZDIyNGM2OWQ0ZmRlMDY4MmI2MTllODNlMDRlNWJhYjYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjA5OTBjZDRiNWVmNTk5ZGQ4N2ZhYTJjMzdjOWQyODMxZjY1ODFlNmQ0MTI3ZjE2OTAyY2U4ODZkZTQ5Y2JmMDciLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImQwMjI2ZGQ4YmZkY2JkMDhlNjUxMjUzOGY4MmU5YWNiOTEyNzg2NTgwNDEwMmQ2YjRlMzQ4NmRmMjU4YjMxNmYifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L165-L176",
- "version": "repo-lines-v1:sha256:50d1a6dfe10b9769d40a33924bcb0bf9d4aa264c3e7775b149a95cc7fa629e6e:eyJzZWxlY3RlZExpbmVDb3VudCI6MTIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjM4NmEyNGE3ZTg2NTVkY2M2ODIzMDg0NGM1ZGNjZTA5ODgzNDU1MzFjOTZlNjdjZTIxOTZkMjU1Mjg3NGM2MTMiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImRiZjcwNGZiMzY2MTg3NDdmNjJlYTQ1M2MxMDg3ZGNiMWVjNDZlYmYxNmJjNjFmMDg5MWZjMjhkZGNiMDgzYTIiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImY4OGMyOWJiOTczMDg1Yzk0N2E2NWRmM2MxMjU0NTI3ZTA0MGFiZWFlMmM2MzM3Mzc3ODA2NjA4NDYwNjVhMmIifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L452-L470",
- "version": "repo-lines-v1:sha256:f29ce1456f6f024610ce3451390a2628cdfaa7dd0c5dd12018ebc6aa2f78a1ab:eyJzZWxlY3RlZExpbmVDb3VudCI6MTksImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjFlNmM4N2FkOGEyMmJiNTMzZmQ5ZjQxZDk2ZTkyNTFkNGUxNTZlY2Q2YjIwNjcxYzVhZmYxZDM2ZTk3YTVjOWIiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjRlY2UxMWZmY2E4ZmJlZmViODgwZjI2MmI2MTJlZWM0Yjg5MTc5NGZkMWU4YTY2NjY2MDgxYjQyYWZhYmM2N2IiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImU5NmY4Y2IwODNmYTgwMGE0ZGNkMjk2OTcyMmQ3YjkyNjg2YWRkOWViZTM2NTU0OTJmYTY3MmIxYTdjZWQyNDIiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImY0MjhjZjIyZDEyNTUyYWNhNmU1NWVjNzM2ZDQyMWExYjA4ZmIwZGY4NzU3Y2Y4MjIwMTJkMDMxYWY0Y2NhYjMifQ"
- }
- ]
- },
- {
- "id": "claim_aa274cb1145a4194b4f510ea3fb7f9c3",
- "statement": "Image descriptions are stored only when their message still exists; failed descriptions leave those images undescribed and set a status with the failure count and first error.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L1774-L1782",
- "version": "repo-lines-v1:sha256:a271b225aba65e2765d3d7b1ab0f8a02114cdf60cf3a5298066b80ba40c06576:eyJzZWxlY3RlZExpbmVDb3VudCI6OSwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiZmI5YzZkZjEyNGI2NDgxODMyZDk5NTgyMjRmNzFjYjRjZDJjM2Y3YTU3Njc1OWQ0OGM5NjBkZDNmZTE4OTliZCIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDEyY2EzNDVjY2Y3NWJmOWMwODA2YmNlNjk1YmU4ZGU4MDhiNzk5ODQyNTFhN2E1NGQyMDJjZjYxMDFkZDQ1MSIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiZjk2YWY2OWU3OGEwNDBlNTAxNjM2YjMwNDhkNGVjNTQ2Yzc0OTU1ZTEyN2IyY2M5OTU4MDFiZDI2YWM2NjZkZSIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiOTViMzliZDc5NmMyYjVjYThiYjhjMWEzNjUzODk5NzY5MGE0OTE5ZDY5NzVlNGMxMGZiMWE1ZGE3MGU1Mjc3OSJ9"
- },
- {
- "resource": "repo://src/app.rs#L784-L816",
- "version": "repo-lines-v1:sha256:49bdb09f74d399910bca1c218286bf995bae8e8457efe83cb97034814f6d67d5:eyJzZWxlY3RlZExpbmVDb3VudCI6MzMsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImJkOGRiMTAzNzg3MWI3NGU1OTVmYTZhZThkNjAwNTE4NDIyNDNkNzJkODZkNDM2OGUyZGU1OWI2MTdkYWM2NmIiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImJhMGM2MzVlMzlkMTFmNTgyOGE1Mzk1MzhkYjE0ZTdlNzU1YWFiMzlhZDNhNzljYmM0ZTFmZTQ4ZDgyZGZmYzIiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjBhN2YyNDA4YTExOTJiY2VmZTI0ODJhNTg2MGM1MTVhMmQ4NGIxMzQzZTE1ZDdmMGVmNGRhMTA0YzY1ZTJiM2EifQ"
- }
- ]
- },
- {
- "id": "claim_d7ecd7ebb6e94bf093bec3de37a63db1",
- "statement": "Each media download (image or audio) makes up to 3 attempts, each abandoned after 60 seconds, waiting 2 seconds times the attempt number between attempts.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L1811-L1858",
- "version": "repo-lines-v1:sha256:b0f4c6798d97128a8721a067c8b836f5c71583de7b58ebdd10d60b683f0e944e:eyJzZWxlY3RlZExpbmVDb3VudCI6NDgsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjJmNWJhZjEwNWExMDViNTk0MjMyNjIwYzMxMGFlZWJmOTYyNzMwMjIzMmY2OTVhNGM4ZWQ4NmRlMzI1YmVmN2YiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6Ijk0M2IxZmMzZTY5ZTA3NDk5NTEzYjJlZTRmNTYyZGMwZWM0MTkzN2EwZTVlNTQwYWFhODAwNTAyOWEzMWU0ZWYiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImU4MzE5MzEzYWQ5OGM5ZTYxMjViMjE3ZTNhMWVlNDc4MzQ4N2EwNWYyMGI5ZjQ1MmFiYzM2OWQ0MDBmODMxNDkifQ"
- },
- {
- "resource": "repo://src/app.rs#L78-L85",
- "version": "repo-lines-v1:sha256:f10417291b9d10b83650107ab69d41f81c507b42f7c0e929eb19a135e58454eb:eyJzZWxlY3RlZExpbmVDb3VudCI6OCwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiZWIxNzBiYmI3MzI2NmFkYjU4ZmZkNDVjMTk5ZTIwNGM0N2Y0YWI0ZjU5OWJhN2IwZjU5OTZiODIxZGQzYzhmNiIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiZDEwYjU5YmJmMDhjN2M2MmE0YzllNjQxYjNjODc5OGU0ZjFhNTQ0Yjc5MWNkMWE0NmM1M2FhN2NhZmJkNWEwNyIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiZmM0YTFmYzc0OTU1OGMxMzYyNGRmZjI5MjFlNWVlODgzNGJmMThhMGIzMzBhMmJkMGQzOGJiNzMyNGE3MjA0OCIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiYzhkMTA1ZjI4ZjVmMWMwMzFmYTE3MjY3NDE4MDgxN2NkZWUxZDJlODBiZmRiNWM4MzUzOWY3YTFhNzY5MGUwYSJ9"
- }
- ]
- },
- {
- "id": "claim_688b76332f0f4c86bb98d3bde215ffa2",
- "statement": "When the configuration files change, the reloaded configuration replaces the current one and the AI client is rebuilt, while replies already running keep the previous client.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L457-L474",
- "version": "repo-lines-v1:sha256:11076b2b498b6d19b7a0629886f2cdb37229105049de848490f4e1d9faead710:eyJzZWxlY3RlZExpbmVDb3VudCI6MTgsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjVhYTEzNjY2OGNiMzc5NzgyYTUwMTY4ZDNlOWM4Njg4MmM5YTBhZTAxOGQwNTZiNTEzZWU2ODA5OWYxNjc3YzYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQ4OTNmNDBlMzc4MWViODk2YzgyZDA0NmEwODA2N2ExMWUzNWNkZjJmMWRmYWYyNmZlYTkwYjhkYjY2NzY0MTMiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjVmMjAxZDg2ZGM3NzY0YWFmOTA5MGNhNDRkODcxNDM3Y2JiODk4ZGE5ZWJlMGU0ZDhlNjVlNDZiZDJkZGVkYjQiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjAyNjE2ZDk0ZDJmZDg4NWViMDZhMGFmZjVkYjQ1YWUyOTdiMWQ5NzViYzU0MjRlZGIyYWUwZmE2NzZkMzE0ZTYifQ"
- },
- {
- "resource": "repo://src/config_watch.rs#L15-L40",
- "version": "repo-lines-v1:sha256:39a3d9ca14f3c3010ef0a2fadf3e6a8ecf8749be831215006c0808392cb62813:eyJzZWxlY3RlZExpbmVDb3VudCI6MjYsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImQ3NGMwOGQzMzg5NGUyMWQyYzBmNTMyMDkwYmQwNjFjNDNjMzg1ZDU1MzkwMmI0MDkwZDkxZjJjZDY3M2VjMWQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjE1Y2VkZDkyMzY4ZGI1MDMwYjUxMjQ3ODcwODlmY2FmZTI5YzhmOGQ4MjExZDA0MTE4ZmM4MTViYWM1MDBjOWEiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImI4MTU5NjA0YjAyZjI1MGMwMzAwZTljNDQ5ODlmMzMyYjA4N2RjN2UxODAxZGI5Y2IyMmM2ZWM5YzdmMjUyZjIifQ"
- }
- ]
- },
- {
- "id": "claim_4f2a611ca9724dc695eab88785604e8e",
- "statement": "start_reply passes today's local date, formatted by today_label as dd/mm/yyyy, to the system turn, which then contains the line 'Oggi è <date>.' right after the SOUL.md prompt in both normal chats and the self-chat; an empty date (unresolvable local time) omits the line.",
- "evidence": [
- {
- "resource": "repo://src/app.rs#L1066-L1073",
- "version": "repo-lines-v1:sha256:471b36477292b80954d5676400af2fe9d587622bf05569430909329eab31b024:eyJzZWxlY3RlZExpbmVDb3VudCI6OCwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiYjRlOTM0MDVjYjg2NmUxZjI1N2U1MTliZmM2NTcxMGZiYWE4ZDY2NWQ3NTlhMWNlODFmMTAxNDYzZDA4ZTk2NiIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiYzVjZGVmODA4NWFlNzRhYjYzNmQ2NDU5ZjVjNmQ1ZmJmYjBkYjI2NGYxYjBkNzViYWM1MTljOWIzZjY3MTdhYyIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiNDc3MTQwNzkwYjI5YzQ0NzNiNWE1OWE4MWM4MDIxOTRkMmFjZTA3N2RmOTI5YzFjNDY5OGYyZmQwZjRlZTlkZiIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiNzVjYTY2YWQwMDA5OGQ0ZTc3YzE2MzM3M2UwNWNmZmM4M2YwYTVlZmY4ODkxODM0ZjliMGQyNWZiYmY0NzMzYyJ9"
- },
- {
- "resource": "repo://src/autoreply.rs#L429-L450",
- "version": "repo-lines-v1:sha256:239ac0647e61654099b2ded7ef2421495ce1a43e4009d9d4edb2da55b0105707:eyJzZWxlY3RlZExpbmVDb3VudCI6MjIsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjkxMWU4YjYyZTMzYmM0ODQxYzg2YTUyYmJmZDQyNGFlNDFlMGJiZWE4MjQyMmQxMGUwZDIwYjlmMzA1ZmI0MGMiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImMxYWI1Y2IzMzk1OGUzM2FiM2VlMGY2NjEyZjA5ZWQ5YzhhOGZjMmYxZTY2NWZlMDljNDljYmI5M2NjM2Y3NTkiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjU0YmExZDg0YTZiMTczZGU4YzBmOGU2M2VlODM1MWE5MTZkZTJhM2VhZWJmMWFkMGNmMDViYTE3YmJjNjViN2MifQ"
- },
- {
- "resource": "repo://src/autoreply.rs#L49-L53",
- "version": "repo-lines-v1:sha256:49f702e8bf33b82a9043beef7df1bae0c3a6ac85f2cdd66c258d64eb69734dae:eyJzZWxlY3RlZExpbmVDb3VudCI6NSwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiZmI0NGIyZmFmOTFlMzMwYmNhM2M1ZGY5NDBiMTlkOWRlODc1MzA5YTExMzc0Yjk0ZDU2YjgzN2ZhNzliYTcyMiIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiMTA5YWNiODQ0YWIzODRjNzU1ZmZlNTlkMjdiODM3MDIyZDkxNWJiZWM3MGZlN2Y3NzY4OWZmMGE0Y2IxZmIxMiIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiOWFlYzlkMzMxMmU3ODZlNGQzZmRhMDJhNmFiMDMxZGJkNTE4NGNhZTRkYTFjMGM0OTY4YTViZWQyNjcwN2E0MyIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiZDQyYmNkNzZjM2RhZTFiZTkxMjY5MWFlMjNkNzQ2OWNiNTdjNTY0MjIwM2M5NjhkZjZiYTdjYWE5NTI2NzRjYSJ9"
- },
- {
- "resource": "repo://src/autoreply.rs#L496-L504",
- "version": "repo-lines-v1:sha256:09923dabc8705a7632eb9839bef45c7a3904cfa871fcb7c2f6826b3202dd7d17:eyJzZWxlY3RlZExpbmVDb3VudCI6OSwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiMjViYTQzZDg2MzlhYTJhOTQzNDRkYjkxM2E0YTNmYWRiMDJjMTcxMzU1MzdmMzQ0MzY2MzkzMmZkZTgzMWUxZiIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDEyY2EzNDVjY2Y3NWJmOWMwODA2YmNlNjk1YmU4ZGU4MDhiNzk5ODQyNTFhN2E1NGQyMDJjZjYxMDFkZDQ1MSIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiNjc0MmY0Yjg1ODVjYzZkNmMyYWI3N2JhNWY0ZWEyZjQ5ZDE3MWIzNGY1YTEyN2ViYzg3NTZlZTM5ZDY5MjhkZCIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiMjBjNGRlMGJiMDlkYzZhNTMyZWM4ZTE4ZDQ4MWMwZDJlYmMwMDc4M2UzOGI4OTgwMzI3MmIyZjhlMzA5MmEzMiJ9"
- }
- ]
- }
- ],
- "verification": {
- "by": "openwiki/0.7.2",
- "at": "2026-10-25T12:54:53.684Z"
- }
- }
|