This commit is contained in:
team3
2026-07-04 12:21:45 +02:00
parent 2f5d5b9ca1
commit 8d8f6c8e51
43 changed files with 1920 additions and 236 deletions

View File

@@ -14,7 +14,7 @@ A good worked example:
Write `problem`, the `steps` and `result` in GERMAN.
Write all examples as ONE JSON into the file {out_path} (use your write tool), EXACTLY like this:
Reply with ONLY the JSON (all examples) as your final message — no code fences, do NOT write a file. EXACTLY like this:
{{"examples": [
{{"block": "<exact block title>", "subblock": "<exact subblock title>",
"problem": "…", "steps": ["…", "…"], "result": "…"}}

View File

@@ -13,7 +13,7 @@ A good flashcard:
Write `question` and `answer` in GERMAN.
Write all cards as ONE JSON into the file {out_path} (use your write tool), EXACTLY like this:
Reply with ONLY the JSON (all cards) as your final message — no code fences, do NOT write a file. EXACTLY like this:
{{"cards": [
{{"block": "<exact block title>", "subblock": "<exact subblock title>",
"question": "…", "answer": "…"}}

View File

@@ -1,15 +1,22 @@
The numbered entries below all describe the SAME block for the topic "{topic}". Entry number {current} was chosen as the canonical title. Check whether that is the best choice — if another entry is a clearly better canonical name, pick it instead.
The numbered entries below all describe the SAME block for the topic "{topic}".
CURRENT TITLE: {current_title}
MEMBERS:
{members}
Check whether the current title is the best canonical name for this block.
Rules:
- Pick an EXISTING entry number — do NOT invent a title.
- Best = most concrete, precise, self-explanatory, established term for the shared concept.
- If the current choice ({current}) is already the best, return it unchanged.
- When in doubt, keep the current choice.
- Current title good (concrete, precise, self-explanatory, no reference/placeholder like "Satz 7.18") → confirm it.
- Otherwise pick the best member ("best" REQUIRED) and optionally propose a SHORTER name: max 8 words, ONLY terms that appear in the members, exactly as concrete as the shared content — never a broader umbrella term, never a textbook concept the members don't mention. NO catalog/reference brackets ("(Satz 6.33)"); a known acronym in brackets ("(VC)") is fine.
- When in doubt, confirm the current title.
Write ONLY the JSON file to: {out_path}
Reply with ONLY the JSON — no code fences, no other text.
Format (the best member number, nothing else):
{{"best": {current}}}
Format:
{{"ok": true}}
or
{{"best": 2}}
or
{{"best": 2, "name": "Kurzer kanonischer Titel"}}

View File

@@ -1,15 +1,16 @@
The numbered entries below all describe the SAME block (concept) for the topic "{topic}", just worded differently. Pick the ONE entry whose title is the best canonical name for this block.
The numbered entries below all describe the SAME block (concept) for the topic "{topic}", just worded differently. Pick the ONE entry whose title is the best canonical name for this block — and optionally propose a SHORTER canonical name if none of the titles states the shared core precisely.
MEMBERS:
{members}
Rules:
- Pick an EXISTING entry — do NOT invent a new title or umbrella term.
- Prefer the most CONCRETE, precise, self-explanatory title for the shared concept.
- Prefer the established/standard term (correct spelling, full form over cryptic abbreviation) — but stay concrete, never over-general.
- Avoid reference/placeholder titles ("Satz 7.18", "Punkt 3", "(**)") if a meaningful one exists.
- "best" is REQUIRED: the member whose title fits the shared concept best (most concrete, precise, self-explanatory, established term; avoid reference/placeholder titles like "Satz 7.18", "Punkt 3", "(**)").
- "name" is OPTIONAL — set it ONLY when no member title states the shared core well. It must be SHORT (max 8 words), use ONLY terms that appear in the members themselves, and stay exactly as concrete as the shared content — never a broader umbrella term, never a textbook concept the members don't mention.
- In "name": NO catalog/reference brackets ("(Satz 6.33)", "(Kap. 4)"); a known acronym in brackets ("(VC)") is fine.
Write ONLY the JSON file to: {out_path}
Reply with ONLY the JSON — no code fences, no other text.
Format (the chosen member number, nothing else):
Format (chosen member number, optional short name):
{{"best": 1}}
or
{{"best": 1, "name": "Kurzer kanonischer Titel"}}

View File

@@ -19,7 +19,7 @@ HARD SEPARATION — important:
- A worked example, an invented sentence, a constructed case → belongs in `example_idea`, not in `cited_facts`.
- When in doubt: better to leave out than to claim falsely.
Write ALL subblocks as ONE JSON to the file {out_path} (use your write tool), EXACTLY in this format:
Reply with ONLY the JSON as your final message — no code fences, no prose around it. Do NOT write any file; your tools are for research only. EXACTLY this format:
{{"facts": [
{{"block": "<exakter Block-Title>", "subblock": "<exakter Subblock-Title>",
"key_points": ["…"], "prerequisites": "…", "hurdles": "…",

View File

@@ -14,7 +14,7 @@ Rules:
- **If you find nothing new for a subblock → leave it out.** If you find nothing at all → empty list. Better nothing than fabrication.
- Write all field content (key_points, prerequisites, hurdles, cited_facts text, example_idea) in GERMAN, matching the source material (technical terms/code identifiers stay original).
Write ONLY the NEW facts as ONE JSON to the file {out_path}, EXACTLY in this format:
Reply with ONLY the NEW facts as ONE JSON in your final message — no code fences, no file writing (tools are for research only). EXACTLY this format:
{{"facts": [
{{"block": "<exakter Block-Title>", "subblock": "<exakter Subblock-Title>",
"key_points": ["…"], "prerequisites": "…", "hurdles": "…",

View File

@@ -10,7 +10,7 @@ Procedure:
1. Decompose the section text into its ATOMIC factual claims (definitions, properties, numbers, procedure steps, causal statements). Ignore pure didactics (transitions, framing, mnemonic phrasing).
2. Worked-example passages (a concrete problem worked through in steps to a result) are DIDACTICS when they merely APPLY or ILLUSTRATE a verified fact or a provided worked example: their concretely chosen values and computed intermediates do NOT count as over-specific. Flag an example step ONLY if it contradicts the facts or smuggles in a NEW general claim not derivable from them.
3. CONTEXT sentences are DIDACTICS too, not claims: introductions and summaries that only preview/recap the section, uncontroversial general knowledge that merely places the topic (history, origin, what an adjacent well-known technology is), and paraphrases of the verified facts. Ignore them — a guide needs connective tissue. This exemption ends the moment a sentence makes a checkable statement about THIS block's own syntax, behavior or rules: that is a claim.
4. Check EACH claim INDIVIDUALLY and BINARY against the VERIFIED FACTS above: derivable from them → belegt. Not derivable, contradicting, or over-specific beyond the facts → nicht belegt.
4. Check EACH claim INDIVIDUALLY and BINARY against the VERIFIED FACTS above: derivable from them → belegt. Not derivable, contradicting, or over-specific beyond the facts → nicht belegt. For unsupported claims set "urteil": **"falsch"** when the claim CONTRADICTS the verified facts or contradicts the section itself (e.g. a rule its own example violates); **"unbelegt"** when it is merely not derivable from the facts.
5. Do NOT search the web, do NOT use outside knowledge as EVIDENCE — a claim about the block that is true in the world but absent from the facts is still "nicht belegt".
6. When a sentence is genuinely ambiguous between context and claim → treat it as a claim (safety before cost).
@@ -18,6 +18,6 @@ Write ONLY the JSON file to: {out_path}
Format — everything supported:
{{"ok": true}}
Otherwise (each unsupported claim VERBATIM as it appears in the text):
{{"claims": [{{"text": "verbatim claim from the section", "grund": "why unsupported (German, short)"}}]}}
Otherwise (ONLY unsupported claims, VERBATIM as they appear in the text — NEVER list supported ones):
{{"claims": [{{"text": "verbatim claim from the section", "grund": "why unsupported (German, short)", "urteil": "falsch|unbelegt"}}]}}
{extra}

View File

@@ -19,7 +19,7 @@ Rules:
Write the chapter titles in GERMAN (the guide is for German-speaking learners), even though these instructions are in English.
Write ONLY the JSON file to: {out_path}
Reply with ONLY the JSON as your final message — no code fences, do NOT write a file.
Format (numbers = the block numbers in the desired order):
{{"chapters": [{{"title": "Grundlagen", "numbers": [3, 1, 7]}}]}}

View File

@@ -10,7 +10,7 @@ OUTLINE (chapters are numbered, blocks carry their block number):
- If everything fits, report no moves.
{extra}
Write ONLY the JSON file to: {out_path}
Reply with ONLY the JSON as your final message — no code fences, do NOT write a file.
Format — `moves` maps a misplaced BLOCK number to the target CHAPTER number (may be empty):
{{"moves": {{"7": 2, "15": 4}}}}

View File

@@ -18,7 +18,7 @@ Rules:
Write the chapter titles in GERMAN (the guide is for German-speaking learners), even though these instructions are in English.
Write ONLY the JSON file to: {out_path}
Reply with ONLY the JSON as your final message — no code fences, do NOT write a file.
Format (numbers = the block numbers in the desired order):
{{"chapters": [{{"title": "Grundlagen", "numbers": [3, 1, 7]}}]}}

View File

@@ -10,7 +10,7 @@ TASK:
- Numbers **only from the list**. **No self-references.** When in doubt, leave it **empty** — better no edge than an invented one.
- Keep it sparse: most blocks have 0-2 direct prerequisites, not more.
Write ONLY the JSON file to: {out_path}, EXACTLY in this format (key = block number, value = list of prerequisite numbers):
Reply with ONLY the JSON as your final message — no code fences, do NOT write a file. EXACTLY this format (key = block number, value = list of prerequisite numbers):
{{"prereqs": {{"3": [1, 7], "5": []}}}}
Output no other text.

View File

@@ -20,7 +20,7 @@ HARD STYLE RULES PER QUESTION:
Write every question in GERMAN (the questions are for German-speaking learners), even though these instructions are in English.
{extra}
Write ALL patterns of all blocks as ONE JSON to the file {out_path} (use your write tool), EXACTLY in this format:
Reply with ONLY the JSON (all patterns of all blocks) as your final message — no code fences, do NOT write a file. EXACTLY this format:
{{"pattern": [
{{"block": "<exact block title>", "subblock": "<exact subblock title>", "question": "<one concrete question>"}}
]}}