This commit is contained in:
Team3
2026-07-05 00:25:53 +02:00
parent 4105146c59
commit d25824229e
15 changed files with 392 additions and 402 deletions

View File

@@ -1,19 +0,0 @@
Coverage gate ("Was fehlt?") for ONE written guide section on the topic "{topic}": check the text against its learning objectives. Objective without content = gap; content without objective = ballast.
LEARNING OBJECTIVES of block "{block}":
{ziele}
SECTION — current content (subblocks are marked with `<!-- sub: … -->`):
{section}
Procedure:
1. For EACH objective decide binary: does the text teach it well enough that a beginner could achieve the objective afterwards? Mentioning a keyword is NOT teaching — the how/why must be there.
2. For each NOT-covered objective state precisely WHAT is missing (German, concrete — the writer will patch exactly this).
3. List BALLAST: passages that serve none of the objectives (digressions, redundant repetition). Shortening candidates only — never a whole subblock. Worked-example passages that apply a concept belonging to an objective are teaching, not ballast.
4. Judge strictly binary per objective; no partial credit.
Write ONLY the JSON file to: {out_path}
Format (`ziele` maps EVERY objective id to true/false):
{{"ziele": {{"z1": true, "z2": false}}, "luecken": [{{"ziel": "z2", "fehlt": "…"}}], "ballast": ["passage …"]}}
{extra}

View File

@@ -1,19 +0,0 @@
Remove unsupported claims from ONE guide section on the topic "{topic}" — minimal edit, everything else stays VERBATIM.
SECTION (block "{block}") — current content:
{section}
UNSUPPORTED CLAIMS (from the fact gate) — ONLY these may be touched:
{claims}
VERIFIED FACTS (the only allowed factual basis — for rephrasing, if a claim can be corrected instead of removed):
{facts}
Rules:
- Per claim: correct it IF the verified facts state the right version; otherwise DELETE it (smooth the surrounding sentence so the text stays fluent).
- Everything else stays word-for-word identical — no rewriting, no shortening, no new content.
- STRUCTURE INVARIANT (mandatory, the level filter dies without it): keep ALL marker lines exactly — `<!-- kapitel: … -->`, `<!-- section: … -->`, `<!-- compact -->`, `<!-- ausführlich -->` and every `<!-- sub: LABEL | title -->` in BOTH blocks, same order. Never delete a whole subblock; if all its claims fall, keep a minimal supported sentence.
- German text, same tone as the original.
Write ONLY the file {out_path} — the COMPLETE corrected section in exactly the original marker format.
{extra}

View File

@@ -1,23 +0,0 @@
Fact-check ONE written guide section on the topic "{topic}" — Chain-of-Verification style, binary per claim.
SECTION (block "{block}"):
{section}
VERIFIED FACTS — the ONLY allowed factual basis (extract-once from the source):
{facts}
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. 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).
Write ONLY the JSON file to: {out_path}
Format — everything supported:
{{"ok": true}}
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

@@ -0,0 +1,27 @@
Revise ONE guide section on the topic "{topic}" (format: {format_name}) in a single pass — fix exactly the findings below, everything else stays unchanged in substance.
SECTION (block "{block}") — current content:
{section}
VERIFIED FACTS (the only allowed factual basis):
{facts}
SECTION SPECIFICATION:
{spec}
FINDINGS TO FIX:
{auftraege}
Rules per finding type:
- **Claims (falsch/unbelegt):** correct IF the verified facts state the right version, otherwise DELETE and smooth the surrounding sentence. Touch nothing else.
- **Lücken:** add the missing content for the named objective — grounded in the verified facts, at the fitting subblock, beginner-friendly.
- **Ballast:** shorten the named passages without information loss — never drop a subblock.
- **Lesbarkeit/Länge:** fix exactly the noted problems (split sentences, lists instead of prose enumerations, cut repetition/filler; hit the stated length target when one is given).
STRUCTURE INVARIANT (mandatory — the level filter dies without it): keep the marker skeleton exactly — `<!-- kapitel: … -->`, `<!-- section: … -->`, `<!-- compact -->`, `<!-- ausführlich -->` and one `<!-- sub: LABEL | title -->` per subblock in BOTH blocks, labels/titles/order as in the subblock list:
{sub_list}
Write the revised section in GERMAN, same tone as the original.
Write ONLY the file {out_path} — the COMPLETE revised section in exactly the original marker format. No text outside the section.
{extra}

View File

@@ -1,33 +0,0 @@
Review written sections of a learning guide on the topic "{topic}" (format: {format_name}) for readability.
Audience: beginners.
SECTION SPECIFICATION (target state):
{spec}
SECTIONS:
{sections}
Review each section:
1. Does the section teach the concept understandably for a beginner with no prior knowledge — does it frame it, explain the how/why, make an example concrete? Not so dense that only someone who already knows the topic can follow it.
2. Readability (note genuine flaws):
- Sentences over ~20 words (never over 25), or nested sentences with several interjections.
- An enumeration (steps/options/requirements) written as one long prose sentence that should be a Markdown list.
- Wall of text: one dense block without paragraphs that could be split into several.
- More than ~4 new technical terms left unexplained at first occurrence.
3. Conciseness (superfluous material harms learning — note genuine flaws):
- Repetition: the same statement multiple times, just reworded.
- Trivia spelled out at length, filler sentences, preambles, meta-comments with no new content.
- An example that contributes nothing to understanding.
→ note as "too long/redundant — shorten without loss of information". IMPORTANT: shortening never means dropping a subblock — each one stays.
4. Are the examples short, simple, plausibly correct — and in the topic-appropriate format per the specification (no code block around prose examples, no prose pseudo-example where code is required)?
5. Is the Markdown clean (no broken code blocks, no placeholders, no foreign text)?
You only REVIEW and note problems — you change nothing. Note only genuine flaws, no matters of taste.
Reply with ONLY the JSON — no other text, no code fences.
Format — all in order:
{{"ok": true}}
Otherwise (section title EXACTLY as above):
{{"problems": [{{"section": "exact section title", "problem": "…"}}]}}
{extra}

View File

@@ -0,0 +1,36 @@
You are the combined quality gate for ONE written guide section on the topic "{topic}" — fact check (Chain-of-Verification style), coverage against the learning objectives, and readability. One verdict, three lenses.
SECTION (block "{block}") — subblocks are marked with `<!-- sub: … -->`:
{section}
VERIFIED FACTS — the ONLY allowed factual basis (extract-once from the source):
{facts}
LEARNING OBJECTIVES of this block:
{ziele}
SECTION SPECIFICATION (target state for readability):
{spec}
{hinweise}
LENS 1 — FACTS (binary per claim):
1. Decompose the text into its ATOMIC factual claims (definitions, properties, numbers, procedure steps, causal statements). Ignore pure didactics: transitions, framing, previews/recaps, uncontroversial placement knowledge, paraphrases of the verified facts. Worked-example passages that merely APPLY a verified fact are didactics; flag an example step ONLY if it contradicts the facts or smuggles in a NEW general claim.
2. Check each claim against the VERIFIED FACTS only — no web, no outside knowledge as evidence. Not derivable → claim with "urteil": **"falsch"** when it CONTRADICTS the facts or the section itself, **"unbelegt"** when merely not derivable. List ONLY unsupported claims, VERBATIM.
3. Genuinely ambiguous between context and claim → treat as claim.
LENS 2 — COVERAGE (binary per objective):
4. For EACH objective id: does the text teach it well enough that a beginner could achieve it afterwards (mentioning a keyword is NOT teaching)? `ziele` maps EVERY id to true/false.
5. Per uncovered objective one `luecken`-entry: WHAT exactly is missing (German, concrete — the fix will patch exactly this).
6. `ballast`: passages serving none of the objectives (digressions, redundant repetition) — shortening candidates only, never a whole subblock.
LENS 3 — READABILITY (note genuine flaws only, no taste):
7. Beginner-followable (framing, how/why, concrete example)? Sentences over ~25 words or nested; enumerations as prose instead of lists; walls of text; >4 unexplained new terms; repetition/filler/preambles; examples that add nothing; broken Markdown. → one `lese_probleme`-entry each (German, short).
Everything in order → `{{"ok": true}}`.
Reply with ONLY the JSON — no other text, no code fences. Format:
{{"claims": [{{"text": "verbatim claim", "grund": "warum unbelegt (kurz)", "urteil": "falsch|unbelegt"}}],
"ziele": {{"z1": true, "z2": false}},
"luecken": [{{"ziel": "z2", "fehlt": "…"}}],
"ballast": ["passage …"],
"lese_probleme": [{{"problem": "…"}}]}}
{extra}

View File

@@ -1,38 +0,0 @@
Revise individual sections of a learning guide on the topic "{topic}" (format: {format_name}).
{facts}
SECTION SPECIFICATION:
{spec}
TO REVISE — per section, its subblocks, the noted problem, and the current content:
{tasks}
Per section, fix ONLY the noted problem; whatever is in order stays unchanged in substance.
MANDATORY STRUCTURE (same as the writer) — otherwise the staged display breaks:
- Each section has TWO versions: **compact** (one mnemonic per subblock) and **detailed** (the `ausführlich` layer: a coherent beginner text).
- In BOTH versions, each subblock carries a `<!-- sub: LABEL | subblock title -->` marker. LABEL and title EXACTLY from the subblock list above, same order in both blocks. The detailed text starts with a short anchor (framing) BEFORE the first marker.
- The markers are invisible interfaces, NOT visible headings — write fluently regardless.
KEEP IT CONCISE (if the problem is "too long/redundant"):
- Every sentence carries new information. Cut repetition, filler and meta sentences, preambles.
- Explain trivia briefly; give depth only where the material needs it. When in doubt, leave it out, don't add.
- An example only where it genuinely carries the understanding — not dutifully for every subblock.
- Shortening never means dropping a subblock. Each one stays with its marker.
Write all revised sections in GERMAN (the guide is for German-speaking learners), even though these instructions are in English.
Write ONLY the file {out_path} in EXACTLY this format — one section marker per flagged section (title EXACTLY as above):
<!-- section: exact section title -->
<!-- compact -->
<!-- sub: beginner | exact subblock title -->
- one mnemonic per subblock (concise, no explanation)
<!-- ausführlich -->
Anchor: brief framing of the block — before the first subblock.
<!-- sub: beginner | exact subblock title -->
Beginner-friendly prose for this subblock.
Write the marker lines exactly like that. No text outside the sections.
{extra}