Skip to content

Releases: bolajiev/scout

v1.2.0 — Fix kvCache: pass-2 reuses pass-1's cached KV (tool calls near-instant)

Choose a tag to compare

@bolajiev bolajiev released this 10 Jul 06:36

What's New

kvCache fix — tool calls should be dramatically faster

Pass-2 (the final answer after a tool call) was reprocessing the ENTIRE prompt from scratch because of two bugs:

  1. Different kvCache keys — pass-1 used key mySessionId, pass-2 used key ${mySessionId}:tools. Different keys = separate cache = pass-2 couldn't reuse pass-1's cached KV state.

  2. Different system prompts — pass-2 appended an extra instruction to the system prompt, changing the configHash (which the SDK uses for cache keying) → guaranteed cache miss.

Fix: Same kvCache key for both passes, and the extra instruction moved to a user message so the system prompt stays identical. Pass-2 now only processes the new tokens (tool result + instruction) on top of pass-1's cached state.

Client-side tool skip for tactics questions

Questions like 'Explain gegenpressing' or 'What is offside' now skip the tool schema entirely — no extra tokens, no tool-decision reasoning, no risk of accidental tool calls triggering pass-2.

Other improvements

  • Cancel inference when navigating away (no more background CPU waste)
  • Async SQLite writes (UI stays responsive after inference)
  • Elapsed time shown during prompt processing
  • Fast mode token budget capped at 512 for snappier responses

v1.1.0 — Performance: cancel inference on navigate-away + async SQLite

Choose a tag to compare

@bolajiev bolajiev released this 10 Jul 05:52

What's New

Inference cancels on navigate-away

  • Pass-2 pipeline now stops when you leave the Coach screen — no more background CPU waste competing with whatever you switched to

Async SQLite writes

  • Fixture saves, message inserts, session creation, and prediction records all use async DB operations now — UI stays responsive right after inference completes instead of freezing briefly during the DB write

UX improvements

  • Think mode: the 'Thinking... Xs' counter no longer shows during the ~35s prompt-processing delay — you see animated dots instead, and the thinking block only appears when real reasoning tokens stream in
  • Answer bubble now shows elapsed time (e.g. '12s') during prompt processing instead of silent pulsing dots
  • Fast mode token budget capped at 512 for snappier short answers

Bug fixes

  • isThinking state starts false at slot creation — eliminates the misleading static 'Thinking... 0s' that appeared before any tokens arrived
  • Added extra abort checks before tool execution and pass-2 to catch edge cases where user navigated away during async gaps

Scout v1.0.0

Choose a tag to compare

@bolajiev bolajiev released this 06 Jul 16:23

Scout — 100% on-device football AI, built for the Tether Developers Cup 2026 (QVAC track).

AI Coach — on-device chat with live tool calling (today's fixtures, a team's recent form). Attach a photo for on-device vision identification (jerseys, badges, scoreboards).
Predictor — match predictions grounded in real recent form and real player ratings, with its own on-device win/draw/win estimate and a real, tracked W/L record.

All inference runs on-device via the QVAC SDK — no cloud AI, no accounts. Fixtures, form, and player ratings still need a connection to fetch; cached data stays readable offline after that.

Download scout.apk below (Android arm64, ~175 MB). See the repo README for full build instructions.