Averth

Averth / The details

Inside the ledger.

The ChatGPT tools, their data requirements, and the local CLI. Older simulated examples are retained below with their assumptions.

Four tools. Data you supply.

Averth analyzes submitted run records and replays thresholds against history. It does not automatically connect to your agents, billing accounts, or trace providers.

Analyze a batch of runs

analyze_run_batch accepts a JSON array of run records or an Averth export_ledger object with an attempts array. It reports fully loaded cost per accepted outcome, model/retry/tool/human costs, and expensive-tail share. Token and model analysis depends on the supplied fields.

Supported record fields
FieldInput
run_idRun identifier
model_costModel or API cost
tool_costExternal tool cost
retry_costRetry-related cost
human_costHuman labor cost
human_minutesTime spent on human work
retriesRetry count
input_tokensInput token count
output_tokensOutput token count
waste_tokensTokens recorded as waste
total_costRecorded overall cost
successRecorded outcome flag
reopenedWhether a result was reopened
business_valueSupplied business-value information
model_nameModel attribution

Accepted fields do not guarantee dedicated reports: business_value does not establish a promised ROI calculation. Aggregate token counts cannot reconstruct per-step context growth.

A missing outcome is unknown, not a failure. With no accepted outcomes, the meter prints $0.00 per success. Treat that as undefined, not as a real cost.

Replay a historical policy

simulate_policy takes a supplied ledger and a policy with at least one supported threshold:

{
  "max_cost_per_attempt": 1.00,
  "yield_floor": 0.10
}

max_cost_per_attempt identifies attempts above the dollar threshold. yield_floor identifies token yield below a fraction between 0 and 1. max_cost_per_run and min_yield are unsupported.

The replay identifies historical runs that would have stopped, their associated spend, failed-run exposure, and collateral: successful runs caught by the policy. That spend is not projected savings. Completed-run history cannot establish exactly what a live intervention would have saved.

No retry-count policy, routing policy, fallback configuration, or live enforcement tool is exposed.

Explain the cost layers

explain_cost_layers returns a static educational explanation of context compounding, external tool spend, token yield, heavy-tail outliers, and model attribution with human labor. Its 2,000-run workload figures are simulated, not customer production results.

The get-started skill supplies operating instructions and interpretation guidance. It does not add another executable backend capability.

Verify evidence

verify_evidence is the V0 evidence verifier, in plugin version 1.2.0, live in the ChatGPT listing. Inputs: evidence JSON with human-written checks, plus optional ingest text in any supported shape (JSON, JSONL, pretty JSON, plain log, OpenTelemetry-style span records, meter-style event records). Behaviour: judges in memory only, no execution, no repo access, no merge guard, no repair. Outputs: a JSON ledger plus a Markdown report; unknown stays unknown; inferred checks are always NOT OBSERVED, never human acceptance. Limits: tested only on a local fixture and public traces, not on a real developer workflow; no validated repair, no measured savings, no paying customer.

Example, illustration only, not a result: input is evidence JSON naming one check, exact command npm test, plus ingest text with that command and exit code 0. Output is a ledger with that check VERIFIED, scoped only to the cited run, plus a Markdown report. A check with no cited run is NOT OBSERVED, never assumed to have passed.

Access and data handling

The plugin can analyze records and replay ledgers you explicitly supply. It has no exposed access to provider invoices, billing accounts, previous ledgers, live agents, source code, or deployment logs. It cannot automatically fetch Langfuse, LangSmith, or OpenTelemetry traces, enforce budgets, change routing, or edit, delete, or export stored Averth records. No installed-version endpoint is exposed.

Other connected ChatGPT integrations remain separate. Selecting Averth does not itself authorize access to email, Drive, GitHub, or other accounts.

Submitted ledgers are processed in memory and not stored by Averth's tools. That does not establish ChatGPT conversation retention. Share metadata only after redacting customer identifiers, sensitive free text, credentials, payment details, and personal data. Exported case IDs, tool names, and retry reasons are not guaranteed to be sanitized.

Use the local CLI below when traces need to remain on your machine.

A model bill is one line
in the ledger.

An accepted outcome carries the cost of the attempts behind it. Count the retries, external calls, and review time alongside the model spend.

Simulated 2,000-run workload / per accepted outcome
Dashboard cost$0.20
Metered cost, including the dashboard$0.30
Human review, assumed loaded rate$0.52
Simulated total: metered + review$0.82

In this simulation, metered cost is 1.5× the dashboard cost. Human review adds a separate assumed cost. Use your own loaded rate when measuring your workload.

Averth marks missing data as UNKNOWN. Cost per accepted outcome needs accepted-outcome labels; a completed trace alone does not establish success.

Illustrative simulation, not customer results. The previous headline, “$6,200/month your dashboard never shows,” described this simulated example; it is not a savings estimate for your team. These legacy website figures differ from the plugin v1.1 example.

Find the runs that
carry the bill.

An average hides the spread. Rank attempts by cost to see which runs deserve a closer look.

61% of spend came from the most expensive 5% of runs in the simulation.
Simulated 2,000-run workload. Bar shows share of spend: top 5% of runs (61%), remaining runs (39%). This is not a measured production distribution.

Five places costs accumulate.

01

Model spend

Input and output tokens, attributed to the model and attempt.

02

Retries & failures

Spend on attempts that did not produce an accepted outcome.

03

Tools & API calls

The external calls recorded in the run, with their costs.

04

Context growth

The token cost of carrying more context through each step. Context grew 4.7× in the simulated example.

05

Human review

Escalation and handling time, priced at your loaded rate.

Keep your traces.
Add the cost of the outcome.

For the local CLI, start with an exported trace file. It reads Langfuse, LangSmith, and OpenTelemetry exports on your machine. The ChatGPT plugin does not automatically fetch them.

How the tools fit together
QuestionAverthYour existing workflow
What did a call cost?Includes model spend in the ledger.Keep the call-level view in Langfuse or your token dashboard.
What did an outcome cost?Rolls up attempts using accepted-outcome labels.A spreadsheet needs the outcome joins and cost rollup.
Where did spend accumulate?Separates retries, tools, and human review.Bring trace data and your review-rate assumptions.
What is missing?Flags unknown inputs rather than presenting gaps as free.Check usage coverage before comparing totals.
What should I test first?Ranks cost findings by dollars.Test the change against cost and output quality.

Averth meters and diagnoses costs. It does not change your agent or fix it automatically.

From trace file to cost breakdown.

  1. Read the traces

    Run the CLI on an export you already have. The local meter processes the file on your machine.

  2. Inspect the receipt

    See cost per attempt, the expensive tail, and the largest cost drivers. Start with the highest-cost finding.

  3. Check the evidence

    Missing inputs stay UNKNOWN. Historical policy replay reports spend on runs that would have stopped, plus collateral; it does not promise future savings.

Read the code. Run the meter.

MIT-licensed. Install from GitHub and start with a trace export. The local metering path needs no hosted account.

Have traces already?

Install, then point the CLI at your file.

Terminal
pip install git+https://github.com/Wesley3141/Averth.git

averth trace runs.json --format langfuse

Source and full setup instructions

Instrumenting an agent?

The Tracker records attempts, tool calls, and escalations.

Legacy Tracker example / see API note below
from averth import Tracker

t = Tracker("support-agent")
t.start_attempt(case_id="case-1042")
# ... your agent runs ...
t.log_tool_call("zendesk.search", cost=0.004)
t.log_escalation(1.6, "low confidence")
t.end_attempt(success=True)
print(t.receipt())

API note: this retained example uses receipt(); the current Tracker API uses pnl(). Follow the repository quickstart for current usage.

Evidence verifier: merged, experimental, not a release.

V0 classifies checks you write as VERIFIED, FAILED, NOT OBSERVED, EXTERNAL-UNVERIFIABLE, or NOT APPLICABLE, from run records and artifacts you supply.

It is experimental: merged to master, tested only on a local fixture and public traces, with no real workflow run, no validated repair, and 0 paying customers. Full detail and limits are in the Docs.

V0 source on GitHub