qrusty 0.23.0

A trusty priority queue server built with Rust
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
Traceability report

API-0001 — API-0001
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/api.rs:1336 → create_queue
    tests/api_tests.rs:711 → test_create_queue_max_first
    tests/api_tests.rs:766 → test_create_queue_min_first
    tests/api_tests.rs:821 → test_create_queue_conflict

API-0002 — API-0002
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/api.rs:1675 → publish
    tests/api_tests.rs:200 → test_publish_message
    tests/api_tests.rs:220 → test_publish_message_minimal

API-0003 — API-0003
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2492 → pop
    tests/storage_tests.rs:59 → test_push_and_pop_message

API-0004 — API-0004
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2777 → ack
    tests/storage_tests.rs:236 → test_ack_message

API-0005 — API-0005
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2994 → nack
    tests/storage_tests.rs:277 → test_nack_message_retry

API-0006 — API-0006
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/api.rs:2374 → stats
    tests/api_tests.rs:129 → test_stats_endpoint

API-0007 — API-0007
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/api.rs:2221 → queue_stats
    scripts/smoke_test.py:11
    tests/api_tests.rs:866 → test_queue_stats_endpoint
    tests/api_tests.rs:907 → test_queue_stats_includes_live_rate_fields

API-0008 — API-0008
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/api.rs:2280 → queues
    tests/api_tests.rs:1051 → test_list_queues_endpoint

API-0009 — API-0009
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/api.rs:1526 → purge_queue
    tests/api_tests.rs:1290 → test_purge_queue_endpoint

API-0010 — API-0010
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/api.rs:1477 → delete_queue
    tests/api_tests.rs:1219 → test_delete_queue_endpoint
    tests/api_tests.rs:1837 → test_delete_queue_with_dlq_allows_recreate

API-0011 — API-0011
  formalized: —   implemented: yes   verified: —
  verdict: never verified
    src/api.rs:2351 → queue_metrics

API-0012 — API-0012
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/api.rs:1405 → update_queue
    tests/api_tests.rs:1368 → test_rename_queue_via_update
    tests/api_tests.rs:1422 → test_update_queue_allow_duplicates
    tests/api_tests.rs:1452 → test_update_queue_rename
    tests/api_tests.rs:1513 → test_update_queue_rename_and_allow_duplicates
    tests/api_tests.rs:1546 → test_update_queue_nonexistent

API-0013 — API-0013
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/api.rs:440 → OperationTimingsQuery
    src/api.rs:2299 → operation_timings
    src/operation_timing.rs:5
    src/operation_timing.rs:244 → query_fills_gaps_with_empty_buckets
    src/operation_timing.rs:291 → query_clamps_to_max_history
    src/operation_timing.rs:303 → query_empty_store_returns_no_operations
    src/operation_timing.rs:311 → query_returns_empty_buckets_for_stale_data
    tests/api_tests.rs:2266 → test_operation_timings_returns_200_when_idle
    tests/api_tests.rs:2275 → test_operation_timings_default_window
    tests/api_tests.rs:2315 → test_operation_timings_custom_seconds
    tests/api_tests.rs:2448 → test_operation_timings_responsive_without_storage

API-0014 — API-0014
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    crates/qrusty_client/src/client.rs:487 → force_unlock_queue
    src/api.rs:697 → force_unlock_queue
    src/api.rs:1580 → force_unlock_queue
    src/memory_storage.rs:1518 → force_unlock_queue
    src/storage.rs:4263 → force_unlock_queue_sync
    tests/api_error_tests.rs:258 → test_force_unlock_queue_error_returns_500
    tests/api_tests.rs:2471 → test_force_unlock_queue_endpoint
    tests/api_tests.rs:2519 → test_force_unlock_queue_endpoint_nothing_locked
    tests/memory_storage_tests.rs:1251 → test_memory_force_unlock_queue
    tests/memory_storage_tests.rs:1292 → test_memory_force_unlock_queue_empty
    tests/storage_tests.rs:4257 → test_force_unlock_queue_unlocks_all_locked_messages
    tests/storage_tests.rs:4294 → test_force_unlock_queue_empty_returns_zero
    tests/storage_tests.rs:4302 → test_force_unlock_queue_mixed_locked_and_available
    tests/storage_tests.rs:4329 → test_force_unlock_queue_isolation

DLV-0001 — DLV-0001
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2492 → pop
    tests/storage_tests.rs:59 → test_push_and_pop_message
    tests/storage_tests.rs:218 → test_message_locking

DLV-0002 — DLV-0002
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2492 → pop
    tests/storage_tests.rs:59 → test_push_and_pop_message
    tests/storage_tests.rs:218 → test_message_locking

DLV-0003 — DLV-0003
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2777 → ack
    tests/storage_tests.rs:236 → test_ack_message

DLV-0004 — DLV-0004
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2994 → nack
    tests/storage_tests.rs:277 → test_nack_message_retry
    tests/storage_tests.rs:2127 → test_allow_duplicates_false_allows_same_payload_after_nack_to_dlq
    tests/storage_tests.rs:3742 → test_payload_store_nack_retry_preserves_payload

DLV-0005 — DLV-0005
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/storage.rs:3808 → unlock_expired_messages
    tests/storage_tests.rs:859 → test_timeout_monitor_unlock_expired_messages

DLV-0006 — DLV-0006
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2994 → nack
    tests/storage_tests.rs:277 → test_nack_message_retry

DLV-0007 — DLV-0007
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2994 → nack
    tests/storage_tests.rs:277 → test_nack_message_retry

DLV-0008 — DLV-0008
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2994 → nack
    tests/storage_tests.rs:304 → test_nack_max_retries_dead_letter

DLV-0009 — DLV-0009
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2994 → nack
    tests/storage_tests.rs:304 → test_nack_max_retries_dead_letter

DLV-0010 — DLV-0010
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2180 → push
    tests/storage_tests.rs:2776 → test_pset_blocks_push_while_locked
    tests/storage_tests.rs:2898 → test_pset_startup_reconstruction_includes_locked

DLV-0011 — DLV-0011
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2492 → pop
    tests/concurrency_tests.rs:55 → test_rocksdb_concurrent_pop_no_double_delivery
    tests/concurrency_tests.rs:108 → test_memory_concurrent_pop_no_double_delivery
    tests/concurrency_tests.rs:146 → test_rocksdb_pop_stress_no_double_delivery

DLV-0012 — DLV-0012
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/memory_storage.rs:708
    tests/concurrency_tests.rs:194 → test_memory_no_deadlock_push_vs_ack
    tests/concurrency_tests.rs:257 → test_memory_no_deadlock_push_vs_nack
    tests/concurrency_tests.rs:312 → test_memory_no_deadlock_push_vs_batch_ack
    tests/concurrency_tests.rs:449 → test_memory_concurrent_nodup_push_different_payloads
    tests/concurrency_tests.rs:487 → test_memory_concurrent_nodup_push_same_payload
    tests/concurrency_tests.rs:525 → test_memory_concurrent_nodup_push_stress

DLV-0013 — DLV-0013
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:353
    src/storage.rs:3808 → unlock_expired_messages
    tests/storage_tests.rs:898 → test_unlock_expired_recovers_locks_after_restart
    tests/storage_tests.rs:1093 → test_unlock_expired_recovers_cap_overflow_lock

DLV-0014 — DLV-0014
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/memory_storage.rs:104
    src/storage.rs:255
    tests/memory_storage_tests.rs:673 → test_memory_batch_ack_fast_path_cleans_stale_index_entries
    tests/memory_storage_tests.rs:705 → test_memory_batch_nack_fast_path_cleans_stale_index_entries
    tests/storage_tests.rs:2451 → test_batch_ack_fast_path_returns_not_found_without_scan
    tests/storage_tests.rs:2466 → test_batch_ack_fallback_when_sticky_flag_set
    tests/storage_tests.rs:2505 → test_batch_nack_fast_path_after_sticky_cleared
    tests/storage_tests.rs:2527 → test_batch_nack_fallback_when_sticky_flag_set
    tests/storage_tests.rs:2560 → test_ack_fast_path_cleans_stale_secondary_index_entry
    tests/storage_tests.rs:2580 → test_nack_fast_path_cleans_stale_secondary_index_entry
    tests/storage_tests.rs:2597 → test_renew_fast_path_cleans_stale_secondary_index_entry
    tests/storage_tests.rs:2678 → test_rename_queue_does_not_touch_unrelated_locked_id_index_entries

DLV-0015 — Dead-letter messages that expire past max_retries
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/memory_storage.rs:67 → ExpiryOutcome
    src/memory_storage.rs:431 → finalize_expired_message
    src/storage.rs:179 → ExpiryOutcome
    src/storage.rs:4362 → finalize_expired_message
    tests/storage_tests.rs:335 → test_lock_expiry_past_max_retries_moves_to_dlq

DLV-0016 — Race-safe re-check before unlocking an expired lock
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/memory_storage.rs:67 → ExpiryOutcome
    src/memory_storage.rs:431 → finalize_expired_message
    src/storage.rs:180 → ExpiryOutcome
    src/storage.rs:4362 → finalize_expired_message
    src/storage.rs:6112 → test_finalize_expired_rechecks_changed_candidates

DLV-0017 — DLV-0017
  formalized: yes   implemented: —   verified: —
  verdict: proven (model-checked (bounded)) [mechanical] [stale — re-verify]

DLV-0018 — pop() atomicity — concurrent-consumer mutual exclusion (TLA+ model of DLV-0011)
  formalized: yes   implemented: —   verified: —
  verdict: proven (model-checked (bounded)) [mechanical] [stale — re-verify]

DLV-0019 — ack/nack ownership — only the current lock holder may finalize (TLA+ model of DLV-0003/DLV-0004)
  formalized: yes   implemented: —   verified: —
  verdict: proven (model-checked (bounded)) [mechanical] [stale — re-verify]

DLV-0020 — Lock-expiry recovery (liveness)
  formalized: yes   implemented: —   verified: —
  verdict: proven (model-checked (bounded)) [mechanical] [stale — re-verify]

DLV-0021 — DLV-0021
  formalized: yes   implemented: —   verified: —
  verdict: proven (model-checked (bounded)) [mechanical] [stale — re-verify]

DLV-0022 — DLV-0022
  formalized: yes   implemented: —   verified: —
  verdict: not-determined [mechanical] [stale — re-verify]

DLV-0023 — DLV-0023
  formalized: yes   implemented: —   verified: —
  verdict: not-determined [mechanical] [stale — re-verify]

PER-0001 — PER-0001
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/storage.rs:2180 → push
    tests/storage_tests.rs:47 → test_push_message
    tests/storage_tests.rs:463 → test_message_persistence

PER-0002 — PER-0002
  formalized: yes   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2180 → push
    tests/storage_tests.rs:47 → test_push_message
    tests/storage_tests.rs:463 → test_message_persistence
    tests/storage_tests.rs:490 → test_consume_is_queue_isolated_across_prefix_overlap

PER-0003 — PER-0003
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2180 → push
    tests/storage_tests.rs:1161 → test_allow_duplicates_default_true_allows_duplicate_payloads

PER-0004 — PER-0004
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2180 → push
    tests/storage_tests.rs:1175 → test_allow_duplicates_false_rejects_unlocked_duplicate_on_publish
    tests/storage_tests.rs:2065 → test_allow_duplicates_false_allows_same_payload_after_ack
    tests/storage_tests.rs:2127 → test_allow_duplicates_false_allows_same_payload_after_nack_to_dlq

PER-0005 — PER-0005
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2994 → nack
    src/storage.rs:3808 → unlock_expired_messages
    tests/storage_tests.rs:859 → test_timeout_monitor_unlock_expired_messages

PER-0006 — PER-0006
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:518 → dedupe_unlocked_messages_by_payload
    tests/storage_tests.rs:1262 → test_configure_queue_disabling_duplicates_dedupes_existing_unlocked_messages

PER-0007 — PER-0007
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:518 → dedupe_unlocked_messages_by_payload
    tests/storage_tests.rs:1381 → test_configure_queue_enabling_duplicates_does_not_modify_existing_messages

PER-0008 — PER-0008
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2180 → push
    tests/storage_tests.rs:2776 → test_pset_blocks_push_while_locked
    tests/storage_tests.rs:3666 → test_payload_store_duplicate_detection_with_externalized_payloads

PER-0009 — PER-0009
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:1053 → migrate_dedup_markers
    src/storage.rs:5806 → test_drained_queue_has_no_dedup_markers
    src/storage.rs:5988 → test_reclaim_preserves_markers_for_remaining_messages
    tests/storage_tests.rs:2868 → test_pset_startup_reconstruction_blocks_push
    tests/storage_tests.rs:2898 → test_pset_startup_reconstruction_includes_locked

PER-0010 — PER-0010
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2180 → push
    tests/api_tests.rs:2166 → test_text_priority_empty_returns_400
    tests/storage_tests.rs:2799 → test_pset_allows_push_after_ack
    tests/storage_tests.rs:2821 → test_pset_nack_retry_keeps_payload_blocked
    tests/storage_tests.rs:2845 → test_pset_nack_dlq_allows_repush
    tests/storage_tests.rs:2929 → test_pset_purge_clears_set
    tests/storage_tests.rs:2956 → test_pset_delete_clears_set
    tests/storage_tests.rs:2980 → test_pset_disable_constraint_drops_set
    tests/storage_tests.rs:3004 → test_pset_enable_constraint_builds_set
    tests/storage_tests.rs:3028 → test_pset_batch_ack_removes_payloads
    tests/storage_tests.rs:3059 → test_pset_batch_nack_dlq_removes_payloads
    tests/storage_tests.rs:3092 → test_pset_unlock_expired_retry_keeps_payload_blocked
    tests/storage_tests.rs:3692 → test_payload_store_ack_allows_repush_of_same_payload

PER-0011 — PER-0011
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/memory_storage.rs:2
    src/memory_storage.rs:38 → ephemeral_storage_warning
    src/memory_storage.rs:49 → warn_if_ephemeral_storage
    tests/memory_integration_tests.rs:62 → test_memory_mode_logs_ephemeral_warning

PER-0012 — PER-0012
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2180 → push
    tests/api_tests.rs:2208 → test_duplicate_payload_returns_400
    tests/concurrency_tests.rs:373 → test_rocksdb_concurrent_nodup_push_different_payloads
    tests/concurrency_tests.rs:411 → test_rocksdb_concurrent_nodup_push_same_payload
    tests/concurrency_tests.rs:449 → test_memory_concurrent_nodup_push_different_payloads
    tests/concurrency_tests.rs:487 → test_memory_concurrent_nodup_push_same_payload
    tests/concurrency_tests.rs:525 → test_memory_concurrent_nodup_push_stress

PER-0013 — PER-0013
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:4489 → delete_queue
    tests/api_tests.rs:1837 → test_delete_queue_with_dlq_allows_recreate
    tests/api_tests.rs:1895 → test_delete_all_with_dlq_allows_recreate
    tests/memory_storage_tests.rs:1112 → test_memory_delete_queue_removes_dlq_entries
    tests/storage_tests.rs:3453 → test_delete_queue_removes_dlq_entries
    tests/storage_tests.rs:3486 → test_delete_queue_with_dlq_allows_recreate_via_api

PER-0014 — PER-0014
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/memory_storage.rs:58 → hash_payload
    src/storage.rs:38 → hash_payload
    tests/storage_tests.rs:3666 → test_payload_store_duplicate_detection_with_externalized_payloads

PER-0015 — PER-0015
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:868
    src/storage.rs:6203 → test_default_block_cache_128mb
    src/storage.rs:6221 → test_default_max_open_files_128

PER-0016 — PER-0016
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/payload_store.rs:2
    src/storage.rs:2144 → resolve_payload
    src/storage.rs:2410 → externalize_payload
    tests/storage_tests.rs:3644 → test_payload_store_push_pop_ack_roundtrip
    tests/storage_tests.rs:3666 → test_payload_store_duplicate_detection_with_externalized_payloads
    tests/storage_tests.rs:3692 → test_payload_store_ack_allows_repush_of_same_payload
    tests/storage_tests.rs:3742 → test_payload_store_nack_retry_preserves_payload
    tests/storage_tests.rs:3764 → test_payload_store_push_pop_many_after_restart
    tests/storage_tests.rs:3867 → test_mixed_old_and_new_format_messages
    tests/storage_tests.rs:4086 → test_payload_store_stress_push_pop_1000

PER-0017 — PER-0017
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/payload_store.rs:2
    src/storage.rs:1671 → compact_payloads
    tests/storage_tests.rs:4115 → test_compaction_does_not_break_hot_tier
    tests/storage_tests.rs:4194 → test_compact_with_zero_live_refs_cleans_segments

PER-0018 — PER-0018
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/payload_store.rs:2
    src/storage.rs:2144 → resolve_payload
    tests/storage_tests.rs:3644 → test_payload_store_push_pop_ack_roundtrip
    tests/storage_tests.rs:3718 → test_payload_store_survives_restart
    tests/storage_tests.rs:3764 → test_payload_store_push_pop_many_after_restart
    tests/storage_tests.rs:3804 → test_old_format_messages_survive_full_lifecycle
    tests/storage_tests.rs:3867 → test_mixed_old_and_new_format_messages

PER-0019 — PER-0019
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:1153 → check_payload_integrity
    src/storage.rs:2144 → resolve_payload
    src/storage.rs:2492 → pop
    tests/storage_tests.rs:3923 → test_broken_payload_ref_cleanup_and_fresh_push
    tests/storage_tests.rs:3967 → test_pop_returns_none_when_all_payloads_broken
    tests/storage_tests.rs:3999 → test_integrity_scan_deletes_broken_messages
    tests/storage_tests.rs:4041 → test_integrity_scan_decrements_locked_for_locked_broken_message

PER-0020 — PER-0020
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2410 → externalize_payload
    tests/storage_tests.rs:4115 → test_compaction_does_not_break_hot_tier
    tests/storage_tests.rs:4156 → test_small_payloads_stay_inline
    tests/storage_tests.rs:4175 → test_large_payloads_are_externalized

PER-0021 — PER-0021
  formalized: —   implemented: —   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    tests/storage_tests.rs:4194 → test_compact_with_zero_live_refs_cleans_segments

PER-0022 — PER-0002 loop-level isolation: queue-scan model
  formalized: yes   implemented: —   verified: —
  verdict: proven (model-checked (bounded)) [mechanical] [stale — re-verify]

PER-0023 — PER-0023
  formalized: yes   implemented: —   verified: —
  verdict: not-determined [mechanical] [stale — re-verify]

SCH-0001 — SCH-0001
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2180 → push
    src/storage.rs:2492 → pop
    tests/storage_tests.rs:82 → test_priority_ordering
    tests/storage_tests.rs:83 → test_priority_ordering
    tests/storage_tests.rs:575 → test_queue_configuration_min_first

SCH-0002 — SCH-0002
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2180 → push
    src/storage.rs:2492 → pop
    tests/api_tests.rs:2107 → test_text_priority_with_slash_succeeds
    tests/memory_storage_tests.rs:1148 → test_memory_text_priority_with_slash_min_first
    tests/memory_storage_tests.rs:1188 → test_memory_text_priority_with_slash_max_first
    tests/memory_storage_tests.rs:1219 → test_memory_text_priority_slash_stats_not_corrupted
    tests/storage_tests.rs:82 → test_priority_ordering
    tests/storage_tests.rs:83 → test_priority_ordering
    tests/storage_tests.rs:575 → test_queue_configuration_min_first
    tests/storage_tests.rs:3513 → test_text_priority_with_slash_min_first
    tests/storage_tests.rs:3552 → test_text_priority_with_slash_max_first
    tests/storage_tests.rs:3581 → test_text_priority_slash_does_not_corrupt_queue_stats
    tests/storage_tests.rs:3617 → test_text_priority_with_null_byte

SCH-0003 — SCH-0003
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2492 → pop
    tests/storage_tests.rs:111 → test_fifo_ordering_ignores_priority

SCH-0004 — SCH-0004
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:2492 → pop
    src/storage.rs:3808 → unlock_expired_messages
    tests/storage_tests.rs:141 → test_fifo_preserves_position_on_nack_retry

SYS-0001 — SYS-0001
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/main.rs:105 → DESIRED_NOFILE
    tests/storage_tests.rs:193 → test_queue_isolation

SYS-0002 — SYS-0002
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/api.rs:1291 → health
    tests/api_tests.rs:117 → test_health_endpoint

SYS-0003 — SYS-0003
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/api.rs:1189 → router
    tests/api_tests.rs:238 → test_webui_served_from_configurable_directory

SYS-0004 — SYS-0004
  formalized: —   implemented: yes   verified: —
  verdict: never verified
    src/api.rs:1063 → ensure_metrics_sampler_started
    src/api.rs:2351 → queue_metrics

SYS-0005 — SYS-0005
  formalized: —   implemented: yes   verified: —
  verdict: never verified
    src/api.rs:1063 → ensure_metrics_sampler_started
    src/api.rs:2351 → queue_metrics

SYS-0006 — SYS-0006
  formalized: —   implemented: yes   verified: —
  verdict: never verified
    src/api.rs:1063 → ensure_metrics_sampler_started
    src/api.rs:2351 → queue_metrics

SYS-0007 — SYS-0007
  formalized: —   implemented: yes   verified: —
  verdict: never verified
    web_ui/src/app/components/QueueDetailPage.tsx:55 → appendPoint

SYS-0008 — SYS-0008
  formalized: —   implemented: yes   verified: —
  verdict: never verified
    web_ui/src/app/components/QueueDetailPage.tsx:56 → appendPoint

SYS-0009 — SYS-0009
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    web_ui/src/app/components/tabs/AdministrationTab.tsx:7
    web_ui/src/tests/AdministrationTab.test.tsx:1

SYS-0010 — SYS-0010
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/api.rs:1321 → ws_upgrade
    tests/ws_tests.rs:106 → test_ws_connection_upgrade

SYS-0011 — SYS-0011
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    scripts/smoke_test.py:10
    scripts/smoke_test.py:11

SYS-0012 — SYS-0012
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    scripts/smoke_test.py:10
    scripts/smoke_test.py:11

SYS-0013 — SYS-0013
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/main.rs:249 → run_server
    src/main.rs:266 → run_with_listener
    src/memory_storage.rs:2
    src/main.rs:646 → test_config_from_env_storage_mode_memory
    src/main.rs:719 → test_server_memory_mode_serves_health
    tests/memory_integration_tests.rs:92 → test_api_with_memory_storage_publish_consume_ack

SYS-0014 — SYS-0014
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/api.rs:1063 → ensure_metrics_sampler_started
    tests/concurrency_tests.rs:578 → test_get_all_queue_stats_returns_all_queues_rocksdb

SYS-0015 — SYS-0015
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/log_buffer.rs:3
    src/log_buffer.rs:231 → test_log_capture_does_not_spawn_tasks_sync
    tests/concurrency_tests.rs:620 → test_log_capture_does_not_spawn_tasks
    tests/concurrency_tests.rs:643 → test_log_buffer_sync_ring_eviction

SYS-0016 — SYS-0016
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/api.rs:724
    tests/api_tests.rs:34 → test_all_storage_ops_execute_on_spawn_blocking

SYS-0017 — SYS-0017
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/api.rs:1711 → publish
    src/api.rs:1789 → publish_batch
    src/api.rs:1903 → consume
    src/api.rs:1967 → ack
    src/api.rs:2040 → nack
    src/api.rs:2086 → ack_batch
    src/api.rs:2130 → nack_batch
    src/api.rs:2237 → queue_stats
    src/operation_timing.rs:5
    src/operation_timing.rs:200 → single_sample_creates_bucket
    src/operation_timing.rs:216 → multiple_samples_same_second_aggregate
    src/operation_timing.rs:232 → different_operations_independent
    src/operation_timing.rs:272 → ring_buffer_wraps_after_max_history
    src/operation_timing.rs:324 → concurrent_recording_is_safe
    src/operation_timing.rs:356 → min_tracked_correctly
    tests/api_tests.rs:2343 → test_operation_timings_covers_all_api_operations

SYS-0018 — SYS-0018
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/memory_storage.rs:2
    src/memory_storage.rs:116
    src/memory_storage.rs:1410 → get_all_queue_stats
    src/memory_storage.rs:1443 → get_queue_stats
    src/memory_storage.rs:1462 → list_queues
    src/storage.rs:164 → QueueCounts
    src/storage.rs:1103 → seed_queue_counters
    src/storage.rs:3988 → get_all_queue_stats
    src/storage.rs:4040 → get_queue_stats
    src/storage.rs:4232 → list_queues
    src/storage.rs:5404 → queue_counters_push_increments_available
    src/storage.rs:5419 → queue_counters_pop_moves_available_to_locked
    src/storage.rs:5435 → queue_counters_ack_decrements_locked
    src/storage.rs:5451 → queue_counters_nack_retry_moves_locked_to_available
    src/storage.rs:5467 → queue_counters_nack_dlq_decrements_locked
    src/storage.rs:5596 → queue_counters_batch_ack
    src/storage.rs:5615 → queue_counters_batch_nack_mixed
    src/storage.rs:5640 → queue_counters_delete_queue_removes_entry
    src/storage.rs:5653 → queue_counters_purge_queue_zeros_counts
    src/storage.rs:5671 → queue_counters_rename_queue_moves_entry
    src/storage.rs:5690 → queue_counters_seeded_on_restart
    src/storage.rs:5720 → queue_counters_get_all_queue_stats_from_cache
    src/storage.rs:5744 → queue_counters_list_queues_from_cache
    src/storage.rs:5757 → queue_counters_full_lifecycle

SYS-0019 — SYS-0019
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/api.rs:956 → startup_gate
    src/api.rs:1291 → health
    src/main.rs:266 → run_with_listener
    src/storage.rs:828 → open
    src/storage.rs:1003 → initialize_cache
    src/main.rs:843 → test_startup_gate_blocks_api_while_initializing
    src/main.rs:909 → test_startup_gate_lifts_after_init

SYS-0020 — SYS-0020
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:1362 → refill_hot_tier
    src/storage.rs:2427 → try_insert_hot_tier
    src/storage.rs:6309 → test_hot_tier_starvation_recovery
    src/storage.rs:6360 → test_failed_pop_refills_hot_tier
    src/storage.rs:6406 → test_cold_storage_starvation_with_continuous_publish

SYS-0021 — SYS-0021
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:332
    src/storage.rs:337
    src/storage.rs:6406 → test_cold_storage_starvation_with_continuous_publish

SYS-0022 — SYS-0022
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/memory_monitor.rs:2
    src/memory_monitor.rs:530 → test_hysteresis_exits_at_70_percent
    src/memory_monitor.rs:569 → test_no_pressure_at_79_percent
    src/memory_monitor.rs:588 → test_pressure_at_81_percent
    src/storage.rs:6241 → test_memory_breakdown_returns_expected_fields
    src/storage.rs:6261 → test_memory_breakdown_reflects_state

SYS-0023 — SYS-0023
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/api.rs:2426
    tests/api_tests.rs:2548 → test_stats_includes_memory_fields

SYS-0024 — SYS-0024
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/api.rs:956 → startup_gate
    src/main.rs:843 → test_startup_gate_blocks_api_while_initializing
    tests/startup_gate_tests.rs:84 → test_create_queue_blocked_during_init
    tests/startup_gate_tests.rs:98 → test_update_queue_blocked_during_init
    tests/startup_gate_tests.rs:110 → test_delete_queue_blocked_during_init
    tests/startup_gate_tests.rs:122 → test_purge_queue_blocked_during_init
    tests/startup_gate_tests.rs:133 → test_purge_all_blocked_during_init
    tests/startup_gate_tests.rs:144 → test_delete_all_blocked_during_init
    tests/startup_gate_tests.rs:155 → test_publish_blocked_during_init
    tests/startup_gate_tests.rs:169 → test_consume_blocked_during_init
    tests/startup_gate_tests.rs:180 → test_ack_blocked_during_init
    tests/startup_gate_tests.rs:193 → test_nack_blocked_during_init
    tests/startup_gate_tests.rs:206 → test_ack_batch_blocked_during_init
    tests/startup_gate_tests.rs:219 → test_nack_batch_blocked_during_init
    tests/startup_gate_tests.rs:236 → test_health_allowed_during_init
    tests/startup_gate_tests.rs:246 → test_stats_allowed_during_init
    tests/startup_gate_tests.rs:255 → test_queues_allowed_during_init
    tests/startup_gate_tests.rs:264 → test_queue_stats_allowed_during_init
    tests/startup_gate_tests.rs:275 → test_operation_timings_allowed_during_init
    tests/startup_gate_tests.rs:288 → test_publish_works_after_init_completes
    tests/startup_gate_tests.rs:300 → test_create_queue_works_after_init_completes
    tests/startup_gate_tests.rs:311 → test_gate_lifts_when_flag_cleared

SYS-0025 — SYS-0025
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/storage.rs:1503 → release_memory_for_empty_queues
    src/storage.rs:5806 → test_drained_queue_has_no_dedup_markers
    src/storage.rs:5844 → test_empty_queue_hot_tier_removed
    src/storage.rs:5880 → test_empty_queue_locked_index_cleaned
    src/storage.rs:5988 → test_reclaim_preserves_markers_for_remaining_messages
    src/storage.rs:6024 → test_locked_index_shrunk
    src/storage.rs:6068 → test_nonempty_queue_not_reclaimed

SYS-0026 — SYS-0026
  formalized: —   implemented: —   verified: yes
  verdict: never verified
    web_ui/src/tests/AdministrationTab.test.tsx:1147 → force-unlocks a queue when confirmed
    web_ui/src/tests/AdministrationTab.test.tsx:1192 → aborts force-unlock when the operator declines confirmation
    web_ui/src/tests/AdministrationTab.test.tsx:1244 → shows an error if force-unlock fails

SYS-0027 — SYS-0027
  formalized: —   implemented: yes   verified: —
  verdict: never verified
    src/storage.rs:1525 → reap_idle_empty_queues

SYS-0028 — SYS-0028
  formalized: yes   implemented: —   verified: —
  verdict: proven (model-checked (bounded)) [mechanical] [stale — re-verify]

SYS-0029 — SYS-0029
  formalized: yes   implemented: —   verified: —
  verdict: not-determined [mechanical] [stale — re-verify]

SYS-0030 — SYS-0030
  formalized: yes   implemented: —   verified: —
  verdict: not-determined [mechanical] [stale — re-verify]

WS-0001 — WS-0001
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/api.rs:1321 → ws_upgrade
    src/ws.rs:5
    tests/ws_tests.rs:106 → test_ws_connection_upgrade

WS-0002 — WS-0002
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/ws.rs:5
    tests/ws_tests.rs:119 → test_ws_binary_frame_rejected_with_1003
    tests/ws_tests.rs:150 → test_ws_invalid_json_rejected_with_1007

WS-0003 — WS-0003
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/ws.rs:5
    tests/ws_tests.rs:181 → test_ws_req_id_echoed_in_ok
    tests/ws_tests.rs:209 → test_ws_no_req_id_omitted_in_response

WS-0004 — WS-0004
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/ws.rs:5
    tests/ws_tests.rs:181 → test_ws_req_id_echoed_in_ok
    tests/ws_tests.rs:209 → test_ws_no_req_id_omitted_in_response

WS-0005 — WS-0005
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/ws.rs:5
    tests/ws_tests.rs:231 → test_ws_unknown_type_returns_error_frame_and_stays_open
    tests/ws_tests.rs:716 → test_ws_error_frame_echoes_req_id

WS-0006 — WS-0006
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/ws.rs:5
    tests/ws_tests.rs:255 → test_ws_publish_success
    tests/ws_tests.rs:277 → test_ws_publish_nonexistent_queue_error
    tests/ws_tests.rs:739 → test_ws_publish_missing_queue_field
    tests/ws_tests.rs:1736 → test_ws_publish_missing_payload_field

WS-0007 — WS-0007
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/ws.rs:5
    tests/ws_tests.rs:304 → test_ws_subscribe_and_deliver
    tests/ws_tests.rs:353 → test_ws_subscribe_nonexistent_queue_error
    tests/ws_tests.rs:1709 → test_ws_subscribe_same_queue_twice_is_ok
    tests/ws_tests.rs:1753 → test_ws_subscribe_missing_queue_field
    tests/ws_tests.rs:1801 → test_ws_subscribe_with_lock_timeout_secs
    tests/ws_tests.rs:1950 → test_ws_subscribe_default_lock_timeout

WS-0008 — WS-0008
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/ws.rs:5
    tests/ws_tests.rs:304 → test_ws_subscribe_and_deliver

WS-0009 — WS-0009
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/ws.rs:5
    tests/ws_tests.rs:373 → test_ws_unsubscribe_stops_delivery

WS-0010 — WS-0010
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/ws.rs:5
    tests/ws_tests.rs:407 → test_ws_multi_queue_subscribe

WS-0011 — WS-0011
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/ws.rs:5
    tests/ws_tests.rs:452 → test_ws_ack_removes_message

WS-0012 — WS-0012
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/ws.rs:5
    tests/ws_tests.rs:503 → test_ws_nack_unlocks_message

WS-0013 — WS-0013
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    src/ws.rs:5
    tests/ws_tests.rs:581 → test_ws_batch_ack

WS-0014 — WS-0014
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/ws.rs:5
    tests/ws_tests.rs:631 → test_ws_batch_nack

WS-0015 — WS-0015
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/ws.rs:5
    tests/ws_tests.rs:1473 → test_ws_ping_timeout_closes_with_1001

WS-0016 — WS-0016
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/ws.rs:5
    tests/ws_tests.rs:686 → test_ws_connection_close_releases_subscriptions

WS-0017 — WS-0017
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    crates/qrusty_client/src/ws.rs:5
    tests/ws_tests.rs:1278 → test_ws_session_full_api_round_trip

WS-0018 — WS-0018
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    integrations/pyclient/qrusty_pyclient.py:243 → DeliveredMessage
    integrations/python/qrusty_ws.py:7
    integrations/pyclient/tests/test_qrusty_pyclient.py:64 → TestWsSessionClose
    integrations/python/test_qrusty_ws.py:26 → TestWsSessionClose

WS-0019 — WS-0019
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    integrations/nodeclient/index.js:247 → WsSession
    integrations/nodeclient/test.js:43 → WsSession._onClose

WS-0020 — WS-0020
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    crates/qrusty_client/src/ws.rs:5
    integrations/pyclient/qrusty_pyclient.py:470
    integrations/python/qrusty_ws.py:242
    src/storage.rs:3297 → renew
    src/ws.rs:5
    tests/ws_tests.rs:756 → test_ws_renew_extends_lock
    tests/ws_tests.rs:803 → test_ws_renew_not_locked_returns_error
    tests/ws_tests.rs:1878 → test_ws_renew_with_lock_timeout_secs

WS-0021 — WS-0021
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/api.rs:1321 → ws_upgrade
    src/ws.rs:251 → handle_connection
    tests/ws_tests.rs:833 → test_ws_operations_update_rate_counters

WS-0022 — WS-0022
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    crates/qrusty_client/src/ws.rs:5
    crates/qrusty_client/src/ws.rs:600 → router_task
    crates/qrusty_client/src/ws.rs:900 → router_does_not_block_on_full_subscriber_channel
    tests/ws_tests.rs:1558 → test_ws_subscribe_logs_delivers_live_entries
    tests/ws_tests.rs:1616 → test_ws_subscribe_logs_with_large_history_does_not_deadlock
    tests/ws_tests.rs:1674 → test_ws_unsubscribe_logs_stops_delivery

WS-0023 — WS-0023
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    crates/qrusty_client/src/ws.rs:5
    src/ws.rs:5
    tests/ws_tests.rs:1013 → test_ws_credit_flow_control
    tests/ws_tests.rs:1091 → test_ws_subscribe_without_credits_is_unlimited
    tests/ws_tests.rs:1122 → test_ws_credit_on_unsubscribed_queue_returns_error
    tests/ws_tests.rs:1356 → test_ws_session_credit_flow_control

WS-0024 — WS-0024
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    crates/qrusty_client/src/ws.rs:5
    src/ws.rs:5
    tests/ws_tests.rs:935 → test_ws_no_reply_suppresses_response
    tests/ws_tests.rs:1228 → test_ws_session_ack_noreply

WS-0025 — WS-0025
  formalized: —   implemented: yes   verified: yes
  verdict: proven (not-falsified) [asserted] [stale — re-verify]
    crates/qrusty_client/src/ws.rs:5
    tests/ws_tests.rs:1142 → test_ws_session_send_frame_public

WS-0026 — WS-0026
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    crates/qrusty_client/src/ws.rs:5
    crates/qrusty_client/src/ws.rs:966 → request_timeout_cleans_up_pending
    tests/ws_tests.rs:1188 → test_ws_session_request_timeout

WS-0027 — WS-0027
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    src/ws.rs:5
    src/ws.rs:251 → handle_connection
    tests/ws_tests.rs:2022 → test_ws_outbound_backpressure_does_not_stall_inbound

WS-0028 — WS-0028
  formalized: —   implemented: yes   verified: yes
  verdict: never verified
    crates/qrusty_client/src/ws.rs:600 → router_task
    crates/qrusty_client/src/ws.rs:1084 → router_replies_pong_to_ping
    crates/qrusty_client/src/ws.rs:1131 → pong_prioritized_over_data_frames
    crates/qrusty_client/src/ws.rs:1178 → router_handles_close_frame