Commit 6b2e2d0
fix(tbtc/signer): honor legacy bare aggregate completion markers (re-review)
Codex re-review (P2, valid): the previous commit made the aggregate completion
marker message-bound (attempt_id@digest), but a completion persisted by the
pre-binding engine is stored as the BARE attempt_id. The new checks only looked for
the bound form, so after an upgrade a previously completed attempt looked unfinished
- repeat InteractiveAggregate and the Round2 completion gate would no longer fail
closed for it.
Add interactive_attempt_aggregated(markers, attempt_id, digest) = bound form OR a
legacy bare attempt_id marker (fail-closed on read), mirroring the consumed-marker
helper. Use it at the three read sites (the Round2 completion gate and both
interactive_aggregate pre-checks). New writes stay bound-only, so the durable record
migrates forward on the next completion while legacy completions stay final.
Test: interactive_honors_legacy_bare_aggregate_completion_marker injects a bare
attempt_id marker (a pre-upgrade completion) and asserts Round2 then fails closed
with InteractiveAttemptAlreadyAggregated. All 295 lib tests pass; cargo fmt clean.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent 797aa71 commit 6b2e2d0
2 files changed
Lines changed: 92 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
51 | 67 | | |
52 | 68 | | |
53 | 69 | | |
| |||
499 | 515 | | |
500 | 516 | | |
501 | 517 | | |
502 | | - | |
503 | | - | |
504 | | - | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
505 | 523 | | |
506 | 524 | | |
507 | 525 | | |
| |||
706 | 724 | | |
707 | 725 | | |
708 | 726 | | |
709 | | - | |
710 | | - | |
| 727 | + | |
| 728 | + | |
711 | 729 | | |
712 | 730 | | |
713 | 731 | | |
| |||
736 | 754 | | |
737 | 755 | | |
738 | 756 | | |
739 | | - | |
740 | | - | |
741 | | - | |
742 | | - | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
743 | 762 | | |
744 | 763 | | |
745 | 764 | | |
| |||
847 | 866 | | |
848 | 867 | | |
849 | 868 | | |
850 | | - | |
851 | | - | |
852 | | - | |
853 | | - | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
854 | 874 | | |
855 | 875 | | |
856 | 876 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11934 | 11934 | | |
11935 | 11935 | | |
11936 | 11936 | | |
| 11937 | + | |
| 11938 | + | |
| 11939 | + | |
| 11940 | + | |
| 11941 | + | |
| 11942 | + | |
| 11943 | + | |
| 11944 | + | |
| 11945 | + | |
| 11946 | + | |
| 11947 | + | |
| 11948 | + | |
| 11949 | + | |
| 11950 | + | |
| 11951 | + | |
| 11952 | + | |
| 11953 | + | |
| 11954 | + | |
| 11955 | + | |
| 11956 | + | |
| 11957 | + | |
| 11958 | + | |
| 11959 | + | |
| 11960 | + | |
| 11961 | + | |
| 11962 | + | |
| 11963 | + | |
| 11964 | + | |
| 11965 | + | |
| 11966 | + | |
| 11967 | + | |
| 11968 | + | |
| 11969 | + | |
| 11970 | + | |
| 11971 | + | |
| 11972 | + | |
| 11973 | + | |
| 11974 | + | |
| 11975 | + | |
| 11976 | + | |
| 11977 | + | |
| 11978 | + | |
| 11979 | + | |
| 11980 | + | |
| 11981 | + | |
| 11982 | + | |
| 11983 | + | |
| 11984 | + | |
| 11985 | + | |
| 11986 | + | |
| 11987 | + | |
| 11988 | + | |
| 11989 | + | |
| 11990 | + | |
| 11991 | + | |
| 11992 | + | |
| 11993 | + | |
| 11994 | + | |
| 11995 | + | |
11937 | 11996 | | |
11938 | 11997 | | |
11939 | 11998 | | |
| |||
0 commit comments