Repository navigation
v0.5.0
·
61 commits
to main
since this release
Prebuilt cauce binaries. Fully self-contained (engines + UI + AI + archive compiled in). macOS: xattr -d com.apple.quarantine ./cauce after untarring. The ddgs exec engine needs a source checkout + python3 (uv sync --project sdk/python --extra ddgs) — custom builds only.
What's Changed
- chore(repo): license split, DCO, repo hygiene by @espetro in #70
- feat(workspace): cargo workspace, mise validate gate, CI, pre-push by @espetro in #71
- feat(core): oxe-core domain types and traits (parent 4.2) by @espetro in #72
- feat(engines): exec runtime, python SDK, ddgs_auto.py (W0-07) by @espetro in #73
- feat(engines): replay engine, cassettes, and oxe record (W0-06) by @espetro in #74
- feat(store-sqlite): schema, migrations, Store impl (W0-04) by @espetro in #75
- feat(server): observability foundation (W0-05) by @espetro in #76
- feat(core): config loader, interpolation, XDG dirs, resource-adaptive defaults (W0-11) by @espetro in #77
- feat(core): SearchPipeline v0 (W0-08) by @espetro in #78
- feat(server): axum JSON routes and the routes-table test (W0-09) by @espetro in #79
- feat(server): HTMX search page and results partial (W0-10) by @espetro in #80
- W0-12: golden path, budget and live gates by @espetro in #81
- Wave-0 whole-wave review fixes by @espetro in #91
- chore(infra): cut worktree target/ footprint ~60% and document the pattern by @espetro in #93
- feat(core): HttpClient, Egress trait, token bucket, UA policy by @espetro in #94
- feat(core): tier-2 FTS5 lexical cache (W1-10) by @espetro in #96
- W1-07 Admission: singleflight, bounded queue, stale/429 by @espetro in #97
- feat(engines): declarative YAML runtime + oxe engine test by @espetro in #101
- feat(server): W1-13 loopback request guard and non-loopback bind refusal by @espetro in #102
- feat(server,cli): MCP server over streamable HTTP and stdio (W1-08) by @espetro in #98
- W1-06 Engine health: EWMA and circuit breaker, persisted by @espetro in #100
- feat(cli): oxe tail JSONL pretty-printer (W2-09) by @espetro in #105
- fix(core): validate CacheKey on deserialization by @espetro in #104
- feat(engines): bing declarative spec and fixtures (W1-03) by @espetro in #106
- fix(core): redact secret config paths regardless of value origin by @espetro in #103
- feat(engines): wikipedia OpenSearch spec with fixtures (W1-05) by @espetro in #108
- feat(engines): brave declarative spec and recorded fixtures (W1-04) by @espetro in #107
- feat(metrics): W1-09 OTel registry, /metrics, /api/stats extension by @espetro in #99
- chore(server): bump CURRENT_WAVE to 1 by @espetro in #112
- feat: oxe serve --headless modes + cargo feature gates (W1-12) by @espetro in #111
- fix(engines): eager exec spawn and re-warm after deadline kill by @espetro in #114
- fix: wave-1 whole-review findings — mcp pipeline parity, redacted PUT, metrics label by @espetro in #115
- feat(cli,docs): W1-11 cutover — live smoke canary, install + agent docs by @espetro in #113
- fix(server): let *.localhost hosts reach /mcp by @espetro in #116
- docs(install): OXE_ENGINES cannot pin embedded specs; disable ddgs in config by @espetro in #117
- docs(agents): wave-1 cutover notes by @espetro in #118
- refactor!: rename project oxe to cauce (crates, binary, env, paths, metrics) by @espetro in #124
- fix(server): vendor htmx-2 json-enc extension by @espetro in #125
- fix(engines): normalize empty Ok responses to NoResults + ddgs emits no_results by @espetro in #126
- fix(search): strict 400 unknown_engines for pins naming unknown ids by @espetro in #127
- fix: #89 polish batch — help exit code, blank-query 400, raw query in history by @espetro in #129
- fix(server): serve embedded favicon at GET /favicon.ico by @espetro in #130
- feat(w2-11): OpenSearch descriptor and cauce search CLI formats by @espetro in #132
- feat(engines): exec protocol v2 forwards safesearch/time_range/params by @espetro in #128
- feat(server): /cache admin page (W2-04) by @espetro in #133
- feat(ui): add settings page and model picker by @espetro in #134
- feat(server): /audit page and /trace/{id} timeline page (W2-06) by @espetro in #131
- fix(ui): /audit + /trace accessibility and responsive follow-ups by @espetro in #139
- feat(search): stream engine results over SSE by @espetro in #137
- feat(ui): dashboard page by @espetro in #136
- fix(ui): /settings loop findings (oob ids, cache deletes, contrast) by @espetro in #140
- feat(ui): history page with nested clicks and cache state by @espetro in #135
- feat(server): engines page at /engines (W2-05) by @espetro in #138
- feat(ui): shared header, theme toggle, mobile nav (W2-08) by @espetro in #142
- feat(core): open breaker on consecutive Parse/Transport errors (W3-07) by @espetro in #143
- fix(config): engine id charset validation + injective fe_id (issue #141) by @espetro in #144
- fix: reject invalid persisted engine ids in stats + reset (issue #145) by @espetro in #146
- refactor(core): decompose pipeline.rs into a module directory (W3-08) by @devin-ai-integration[bot] in #153
- refactor(server): decompose handlers.rs into a module directory by @devin-ai-integration[bot] in #162
- refactor(store-sqlite): decompose store.rs into domain modules + escaping proptests by @devin-ai-integration[bot] in #165
- test(engines): proptest declarative redirect/parse boundaries by @devin-ai-integration[bot] in #168
- test(server): shared tests/support harness, routes.rs domain split, case tables by @devin-ai-integration[bot] in #169
- refactor(server): extract Exa wire adapter from mcp.rs + boundary proptests by @devin-ai-integration[bot] in #164
- refactor(server): decompose html.rs into page-domain modules by @devin-ai-integration[bot] in #163
- refactor(core): decompose conformance.rs into domain modules by @devin-ai-integration[bot] in #167
- docs(agents): MEMORY note — W3-08 follow-through hygiene batch by @devin-ai-integration[bot] in #170
- refactor(core): decompose config.rs into a module directory by @devin-ai-integration[bot] in #166
- feat(merge): configurable RRF k, reliability weights, host collapse + AMP URL folds (W3-03) by @devin-ai-integration[bot] in #171
- feat(core): stale-while-revalidate tier-1 serve with cache hygiene (W3-02) by @devin-ai-integration[bot] in #172
- feat(config): health.* pins for the W3-07 degraded breaker by @devin-ai-integration[bot] in #173
- feat: engine relevance evals (W3-05) by @devin-ai-integration[bot] in #174
- fix(engines): evaluate detect.blocked only on zero-match responses (#109) by @devin-ai-integration[bot] in #175
- feat(server): serve GET /api/suggest for OpenSearch suggestions by @devin-ai-integration[bot] in #176
- feat(engines): request.market lang→market map and {market} token (#110) by @devin-ai-integration[bot] in #177
- feat(engines): nightly
--livedrift canary over shipped specs (W3-06) by @devin-ai-integration[bot] in #178 - feat(core): ai::openai SSE chat client with tool-call assembly (W4-01) by @devin-ai-integration[bot] in #182
- docs(plans): lift the W2-10 gate on W4-01 by @devin-ai-integration[bot] in #179
- chore: scrub Bifrost references from codebase by @devin-ai-integration[bot] in #181
- feat(core): ai::answer grounded-answer tool loop (W4-02) by @devin-ai-integration[bot] in #183
- feat(server): POST /api/answer SSE route and /answer page (W4-03) by @devin-ai-integration[bot] in #184
- feat(evals): offline AI answer evals + CI smoke gate (W4-04) by @devin-ai-integration[bot] in #185
- feat(ai): Anthropic Messages-protocol provider (W4-05) by @devin-ai-integration[bot] in #186
- feat(archive): fetch-and-index pipeline, /api/pages, click beacon, MCP fetch_and_index (W5-01) by @devin-ai-integration[bot] in #187
- Add archive click-beacon e2e tactics to testing-cauce-serve skill by @devin-ai-integration[bot] in #188
- feat(archive): /archive page, GET /api/archive, DELETE /api/pages/{url} (W5-02) by @devin-ai-integration[bot] in #191
- fix(archive): block private/reserved egress targets in fetcher by @devin-ai-integration[bot] in #190
- chore(release): GitHub-release pipeline + v0.5.0 prep by @devin-ai-integration[bot] in #192
- feat(archive): search_archive hybrid RRF over pages_fts + cache_fts (W5-03) by @devin-ai-integration[bot] in #193
- fix(ci): run x86_64-apple-darwin leg on macos-15-intel by @devin-ai-integration[bot] in #195
New Contributors
Full Changelog: https://github.com/espetro/cauce/commits/v0.5.0