> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monolex.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Monometer Suite

> Track cross-provider token, cost, quota, block, model, and session usage; operate the ingestion daemon; and run provider-specific analytics.

Monometer is a suite, not one binary. The daemon parses local AI-CLI session
sources into `monometer.db`; the main `monometer` CLI reports comparable usage,
cost, quota, block, and health views; provider analyzers ask deeper questions
whose meaning differs by cache and billing model.

## Published Packages

| Package                    | Public version | OpenCLIs build      | Role                                                                                                                |
| -------------------------- | -------------: | ------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `monometer`                |          0.8.6 | `2026-07-19-031135` | Cross-provider dashboard/controller and Claude statusline; the Linux and Windows fragments also bundle daemon 0.4.5 |
| `monolex-monometer-daemon` |          0.3.5 | `2026-04-30-160902` | Legacy standalone macOS ARM daemon distribution                                                                     |
| `monometer-claude`         |          0.5.0 | `2026-05-01-045146` | Claude cache/cost and session-pattern analysis                                                                      |
| `monometer-codex`          |          0.3.0 | `2026-05-26-205505` | Codex cost/cache, reasoning, quota, context, and activity analysis                                                  |
| `monometer-gemini`         |          0.2.0 | `2026-04-30-195341` | Gemini usage/cost analysis plus thought-output proxy                                                                |
| `monometer-grok`           |          0.1.0 | `2026-05-26-171127` | Grok context-window and activity metrics; no invented cost                                                          |
| `monometer-opencode`       |          0.2.0 | `2026-04-30-195309` | OpenCode usage/cost analysis plus routed-provider breakdown                                                         |

All seven package identities use this page as their canonical public
`docs_url`; the former provider-specific and root-level Monometer URLs are not
documentation owners. Their public product homepage is `https://monolex.ai`,
and their registry relationships join the main reader, writer daemon, provider
analyzers, and Monobench without pretending they are one executable. Repository
ownership remains `monolex/monolex`; no public source URL is advertised while
that repository is private.

The public CDN and OpenCLIs registry agree on every package row, but package
identity and bundled-binary identity are separate. All current `monometer
0.8.6` fragments contain `monometer 0.8.6` plus the complete `initiate` guide
bundle. The macOS ARM archive does **not** contain
`monolex-monometer-daemon`; all four Linux and Windows archives also contain
`monolex-monometer-daemon 0.4.5`. Linux resolves that sibling directly. The
current Windows resolver checks an extensionless path while OpenCLIs installs
`monolex-monometer-daemon.exe`, so automatic start needs the explicit
`MONOMETER_DAEMON_PATH` rail documented below. macOS must also use a later
search rail. The separately published `monolex-monometer-daemon 0.3.5` archive still
contains a 0.3.5 daemon. Platform-specific archive contents are not evidence
for the version of that standalone package.

<Note>
  `ccforecast 0.2.1` is the retired predecessor of `monometer-claude`. Its 38
  analytic commands were carried into the provider suite when the binary was
  renamed on 2026-04-26. See the [CCForecast compatibility reference](/ccforecast)
  when maintaining an old script or archived environment; use
  `monometer-claude` for new work.
</Note>

## Distribution Matrix

| Package                          | Published platforms                         | Payload boundary                                                                                                                                 |
| -------------------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `monometer 0.8.6`                | macOS ARM; Linux x64/ARM; Windows x64/ARM   | All carry `monometer` and the complete `initiate` bundle; every Linux and Windows fragment additionally carries `monolex-monometer-daemon` 0.4.5 |
| `monolex-monometer-daemon 0.3.5` | macOS ARM only                              | Standalone daemon binary only                                                                                                                    |
| `monometer-claude 0.5.0`         | macOS ARM/Intel; Linux x64/ARM; Windows x64 | Provider analyzer binary                                                                                                                         |
| `monometer-codex 0.3.0`          | macOS ARM; Linux x64/ARM; Windows x64       | Provider analyzer binary                                                                                                                         |
| `monometer-gemini 0.2.0`         | macOS ARM; Linux x64/ARM; Windows x64       | Provider analyzer binary                                                                                                                         |
| `monometer-grok 0.1.0`           | macOS ARM; Linux x64/ARM; Windows x64       | Context/activity analyzer binary                                                                                                                 |
| `monometer-opencode 0.2.0`       | macOS ARM; Linux x64/ARM; Windows x64       | Provider analyzer binary                                                                                                                         |

Platform availability is not data availability. Every reader still needs a
compatible `monometer.db`, and new rows require a daemon that can discover the
provider's local source format.

### 0.8.6 release evidence

The stable pointer now identifies build `2026-07-19-031135`, clean source
commit `86b25249baee4f5aa0fe0802301abe49045519a6`, and `source_dirty: false` after
the Linux and Windows publications. The macOS platform fragment retains its earlier commit
`ff5ec58dc4f1d5c6f77b582dfd9afa0b499b728b` with `source_dirty: true`.
Keep the pointer and all platform witnesses separate:

| Evidence                                     | SHA-256                                                            |
| -------------------------------------------- | ------------------------------------------------------------------ |
| macOS ARM archive                            | `1ad34211fa4f2861e7954609432a83561888dd78eb65250bb4952d332c5a3d9a` |
| macOS ARM `monometer`                        | `f1e70007d6dc73c6fd80ea3d17950e1c0e9f755b58fb2678cdc29edb7f3ca616` |
| Linux x64 archive                            | `d536c71cb6756f2c57ff7e12f8921e285f3921993d773daa97fb053a2d725f73` |
| Linux x64 `monometer`                        | `8b7f09c29cce9399e32b458bfe3eeb18da32ddee19b506509fe66417152d98ae` |
| Linux x64 `monolex-monometer-daemon`         | `1fdc9cf05f4b4a7ae6ff641ac1ca43cbcbf4570a1c0e7be24edb6bb20f065336` |
| Linux ARM64 archive                          | `c140a64339859c3fe5cd053554e43392f1d7864c7c1b962017ba3def43fd2cf7` |
| Linux ARM64 `monometer`                      | `1b79f06fbb03ddbf40a98418f860bd12dd3b50c79d6657edff5c7ed297736816` |
| Linux ARM64 `monolex-monometer-daemon`       | `6115793c54eb4a8e29ab945804fc30535f3297672e76acf8cdfe13cec5b8c8ee` |
| Windows x64 archive                          | `204f253dc48ecbe046250a66a5bfae10216d629dcad0bfdfb32b74c083202e45` |
| Windows x64 `monometer.exe`                  | `757d7a5702759eccf2c6d606940de591efe425c40d0d5fd32cbcc06952d2a06d` |
| Windows x64 `monolex-monometer-daemon.exe`   | `02fa6b9ab32947b174996e02b4bafa4ac26440ef7c92c530f67163becd6b08e1` |
| Windows ARM64 archive                        | `5ddbc29cfa6a871d10d8708d33ed6e85e37e15d4ef28143789cc950c47a50df1` |
| Windows ARM64 `monometer.exe`                | `9e438ab79924010e65875599de1b045be336c6a7838dcfb85796616e5b49d6d5` |
| Windows ARM64 `monolex-monometer-daemon.exe` | `99fd27f74be50ca2458f7dbf2a32ec371e1aceb5a22562d4712fcd1c438f7141` |

The macOS archive was downloaded, hash-checked, extracted, and executed as
`monometer 0.8.6`. Strict macOS code-signing verification passes for Developer
ID Application `Umzikim Inc (64RS2P6LN2)`. Both Linux archives and all four ELF
payloads were separately hash-checked; binary markers report Monometer 0.8.6
and daemon 0.4.5, and both bundled guides are byte-identical to the public
guide. Both Windows archives and all four PE payloads were also hash-checked:
`file` identifies the expected x86-64 and AArch64 architectures, and their
markers report the same CLI and daemon versions. The ARM64 guide is byte-exact
with the registry; the x64 guide is content-exact after normalizing its Windows
CRLF line endings. There is no Intel macOS fragment in the 0.8.6 metadata.

## Quick Start

```bash theme={null}
openclis install monometer

monometer version
monometer daemon start
monometer health
monometer daily
monometer block --active
```

## Main `monometer` Command Reference

| Command                               | What it does                                                                                                                                                                                            | Important controls                                                                                           |       |                                        |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ----- | -------------------------------------- |
| `health`                              | Shows daemon process state, DB health, and entry count.                                                                                                                                                 | Read-only.                                                                                                   |       |                                        |
| `daily`                               | Aggregates daily tokens, messages, sessions, and API-equivalent cost by provider.                                                                                                                       | `--since`, `--until`, `--provider`, `--json`                                                                 |       |                                        |
| `hourly`                              | Shows provider-split hourly usage in local time, including idle zero rows.                                                                                                                              | `--hours` (default 48), date/provider filters, `--json`                                                      |       |                                        |
| `monthly`                             | Aggregates usage by calendar month.                                                                                                                                                                     | `--year`, `--since`, `--until`, `--provider`, `--json`                                                       |       |                                        |
| `block --active`                      | Shows the most recent active five-hour block and burn rate per selected provider.                                                                                                                       | `--days`, `--provider`, `--json`; text is local time, JSON keeps UTC and local twins.                        |       |                                        |
| `blocks`                              | Lists recent five-hour session blocks.                                                                                                                                                                  | `--days`, `--recent`, `--provider`, `--json`                                                                 |       |                                        |
| `sessions`                            | Lists recent aggregated sessions.                                                                                                                                                                       | `--recent`, `--provider`, `--json`                                                                           |       |                                        |
| `models`                              | Breaks usage and cost down by model.                                                                                                                                                                    | Date/provider filters, `--json`; zero-token rows are explicitly marked.                                      |       |                                        |
| `quota`                               | Reads provider-specific local quota, credit, or rate-limit signals.                                                                                                                                     | \`--provider agy                                                                                             | codex | claude`, `--json\`; not billing proof. |
| `daemon start`                        | Starts the database writer detached.                                                                                                                                                                    | Process/service mutation.                                                                                    |       |                                        |
| `daemon status`                       | Reports the daemon pid/version state.                                                                                                                                                                   | Read-only.                                                                                                   |       |                                        |
| `daemon stop`                         | Stops the writer.                                                                                                                                                                                       | Process mutation.                                                                                            |       |                                        |
| `daemon sync`                         | Requests one complete incremental source sync.                                                                                                                                                          | Database mutation through the daemon control socket.                                                         |       |                                        |
| `daemon recompute`                    | Triggers a full source reparse/recalculation.                                                                                                                                                           | Potentially expensive full database rewrite.                                                                 |       |                                        |
| `live`                                | Runs the interactive dashboard with active block, provider limits, today, and hourly cost bars.                                                                                                         | `--hours`; `--snapshot` renders once for automation. The still-filling current hour is marked with `…`.      |       |                                        |
| `statusline`                          | With piped Claude Code JSON, composes model/effort, optional model-scoped weekly use, directory, branch, context, shared limits, and the DB-backed cost tail; without stdin, prints only the cost tail. | Read-only display, but piped mode may launch a best-effort scoped-limit cache refresh.                       |       |                                        |
| `statusline install claude [--force]` | Adds `monometer statusline` to Claude Code settings.                                                                                                                                                    | Reversible settings mutation; refuses a foreign `statusLine` unless `--force` is explicit, then backs it up. |       |                                        |
| `statusline uninstall claude`         | Removes Monometer's status line or restores the backed-up prior value.                                                                                                                                  | Never overwrites a currently foreign status line.                                                            |       |                                        |
| `version`                             | Prints the main CLI version.                                                                                                                                                                            | Read-only.                                                                                                   |       |                                        |

Provider names include `claude_code`, `codex`, `opencode`, `gemini`, and
`antigravity`; `claude` normalizes to `claude_code` and `agy` normalizes to
`antigravity`.

### Parser aliases and MCP schema

The user guide shows the preferred spellings. The manual parser also accepts
these aliases:

| Preferred command  | Accepted aliases                                                            |
| ------------------ | --------------------------------------------------------------------------- |
| `health`           | `status`                                                                    |
| `hourly`           | `hours`                                                                     |
| `block` / `blocks` | Both dispatch to the same block handler; `--active` selects the active view |
| `sessions`         | `session`                                                                   |
| `quota`            | `credits`                                                                   |
| `version`          | `--version`, `-v`                                                           |
| `help`             | `--help`, `-h`, or no arguments                                             |

`monometer --mcp-schema` and `monometer mcp-schema` emit 11 canonical callable
entries: `health`, `daily`, `hourly`, `monthly`, `block`, `session`, `models`,
`quota`, `statusline`, `live`, and `daemon`. The schema intentionally uses
singular `session` and one positional daemon `action`; parser aliases and the
human-only `version`/`help` surface do not become extra MCP tools.

The 0.8.6 human guide exposes 19 command lines: nine aggregate/query views,
five daemon actions, `live`, three statusline forms, and `version`. The typed
surface stays at 11 commands by representing `start|status|stop|sync|recompute`
as the daemon `action`, and `install|uninstall`, host `claude`, and `--force` as
arguments on `statusline`.

<Warning>
  The main CLI has no per-command help parser. For example,
  `monometer daily --help` treats `daily` as the command, warns that `--help` is
  unrecognized for it, and continues into the daily database query. Use bare
  `monometer`, `monometer help`, or `monometer --mcp-schema` for read-only command
  discovery. Unknown flags are warning-only and can still leave exit status 0,
  so automation must not treat success as proof that every option was accepted.
</Warning>

### Daemon and live-dashboard effects

`monometer daemon start` resolves the daemon in this order:
`MONOMETER_DAEMON_PATH`, a sibling of the executing `monometer`,
`~/.openclis/bin/monolex-monometer-daemon`, then development build paths. It
spawns detached and probes the control socket for up to 10 seconds.
`sync` requests a complete incremental source pass; `recompute` requests the
published full-reparse path.

Those built-in candidate names are currently extensionless. On Windows,
OpenCLIs correctly installs and links `monolex-monometer-daemon.exe`, but the
0.8.6 resolver does not append `.exe` before its `exists()` checks. Set the
exact executable path before `daemon start` or a `live` invocation that must
auto-start the writer:

```powershell theme={null}
$env:MONOMETER_DAEMON_PATH = "$HOME\.openclis\bin\monolex-monometer-daemon.exe"
monometer daemon start
```

This is an executable-discovery limitation, not a missing Windows artifact.
`daemon status` still checks the control endpoint and does not need the binary
path when a compatible daemon is already running.

<Note>
  The immutable macOS 0.8.6 archive has no sibling daemon; both Linux fragments
  have a directly resolvable sibling. Both Windows fragments carry the `.exe`
  payload but need `MONOMETER_DAEMON_PATH` until extension-aware discovery lands.
  On macOS, `daemon start` succeeds only when one of the later resolution rails
  supplies a compatible executable. Keep runtime discovery separate from the
  per-platform archive manifest.
</Note>

Interactive `monometer live` starts a daemon only when none is reachable and
stops it on exit only when the dashboard started it. `live --snapshot` returns
before that lifecycle path and renders the existing database once. `--hours`
defaults to 12 and is bounded to 1–168. The chart includes N complete hour
buckets plus the still-filling current bucket; 0.8.6 labels that boundary and
adds `…` to the current cost instead of presenting it as a completed hour.

### Claude Code statusline and scoped weekly limits

Manual `monometer statusline` reads the local database and prints the cost
tail only. When Claude Code pipes statusline JSON, Monometer also renders the
session model and effort, working directory, Git branch, context percentage,
and the shared `five_hour` and `seven_day` percentages/reset countdowns. Missing
fields degrade by omission rather than making the status bar fail.

Claude's statusline JSON does not expose model-scoped weekly buckets. In 0.8.6,
piped mode can start a detached `statusline refresh-scoped` helper. At most once
per 120 seconds it requests `GET https://api.anthropic.com/api/oauth/usage`,
selects a `limits[]` entry whose kind is `weekly_scoped` and whose model label
prefix-matches the active model, and atomically writes
`~/.monometer/usage-scoped.cache`. The renderer only reads that cache and drops
the scoped segment after 30 minutes, so missing credentials, curl failures, and
stale responses degrade silently. A matching value appears flat in the model
segment, for example `Fable 5 high 58%`.

On macOS the helper looks for the `Claude Code-credentials` Keychain item;
other source platforms fall back to `.credentials.json` under
`CLAUDE_CONFIG_DIR` or `~/.claude`. The OAuth bearer header is delivered to
curl over stdin rather than exposed in its argv. This is an account-usage API
observation, not token-ledger or billing proof.

`statusline install claude` preserves unrelated settings and key order. If no
status line exists, installation is non-interactive and reversible. If a
foreign value exists, the command fails closed; only explicit `--force` may
replace it, after backing it up to
`~/.monometer/statusline-backup-claude.json`. `uninstall claude` restores that
backup or removes Monometer's own entry, and refuses to touch a new foreign
entry.

<Warning>
  Do not run `monolex-monometer-daemon --help` or `--version`. The standalone
  daemon has no argument parser; every invocation enters the startup path, can
  create lock files and a database, performs an initial sync, and then watches
  until shutdown. Inspect it through `monometer daemon status`, `monometer
    health`, package metadata, or binary strings instead. Current daemon source now
  owns `src/initiate/initiate.md` and `src/initiate/SKILL.md` as operator and agent
  documentation; those files do not create a callable help parser in the current
  standalone payload.
</Warning>

## Shared Provider-Analyzer Commands

Claude, Codex, Gemini, and OpenCode share exactly 36 operational analysis
commands. Each analyzer reads only its provider rows and never writes the
database. With provider additions, the full operational counts are Claude 38,
Codex 40, Gemini 37, and OpenCode 37; Clap's generated `help` is additional.

| Command              | Analysis                                                              |
| -------------------- | --------------------------------------------------------------------- |
| `scan`               | Window-level cost, hit rate, leverage, and capture efficiency         |
| `hit-curve`          | Counterfactual cost from 0–100% cache hit rate                        |
| `classify`           | Dominant and multi-label classification into 16 micro-session anchors |
| `sensitivity`        | Cost effect of ±50% changes in cache read/creation/output knobs       |
| `drift`              | Weekly messages, cost, hit rate, leverage, and TTL-share drift        |
| `models`             | Per-model messages, cost, leverage, and hit rate                      |
| `misses`             | Largest cache-miss events                                             |
| `estimate`           | Hypothetical session cost from message/context/hit assumptions        |
| `fingerprints`       | Per-anchor count, median size/leverage, total cost, and cost/message  |
| `response`           | Per-anchor counterfactual response to lower hit rates                 |
| `markov`             | Anchor-to-anchor transition matrix                                    |
| `rewrite`            | Cache-TTL boundary penalty analysis                                   |
| `score`              | OTP composite score                                                   |
| `time-of-day`        | Work/activity distribution by time block                              |
| `weekly-anchors`     | Anchor distribution per week                                          |
| `load-test`          | Removal impact for each anchor class                                  |
| `redundancy`         | Pairwise anchor overlap/redundancy                                    |
| `trajectory`         | Within-session cost curve by anchor                                   |
| `gradient`           | Inter-anchor interpolation curves                                     |
| `pairs`              | All-pairs cost delta matrix                                           |
| `bootstrap`          | Bootstrap confidence intervals for fingerprints                       |
| `quality`            | Tool acceptance quality from available session JSONL evidence         |
| `stationary`         | Long-run anchor distribution from the Markov model                    |
| `weekly-markov`      | Weekly transition models and divergence                               |
| `projects`           | Per-project cost breakdown                                            |
| `weekly-ces`         | Weekly capture-efficiency score                                       |
| `daily-otp`          | Daily OTP composite                                                   |
| `entry-patterns`     | Day-start versus post-break entry behavior                            |
| `gap-metrics`        | Profile of unclassified/gap regions                                   |
| `model-anchors`      | Anchor distribution by model                                          |
| `weekly-kl`          | KL divergence between weeks                                           |
| `covariates`         | Weekly covariate scan                                                 |
| `project-anchors`    | Anchor distribution by project                                        |
| `project-drift`      | Weekly drift within each project                                      |
| `acceleration`       | Marginal cost-acceleration detection                                  |
| `bootstrap-response` | Bootstrap confidence intervals for the response matrix                |

Global analyzer controls are `--days <n>`, `--project <substring>`,
`--watch <seconds>`, and `--json` (the installed analyzers currently promise
JSON for `scan`; provider additions may expose more machine output).

Only two shared commands add command-local parameters:

| Command    | Additional controls                                                                                                         |
| ---------- | --------------------------------------------------------------------------------------------------------------------------- |
| `estimate` | `--msgs` default 100, `--context-k` default 500, and `--hit-rate` default 0.98; Codex also has `--model` default `gpt-5.5`. |
| `gradient` | Required `--from <ANCHOR>` and `--to <ANCHOR>`.                                                                             |

All other shared commands use the global window/project/watch controls only.
`--watch` clears and repeats until interrupted; do not use it in one-shot
automation.

## Provider-Specific Commands

| Package              | Operational count | Additional or distinct commands                                                                                                                                                                                                                             |
| -------------------- | ----------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `monometer-claude`   |                38 | `ttl-compare` compares all-5m/current/all-1h cache pricing; `daily-ttl` reports daily TTL share and cost.                                                                                                                                                   |
| `monometer-codex`    |                40 | `reasoning` measures reasoning-token share; `quota` reads five-hour/weekly rate limits; `context` reports context-window/compaction use; `sessions` reports turns, tool calls, reasoning tokens, and model. It omits Claude-only `ttl-compare`/`daily-ttl`. |
| `monometer-gemini`   |                37 | `thoughts` reports output-token share by Gemini model as a thinking-heavy-work proxy. It omits Claude-only TTL commands.                                                                                                                                    |
| `monometer-opencode` |                37 | `routing` groups cost by provider inferred from model identity. It omits Claude-only TTL commands.                                                                                                                                                          |

<Warning>
  The published Codex, Gemini, and OpenCode binaries still show the copied root
  banner “Claude Code cache usage analysis.” Their executable names, database
  provider filters, source descriptions, and provider-only commands are the
  authoritative boundary; the banner is a known help-text defect, not evidence
  that they read Claude rows.
</Warning>

## `monometer-grok` Commands

Grok's local OAuth subscription data has no per-token dollar ledger. This tool
has three operational commands plus generated `help`, reports context and
activity only, and renders cost as `—`.

| Command    | What it does                                                                                                 |
| ---------- | ------------------------------------------------------------------------------------------------------------ |
| `summary`  | Sessions, active days, average/peak context use, turns, tools, duration, errors, and model; default command. |
| `sessions` | Per-session context ratio/tokens, turns, tool calls, duration, and errors.                                   |
| `daily`    | Per-day session and context/activity rollup.                                                                 |

Its global controls are `--days` (default 30), `--json`, `--db <PATH>` (override
the resolved database), and `--watch <SECONDS>`. Unlike the four cost/cache
analyzers, all three Grok reports support the shared JSON switch.

## Database and Proof Boundaries

```text theme={null}
provider session/log/app state
              ↓ monolex-monometer-daemon
~/.monometer/monometer.db
      ├── monometer aggregate views
      └── provider analyzers (read-only)
```

Legacy pre-0.2.0 macOS installs can fall back to
`~/Library/Application Support/Monolex/protocols/niia/database/monometer.db`.

The main aggregate CLI reads cost/token-oriented provider entries. Grok is
written to the dedicated `grok_sessions` table and is intentionally surfaced by
`monometer-grok`, because its local OAuth subscription evidence does not expose
the token-price ledger required by the main cost views.

Quota is separate from usage and cost:

* Antigravity reads local app state/credits.
* Codex reads local `token_count.rate_limits` events.
* Claude reads local reset/type/overage events and per-run budget attachments;
  live subscription percentages are not a stable historical ledger.
* API-equivalent token cost is an estimate from locally observed token counts
  and pricing tables, not an invoice.

## Relationships

| Tool                                     | Ownership                                                                                                                                                                                                          |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [CCForecast](/ccforecast)                | Historical 0.2.1 compatibility surface; renamed to the maintained `monometer-claude` provider analyzer                                                                                                             |
| [MonoSwitch](/ai-clis/monoswitch)        | Reads optional per-account quota spool state for `list`, hides a colliding live-account window as `[quota settling…]`, and emits best-effort v2 switch markers that the current v1 observation ingest skips safely |
| [MonoCLI](/ai-clis/monocli)              | Opens and translates the underlying provider-native conversations                                                                                                                                                  |
| [Monobench](/ai-clis/monobench/overview) | Benchmark execution/evaluation; may consume session/usage evidence but does not own billing aggregation                                                                                                            |
| [Monolog](/ai-clis/monolog)              | PTY activity history, distinct from provider token/cache ledgers                                                                                                                                                   |
