Website Review
What is Since.dev?
Since.dev is a service for keeping a codebase working when the things it depends on change. Its premise, stated on the homepage, is that "your code didn't change. Everything under it did." It watches supported dependencies — package registries and ecosystems such as npm, PyPI, RubyGems, Rust, and GitHub, plus OpenAPI-described APIs — and when something upstream shifts, it traces that change to the code in your repository that is affected and prepares a repair as a draft pull request.
The workflow it describes has four steps: spot the external change, find the code it touches, prepare a small supported fix, and hand it to your CI for the final call. Repairs arrive as draft PRs that run your existing checks, and you can request a revision on the same PR rather than opening a new one. Upstream evidence — such as a migration guide noting that send became messages.create — stays attached to the fix so a reviewer can see why the patch looks the way it does.
Who it suits
Teams maintaining repositories with many third-party dependencies, where SDK releases, deprecations, and provider API changes create steady maintenance work. It is also aimed at people building AI agents: Since.dev offers a "world state" check, letting an agent verify assumptions such as a recorded SDK version against the latest observation before acting, using recorded evidence rather than a fresh fetch.
Trade-offs to weigh
- It only covers supported sources, so changes outside those ecosystems still need manual tracking.
- A prepared patch is a starting point, not an automatic merge — your tests and reviewers decide.
- The value depends on how much dependency churn your project actually sees; a small, stable codebase may gain little.
A concrete example
Suppose a fictional example-sdk moves from 19.0.0 to 20.0.0 overnight with a renamed method. A scheduled check notices the release and its migration guide, locates the call sites in your repository, and opens a draft PR with a focused patch. You review the diff, see the linked evidence, and let CI confirm it.
Next step: connect a repository and watch one dependency you already track closely, so you can judge the quality of the first repair PR before relying on it more broadly. If you mainly want change detection without automated fixes, compare it with dedicated dependency-monitoring tools such as Dependabot or Renovate before committing.
How does Since.dev turn dependency changes into repair pull requests?
Since.dev watches the dependencies behind your repository and, when a supported upstream change appears, traces it to the code that depends on it and opens a draft pull request with a focused repair. The flow described on the site runs in four stages: spot the external change, find the affected code, prepare a small supported fix, and hand it to your CI for review.
The pipeline in practice
- Connect a GitHub repository. Since.dev monitors supported dependency sources — npm, GitHub, PyPI, Rust, OpenAPI, and RubyGems are listed.
- Detect a change. A scheduled check picks up a release along with its official migration guide (for example, an SDK bump with a documented
send→messages.createmigration). - Map impact. The change is linked to the endpoints, calls, or types that use it in your code.
- Prepare a repair. A draft PR is opened with a small patch and the upstream evidence attached.
- Review. Your existing CI runs on the PR. You can request a revision and review the updated patch on the same PR.
What makes it different from generic dependency bots
| Typical dependency updater | Since.dev (as described) |
|---|---|
| Bumps a version number | Connects an API/SDK/model change to affected code |
| Often leaves breakage for you to fix | Prepares a supported migration patch |
| Evidence is the changelog | Upstream evidence stays with the repair |
| Separate tooling for agents | Verification of external facts for agents |
A concrete scenario
You maintain a service that calls a payments SDK. The provider deprecates /v1/messages in favour of /v2/messages. Instead of reading the migration guide and hunting through src/integrations/, you get a draft PR touching the calls that use the old endpoint, with the guide linked and your tests already running.
Where the agent angle fits
The site also describes a verification step: before an AI agent acts, it can check its assumptions — a version, a provider condition, an external fact — against the latest recorded observation, without a fresh fetch. That is aimed at teams building agents on top of changing APIs, where stale assumptions cause silent failures.
Decision criteria
- Useful if your breakage comes from upstream API or SDK movement rather than your own commits.
- Less useful if your dependencies are internal and stable, or if changes rarely come with migration guides.
- Check which ecosystems and sources are supported before adopting; the listed set is broad but not exhaustive.
Next step
Connect one repository with a dependency you know is drifting, and see whether the first draft PR matches how your team would have fixed it by hand.
For related context, GitHub's own dependency tooling is at GitHub, and package registries such as npm publish the release notes that feed this kind of monitoring.
Can Since.dev work with private GitHub repositories and my existing CI pipeline?
Yes. Since.dev is designed around connecting a GitHub repository, watching supported dependencies for upstream changes, and preparing draft PRs that run through the CI you already have. The page explicitly says "Draft PRs use your existing CI" and "Tests run in your repository," so the final gate stays yours: your pipeline, your branch protections, your review.
For a private repository, the practical workflow looks like this:
- You connect the repo to Since.dev.
- It tracks supported sources (npm, GitHub, PyPI, Rust, OpenAPI, RubyGems are listed) for changes such as API moves, SDK updates, deprecations and provider changes.
- When something changes, it traces the affected code and opens a small, supported repair as a draft PR.
- Your existing CI runs on that PR. If you want changes, you request a revision on the same PR and review the updated patch.
Two things worth checking before you rely on it:
- Which dependencies are actually "supported." The page lists ecosystems and change types, but coverage varies by source. Start with the one or two dependencies that cause you the most migration pain, not your whole dependency tree.
- How much of your CI is required to pass before merge. Since.dev prepares the patch; it does not replace your tests. If a repair touches code your CI doesn't cover well, the draft PR still needs human review.
A concrete decision criterion: if your team already spends time chasing SDK and API changes and your CI gives fast, trustworthy feedback on PRs, this fits naturally. If your CI is slow or flaky, the value drops, because every repair PR inherits that friction.
Next step: connect a single repository with one actively changing dependency, let it produce one draft PR, and judge the patch quality and CI behavior before rolling it out more widely.
For related context on the GitHub side of this workflow, see GitHub.
How do I verify that my AI agent's assumptions about external APIs and SDKs are still valid?
Check each assumption against a recorded observation of the external source, then act on the difference. The practical pattern is: record what the dependency looked like when the agent's plan was written, re-check that record later, and treat a mismatch as a signal to review rather than an automatic failure.
Since.dev describes this as "world state": external facts, versions and provider conditions that an agent can check before acting. Its verification reads recorded evidence rather than performing a fresh fetch, and the illustrative result shows three outcomes — valid, changed, unknown — with the agent receiving evidence to review when an observation differs. That distinction matters: "unknown" is not the same as "still valid."
A concrete workflow
- Capture the assumption explicitly, e.g.
example-sdk.version = 19.0.0or "endpoint/v1/messagesaccepts this payload." - Attach a source: the release notes, migration guide, API contract or package registry entry that justified it.
- Re-check on a schedule or before a consequential action.
- On a difference, route to a human or a repair step rather than letting the agent proceed on stale facts.
The failure mode this addresses is quiet. Your agent's code didn't change; the SDK, endpoint or model behind it did.
Trade-offs to weigh
| Approach | Strength | Weakness |
|---|---|---|
| Fresh fetch at decision time | Current by definition | Slow, rate-limited, can fail mid-task |
| Recorded observation (as described by Since.dev) | Fast, auditable, works offline | Only as fresh as the last recording |
| Agent self-reports confidence | No extra infrastructure | Models are often confidently wrong |
Recorded evidence also gives you an audit trail: when an agent acted on a wrong assumption, you can see what it believed and when that belief was last true. The cost is staleness — you must know the observation time and source health, which Since.dev lists as part of verification.
Where this connects to repair
Verification tells you something changed. Repair is the next step: Since.dev traces supported upstream changes to affected code and prepares a focused draft PR, using your existing CI, with revisions on the same PR. The upstream evidence stays attached to the fix, so a reviewer can see why the patch exists.
If you only want the checking half, Since.dev covers verification separately from repair. For the underlying change feeds, official sources such as GitHub release pages and package registries like npm and PyPI are where the observations originate.
Next step: pick your three most load-bearing external assumptions — the ones that would silently break an agent's task — and write down the version or contract each depends on. That list is what you verify.
Which package registries and API specifications does Since.dev monitor for changes?
Since.dev monitors a set of package registries and API specification sources it describes as its supported sources. From the page, the named registries are:
- npm
- GitHub
- PyPI
- Rust
- RubyGems
On the API side, the page names OpenAPI as a specification type it watches, and it discusses API contract changes such as endpoints moving (for example, /v1/messages to /v2/messages) and deprecations. It also refers to SDK updates, provider changes and model changes, and shows an example of detecting a new SDK release plus its official migration guide.
Practical reading: the list is explicitly framed as "supported sources," so treat it as the current coverage boundary rather than a claim about every registry or spec format. If your stack uses npm, PyPI, Rust, RubyGems, GitHub-hosted packages or OpenAPI-described APIs, the workflow the page describes — detect the upstream change, trace it to affected code, prepare a focused patch, then let your existing CI and reviewers decide — maps directly onto your setup.
Next step: before connecting a repository, inventory your direct dependencies and the API specs your services consume, then check each against that supported list. Anything outside it is where you would still need manual monitoring, even if the rest of the workflow fits.
What should I do when Since.dev detects a breaking change in a dependency my code uses?
Review the draft repair PR it prepares, then let your own CI and judgment decide whether to merge it. Since.dev's described workflow is: connect a GitHub repository, it observes supported upstream changes (APIs, SDKs, models), traces them to affected code, and opens a focused draft patch that runs through your existing CI, with upstream evidence attached and revisions possible on the same PR.
Your practical sequence
- Read the change and the evidence first. The page describes keeping "upstream evidence" with the repair, and shows a migration-guide-style signal (for example, a method rename). Confirm the change is real and the source is authoritative before touching code.
- Inspect the patch's scope. A good repair is small and local to the call sites that actually break. If the diff sprawls into unrelated files, treat that as a signal to revise or reject.
- Let your tests run. The draft PR uses your CI, so failures there are the real gate — not the tool's confidence.
- Request a revision if the fix is wrong or incomplete, and re-review the updated patch on the same PR.
- Merge only when the change matches your intended migration, or close it and handle the upgrade deliberately (for example, pinning the old version until you're ready).
When to slow down
- Breaking changes with behavioral, not just signature, differences: a compiling patch can still be semantically wrong. Add or update tests around the affected behavior.
- Security- or data-sensitive dependencies: verify the new version's provenance yourself rather than relying on the detection alone.
- If your agent tooling depends on the same facts, check its assumptions against the latest recorded observation before it acts — the site frames this as "world state" verification, and it reads recorded evidence rather than performing a fresh fetch, so confirm observation time and source health.
Decision criterion: merge if the PR is narrow, tests pass, and the upstream change is one you'd have made anyway; revise if the direction is right but the code isn't; close and schedule manually if the upgrade needs design work beyond a patch.
Next step: open the draft PR, read the linked upstream evidence, and check whether the diff touches only the broken call sites. If you want to compare how other tools approach dependency updates, look at GitHub Dependabot documentation for its (different) scope — version bumps rather than API-migration repairs.
User reviews (0)