Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]

### Added
- `tole doctor` (#378): tiered provider diagnostics — `offline` (wiring) and `catalog` (live `/models`, the model must be served); each blocker carries its fix command, the exit code is non-zero when the requested tier is not reached, and keys / URL credentials are never printed.
- `tole doctor` (#378): tiered provider diagnostics — `offline` (wiring), `catalog` (live `/models`, model must be served) and `full` (chat, streaming and a real tool-call loop) — each blocker carries its fix command, and keys / URL credentials are never printed. Exits non-zero when the requested tier is not reached; `--tier full` is the release-validation gate.
- Per-user-turn token stats (#379): `tole status` lists input / output / cache-read / cache-write / reasoning tokens per turn and the status JSON (`GET /sessions/{id}/status`, `tole_session_status`) gains an additive `usage_report.turns` array. Derived from the durable usage ledger, so old sessions read the same way and nothing is stored twice; a value no step reported is `n/a` / `null`, never 0, and no elapsed time is invented.

### Changed
Expand Down
11 changes: 11 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,17 @@ behavior that was already fixed). Before any live validation or mission run:
bump: `cp target/release/tole ~/.cargo/bin/tole` — verify with
`tole --version` matching the workspace version in `Cargo.toml`.

## Release validation

Before claiming a build is ready to release, run the provider doctor at the
full tier with the repo checkout binary:

```bash
cargo build --release -p tole-cli && ./target/release/tole doctor --tier full
```

It must exit 0 (chat, streaming and a real tool-call loop all green).

## Design rules

- The core crate (`tole-core`) must stay platform-agnostic: no stdin/stdout,
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,11 +126,12 @@ trust: `internal` / `read_only`), `--skill <path>` (load a SKILL.md),
|----------|--------|
| `offline` | config resolves, base URL shape, key present (no network) |
| `catalog` (default) | live `GET /models`; the configured model must be served |
| `full` | a chat call, a streamed call and a real tool-call loop (spends a few tokens) |

Tiers are cumulative and stop at the first blocker, which is printed with
the command that fixes it. The exit code is non-zero when the requested
tier is not reached. API keys and URL credentials never appear in the
output.
tier is not reached, so `tole doctor --tier full` is the gate for "ready to
release" claims. API keys and URL credentials never appear in the output.

## Configuration (project file)

Expand Down
Loading
Loading