ramp-cli --agent
Scriptable JSON envelope with schema_version: 1.0. The kit contract-tests every step.
When ramp --agent or MCP calls fail, you need receipts: latency, success, redacted logs, and a clear verdict — not another guess in the loop.
ramp-kit plan scenarios/cli-offline-contracts.yaml
You're building an AI agent that calls Ramp (CLI or MCP). When something breaks, this kit tells you where — your code, OAuth, API latency, or permissions.
Ramp ships ramp --agent (JSON for scripts) and MCP (natural language).
Their own engineering blog admits MCP can be slow and unreliable on large datasets.
schema_version drift)Without receipts, every failure feels like "the model hallucinated." This kit fixes that.
Scenarios are YAML files listing CLI commands and expected outcomes.
ramp-kit plan prints the step list — no API calls, no credentials.
ramp auth login
Each step executes ramp --agent … in an isolated temp config
(so tests never touch your real tokens). Every step writes a receipt:
x-trace-idOne command answers the question every agent builder asks:
"Is it my code or Ramp?"
ramp-kit all runs the full pipeline and writes
report.html you can open, screenshot, or attach to a PR.
Scriptable JSON envelope with schema_version: 1.0. The kit contract-tests every step.
SQL/ETL over Developer API. Latency is the known bottleneck — receipts capture it.
Actions respect the logged-in user's role. Demo scenarios show permission limits.
ALL_PASS
Every step met contract expectations. Your harness and CLI envelope agree.
AUTH_BLOCKER
OAuth, scopes, or permissions. Re-login — not an agent logic bug.
LATENCY_BLOCKER
Timeouts on large datasets. Ramp's blog calls this out for MCP.
AGENT_CODE_ISSUE
JSON envelope or schema_version drift in your code.
Clone the project, run offline contracts against ramp-cli source. Zero credentials.
cd ramp/kit uv sync uv run ramp-kit all scenarios/cli-offline-contracts.yaml \ --ramp-cli-src ../upstream/ramp-cli \ --runs-dir ../runs open ../runs/*/report.html
With sandbox OAuth: ramp auth login then run
cli-sandbox-identity.yaml
Real output from the offline scenario. Five steps, zero failures.