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
The maxAge guidance, the strategy .describe() and the module TSDoc stated
the SQLite-only shard-DROP mechanism as an unconditional property of the
rotation strategy. Measured authority: driver-sql gates physical rotation
behind supportsRotation (isSqlite only) and rotateShards throws elsewhere;
the LifecycleService then takes its 'rotation-fallback' leg — an age-based
reap from created_at, exactly the mechanism the old guidance said rotation
does not use.
All three sites now carry the split the driver note already states: the
retained window (shards x unit) is identical on every dialect; only the
reclamation mechanics differ (SQLite DROPs the oldest shard whole, O(1);
other dialects reap the same window by age). The maxAge guidance's routing
advice survives verbatim. Text-only: LifecycleSchema's acceptance surface
is unchanged and the superRefine is untouched.
Two pins added in batch 20 (both with anti-vacuity guards, matched by
idiom): the guidance bullet and the strategy description must each name
both legs; reverse-verified red on the reverted text, green on this one.
test-typecheck-debt re-recorded 2 -> 1 for the batch-20 file (LifecycleSchema
is now imported, retiring its unused-import entry).
Claude-Session: https://claude.ai/code/session_018ffcE95NaMJcL9XJ9VDYgk
Co-authored-by: Claude <noreply@anthropic.com>
// The claim under test: both legs of the split are named.
295
+
expect(msg,'the shard DROP must be attributed to SQLite').toMatch(/SQLite/);
296
+
expect(msg,'and the other dialects must be told what they get instead').toMatch(/age-basedreap|reaps?[^.]{0,32}byage/i);
297
+
298
+
// The retired unconditional claim, pinned by name so it cannot come back
299
+
// as a paraphrase of the same idea — it is false on Postgres/MySQL, where
300
+
// the fallback leg reaps from `created_at` exactly by age.
301
+
expect(msg).not.toContain('does not reap by age');
302
+
});
303
+
304
+
it("`lifecycle.storage.strategy`'s description carries the same qualifier — `(O(1) reclaim)` is a property of SQLite, not of the strategy (#6631)",()=>{
0 commit comments