Generator: pilot analysis and fixes; G0002-G0021 tasks; handover notes merged
- Static bundle checks (name length, seed type, reserved words, contract test classes, testclasses_file), local abaplint parser check before SAP, max_tokens, robust JSON parse - Runner: G2 for CDS views with parameters, contract_check detail in report - G0020 and G0013 fixed by review and revalidated (oracle 100, null 0) - Pilot results in docs/faz1-tasarim.md 11e; handover notes merged into CLAUDE.md and docs Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -14,25 +14,33 @@ PLAN = [
|
||||
("PROG", "B"), ("PROG", "B"), ("PROG", "E"),
|
||||
("DDLS", "B"), ("DDLS", "B"), ("DDLS", "B"), ("DDLS", "B"), ("DDLS", "B"),
|
||||
]
|
||||
# hard batch after the pilot: the types that failed in the pilot (2026-10-03)
|
||||
HARD = [("CLAS", "D", None), ("CLAS", "E", "legacy price or freight calculation with packed numbers"),
|
||||
("DDLS", "B", "view with input parameters"), ("DDLS", "B", "UNION of two tables with a literal source element"),
|
||||
("FUNC", "A", None)]
|
||||
DDLS_TOPICS = ["join of two tables and a calculated element", "association and path expression",
|
||||
"aggregation with CASE and GROUP BY", "view with input parameters",
|
||||
"UNION of two tables with a literal source element"]
|
||||
|
||||
|
||||
def main():
|
||||
"""python3 -m harness.pilot FIRST_ID [hard RUN_BASE]"""
|
||||
load_env(os.path.join(ROOT, ".env"))
|
||||
first = int(sys.argv[1]) if len(sys.argv) > 1 else 2
|
||||
hard = len(sys.argv) > 2 and sys.argv[2] == "hard"
|
||||
run_base = int(sys.argv[3]) if len(sys.argv) > 3 else 1100
|
||||
name = "hard" if hard else "pilot"
|
||||
plan = HARD if hard else [(o, c, None) for o, c in PLAN]
|
||||
results = []
|
||||
d = 0
|
||||
for k, (otype, cat) in enumerate(PLAN):
|
||||
for k, (otype, cat, topic) in enumerate(plan):
|
||||
tid = f"G{first + k:04d}"
|
||||
topic = None
|
||||
if otype == "DDLS":
|
||||
if otype == "DDLS" and not hard:
|
||||
topic, d = DDLS_TOPICS[d], d + 1
|
||||
try:
|
||||
log = generate(tid, "eval", otype, cat, 2, "deepseek-v4.1-flash:cloud",
|
||||
os.environ.get("LLM_BASE_URL", "http://127.0.0.1:11434/v1"),
|
||||
1100 + 10 * k, topic)
|
||||
run_base + 10 * k, topic)
|
||||
except BudgetExceeded as e:
|
||||
print("BUDGET", e, flush=True)
|
||||
break
|
||||
@@ -41,7 +49,7 @@ def main():
|
||||
log["spent_total"] = spent()
|
||||
results.append(log)
|
||||
print(json.dumps(log), flush=True)
|
||||
json.dump(results, open(os.path.join(ROOT, "runs", "gen", "pilot.json"), "w"), indent=1)
|
||||
json.dump(results, open(os.path.join(ROOT, "runs", "gen", f"{name}.json"), "w"), indent=1)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user