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.

Antigravity254Dependency ManagementLicensingSupply ChainLong-term Operations

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-06-21
Keeping Unattended Agent Run Logs Long Enough to Debug — Without Filling the Disk
A scheduled agent is only fixable if you can reconstruct why it failed. Here is how to keep run logs around without filling the disk — tiered retention, schema-versioned records, and a compaction job — drawn from running four sites on autopilot as an indie developer.
Agents & Manager2026-06-20
When a Timed-Out Unattended Agent Leaves a Half-Written File Behind
When a scheduled agent gets killed on timeout, it can leave a half-written file that silently poisons the next stage. Here is the atomic write, stale-temp cleanup, and post-write content assertion I use to keep unattended pipelines from breaking.
Agents & Manager2026-06-20
Don't Lose Failed Agent Jobs: Designing a Dead-Letter and Requeue Path
Scheduled agents fail silently overnight and the work simply vanishes. Here is how to catch those failures with a dead-letter store and a staged requeue, drawn from running four sites on autopilot as an indie developer.
📚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 →