Meta tags:
description= API providers publish retirement dates. drift-scan finds the call sites in your code that are about to break. Runs on your machine, uploads nothing, changes nothing.;
Headings (most frequently used words):
what, it, drift, scan, looks, like, does, not, do, the, rest, of, cannot, see,
Text of the page (most frequently used words):
the (32), and (15), drift (15), not (11), one (8), scan (8), call (6), from (6), does (6), nothing (6), your (6), only (5), change (5), skipped (5), sites (4), symbol (4), beyond (4), scope (4), chain (4), values (4), strings (4), code (4), about (4), that (4), fork (4), exposure (4), github (3), coverage (3), discloses (3), found (3), real (3), than (3), read (3), files (3), site (3), other (3), generated (3), own (3), cannot (3), what (3), repository (3), retirement (3), patch (3), tool (3), providers (3), pull (3), request (3), data (3), api (3), openai (3), gpt (3), chat (3), every (2), run (2), also (2), prints (2), clean (2), result (2), endpoint (2), route (2), sdk (2), mapping (2), exact (2), matches (2), adr (2), 0007 (2), options (2), object (2), spreads (2), single (2), variable (2), dataflow (2), chained (2), reassignment (2), function (2), returns (2), comprehensions (2), config (2), yaml (2), json (2), toml (2), env (2), runtime (2), template (2), literals (2), containing (2), substitutions (2), built (2), concatenation (2), format (2), attributes (2), defined (2), base (2), class (2), mixin (2), metaclass (2), inheritance (2), followed (2), names (2), bound (2), more (2), literal (2), level (2), refuses (2), guess (2), which (2), reaches (2), instead (2), cross (2), file (2), constants (2), imported (2), modules (2), list (2), with (2), see (2), here (2), draft (2), because (2), full (2), human (2), reads (2), decides (2), there (2), need (2), labs (2), rehearsal (2), https (2), com (2), git (2), scanned (2), anthropic (2), deprecation (2), latest (2), 2026 (2), 14d (2), python (2), none (2), path (2), were (2), are (2), break (2), source, licence, issues, its, parse, per, language, but, refused, resolve, should, legible, check, rather, empty, this, extractor, declarations, written, hand, quietly, fall, out, step, opened, operator, carries, provider, notice, evidence, states, verification, tier, reached, decision, maintainer, bytedance, mmlongcite, watches, classifies, each, once, patches, confident, verifies, mechanically, opens, auto, applies, ever, merged, half, rest, ships, inside, package, runs, entirely, machine, how, old, current, retirements, knew, has, server, down, breached, key, never, spends, money, model, account, signup, access, upload, anything, telemetry, analytics, phoning, home, modify, patcher, a5361faeecf5, stripe, shutdown, date, aug, recommended, replacement, sol, left, summarise, completions, create, direct, conf, 153, 134, matching, verbose, 100, typescript, unsupported_language, under, vendored, ignored, directories, excluded, totals, above, within, them, limitations, unsupported, languages, summary, across, highest, severity, soonest, sunset, 154, day, ago, open, proposes, mocked, looks, like, takes, local, requires, for, urls, exit, codes, error, works, gate, further, wiring, uvx, owner, name, publish, dates, finds, find, calls,
Text of the page (random words):
drift scan find the api calls in your code that are about to break drift scan api providers publish retirement dates drift scan finds the call sites in your code that are about to break uvx drift scan https github com owner name also takes a local path requires python 3 12 and for urls git exit codes 0 nothing found 1 exposure found 2 error so it works as a ci gate with no further wiring what it looks like a real scan of a real repository nothing here is mocked up drift exposure drift labs drift fork rehearsal https github com drift labs drift fork rehearsal git a5361faeecf5 scanned in 0 8s providers anthropic openai stripe exposure 1 deprecation gpt 5 2 chat latest gpt 5 2 chat latest shutdown date aug 10 2026 recommended replacement gpt 5 6 sol 14d left summarise py 15 openai chat completions create direct conf 1 0 no exposure 153 anthropic 19 openai 134 no matching call sites verbose to list coverage python 100 0 2 2 skipped none typescript 0 0 0 0 skipped none other 0 0 0 2 skipped unsupported_language 2 29 path s under vendored or ignored directories were excluded from the totals above not skipped within them limitations generated cross file constants and values imported from other modules names bound to more than one literal at one level of the scope chain drift refuses to guess which one reaches the call and discloses the site instead attributes defined in a base class a mixin or a metaclass inheritance is not followed f strings template literals containing substitutions and strings built by concatenation or format values read from config files yaml json toml env at runtime dataflow beyond the scope chain chained reassignment function returns comprehensions options object spreads beyond a single variable endpoint route sdk symbol mapping only exact symbol matches adr 0007 files in unsupported languages were skipped see coverage summary 1 site s across 1 change s highest severity deprecation soonest sunset in 14d change data 154 retirement s generated 2026 07 27 0 day s ago scanned in 0 9s drift scan only reads it cannot patch fork or open a pull request the full tool proposes a change and a human decides what it does not do it does not modify your code there is no patcher no fork no pull request it does not upload anything no telemetry no analytics no phoning home it does not need an account a signup or access to your repository it does not need an api key and it never spends your money on a model it has no server there is nothing to be down and nothing to be breached the change data ships inside the package so the scan runs entirely on your machine every run prints how old that data is because a clean result is only as current as the retirements it knew about the rest of drift drift scan is the read only half the full tool watches the providers classifies each change once patches the call sites it is confident about verifies the patch mechanically and opens a draft pull request that a human reads and decides on nothing auto applies nothing is ever merged by drift here is one it opened on a repository the operator does not own bytedance mmlongcite 1 it carries the provider s own retirement notice as evidence states the verification tier the patch reached and it is a draft because the decision is the maintainer s not the tool s what it cannot see this list is generated from the extractor s own declarations not written by hand so it cannot quietly fall out of step with the code cross file constants and values imported from other modules names bound to more than one literal at one level of the scope chain drift refuses to guess which one reaches the call and discloses the site instead attributes defined in a base class a mixin or a metaclass inheritance is not followed f strings template literals containing substitutions and strings built by concatenation or format values read from config files yaml json toml env at runtime dataflow beyond the scope chain chained reassignment function returns comprehensions options object spreads beyond a single variable endpoint route sdk symbol mapping only exact symbol matches adr 0007 every run also prints its parse coverage per language and discloses the call sites it found but refused to resolve a clean result should be legible as a real check rather than an empty one source licence and issues on github
|