The Autonomous Stack

Business & Finance · Compliance · v1.0.0

Agent License Audit Pack v1.0

Audit open-source dependency licenses and gate copyleft before you ship.

$3.00one-timePay with crypto

license-audit dependency-compliance sbom

agent ⟶ theautonomousstack.xyz

01GET /api/v1/pack/agent-license-audit-v1

402 Payment RequiredX-PAYMENT-REQUIRED

02sign TransferWithAuthorization3.00 USDC · Base (eip155:8453)

03GET + PAYMENT-SIGNATURE

200 OKapplication/zip · 22 files

pay per pack over x402no account

What's inside

A self-hosted autonomous agent that audits the open-source licenses of your dependencies before you ship. It reads requirements.txt / package.json, maps each dependency to its SPDX license, classifies the risk (permissive, copyleft, proprietary, unknown) and grades it against a policy you control.


The problem it solves

Every release quietly pulls in dozens of transitive dependencies. One GPL or AGPL package linked into a product you distribute (or run as SaaS) can force you to open-source your own code; one "unknown" license is a compliance blind spot your legal team will find after launch. Checking this by hand does not scale, and it is exactly the kind of repetitive, rule-based verification an agent should own.

This agent turns that recurring chore into a one-command, offline, reproducible audit — with a clear allow / warn / deny verdict per dependency and a machine- readable report you can wire into CI.

Who it is for: engineers and release managers shipping software (libraries, apps, SaaS) who need a fast, honest license gate without a paid SCA platform.


What it does


Architecture

        ┌──────────────────────────────────────────────────────────┐
        │  Manifests: requirements.txt / package.json              │
        └───────────────────────────┬──────────────────────────────┘
                                     ▼
        ┌──────────────────────────────────────────────────────────┐
        │           OODA loop (deterministic core)                 │
        │  OBSERVE  → discover manifests under the scan dir         │
        │  ORIENT   → parse dependencies (name + version)          │
        │  DECIDE   → SPDX license → category → policy verdict      │
        │  ACT      → report + violations + exit code              │
        └───────────────────────────┬──────────────────────────────┘
                                     ▼
        ┌──────────────────────────────────────────────────────────┐
        │  Knowledge base (data/*.json)   ·   BYO-LLM adapter       │
        │  known_licenses / categories / policy   (claude/kimi/codex)│
        └──────────────────────────────────────────────────────────┘

Contents

File Role
README.md This file — overview and quick-start
SOUL.md Mission, values and the license-audit OODA states
PROMPTS.md 4 named, versioned prompts loaded by agent.py
CHECKLIST.md 20+ deploy/operate steps with command snippets
SPEC.md Technical spec, configurable parameters, interfaces
CUSTOMIZE.md Where to plug in your own SBOM / license data / policy
OPERATING_COST_ESTIMATE.md Provider-agnostic cost method
agent.py Runnable agent (deterministic core + BYO-LLM)
llm_adapter.py BYO-LLM CLI adapter (claude/kimi/codex, no API key)
data/known_licenses.json Seed package → SPDX license map (extend it)
data/license_categories.json SPDX → category + copyleft flag
data/policy.json Category → verdict (allow/warn/deny)
data/requirements.txt Sample Python manifest (demo + smoke test)
data/package.json Sample npm manifest (demo + smoke test)
install.sh / deploy.sh One-shot Debian installer + systemd unit
test_agent.py / smoke_test.sh Offline test suite (no keys)

Quick-start

# 1) Install (Debian/Ubuntu VM): system deps + venv + optional systemd service
sudo bash install.sh
#    venv only, run by hand:  bash install.sh --no-service

# 2) Audit your own manifest
python3 agent.py audit --manifest /path/to/requirements.txt

# 3) Gate CI (non-zero exit if any denied license is present)
python3 agent.py audit --manifest package.json --strict || echo "license gate failed"

# 4) Explain a risky package and get a permissive alternative
python3 agent.py explain --package mysql-connector-python

No API key is required. If a Claude Code / Kimi Code / Codex CLI is logged in, the agent uses it to enrich explanations; otherwise it runs a fully deterministic core.


Deterministic first, smart if connected

The verdict is always computed by deterministic rules over your policy — the LLM never overrides a policy decision. It only explains risk and suggests alternatives when a CLI is available. That keeps audits reproducible and auditable.


License

Personal use per purchase. Resale prohibited.