Point every rung citation for alert_persistence_state at V118, and pin that they do (#3282) - #3338
Conversation
|
Reviewed. This is a clean, self-contained fix: it corrects five stale Verification performed:
No correctness issues found. Nothing blocking. |
…n that they do #3282's rung renumbered from V117 to V118 when #3315 merged first, and five comments across both SKUs still cite V117 - which is now the mute-rule reload-beacon rung. Review found three of them on #3328; the other two are in LiteAlertStateStore and PgAlertStateStore. The repo uses exactly these citations to check Lite/Darling parity, so a wrong one sends the next person to the wrong rung. This was the last commit on #3328 and the merge landed one commit short of it, so it comes back on its own. The pin derives the number from StorageVersion.SchemaVersion rather than comparing against a literal, so a future renumber reds it instead of leaving silent copies. Each phrase carries its own SUBJECT, which is what makes a citation attributable without parsing comments at all - and both earlier spellings are why. Scoped to the FILE it flagged nine correct citations for other rungs, which is a check someone turns off. Scoped to comment BLOCKS it needed a hand-rolled line-prefix comment filter, which CommentFilterAdoptionTests refuses without a stated bound - correctly, and the bound I measured for it came back unreliable on its own terms. A phrase naming both the table and the rung needs neither. Reddened three ways before its pass was trusted: one citation reverted to V117, a SchemaVersion bump that leaves all five behind, and a reworded phrase - which has to fail loudly rather than silently matching nothing, so the pattern is asserted to match at all before its captures are compared. Assert.NotEmpty is load-bearing there: Regex.Escape escapes '{' and not '}', which was verified by running it rather than assumed.
f0a6783 to
41c9e66
Compare
|
Reviewed. This is a clean, narrowly-scoped fix — five stale V117 comment citations for Checked:
Only a non-blocking nit: 🤖 Generated with Claude Code |
Review nit. System.Collections.Generic came in with the first spelling of the pin, which used a List, and stayed behind when the phrase-based version replaced it. The added lines also put System.Text.RegularExpressions ahead of System.Reflection.
|
Reviewed. This is a narrow, well-scoped fix — no SQL/schema changes, so T-SQL style and the missing-index-DMV concern don't apply here.
No correctness, parity, security, or performance issues found. |
Follow-up to #3282 / #3328. Close #3282 explicitly once this lands — PM merges to
dev, where closing keywords never fire.What is wrong on
devright nowconfig.alert_persistence_stateis created by V118 (builtin-alert-persistence), andStorageVersion.SchemaVersionis 118. Five comments across both SKUs still cite V117, which is now #3315's mute-rule reload-beacon rung:Lite/Database/Schema.csLite/Database/DuckDbInitializer.csLite/Services/DuckDbAlertHistoryStore.csLite/Services/LiteAlertStateStore.csDarling/PerformanceMonitor.Darling.Service/PgAlertStateStore.cs#3282's rung was V117 until #3315 merged first and the ladder rule sent the later merge to renumber. The renumber moved the code and missed the prose. This repo uses exactly these citations to verify Lite/Darling parity, so a wrong one sends the next person to the wrong rung.
claude[bot]flagged three of them on #3328. The other two —LiteAlertStateStoreandPgAlertStateStore— were found by grepping for the rung number rather than working from the review list.Why it is a separate PR
This was the last commit on #3328 and the merge landed one commit short of it (
1a3a928awent in; this did not). Verified by content rather than by ancestry:git diff origin/dev <that commit>over the six paths is non-empty, so it genuinely did not land. Nothing else from that branch is missing — it was the only commit after the merged head.The pin, and the two ways it was wrong first
A rung number in prose is a frozen claim, so the number is derived from
StorageVersion.SchemaVersionrather than compared against a literal: a future renumber reds this instead of leaving silent copies behind.Both of its first spellings were wrong in ways worth recording, because each one would have passed:
DuckDbInitializernames the table only in a log string and its comment says "persistence-gate state". Both keys are matched now, and the floor is the counted number.Reddened two ways before its pass was trusted: one citation reverted to V117 (fails, naming that file), and a
SchemaVersionbump to 119 with the comments left alone (fails, naming all five).Verification
Darling.Tests/Lite.Testsarenet10.0-windowsand cannot run on macOS, so the actual test.csfiles were compiled into anet10.0console harness with an xunit shim and run against this tree: 194 passed, 0 failed, including the repo-wide guards this change has to satisfy (AlertReadFailureSurfaceTests,RepoFileAdoptionTests,DocCommentHygieneTests). Comment-only changes otherwise, plus one new test; all four affected projects build.