Skip to content

v0.3.5

Choose a tag to compare

@github-actions github-actions released this 28 Apr 10:24

Changed

  • expand_primary_weight default lowered to 0.5 (was 0.7) — gives AI-expanded terms more influence for intent-based queries. Literal keyword matches no longer dominate over semantically correct expansions. Users who prefer the previous behavior can set expand_primary_weight: 0.7 in their config.
  • ai_summary_top_n default raised to 10 (was 5) — the AI sees more results and has more material to curate from, improving curation quality for constraint queries and diverse result sets.
  • ai_summary_max_chars default raised to 4000 (was 2000) — supports the increased ai_summary_top_n with enough excerpt content for the AI to make good decisions.
  • Default summarize prompt rewritten — new prompt instructs the AI to act as a knowledgeable curator, not a search results narrator: filters results that contradict the query (e.g. egg-containing results for an egg-free query), presents 4-6 items instead of deep-diving into one, eliminates hedging language. Grounding constraint (use only provided excerpts) preserved.
  • Default expand_query prompt adds rule 12 — constraint queries ("without X," "X-free," "gluten-free," etc.) now preserve the constraint in expansions rather than dropping it.
  • Default follow_up prompt adds constraint preservation — conversational context now explicitly maintains query constraints (dietary, allergies, preferences) across follow-up turns.

Fixed

  • JS search layer now passes primary_query to WASM scoring for expanded-query results — enables the cross-query title boost added in scolta-core 0.3.4. Previously, expanded-query results could not receive title boost from the original query terms, causing ranking bias against semantically correct results whose titles matched the user's original query but not the AI-expanded terms.
  • PHP indexer positions use word indices instead of character offsets — phrase proximity scoring now works correctly for multi-word queries.
  • Title tokens no longer duplicated into body positions — matches Pagefind binary behavior.
  • Word count excludes URL tokens — fragment word_count now matches content word count.