Diff
1diff --git a/README.md b/README.md
2index b16f01b536b52b19d1230bbe89ed2ba39d7be67a..6f0a5ff147c215047a5a4f9db47263bf3c3d10c7 100644
3--- a/README.md
4+++ b/README.md
5@@ -36,7 +36,7 @@ jp # or: make run (go run ./cmd/jp)
6
7 On startup the game waits up to 30s for the LLM model to finish loading
8 (polling every second), runs a bounded readiness check against the audio
9-service, then warms each conversation's system prompt once so first replies
10+service, then warms the core system prompts once so first replies
11 are fast. A failed step prints one error line naming the affected service and
12 its configured URL; startup continues either way. The game never launches a
13 service to make a check pass.
14diff --git a/cmd/jp/main.go b/cmd/jp/main.go
15index 5b4d46cae53b361680b7b836f8e30ef850469db0..7af270da27f5c5dd67a0a2334b0fc5d8f07e8440 100644
16--- a/cmd/jp/main.go
17+++ b/cmd/jp/main.go
18@@ -73,8 +73,6 @@ func main() {
19 {judgeClient, llm.JudgeSystemPrompt()},
20 {compactionClient, llm.CompactionPrompt()},
21 {sheetClient, llm.SheetSystemPrompt()},
22- {scratchClient, llm.ScratchSystemPrompt()},
23- {scratchClient, llm.FlashcardSystemPrompt()},
24 }
25 ctx, cancel := context.WithTimeout(context.Background(), warmupTimeout)
26 for _, w := range warmups {
27diff --git a/internal/llm/flashcard.go b/internal/llm/flashcard.go
28index abaf23e74edd604896aa2f65d6198d932117f3df..24d4ae821952ff880eb6979a454b33e5f04eae5b 100644
29--- a/internal/llm/flashcard.go
30+++ b/internal/llm/flashcard.go
31@@ -38,9 +38,6 @@ Rules:
32 - Keep every row on a single line.
33 - If a field contains a comma, wrap that whole field in double quotes.`
34
35-// FlashcardSystemPrompt returns the static flashcard system message.
36-func FlashcardSystemPrompt() string { return flashcardSystemTemplate }
37-
38 // BuildFlashcardMessages assembles the flashcard request from one set of
39 // instructions: a static system message plus one user message carrying them. It
40 // carries no game, history, or sheet context.
41diff --git a/internal/llm/prompt.go b/internal/llm/prompt.go
42index a2b0578dd251f48e758822abee3c1260927e7629..cbca54b2d9bf8d54181896b27716cfade8144fb2 100644
43--- a/internal/llm/prompt.go
44+++ b/internal/llm/prompt.go
45@@ -154,9 +154,6 @@ ROMAJI|<the Japanese sentence that answers the question, in Hepburn romaji>
46 TRANSLATION|<a natural English translation of that sentence>
47 BREAKDOWN|<one to two sentences explaining the phrase: what each part means and how to use it>`
48
49-// ScratchSystemPrompt returns the static scratch system message.
50-func ScratchSystemPrompt() string { return scratchSystemTemplate }
51-
52 // BuildScratchMessages assembles the scratch request from one question: a
53 // static scratch system message followed by the user's question. It carries no
54 // game, history, or sheet context.