You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An adversarial pre-launch audit surfaced a cluster of correctness, cost,
and robustness issues. Fixes, with new/updated tests for each:
- Incremental compile cost (CODE-5): `lore watch` re-ran the LLM over
the entire corpus every interval against the user's BYO key. Add a
per-session extraction cache (sessions are immutable -> id is a safe
key) so only newly-ingested sessions hit the model; `--rebuild`
ignores it. Output stays idempotent; cost is now incremental.
- First-run works (BUILD-1): make `anthropic` (the default provider) a
base dependency and guard SDK imports with an actionable message
instead of a raw ModuleNotFoundError. `pipx install crewlore` then
`lore compile` works with just a key.
- Real local provider (DOC-4): `model.provider: local` + `base_url`
routes to any OpenAI-compatible endpoint (Ollama/LM Studio/vLLM).
Was advertised but unimplemented, with a dead-end error message.
- `lore serve --mcp` (CODE-1): the documented MCP flag didn't exist;
the copy-paste mcp.json failed to launch. Added.
- Scrub tool-call args (SEC-1): secrets passed as tool-call arguments
live in event `meta`, which bypassed the scrubber. Walk `meta`
recursively. Broaden coverage: AWS ASIA + secret-key assignments,
all `xox?-` Slack tokens, quoted multi-word secrets (SEC-2/3/4).
- Usage sidecar (CODE-7): `lore query` rewrote the git-tracked
claims.jsonl on every call (usage bump). Move volatile usage stats
to a gitignored sidecar; committed claims.jsonl stays byte-stable.
- Timezone safety (CODE-2): timestamps are always tz-aware, so a
timestampless transcript no longer crashes the actuation loop.
- Compile resilience (CODE-6): one failing session (429/oversized
context) no longer aborts the whole pass — skip and continue.
- Unify fidelity definition (CODE-4): replay reuses the gate's
`_canonical_form`, so the reported number matches what the gate
enforces.
- `lore --version` (HYG-1); drop dead `superseded` status (CODE-9);
remove misleading `_normalize` alias (CODE-10); add py3.13 classifier.
131 tests passing (was 103). Lint clean. Clean wheel installs and runs.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments