terminal-ui.json 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. {
  2. "schemaVersion": 1,
  3. "pageVersion": "sha256:b917b7bf26bb55ba79b12fcf2c7cfe5936d6463a6bd9c6bfe7eed55735c000d3",
  4. "claims": [
  5. {
  6. "id": "claim_7b6015e24275488a85ba88dd065f2ff8",
  7. "statement": "render dispatches on app.screen to the connecting, pairing or main screen renderer.",
  8. "evidence": [
  9. {
  10. "resource": "repo://src/ui.rs#L109-L116",
  11. "version": "repo-lines-v1:sha256:44f3697b4f82d6e56108d5b16d3fe4449dc6bc389fe30877ba38781793fb8507:eyJzZWxlY3RlZExpbmVDb3VudCI6OCwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiMzg4NTBjODgzNDEyNTY0NDAxZDdlYmI3MWFkMDQ5NzVlMzc2NTA1NjZlNmZlMTU5ODNiZWYzOGVhNGFhMjdhMiIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDEyY2EzNDVjY2Y3NWJmOWMwODA2YmNlNjk1YmU4ZGU4MDhiNzk5ODQyNTFhN2E1NGQyMDJjZjYxMDFkZDQ1MSIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiNjE5YzdkZDRkNTVhMjc2YTc0ZTU0NzA4ODQ0MzQ0MjNlY2JmOGU2OTA5MWNkMjM2ODQ3YTQ5ZTZkNDlmYzAwNyIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiZmI5MWJlYzI2OWYxNGRiOGY2OGJmZjhjMTY2ODA4ODI2MDc0YjdmOGFjYmI0NWMzZDA0NTg4YTYzZTFlY2FhNyJ9"
  12. }
  13. ]
  14. },
  15. {
  16. "id": "claim_368f51c8da1140cab34f21cc704e2ad9",
  17. "statement": "The QR code is rendered with Dense1x2 half blocks, inverted colors and a quiet zone.",
  18. "evidence": [
  19. {
  20. "resource": "repo://src/ui.rs#L196-L205",
  21. "version": "repo-lines-v1:sha256:e126cd7576186dd9f80551b4f1e1c261f754331d72094cfe860fd19a77e2dfc8:eyJzZWxlY3RlZExpbmVDb3VudCI6MTAsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImRiM2MzZDFlMjNmYmFlNGQ1ZTA1NzMzMjEyNGEyZTk2MjM1NjNhMzBkMzZhYjA0YjljNzFlY2M0YmY2Mjg1OWYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImMyOWIxMTIwYWEyMmQwM2YwMzBmMjY0NGM3MzZjYWE0ZTZmMzQ2YThiOTBmMDNjNjFhNmE0YzU3YzE5NGMyNDQiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImEyYjI2MDBiMDc3ZWY2NGJmYTgyMGQ3OTc2NTAzMzFlNzI5YWRiMDdhMjhhYTY3OGE3ODQ1YmVlYjExMTNhMmYifQ"
  22. }
  23. ]
  24. },
  25. {
  26. "id": "claim_b1b936544af9430ba88b4e8f744f148f",
  27. "statement": "qr_block_lines shows a waiting, encoding-error or terminal-too-small message instead of the QR when needed, reserving PAIRING_TEXT_ROWS = 6 rows for the other pairing screen lines.",
  28. "evidence": [
  29. {
  30. "resource": "repo://src/ui.rs#L171-L189",
  31. "version": "repo-lines-v1:sha256:901c0f35f9f3bde71cdab5ca8d0e70c30ca4ce67e307e7e3ce30dd88c2e3fbf9:eyJzZWxlY3RlZExpbmVDb3VudCI6MTksImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImVjOGRiMTNkNzViMzQyZDExZDY0ZmEwNzg3MDFmNzYyODA0YTM3YjRjZDI5YzFiOTIyNGI0ZDEwODkwMzJmNjIiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImE1OTM3Njc5MWU2OTQ3NmY3YTA3MTg5NmRjMjViOTEzN2VmODQyM2UzZTk2MzQwY2NmYWMzMzIzZDQyY2E1MWUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImNlYmI2MGRjYjRjZTI4NzBjZWM3ZGE2YTk5YmI4MDk5NGIyYWIzYWQzZWI5NTc3ZTE2MDFmYjU0NzI3NjZlOWIifQ"
  32. },
  33. {
  34. "resource": "repo://src/ui.rs#L75-L83",
  35. "version": "repo-lines-v1:sha256:9a7bc406d13fbfacf35cdca1871d73120e0b3affae1156398765a95e61d28b33:eyJzZWxlY3RlZExpbmVDb3VudCI6OSwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiODY5ZTQzNDAyYjczM2JjYTlhOTNhY2EwNjg5ZGQ2ZjkxZjg1M2QwM2E4MDFlMDdlZDMwZGZhYmRkNGM5MDZjYiIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiZTVlMTc3OTA5ZTVjOGY3NmQ0NWUxMTkwNjNmNTA3MzQ1MDdhOGU1MzRiNDhlNTc1OTJiZTgzYThjYWRiY2U5OSIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiM2IzMWVkYmM1ZjI0MWZkZDJjMzA5MThkYmIwODE4YWFjYjRkM2FjZmI2NzgyMjRkYmQxYzBiOGI3ZTU0ZDcxMyIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiODAyNDcyZjBlOGYyYTA1MjI0NGMzYTAzNGU2MGYwOGZkZGNkMjVmYmRmYTg1NmI1NDgxMjQxYTAwYWE2NzU0ZCJ9"
  36. }
  37. ]
  38. },
  39. {
  40. "id": "claim_384af2bccc51497a8fdd4f57c013c30a",
  41. "statement": "The main screen splits into a 30% list pane, a messages pane, a 3-row input pane and a 1-row footer.",
  42. "evidence": [
  43. {
  44. "resource": "repo://src/ui.rs#L211-L226",
  45. "version": "repo-lines-v1:sha256:c7b573159910f69890eba199ba66af477c525be3a8732bcbcd2f9ba7be836466:eyJzZWxlY3RlZExpbmVDb3VudCI6MTYsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImM1NWUwYzhkYjY0N2Q0ZDUwZmM0MWY5Mzk1NjgxMmM5OTk4ODQ3NzZmYzVmMjZiOTM1Zjc1MDA1YjQ3M2U1YmUiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjUxODU3ZjE2ZjQ5MDJjOWNhZWM0MDU1NTgxYWI4ZWJiZjFhYzU0NGU3OTMxMjM2ZWY1NDAxOWVkYTkyMDlhNjMiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6Ijk2YmI0MWI1YThhOTczMmVhYjg5MTA4MWE4MDRmYjU2ZjEwNGRiYzAzNDVhYzAwOWQ4MzdhYzhiZWVhN2FjMzgifQ"
  46. },
  47. {
  48. "resource": "repo://src/ui.rs#L21-L25",
  49. "version": "repo-lines-v1:sha256:a7923bebee2f260c5af47c79d6806b55eaea291a6dec4b774e632ebeda8d2c45:eyJzZWxlY3RlZExpbmVDb3VudCI6NSwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiNzE3NmM0ZjA0MjI4MjkwM2Q5NzM2ZWRhZDZhNDUxYjhhYmNiYjY1ZmUyMzA5MmE0YWU3MGFmNmExZWE2M2NlYyIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiMzY1YmZhYzU2Y2FmYmFhZjllM2JkZjgzMjI4NjZmYjkwYWU3YzRiODA3NGFkYTYwZTI5ZDgzMjU4MGFmZmJjMyIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiNDY5YmE0NGY5YjdlOGJjNjFkYzY4YjZmNjJhMWVmZjNlNDlmZmY2MGEzOTc0ZTc2Nzk1ZWY2YWU0MzRkY2IzNiIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiNGRmYjU5MTYzOTA3ODIwMjVhZTcwOWFkOTYwZTYyMWIyM2UzMmI3NDU5NWQ4MzNkODkwYzNhNzM5YjE5NGZiOSJ9"
  50. }
  51. ]
  52. },
  53. {
  54. "id": "claim_a8294702ebdc481d89ab87061f3c5115",
  55. "statement": "The list pane shows the filtered chats or contacts, highlights the clamped selection and marks chats with per-chat autoreply with a green AI marker.",
  56. "evidence": [
  57. {
  58. "resource": "repo://src/ui.rs#L246-L265",
  59. "version": "repo-lines-v1:sha256:732f44ba82916dfa1b3ddde98a73ecbac245a78006147401460b3c1aa17b9b15:eyJzZWxlY3RlZExpbmVDb3VudCI6MjAsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjVhYWI1NDY2NTFmMTk2NDNiOTg2MGQzNjBkMmYyZGE2YmIxNTMyYzAzZGRkMzIxNGI3YTg5ZWFiOTFmNjgyZDQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjliZDEwMzhkZWZmODFiYWFlZjU0N2JjMGI2NTk5ODc3YTc5NjhhOWRiZDBkMWM5YzZkODFjOTBhMTJkM2UzM2YiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImJkYjk3MWM3OTZlNTNmZTE5ZDE3OTc4OWIwMDRlZDEzZTdhOWEzN2VhOGNkNGYwNmQ3NzgxNzQ0NmUxNDA5NzYifQ"
  60. },
  61. {
  62. "resource": "repo://src/ui.rs#L287-L302",
  63. "version": "repo-lines-v1:sha256:81e36f0dbffed3b264bf79086b294804a0e2423387d63ef243ec387746d2b84c:eyJzZWxlY3RlZExpbmVDb3VudCI6MTYsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjBlN2Q5YjRmZmQ1M2VhYjVmMjdhMmFiNGJlZGI5NWNlYzEyZTRlMTRlNTBjMWRhNTdhZWNlZjdlNTBlZDM1NTkiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjBjMmZiOGQ3YjJjMGMwNTI5MmVjNGM4ZWQ0OTYxMzk2ODgzZjYwZjdkYTQ3Yzk5NzdmZTVmZTU1NTMyMDM1ZDIiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImZkZTk5NjAxMDljZTU4NjlmNjRmNmFmNGMwNDYzMWU2MmU2ZDFlODU5MGYwMGNlMWNhZGYyY2Q0N2JkYmU5ZTEifQ"
  64. }
  65. ]
  66. },
  67. {
  68. "id": "claim_95ec27e07ddd44e9aedcef368b9d82ed",
  69. "statement": "The messages pane title shows the chat name and AI ON when the open chat's flag or the global autoreply is on (OFF otherwise), and only the most recent wrapped lines that fit are displayed.",
  70. "evidence": [
  71. {
  72. "resource": "repo://src/ui.rs#L316-L352",
  73. "version": "repo-lines-v1:sha256:c291029f490ad470710b3ac4482737631d1c35ee2eff8d99cde384408b75b573:eyJzZWxlY3RlZExpbmVDb3VudCI6MzcsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjMwM2M5MTRlZDU2ZmZiODJmYzlhZDJjZjQ0NDQxMzRmZDRhZTkyZTkzZmYxMTQ2NzZlOWI3NjI2NTUwZDVjMzciLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjBiOWJkNjEyZDA0MDhiOWE2NjFiNGQ4YzJkYThlNzk4OWRmYWIxNmVlOGEyNjBmN2NhMjI2NjBhODRjOWZiNDciLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImJlNWU3NzM0ZjZhNWM1NWJiOTExY2U5ZTNhYjgwYWExZmZmZjljN2FmODgzMTUwMzg1ZDg4ZTVmM2M5ZTJiOWYifQ"
  74. }
  75. ]
  76. },
  77. {
  78. "id": "claim_61d64691d97a4ae5be9769d54fb18229",
  79. "statement": "The input pane shows the tail of the typed text that fits and places the cursor when focused.",
  80. "evidence": [
  81. {
  82. "resource": "repo://src/ui.rs#L498-L528",
  83. "version": "repo-lines-v1:sha256:4af9cab79ebcb71cd601b44fe7a4b8fcceb1fe16ecac50a20ec643453b72d21d:eyJzZWxlY3RlZExpbmVDb3VudCI6MzEsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImM5YzFjMzliNjRjZmUzMjlkNGFjZmM2NTNlYTY1M2RmOTBiMGI5MDQ0NDJlMWU4OTZhMjFhMGUxYmY3ZDRkNjAiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjBjOTcwNjYzMjgxOGU3MzliNDJhYWZlZTA2OThlZGQ1N2RkZjc5MmM1ODcxY2I3ZGNiZTliOTBhYWU2YjJhYzEiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImEzYWY3MDc2MmFmY2NkYTcwOTEyZWVkMDUwYzlmZTlmNzVjNzg5YjMwMjVjM2NkOWRhYmMwYTBiYjhkODI1MjQifQ"
  84. }
  85. ]
  86. },
  87. {
  88. "id": "claim_6e28bf5fc8004ac8af3412b4f4979d5c",
  89. "statement": "The footer shows the bold status followed by dimmed key help, ending with F8:nuovo QR and F10:esci, in which the F4 global autoreply shortcut is highlighted green while the global autoreply is on.",
  90. "evidence": [
  91. {
  92. "resource": "repo://src/ui.rs#L53-L59",
  93. "version": "repo-lines-v1:sha256:e4d781d38913f5b6a3a88d3129ab6cd4b2bf1ce789788f7d6579fde3c6933237:eyJzZWxlY3RlZExpbmVDb3VudCI6NywiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiNWJiMDYzYTdlZmM4YTczMDVhM2NhNjliYjFkYjEyYTliMjg3NTNhNWM5MzY0ZmE1NTUzYWYyOGI1NDY0MTI1MiIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiMzAzNmQ3ZTQ4ZTI3NzExY2U0MTZjODAzMTcwMDUyM2M2OWU3NTk0ODIyYzBlMGVlYmRlZDZhOGVlZGUzOTBlMiIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiMjU3MWY4OTdkYmU1OGFhZDg5YTBkNzc1MWU0YTIyMTAwZGI5Y2UzYmI4MDllMTRmMjBlNWY4ZDJlYWQ3MGJhNiIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiNWIxODI3ODdlZjdmNzdmNGRhODk4NWY5ZmQ3NGZlMjI0ZTcwNmVmOGY4OTkwZDk3YTVmNDBkZjI3YmEwNDRhZCJ9"
  94. },
  95. {
  96. "resource": "repo://src/ui.rs#L530-L569",
  97. "version": "repo-lines-v1:sha256:8426065f9c38082dfffa5777f230a2765e62f51874d068acf5795050b19ef757:eyJzZWxlY3RlZExpbmVDb3VudCI6NDAsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImJiNzk4OWQ5NWQzZGZlM2YyODliYzI4Njg5OWNjYzAxZWI2YzVkNGQyMzZkNDU3Mjg4YjJiYTA4YjZkMWRkNGIiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjNhMzZhNmJkYjRhZWM3MTA3YmVjYTFmM2I1OWZhMDBlOWVkYzdlYWZmNmI2YjUwMDlhMzQ4OGM2MjZhMDdlYTUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjM2Y2Y4OGNhYmNhNDI4NjYzNTNhMGRhNDdjNWM2YmYxOTE2NDIzNDg2OGIxNmVmYzUxOTVhMDM4ZTViYTliZTgifQ"
  98. }
  99. ]
  100. },
  101. {
  102. "id": "claim_5981f11d4f3d4cde8e6db9b0344e6896",
  103. "statement": "Messages are formatted as HH:MM sender: text in local time, with sender Tu, [AI] Tu, the sender name or the JID user part.",
  104. "evidence": [
  105. {
  106. "resource": "repo://src/ui.rs#L383-L441",
  107. "version": "repo-lines-v1:sha256:c499132db2ac5eead3eb62f5ad7bab3b7f8d914d35adb23bfc5ca621870465f2:eyJzZWxlY3RlZExpbmVDb3VudCI6NTksImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImM3ZWNmMTZhOWUxM2QxZTA4ZmRhYmUzOGM5ZjU3MmMyZjRmNmUxYTkwNGNiODAxYWY3M2RlNzllOTczN2NhZjYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImMyZDgzZjgxYTNiOWQwZjYzMWZmYzlmMTg5ZGQyYTY4NWNhYzJmOGViODA3NTYwYWQxNzlkZTk2Y2NiNjgzMzQiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjQyOGI1ZWVjNDkzNDMxZWNmZGY2ZTIyZGVlMjc5OThhNDcxOTczN2Q1Mjg1NGI3MGEwZmM3MzUwZjViMjg4YTQifQ"
  108. }
  109. ]
  110. },
  111. {
  112. "id": "claim_80509b52509544d8bf534cba446060a3",
  113. "statement": "AI messages are cyan, own messages green and incoming messages use the default style.",
  114. "evidence": [
  115. {
  116. "resource": "repo://src/ui.rs#L371-L377",
  117. "version": "repo-lines-v1:sha256:9a0c35114d98982d540867094c84291c906d6d832ab746b9c4f2dec88b905a7c:eyJzZWxlY3RlZExpbmVDb3VudCI6NywiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiMDg0NDE5ZmQ0YjVmM2E4YzE4MTM4M2Q4NmQ5ZDc0ZDhiMWUyOWVlZjk5ZGMzNTM3ZGNhNjYzYzI1YjM2Mjk4YSIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDEyY2EzNDVjY2Y3NWJmOWMwODA2YmNlNjk1YmU4ZGU4MDhiNzk5ODQyNTFhN2E1NGQyMDJjZjYxMDFkZDQ1MSIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiZmVmNTliMjU3ZDI4Yjk0NTA2YTg2YTU0MmQyZThhOWNkODlkNDNjNmIwMmY1YTNhYmZjNWIzYmY2ZmJkZGE3YyIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiOWVlODhlMWI2M2U2ZWU3M2I1NDcyNTVjN2EyYzQzMzE1NjJkNWE2OGE1NDc3ZGRkMzY0OTZiMzc5ZmYxNWYxYiJ9"
  118. }
  119. ]
  120. },
  121. {
  122. "id": "claim_bb3094772f9e453aa6f81561c211199b",
  123. "statement": "Text wrapping splits on newlines, wraps by display-width characters and drops control characters.",
  124. "evidence": [
  125. {
  126. "resource": "repo://src/ui.rs#L447-L492",
  127. "version": "repo-lines-v1:sha256:e966afd08433fba747794711a95f264804c09ac9f81a7c818a6f80be9a2893ad:eyJzZWxlY3RlZExpbmVDb3VudCI6NDYsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImYwYTJhNzczNmUxMWZkOGUyYjYyYmViMWM5NjNjZjRjNWRmYmNiNTIzNDZkNDdlOTgzNTgwZmE1ZmY1ZjY4OTQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImNkNWU4MTdmODljYTM3MjE2NTg3NGM0OGRmNzBjMjRiZTc5YTkxZmQxODQyZWE3OTI0YTllZDQzMzg2ZDdlZDgiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImM1MjY1OTg3OTliMDNjYmQ4ODczY2RjNjRhOWJmOGE2NGQyOGMxNjhmNDkwYTMwM2ExZTkwY2U5ODkzMDc4ZmQifQ"
  128. }
  129. ]
  130. },
  131. {
  132. "id": "claim_6b210c0792f54e739fbe3b192f51fbd3",
  133. "statement": "In chat mode the list title appends a global autoreply marker when the global autoreply is on, and any list title appends the search label and filter text when a filter is typed.",
  134. "evidence": [
  135. {
  136. "resource": "repo://src/ui.rs#L246-L281",
  137. "version": "repo-lines-v1:sha256:fc4a9a5029ba905ce7fee869463b44f5f84ba4ff03c0566e28b38b850f9145bb:eyJzZWxlY3RlZExpbmVDb3VudCI6MzYsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjVhYWI1NDY2NTFmMTk2NDNiOTg2MGQzNjBkMmYyZGE2YmIxNTMyYzAzZGRkMzIxNGI3YTg5ZWFiOTFmNjgyZDQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjliZDEwMzhkZWZmODFiYWFlZjU0N2JjMGI2NTk5ODc3YTc5NjhhOWRiZDBkMWM5YzZkODFjOTBhMTJkM2UzM2YiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjQyZjY4ZGVhNTk5MTczNjlkNmMwZGJhNTg5NTZhNDI3OWYzMWJhNDMwM2YxNjY0Y2QxY2M1ZGNhNzVmODIxNDQifQ"
  138. }
  139. ]
  140. },
  141. {
  142. "id": "claim_b1dea223b7104bf29b27931738b2d194",
  143. "statement": "The footer reserves a right-aligned area exactly as wide as the version label and draws the build version there, dimmed, as 'v' + BUILD_VERSION + a trailing space.",
  144. "evidence": [
  145. {
  146. "resource": "repo://src/ui.rs#L549-L577",
  147. "version": "repo-lines-v1:sha256:d8e5581d97934ea27752d49d8ae47361b347d25a53b08c164b4f7a0f40518099:eyJzZWxlY3RlZExpbmVDb3VudCI6MjksImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImQ3NTc1MjJiMDY1NmVmYzZjNjcyNTk0MTJkZWFlYWRkNjY3ODAxZmFiZjEyMTFjMmIyZWM1NGY4NTJmZDBjMjkiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6Ijk2YTgwOWQ2ZjliZWQyNjAyNzhlYjI2ZGVjOGRmZDVjOWUwMDVhMzAxNzI4MmU1YjNlMmZhYjZkOTBiMGZhYWIiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjdiYzk4ZDZiMGRjNDkyYzUwMTZkZjEwODA1YTNhNTRlYjljMTg0YTVhNjEzN2U3ZjRiZWNmYTBjMjIwNTUwZDAifQ"
  148. },
  149. {
  150. "resource": "repo://src/ui.rs#L60-L65",
  151. "version": "repo-lines-v1:sha256:dc21562a3695c6a131645edbb4347b667e125c8e42450e3629835edc7ef58958:eyJzZWxlY3RlZExpbmVDb3VudCI6NiwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiOWEwNmNhOTM5ZTU4YmY5ODk3ZjcxMTQzMWU4MGQ0Mzc3NWYxMWRjZjAxOGVjYjA1Yjg2NTlhZDRkMjhmZDE0ZCIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiMDBjYjlkMmVkNTFiZDg1ZjA4M2Q0ZWFjYTBjZmViNjJkZDQ0ZTNhZTdmNWQxYjZiOTYxYzQ5NTgxNWEwMDQwMiIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiMDJiNGUzZDFhN2IxOTVlYzQyYzg5Mzg5OWI4MDA5NDU1ZmM2YzIxMzQ0MzYxMTMyZTViOTIxYWIwMmYzYjQ5YyIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiMjdlMGVmMGY5NTkwNDBmMzI2YzcxYjJmMjdjMzI3NDQxNDVjZTJiNjBmZTcyNTgzMjAxMDI5MTM1YTIxMDBhZCJ9"
  152. }
  153. ]
  154. },
  155. {
  156. "id": "claim_67181b4f819d4c5aba2c4103f451fd11",
  157. "statement": "The connecting and pairing screens end with a dimmed key help line 'F8: nuovo QR F10: esci'.",
  158. "evidence": [
  159. {
  160. "resource": "repo://src/ui.rs#L118-L150",
  161. "version": "repo-lines-v1:sha256:32c76a9c419a51d559868af240c4f04704b23815070694dcef8f71467cc59f08:eyJzZWxlY3RlZExpbmVDb3VudCI6MzMsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjI1NDA5ZDQyNWM0YzFmMjcwMzFmODBjZWQ1NTAwMjM0MDNkNzU5ZGVlZmZmNGM1NmRlZjJlZjVjYjg5YzEwNzQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjE5ZTc2MzU1Y2YxMTk5NDgwYzNmOTk4MzZiMTQ4NmM4NDFkODkxZmFhZDkwNGM2MDhlMDkzMDIyZDM3NTdhZWUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6Ijk2NWU2YjJlMjQzNWU2ZTMyOTQxMTZhNjdkNjljMjQzMmE4OTg4ZjYzYzM2NThlZGZmNmY5NjRjZDQ3OTc1ODMifQ"
  162. },
  163. {
  164. "resource": "repo://src/ui.rs#L80-L83",
  165. "version": "repo-lines-v1:sha256:24618465d6f9712cc3e763cb836db3bd623dc52d4ad0d775603e70ddab265989:eyJzZWxlY3RlZExpbmVDb3VudCI6NCwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiYzg4ZTY2N2EyZTJlOGE4ZGNhZTU3NDNkYTg5NzE1NmVmZGM4OGY5ZDM0MzdlYWI2MjQ3OTg4OTFkYTEwNThjOCIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiZTVlMTc3OTA5ZTVjOGY3NmQ0NWUxMTkwNjNmNTA3MzQ1MDdhOGU1MzRiNDhlNTc1OTJiZTgzYThjYWRiY2U5OSIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiOGE3MDgxMDljMTAzNDU4MjdjMzM1NjY5MzIzMzMxYzQxODI0MWM5OTVjYWI0NmI0ZTU5NTJlMThmMTBlMDkxYyIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiODAyNDcyZjBlOGYyYTA1MjI0NGMzYTAzNGU2MGYwOGZkZGNkMjVmYmRmYTg1NmI1NDgxMjQxYTAwYWE2NzU0ZCJ9"
  166. }
  167. ]
  168. }
  169. ],
  170. "verification": {
  171. "by": "openwiki/0.7.2",
  172. "at": "2026-10-23T21:26:24.156Z"
  173. }
  174. }