terminal-ui.json 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. {
  2. "schemaVersion": 1,
  3. "pageVersion": "sha256:eb7c2669295905bf96daab195c90293901323fe1eed705c26815286ac5ba1d32",
  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#L97-L104",
  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#L182-L191",
  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.",
  28. "evidence": [
  29. {
  30. "resource": "repo://src/ui.rs#L161-L175",
  31. "version": "repo-lines-v1:sha256:f70009d551400b4459543b770a01bcb4ca2cfec3c41a6bd11efe47faa57a3e59:eyJzZWxlY3RlZExpbmVDb3VudCI6MTUsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjlkZDQyYTM5MDMyYmQ1ODhiZmNiMTM5NjgyMGY3NmI0ZmIyMmNhMDY3YWU2OGNkZDdjYzhmNjZiZjgzMjMzNGQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjkzMzJjMDRlNjVmOTMyMGRkNzNjY2VlM2IxOTBiZDZkNThmYmE3ZjhmZTEyNzg4MDA3MmRiNmM5YTMwZjg0ZjMiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImNlYmI2MGRjYjRjZTI4NzBjZWM3ZGE2YTk5YmI4MDk5NGIyYWIzYWQzZWI5NTc3ZTE2MDFmYjU0NzI3NjZlOWIifQ"
  32. },
  33. {
  34. "resource": "repo://src/ui.rs#L65-L71",
  35. "version": "repo-lines-v1:sha256:58a07a9e2caaa4d0fabbb6bb1f5c5dd0d18f3dc926d96b302fa8bdfc5e33644c:eyJzZWxlY3RlZExpbmVDb3VudCI6NywiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiODY5ZTQzNDAyYjczM2JjYTlhOTNhY2EwNjg5ZGQ2ZjkxZjg1M2QwM2E4MDFlMDdlZDMwZGZhYmRkNGM5MDZjYiIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNGE0ZjM4NDMzZDI5ZmNhNjFmNjJiZTc3NmU2ZGEwNDVhMDZlYjQ0MGI5MzQ5ZmQxYTQ5MjY0ZTgxMTY5ZGMwOCIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiM2IzMWVkYmM1ZjI0MWZkZDJjMzA5MThkYmIwODE4YWFjYjRkM2FjZmI2NzgyMjRkYmQxYzBiOGI3ZTU0ZDcxMyIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiODAyNDcyZjBlOGYyYTA1MjI0NGMzYTAzNGU2MGYwOGZkZGNkMjVmYmRmYTg1NmI1NDgxMjQxYTAwYWE2NzU0ZCJ9"
  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#L197-L212",
  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 chats or contacts, highlights the clamped selection and marks autoreply chats with a green AI marker.",
  56. "evidence": [
  57. {
  58. "resource": "repo://src/ui.rs#L232-L274",
  59. "version": "repo-lines-v1:sha256:37b6420dcaafb9df8e0e6925ed6844ca95b1a2377be0a06f98633dc644706e69:eyJzZWxlY3RlZExpbmVDb3VudCI6NDMsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjVhYWI1NDY2NTFmMTk2NDNiOTg2MGQzNjBkMmYyZGE2YmIxNTMyYzAzZGRkMzIxNGI3YTg5ZWFiOTFmNjgyZDQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjliZDEwMzhkZWZmODFiYWFlZjU0N2JjMGI2NTk5ODc3YTc5NjhhOWRiZDBkMWM5YzZkODFjOTBhMTJkM2UzM2YiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjU2MzU5NWUzODliYzNjMjYwYThkODRlZmVhNmYyZmM5YWNhMDRhODJkODQ5ZDI1MjU4ODBiY2QwMDliODRiMjYifQ"
  60. }
  61. ]
  62. },
  63. {
  64. "id": "claim_95ec27e07ddd44e9aedcef368b9d82ed",
  65. "statement": "The messages pane title shows the chat name and AI ON/OFF, and only the most recent wrapped lines that fit are displayed.",
  66. "evidence": [
  67. {
  68. "resource": "repo://src/ui.rs#L280-L315",
  69. "version": "repo-lines-v1:sha256:7fa053aecf55de8e72db5da180af79d143438f299379731f6745ab5a60e7d414:eyJzZWxlY3RlZExpbmVDb3VudCI6MzYsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6IjMwM2M5MTRlZDU2ZmZiODJmYzlhZDJjZjQ0NDQxMzRmZDRhZTkyZTkzZmYxMTQ2NzZlOWI3NjI2NTUwZDVjMzciLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjBiOWJkNjEyZDA0MDhiOWE2NjFiNGQ4YzJkYThlNzk4OWRmYWIxNmVlOGEyNjBmN2NhMjI2NjBhODRjOWZiNDciLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImJlNWU3NzM0ZjZhNWM1NWJiOTExY2U5ZTNhYjgwYWExZmZmZjljN2FmODgzMTUwMzg1ZDg4ZTVmM2M5ZTJiOWYifQ"
  70. }
  71. ]
  72. },
  73. {
  74. "id": "claim_61d64691d97a4ae5be9769d54fb18229",
  75. "statement": "The input pane shows the tail of the typed text that fits and places the cursor when focused.",
  76. "evidence": [
  77. {
  78. "resource": "repo://src/ui.rs#L461-L491",
  79. "version": "repo-lines-v1:sha256:4af9cab79ebcb71cd601b44fe7a4b8fcceb1fe16ecac50a20ec643453b72d21d:eyJzZWxlY3RlZExpbmVDb3VudCI6MzEsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImM5YzFjMzliNjRjZmUzMjlkNGFjZmM2NTNlYTY1M2RmOTBiMGI5MDQ0NDJlMWU4OTZhMjFhMGUxYmY3ZDRkNjAiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjBjOTcwNjYzMjgxOGU3MzliNDJhYWZlZTA2OThlZGQ1N2RkZjc5MmM1ODcxY2I3ZGNiZTliOTBhYWU2YjJhYzEiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImEzYWY3MDc2MmFmY2NkYTcwOTEyZWVkMDUwYzlmZTlmNzVjNzg5YjMwMjVjM2NkOWRhYmMwYTBiYjhkODI1MjQifQ"
  80. }
  81. ]
  82. },
  83. {
  84. "id": "claim_6e28bf5fc8004ac8af3412b4f4979d5c",
  85. "statement": "The footer shows the bold status followed by dimmed key help.",
  86. "evidence": [
  87. {
  88. "resource": "repo://src/ui.rs#L497-L506",
  89. "version": "repo-lines-v1:sha256:0af077e2e8363e4f9ba2d8e685b126e0694d64701dbbb9e8cf26f09e3780571f:eyJzZWxlY3RlZExpbmVDb3VudCI6MTAsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImQ5NTJkYTBmYWY4MjUyMDVkMmRlNWEyYzIzYjNmOWVkZjgwYmM2OTM1OTE5MzIxNjlkNDg3NTU0ZDYzOTNlNzgiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6IjdmZGM3N2EzYmE4YjFhZTVmZDIzYzQwOWM5ZDc5MThkNWYxMjBlZDFmNGMxNjY2YjhlYWNkODNjY2M3NTlmYzUiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjdiYzk4ZDZiMGRjNDkyYzUwMTZkZjEwODA1YTNhNTRlYjljMTg0YTVhNjEzN2U3ZjRiZWNmYTBjMjIwNTUwZDAifQ"
  90. },
  91. {
  92. "resource": "repo://src/ui.rs#L50-L51",
  93. "version": "repo-lines-v1:sha256:c6c4233f9857bdb7940e4018c989a08b6e3be5402ed51d01cd896fb27a1d40c8:eyJzZWxlY3RlZExpbmVDb3VudCI6MiwiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiZGY5ZjdiZGQ3NjdkYTg4OGI5OGRlMTRhNTgzNTA5ZDIyODQ1ZDQwYjQwM2UwY2NmODdmOTJkZTczNzY3OTgzNiIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNzUzZDE2Y2JmYzM1NTU2ZWZlMzAwYzIzNjAwZjkwZDUwNzBhZWFmMzA3OGFkOGNlOWU3ZWIyOWVjYTE4ZTlhOCIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiMzcxYzRmMmY2YTFlYzJiN2IzNWRjOWE2MzRlOTQ5NjEyOWNiYTFiYjQwYmM1NTcyZGI0OTIxZTE5MjZhN2ZjNyIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiNzEwYmQ3N2I3NWExZjgxMjI2MjkwNTY1NWU0MTk1YjA0ZjIzZjQ0OGRkNDVkZjE4ZmJiZGY3NGMyMzAxNmIxYSJ9"
  94. }
  95. ]
  96. },
  97. {
  98. "id": "claim_5981f11d4f3d4cde8e6db9b0344e6896",
  99. "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.",
  100. "evidence": [
  101. {
  102. "resource": "repo://src/ui.rs#L346-L404",
  103. "version": "repo-lines-v1:sha256:c499132db2ac5eead3eb62f5ad7bab3b7f8d914d35adb23bfc5ca621870465f2:eyJzZWxlY3RlZExpbmVDb3VudCI6NTksImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImM3ZWNmMTZhOWUxM2QxZTA4ZmRhYmUzOGM5ZjU3MmMyZjRmNmUxYTkwNGNiODAxYWY3M2RlNzllOTczN2NhZjYiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImMyZDgzZjgxYTNiOWQwZjYzMWZmYzlmMTg5ZGQyYTY4NWNhYzJmOGViODA3NTYwYWQxNzlkZTk2Y2NiNjgzMzQiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6IjQyOGI1ZWVjNDkzNDMxZWNmZGY2ZTIyZGVlMjc5OThhNDcxOTczN2Q1Mjg1NGI3MGEwZmM3MzUwZjViMjg4YTQifQ"
  104. }
  105. ]
  106. },
  107. {
  108. "id": "claim_80509b52509544d8bf534cba446060a3",
  109. "statement": "AI messages are cyan, own messages green and incoming messages use the default style.",
  110. "evidence": [
  111. {
  112. "resource": "repo://src/ui.rs#L334-L340",
  113. "version": "repo-lines-v1:sha256:9a0c35114d98982d540867094c84291c906d6d832ab746b9c4f2dec88b905a7c:eyJzZWxlY3RlZExpbmVDb3VudCI6NywiZmlyc3RTZWxlY3RlZExpbmVIYXNoIjoiMDg0NDE5ZmQ0YjVmM2E4YzE4MTM4M2Q4NmQ5ZDc0ZDhiMWUyOWVlZjk5ZGMzNTM3ZGNhNjYzYzI1YjM2Mjk4YSIsImxhc3RTZWxlY3RlZExpbmVIYXNoIjoiNDEyY2EzNDVjY2Y3NWJmOWMwODA2YmNlNjk1YmU4ZGU4MDhiNzk5ODQyNTFhN2E1NGQyMDJjZjYxMDFkZDQ1MSIsInByZWNlZGluZ0NvbnRleHRMaW5lQ291bnQiOjMsInByZWNlZGluZ0NvbnRleHRIYXNoIjoiZmVmNTliMjU3ZDI4Yjk0NTA2YTg2YTU0MmQyZThhOWNkODlkNDNjNmIwMmY1YTNhYmZjNWIzYmY2ZmJkZGE3YyIsImZvbGxvd2luZ0NvbnRleHRMaW5lQ291bnQiOjMsImZvbGxvd2luZ0NvbnRleHRIYXNoIjoiOWVlODhlMWI2M2U2ZWU3M2I1NDcyNTVjN2EyYzQzMzE1NjJkNWE2OGE1NDc3ZGRkMzY0OTZiMzc5ZmYxNWYxYiJ9"
  114. }
  115. ]
  116. },
  117. {
  118. "id": "claim_bb3094772f9e453aa6f81561c211199b",
  119. "statement": "Text wrapping splits on newlines, wraps by display-width characters and drops control characters.",
  120. "evidence": [
  121. {
  122. "resource": "repo://src/ui.rs#L410-L455",
  123. "version": "repo-lines-v1:sha256:e966afd08433fba747794711a95f264804c09ac9f81a7c818a6f80be9a2893ad:eyJzZWxlY3RlZExpbmVDb3VudCI6NDYsImZpcnN0U2VsZWN0ZWRMaW5lSGFzaCI6ImYwYTJhNzczNmUxMWZkOGUyYjYyYmViMWM5NjNjZjRjNWRmYmNiNTIzNDZkNDdlOTgzNTgwZmE1ZmY1ZjY4OTQiLCJsYXN0U2VsZWN0ZWRMaW5lSGFzaCI6IjQxMmNhMzQ1Y2NmNzViZjljMDgwNmJjZTY5NWJlOGRlODA4Yjc5OTg0MjUxYTdhNTRkMjAyY2Y2MTAxZGQ0NTEiLCJwcmVjZWRpbmdDb250ZXh0TGluZUNvdW50IjozLCJwcmVjZWRpbmdDb250ZXh0SGFzaCI6ImNkNWU4MTdmODljYTM3MjE2NTg3NGM0OGRmNzBjMjRiZTc5YTkxZmQxODQyZWE3OTI0YTllZDQzMzg2ZDdlZDgiLCJmb2xsb3dpbmdDb250ZXh0TGluZUNvdW50IjozLCJmb2xsb3dpbmdDb250ZXh0SGFzaCI6ImM1MjY1OTg3OTliMDNjYmQ4ODczY2RjNjRhOWJmOGE2NGQyOGMxNjhmNDkwYTMwM2ExZTkwY2U5ODkzMDc4ZmQifQ"
  124. }
  125. ]
  126. }
  127. ],
  128. "verification": {
  129. "by": "openwiki/0.7.2",
  130. "at": "2026-10-19T18:58:46.219Z"
  131. }
  132. }