ANTIGRAVITY LABJP
Articles/Agents & Manager
Agents & Manager/2026-06-21Advanced

Taking Stock of the Dependencies Your Agent Added — A Design for Keeping License and Provenance Traceable

A few months of letting agents work, and your package.json quietly grows dependencies you don't remember adding. Here is a design for taking stock — recovering what was added, when, and why, in a form you can still trace later.

Antigravity338Dependency ManagementLicensingSupply ChainLong-term Operations2

Premium Article

One morning I opened package.json and stopped. Sitting next to date-fns was a small date library I had no memory of adding. A quick git blame traced it to an agent commit from three weeks earlier. It had been pulled in to make a test pass. It works. But why that package, under what license, and whether it was safe to remove — none of that was written down anywhere.

Handing code to an agent genuinely raises your throughput. Underneath that, the dependency tree grows quietly, and faster than your memory of it. Each decision is small, but across a few months and several projects they pile up into a state where nobody holds the whole picture. This is the kind of debt that hits hardest in long-term operation.

What follows is a design for taking stock of the dependencies your agent added — pulling license and provenance back into a form you can trace.

What happens when you can no longer trace it

"One mystery dependency" is a joke you can live with. The trouble shows up when it accumulates.

The first cost is a license mismatch. An agent picks the package that satisfies the feature; it won't always weigh the license terms each time. GPL-family code can slip into a closed commercial app, and without an auditing mechanism you'll never notice.

The second is a widening attack surface. Add one direct dependency and it drags ten or twenty transitive ones along. The longer unused dependencies sit there, the more of your time goes to chasing vulnerability notices.

The third is lost judgment. When you wonder, six months on, "can I drop this dependency?" — if the reason it was added is gone, so is your nerve to remove it. Dependencies nobody dares touch end up squatting forever.

As an indie developer running several sites and apps in parallel at Dolice, I feel all three. The third — lost judgment — carries a weight specific to agent-driven work. Dependencies a human added usually leave behind a memory, or a message in a chat log. Dependencies an agent added often leave nothing beyond the commit message.

Break the audit into three questions

Start an audit vaguely and the sheer number of dependencies stalls you. Splitting it into three questions draws a clear line between what the machine handles and what a person reviews.

QuestionWhat you want to knowAutomatable?
WhatWhich direct dependencies did the agent add?Mostly yes
WhenIn which commit, as part of which work, did it land?Yes
WhyWas there a real reason it had to be this one?Needs a human

"What" and "when" live in git history. Only "why" needs a person to fill in after the fact — which is exactly why recording the "why" at the moment of adding pays off. We'll come back to that.

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
A script that extracts only the dependencies an agent added, straight from git history
How to collect licenses and check them automatically against your own policy
An operating design that records provenance in commits, so the you of six months from now can reconstruct the reasoning
Secure payment via Stripe · Cancel anytime

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Antigravity Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $10 for lifetime access
View Membership →

Related Articles

Agents & Manager2026-07-10
Tracing Why an Agent Wrote That Line Six Months Ago — Commit Granularity and Provenance Trailers
When an agent packs 14 files and 800 lines into a single commit, git blame tells you nothing six months later. Here is how I split commits at intent boundaries, recorded provenance as machine-readable Git trailers, and built a one-command path from a blamed line back to the design decision behind it.
Agents & Manager2026-07-17
Three Quarters of My Reference Notes Never Reached the Agent: Measuring What head Cuts Away
I fed reference notes to a scheduled agent with cat and head, and the lines that mattered were quietly cut. Here is the measurement, and how I replaced a line count with a section-level contract.
Agents & Manager2026-07-16
The More I Wrote in AGENTS.md, the Less Got Followed — Measuring Adherence and Cutting Rules
The rules in my AGENTS.md were being ignored — not from precedence conflicts or load failures, just plain ignored. Here is how I turned rules into checkable predicates, measured adherence over three weeks, and cut the file in half.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →