v0.2.0 — public-readiness hardening
Public-readiness hardening release. The default config now ships inside the
installed package, transcript parsing tolerates malformed lines, and the MCP
suite gained a coverage gate. No CLI or MCP contract changes.
Added
RELEASING.mddocumenting the version-bump locations and release steps.- MCP coverage gate:
pnpm checknow runsvitest --coveragewith ratchet
thresholds; test files run serially to avoid races on the shared store.
Fixed
pip install bselaoutside a source checkout no longer raises
FileNotFoundError: the defaultconfig/{thresholds,models}.tomlare bundled
into the wheel (bsela/_config) andfind_config_dir()falls back to the
packaged copy.- A single malformed JSONL line in a transcript no longer crashes ingest or
detection — the bad line is skipped and logged, and surrounding events are
still processed.
Changed
AnthropicClientnow sends an explicit requesttimeout(default 120s),
matching the OpenRouter client, so a hung connection can't block a batch.- The hard-coded
agents-mdrepo path lives in one place:bsela doctor
reusesupdater.DEFAULT_AGENTS_MD_REPO, and the "repo not found" error now
points to theBSELA_AGENTS_MD_REPOoverride.