Skip to content

v0.3.9

Choose a tag to compare

@github-actions github-actions released this 02 May 08:13

Added

  • ScoltaConfig::PRESETS constant and getPresets() method: Named scoring presets that can be applied via fromArray(['preset' => 'content_catalog']). Preset values are applied first; any other keys in the same call override the preset. Five preset entries ship in this release (including 'none' for the default / no-preset state):
    • none — no preset; all scoring parameters use Scolta defaults
    • content_catalog — recipe/catalog sites: recency off, strong title boost, browse-oriented result depth
    • reference — knowledge bases, docs, encyclopedias, medical/compliance: recency off, precise title lookup, higher synonym expansion weight, longer excerpts
    • ecommerce — product stores: recency off, description-weighted scoring, high synonym expansion for natural-language queries
    • blog — narrative/editorial content: gentle recency bias, moderate title boost, high synonym expansion for thematic queries, longer excerpts
  • ScoltaConfig::getPresets() now returns rich metadata: Each preset entry includes label (human-readable name for UI dropdowns), description (explanation for admins), and values (scoring parameters). Adapter UIs read from this to build pickers without hardcoding strings.
  • ScoltaConfig::getPresetValues(string $name): array: New helper that returns only the scoring values sub-array for a named preset, ready for use with fromArray(). Returns empty array for 'none' or unknown names.
  • ScoltaConfig::$preset property: Tracks which preset (if any) was applied. Defaults to '' (no preset).

Fixed

  • MarkdownRenderer: broken/truncated markdown links no longer appear as raw bracket syntax[text](unclosed-url and orphaned [text] patterns (produced when AI output is truncated mid-link) are now converted to **text** (bold) rather than passed through as literal bracket characters.

Changed

  • Default prompts — VARIETY rule strengthened: Added explicit stop rule: if writing more than two sentences about a single item, move on. Prevents single-result deep-dives on broad queries.
  • Default prompts — CATEGORY curation rule added: Category-level queries ("chocolate recipes", "vegan appetizers") are now treated as browse requests; each bullet must be a different option within the category.