From d4ed32cf38968f67f88ef048c6f06474933b33d6 Mon Sep 17 00:00:00 2001 From: Kral Date: Sat, 3 Oct 2026 18:26:24 +0200 Subject: [PATCH] G0181: restore ALV output in K spec; K prompt keeps output form Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat --- harness/generator.py | 4 +++- tasks_gen/eval/G0181/empirical.json | 26 ++++++++++++++------------ tasks_gen/eval/G0181/generation.json | 5 +++++ tasks_gen/eval/G0181/review.json | 2 +- tasks_gen/eval/G0181/spec.md | 2 +- 5 files changed, 24 insertions(+), 15 deletions(-) diff --git a/harness/generator.py b/harness/generator.py index c3f30e1..b4b7f65 100644 --- a/harness/generator.py +++ b/harness/generator.py @@ -499,7 +499,9 @@ def make_k_variant(src_id, new_id, style, model, base_url, run_base, tool_schema spec = b["files"]["spec.md"] terms = contract_terms(b["task"]) messages = [{"role": "user", "content": - f"{K_STYLES[style]}\nKeep these names exactly as written (the tests use them): " + f"{K_STYLES[style]}\nKeep every contract item: the output form (for example an ALV list " + "with CL_SALV_TABLE), the selection screen, the signature, and the column names (G0181 lost the " + "ALV). Keep these names exactly as written (the tests use them): " f"{', '.join(terms)}. Keep the placeholder {{{{P}}}} in names. Use Simplified Technical English. " f"Return only the new spec text.\n\nSpec:\n{spec}"}] log = {"id": new_id, "pool": "eval", "category": "K", "base_task": src_id, "style": style, diff --git a/tasks_gen/eval/G0181/empirical.json b/tasks_gen/eval/G0181/empirical.json index e540753..88a02ee 100644 --- a/tasks_gen/eval/G0181/empirical.json +++ b/tasks_gen/eval/G0181/empirical.json @@ -1,15 +1,17 @@ { - "deepseek-v4.1-flash:cloud": { - "score": 0, - "parts": { - "total": 0, - "failed_gates": [ - "G3_hidden_runs" - ] - }, - "hidden": "0/0", - "tool_calls": 16, - "seconds": 55.8, - "run_dir": "runs/emp/12008_G0181_llm_deepseek-v4.1-flash_cloud" + "_superseded": { + "deepseek-v4.1-flash:cloud@spec-lost-alv": { + "score": 0, + "parts": { + "total": 0, + "failed_gates": [ + "G3_hidden_runs" + ] + }, + "hidden": "0/0", + "tool_calls": 16, + "seconds": 55.8, + "run_dir": "runs/emp/12008_G0181_llm_deepseek-v4.1-flash_cloud" + } } } \ No newline at end of file diff --git a/tasks_gen/eval/G0181/generation.json b/tasks_gen/eval/G0181/generation.json index a2cfe56..2cbe865 100644 --- a/tasks_gen/eval/G0181/generation.json +++ b/tasks_gen/eval/G0181/generation.json @@ -10,6 +10,11 @@ "stage": "validate", "oracle": 100.0, "null": 0 + }, + { + "stage": "manual_fix", + "by": "Claude review 2026-10-03", + "change": "K text lost the ALV output (CL_SALV_TABLE); added back. Reference and hidden tests unchanged." } ], "accepted": true diff --git a/tasks_gen/eval/G0181/review.json b/tasks_gen/eval/G0181/review.json index d24ee23..1006f0d 100644 --- a/tasks_gen/eval/G0181/review.json +++ b/tasks_gen/eval/G0181/review.json @@ -1,6 +1,6 @@ { "decision": "accept", - "note": "Screened: rules map to tests, mutation ok, no craft hints. H: real gap. K: names kept.", + "note": "Fixed: K rewrite had dropped the ALV output form; DeepSeek wrote a WRITE list. Added back.", "by": "Claude", "date": "2026-10-03", "failed_checks": {} diff --git a/tasks_gen/eval/G0181/spec.md b/tasks_gen/eval/G0181/spec.md index 0963938..5d9e2a4 100644 --- a/tasks_gen/eval/G0181/spec.md +++ b/tasks_gen/eval/G0181/spec.md @@ -1 +1 @@ -Create executable program {{P}}STOCK_BAL. On the selection screen, require p_from and p_to as dates. Add s_plant as a select-option for the plant. Read movement data from {{P}}MOVMT. Include a movement when its movement date is on or after p_from and on or before p_to and its plant is in s_plant. A movement type '101' or '201' is a receipt. A movement type '261' or '262' is an issue. Ignore all other in-scope movements. For each material, RECEIPT_QTY is the sum of quantity of its receipts. ISSUE_QTY is the sum of quantity of its issues. BALANCE is RECEIPT_QTY minus ISSUE_QTY. Show one line for each material that has at least one receipt or issue. Do not show a material that has only ignored movements. Sort the lines by BALANCE, highest first. Show columns MATERIAL, RECEIPT_QTY, ISSUE_QTY, BALANCE. +Create executable program {{P}}STOCK_BAL. On the selection screen, require p_from and p_to as dates. Add s_plant as a select-option for the plant. Read movement data from {{P}}MOVMT. Include a movement when its movement date is on or after p_from and on or before p_to and its plant is in s_plant. A movement type '101' or '201' is a receipt. A movement type '261' or '262' is an issue. Ignore all other in-scope movements. For each material, RECEIPT_QTY is the sum of quantity of its receipts. ISSUE_QTY is the sum of quantity of its issues. BALANCE is RECEIPT_QTY minus ISSUE_QTY. Show one line for each material that has at least one receipt or issue. Do not show a material that has only ignored movements. Sort the lines by BALANCE, highest first. Show the result in an ALV list with CL_SALV_TABLE, with the columns MATERIAL, RECEIPT_QTY, ISSUE_QTY, BALANCE.