You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
get_object_locking carries the freshness stamp its latest-anchored read owes, and the shrink-only census shrinks back (Erik's ruling on #3878's roster call) #3880
Erik's ruling on the judgment call recorded in #3878 / PR #3879: stamp it, don't roster it.
#3879's fix made DarlingObjectStatsReader.IndexLockingSql visible to the latest-anchored-reads census for the first time (its old per-name anchor sat inside a CTE, which the scanner ignores as picking a set — the defect itself had hidden the read). The lane rostered it on the shrink-only LatestAnchoredReadsWithoutTheirStamp list with the pre-existing-debt-made-visible argument. Erik prefers the better end state: the read gains a real freshness stamp and the roster shrinks back.
Work:
get_object_locking's payload gains the house freshness stamp for latest-anchored reads — mirror exactly how the already-stamped snapshot reads in DarlingObjectStatsReader.cs / the McpLatestSnapshotStampTests swept set carry theirs (field name, semantics, and placement come from the existing pattern, not invented; the collection_health_age_seconds family is the reference for age-style stamps if that is the house shape here).
McpLatestSnapshotStampTests' sweep already includes GetIndexLockingAsync; verify the read now satisfies the stamped arm rather than the roster exemption.
Tool Description (and the get_object_locking instructions row, if one exists) documents the field the way the stamped siblings do.
Cross-SKU parity check: if Lite's get_object_locking twin (Lite/Mcp/McpObjectStatsTools.cs) is the same latest-anchored-unstamped shape, stamp it identically; if Lite's censuses have no such roster, note the asymmetry rather than inventing one.
Claimed — filed by the pm-user-worker seat itself as the rule-11 standalone for Erik's direct ruling ("stamp it") on the #3878/PR #3879 roster call. Lane fix/3880-object-locking-freshness-stamp is in flight; the production commit (both SKUs' get_object_locking stamped with the snapshot timestamp, mirroring the stamped siblings' pattern) is already banked, pins and census-shrink in progress.
Done in the squash above (PR #3883): both SKUs' get_object_locking payloads carry the snapshot's own collection_time — projected on the row statement rather than re-read, so a capture landing mid-read cannot mis-stamp — the sweep takes the read through its stamped arm on both suites, the roster entry #3879 added is removed (the shrink-only census resumes shrinking), and the live rename pin asserts the stamp against a real store. Ships with the next nightly.
Activity
erikdarlingdata commentedon Sep 22, 2026
Claimed — filed by the pm-user-worker seat itself as the rule-11 standalone for Erik's direct ruling ("stamp it") on the #3878/PR #3879 roster call. Lane fix/3880-object-locking-freshness-stamp is in flight; the production commit (both SKUs' get_object_locking stamped with the snapshot timestamp, mirroring the stamped siblings' pattern) is already banked, pins and census-shrink in progress.
get_object_locking says WHEN its snapshot was collected, on both SKUs (…
erikdarlingdata commentedon Sep 22, 2026
Closed by the watcher: delivered in PR #3883, merged to dev.
erikdarlingdata commentedon Sep 22, 2026
Done in the squash above (PR #3883): both SKUs' get_object_locking payloads carry the snapshot's own collection_time — projected on the row statement rather than re-read, so a capture landing mid-read cannot mis-stamp — the sweep takes the read through its stamped arm on both suites, the roster entry #3879 added is removed (the shrink-only census resumes shrinking), and the live rename pin asserts the stamp against a real store. Ships with the next nightly.