Fix 9 compilation errors across tidal-server and testing/cluster.rs so that `cargo run -p tidal-server -- standalone` works end-to-end. Bugs fixed: - cluster.rs: wrong return types `RetrieveResult`→`Results` and `SearchResult`→`SearchResults` on retrieve/search helpers - state.rs: `RegionId` imported from private path; now uses `tidaldb::replication::RegionId` - state.rs: missing `Ok()` wrapper on `ServerState::cluster()` return - state.rs: cluster match arms returned `TidalError` where `ServerError` required; added `.map_err(ServerError::from)` on write_item, write_embedding, retrieve, search - error.rs: `Result<T>` alias lacked default E param; callers in router used two-arg form `Result<T, AppError>` — changed to `Result<T, E = ServerError>` - router.rs: `with_state()` called before cluster routes were added, making `app` `Router<()>`; restructured to call `with_state` once at end - router.rs: `TidalErrorWrapper(TidalError)` used to map `QueryError`; fixed with `|e| TidalErrorWrapper(e.into())` - router.rs: `Search::limit()` takes `u32` but code cast to `usize` - router.rs: `bm25_score`/`semantic_score` are `f32` in SearchResultItem but `f64` in response struct; added `.map(f64::from)` conversion Also split cluster.rs into cluster.rs + cluster_transport.rs to stay under the 600-line limit required by CODING_GUIDELINES §9. Verified all README curl examples work: POST /items, POST /embeddings, POST /signals, GET /feed, GET /search, GET /health all return correct HTTP status codes and JSON responses. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
30 lines
633 B
YAML
30 lines
633 B
YAML
signals:
|
|
- name: view
|
|
entity: item
|
|
decay:
|
|
exponential:
|
|
half_life_seconds: 604800 # 7 days
|
|
windows: [one_hour, twenty_four_hours, seven_days]
|
|
velocity: true
|
|
- name: like
|
|
entity: item
|
|
decay:
|
|
exponential:
|
|
half_life_seconds: 1209600 # 14 days
|
|
windows: [twenty_four_hours, seven_days, thirty_days, all_time]
|
|
velocity: false
|
|
- name: skip
|
|
entity: item
|
|
decay:
|
|
permanent: true
|
|
velocity: false
|
|
text_fields:
|
|
- name: title
|
|
kind: text
|
|
- name: category
|
|
kind: keyword
|
|
embedding_slots:
|
|
- name: content_vector
|
|
entity: item
|
|
dimensions: 128
|