Step F first pass: 81/92 accepted; budget floor 60 calls; rejected slots moved for regeneration
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
This commit is contained in:
18
tasks_gen/eval/G0183/empirical.json
Normal file
18
tasks_gen/eval/G0183/empirical.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"deepseek-v4.1-flash:cloud": {
|
||||
"score": 80.0,
|
||||
"parts": {
|
||||
"correctness": 40.0,
|
||||
"craft": 20.0,
|
||||
"clean": 15.0,
|
||||
"own_tests": 0.0,
|
||||
"discipline": 5.0,
|
||||
"total": 80.0,
|
||||
"note": "own_tests: faulty-reference part not implemented in skeleton"
|
||||
},
|
||||
"hidden": "8/8",
|
||||
"tool_calls": 40,
|
||||
"seconds": 174.6,
|
||||
"run_dir": "runs/emp/10012_G0020_llm_deepseek-v4.1-flash_cloud"
|
||||
}
|
||||
}
|
||||
16
tasks_gen/eval/G0183/generation.json
Normal file
16
tasks_gen/eval/G0183/generation.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"id": "G0183",
|
||||
"pool": "eval",
|
||||
"category": "K",
|
||||
"base_task": "G0020",
|
||||
"style": "incomplete",
|
||||
"tool_schema": "generic_v0",
|
||||
"attempts": [
|
||||
{
|
||||
"stage": "validate",
|
||||
"oracle": 100.0,
|
||||
"null": 0
|
||||
}
|
||||
],
|
||||
"accepted": true
|
||||
}
|
||||
157
tasks_gen/eval/G0183/hidden/t20_hidden.clas.abap
Normal file
157
tasks_gen/eval/G0183/hidden/t20_hidden.clas.abap
Normal file
@@ -0,0 +1,157 @@
|
||||
CLASS {{p}}t20_hidden DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
||||
PRIVATE SECTION.
|
||||
CLASS-DATA go_env TYPE REF TO if_cds_test_environment.
|
||||
CLASS-METHODS class_setup.
|
||||
CLASS-METHODS class_teardown.
|
||||
METHODS setup.
|
||||
METHODS revenue_in_period FOR TESTING.
|
||||
METHODS sold_quantity_in_period FOR TESTING.
|
||||
METHODS books_in_period FOR TESTING.
|
||||
METHODS title_and_category FOR TESTING.
|
||||
METHODS revenue_has_two_decimals FOR TESTING.
|
||||
METHODS period_limits_included FOR TESTING.
|
||||
METHODS empty_period FOR TESTING.
|
||||
METHODS book_outside_period_hidden FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}t20_hidden IMPLEMENTATION.
|
||||
METHOD class_setup.
|
||||
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_BOOK_REVENUE' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD class_teardown.
|
||||
go_env->destroy( ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD setup.
|
||||
DATA lt_book TYPE STANDARD TABLE OF {{p}}book WITH EMPTY KEY.
|
||||
DATA lt_sale TYPE STANDARD TABLE OF {{p}}sale WITH EMPTY KEY.
|
||||
go_env->clear_doubles( ).
|
||||
lt_book = VALUE #(
|
||||
( book_id = 'B1' title = 'ABAP Basics' category = 'TECH' price = '40.00' )
|
||||
( book_id = 'B2' title = 'SQL Guide' category = 'TECH' price = '25.50' )
|
||||
( book_id = 'B3' title = 'Cooking Fun' category = 'HOME' price = '15.00' )
|
||||
( book_id = 'B4' title = 'Space Novel' category = 'FICTION' price = '9.99' )
|
||||
( book_id = 'B5' title = 'Old Book' category = 'TECH' price = '5.00' ) ).
|
||||
lt_sale = VALUE #(
|
||||
( book_id = 'B1' sale_date = '20240110' quantity = 2 )
|
||||
( book_id = 'B1' sale_date = '20240215' quantity = 1 )
|
||||
( book_id = 'B1' sale_date = '20240601' quantity = 5 )
|
||||
( book_id = 'B2' sale_date = '20240120' quantity = 4 )
|
||||
( book_id = 'B3' sale_date = '20240305' quantity = 3 )
|
||||
( book_id = 'B4' sale_date = '20240201' quantity = 1 )
|
||||
( book_id = 'B4' sale_date = '20240202' quantity = 2 )
|
||||
( book_id = 'B5' sale_date = '20240615' quantity = 7 ) ).
|
||||
go_env->insert_test_data( lt_book ).
|
||||
go_env->insert_test_data( lt_sale ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD revenue_in_period.
|
||||
DATA lv_from TYPE d.
|
||||
DATA lv_to TYPE d.
|
||||
lv_from = '20240101'.
|
||||
lv_to = '20240331'.
|
||||
SELECT SINGLE revenue
|
||||
FROM {{p}}i_book_revenue( p_from = @lv_from, p_to = @lv_to )
|
||||
WHERE book_id = 'B1'
|
||||
INTO @DATA(lv_revenue).
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = CONV decfloat34( '120.00' )
|
||||
act = CONV decfloat34( lv_revenue ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD sold_quantity_in_period.
|
||||
DATA lv_from TYPE d.
|
||||
DATA lv_to TYPE d.
|
||||
lv_from = '20240101'.
|
||||
lv_to = '20240331'.
|
||||
SELECT SINGLE sold_quantity
|
||||
FROM {{p}}i_book_revenue( p_from = @lv_from, p_to = @lv_to )
|
||||
WHERE book_id = 'B1'
|
||||
INTO @DATA(lv_sold).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 3 act = CONV i( lv_sold ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD books_in_period.
|
||||
DATA lv_from TYPE d.
|
||||
DATA lv_to TYPE d.
|
||||
lv_from = '20240101'.
|
||||
lv_to = '20240331'.
|
||||
SELECT COUNT(*)
|
||||
FROM {{p}}i_book_revenue( p_from = @lv_from, p_to = @lv_to )
|
||||
INTO @DATA(lv_rows).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 4 act = lv_rows ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD title_and_category.
|
||||
DATA lv_from TYPE d.
|
||||
DATA lv_to TYPE d.
|
||||
lv_from = '20240101'.
|
||||
lv_to = '20240331'.
|
||||
SELECT SINGLE title, category
|
||||
FROM {{p}}i_book_revenue( p_from = @lv_from, p_to = @lv_to )
|
||||
WHERE book_id = 'B2'
|
||||
INTO @DATA(ls_row).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'SQL Guide' act = ls_row-title ).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 'TECH' act = ls_row-category ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD revenue_has_two_decimals.
|
||||
DATA lv_from TYPE d.
|
||||
DATA lv_to TYPE d.
|
||||
lv_from = '20240101'.
|
||||
lv_to = '20240331'.
|
||||
SELECT SINGLE revenue
|
||||
FROM {{p}}i_book_revenue( p_from = @lv_from, p_to = @lv_to )
|
||||
WHERE book_id = 'B4'
|
||||
INTO @DATA(lv_revenue).
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = CONV decfloat34( '29.97' )
|
||||
act = CONV decfloat34( lv_revenue ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD period_limits_included.
|
||||
DATA lv_from TYPE d.
|
||||
DATA lv_to TYPE d.
|
||||
lv_from = '20240110'.
|
||||
lv_to = '20240110'.
|
||||
SELECT SINGLE sold_quantity
|
||||
FROM {{p}}i_book_revenue( p_from = @lv_from, p_to = @lv_to )
|
||||
WHERE book_id = 'B1'
|
||||
INTO @DATA(lv_sold_b1).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 2 act = CONV i( lv_sold_b1 ) ).
|
||||
|
||||
lv_from = '20240305'.
|
||||
lv_to = '20240305'.
|
||||
SELECT SINGLE sold_quantity
|
||||
FROM {{p}}i_book_revenue( p_from = @lv_from, p_to = @lv_to )
|
||||
WHERE book_id = 'B3'
|
||||
INTO @DATA(lv_sold_b3).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 3 act = CONV i( lv_sold_b3 ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD empty_period.
|
||||
DATA lv_from TYPE d.
|
||||
DATA lv_to TYPE d.
|
||||
lv_from = '20240501'.
|
||||
lv_to = '20240531'.
|
||||
SELECT COUNT(*)
|
||||
FROM {{p}}i_book_revenue( p_from = @lv_from, p_to = @lv_to )
|
||||
INTO @DATA(lv_rows).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 0 act = lv_rows ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD book_outside_period_hidden.
|
||||
DATA lv_from TYPE d.
|
||||
DATA lv_to TYPE d.
|
||||
lv_from = '20240101'.
|
||||
lv_to = '20240331'.
|
||||
SELECT SINGLE book_id
|
||||
FROM {{p}}i_book_revenue( p_from = @lv_from, p_to = @lv_to )
|
||||
WHERE book_id = 'B5'
|
||||
INTO @DATA(lv_book).
|
||||
cl_abap_unit_assert=>assert_initial( lv_book ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
20
tasks_gen/eval/G0183/reference/i_book_revenue.ddls.asddls
Normal file
20
tasks_gen/eval/G0183/reference/i_book_revenue.ddls.asddls
Normal file
@@ -0,0 +1,20 @@
|
||||
@AccessControl.authorizationCheck: #NOT_REQUIRED
|
||||
@EndUserText.label: 'Book revenue in period'
|
||||
define view entity {{P}}I_BOOK_REVENUE
|
||||
with parameters
|
||||
p_from : abap.dats,
|
||||
p_to : abap.dats
|
||||
as select from {{p}}book as bk
|
||||
inner join {{p}}sale as sl on sl.book_id = bk.book_id
|
||||
{
|
||||
key bk.book_id as book_id,
|
||||
bk.title as title,
|
||||
bk.category as category,
|
||||
sum( sl.quantity ) as sold_quantity,
|
||||
sum( cast( sl.quantity as abap.dec( 10, 0 ) ) * bk.price ) as revenue
|
||||
}
|
||||
where sl.sale_date between $parameters.p_from and $parameters.p_to
|
||||
group by
|
||||
bk.book_id,
|
||||
bk.title,
|
||||
bk.category
|
||||
62
tasks_gen/eval/G0183/reference/t20_test.clas.abap
Normal file
62
tasks_gen/eval/G0183/reference/t20_test.clas.abap
Normal file
@@ -0,0 +1,62 @@
|
||||
CLASS {{p}}t20_test DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
|
||||
PRIVATE SECTION.
|
||||
CLASS-DATA go_env TYPE REF TO if_cds_test_environment.
|
||||
CLASS-METHODS class_setup.
|
||||
CLASS-METHODS class_teardown.
|
||||
METHODS setup.
|
||||
METHODS revenue_of_one_book FOR TESTING.
|
||||
METHODS period_is_inclusive FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}t20_test IMPLEMENTATION.
|
||||
METHOD class_setup.
|
||||
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_BOOK_REVENUE' ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD class_teardown.
|
||||
go_env->destroy( ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD setup.
|
||||
DATA lt_book TYPE STANDARD TABLE OF {{p}}book WITH EMPTY KEY.
|
||||
DATA lt_sale TYPE STANDARD TABLE OF {{p}}sale WITH EMPTY KEY.
|
||||
go_env->clear_doubles( ).
|
||||
lt_book = VALUE #(
|
||||
( book_id = 'A1' title = 'Test Book' category = 'TECH' price = '10.00' ) ).
|
||||
lt_sale = VALUE #(
|
||||
( book_id = 'A1' sale_date = '20240101' quantity = 2 )
|
||||
( book_id = 'A1' sale_date = '20240131' quantity = 3 )
|
||||
( book_id = 'A1' sale_date = '20240201' quantity = 9 ) ).
|
||||
go_env->insert_test_data( lt_book ).
|
||||
go_env->insert_test_data( lt_sale ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD revenue_of_one_book.
|
||||
DATA lv_from TYPE d.
|
||||
DATA lv_to TYPE d.
|
||||
lv_from = '20240101'.
|
||||
lv_to = '20240131'.
|
||||
SELECT SINGLE sold_quantity, revenue
|
||||
FROM {{p}}i_book_revenue( p_from = @lv_from, p_to = @lv_to )
|
||||
WHERE book_id = 'A1'
|
||||
INTO @DATA(ls_row).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 5 act = CONV i( ls_row-sold_quantity ) ).
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = CONV decfloat34( '50.00' )
|
||||
act = CONV decfloat34( ls_row-revenue ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD period_is_inclusive.
|
||||
DATA lv_from TYPE d.
|
||||
DATA lv_to TYPE d.
|
||||
lv_from = '20240101'.
|
||||
lv_to = '20240101'.
|
||||
SELECT SINGLE sold_quantity
|
||||
FROM {{p}}i_book_revenue( p_from = @lv_from, p_to = @lv_to )
|
||||
WHERE book_id = 'A1'
|
||||
INTO @DATA(lv_sold).
|
||||
cl_abap_unit_assert=>assert_equals( exp = 2 act = CONV i( lv_sold ) ).
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
7
tasks_gen/eval/G0183/review.json
Normal file
7
tasks_gen/eval/G0183/review.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"decision": "accept",
|
||||
"note": "Survived join mutant is equivalent (WHERE on the right table).",
|
||||
"by": "Claude",
|
||||
"date": "2026-10-03",
|
||||
"failed_checks": {}
|
||||
}
|
||||
13
tasks_gen/eval/G0183/seed/book.tabl.asabap
Normal file
13
tasks_gen/eval/G0183/seed/book.tabl.asabap
Normal file
@@ -0,0 +1,13 @@
|
||||
@EndUserText.label : 'Book master data'
|
||||
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
|
||||
@AbapCatalog.tableCategory : #TRANSPARENT
|
||||
@AbapCatalog.deliveryClass : #A
|
||||
@AbapCatalog.dataMaintenance : #RESTRICTED
|
||||
define table {{p}}book {
|
||||
key client : abap.clnt not null;
|
||||
key book_id : abap.char(10) not null;
|
||||
title : abap.char(40);
|
||||
category : abap.char(10);
|
||||
price : abap.dec(15,2);
|
||||
stock : abap.int4;
|
||||
}
|
||||
11
tasks_gen/eval/G0183/seed/sale.tabl.asabap
Normal file
11
tasks_gen/eval/G0183/seed/sale.tabl.asabap
Normal file
@@ -0,0 +1,11 @@
|
||||
@EndUserText.label : 'Book sales'
|
||||
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
|
||||
@AbapCatalog.tableCategory : #TRANSPARENT
|
||||
@AbapCatalog.deliveryClass : #A
|
||||
@AbapCatalog.dataMaintenance : #RESTRICTED
|
||||
define table {{p}}sale {
|
||||
key client : abap.clnt not null;
|
||||
key book_id : abap.char(10) not null;
|
||||
key sale_date : abap.dats not null;
|
||||
quantity : abap.int4;
|
||||
}
|
||||
1
tasks_gen/eval/G0183/spec.md
Normal file
1
tasks_gen/eval/G0183/spec.md
Normal file
@@ -0,0 +1 @@
|
||||
Create the CDS view entity {{P}}I_BOOK_REVENUE in package $TMP. The view shows the sales of each book for the period given by input parameters P_FROM (DATS) and P_TO (DATS). P_FROM is the first day of the period. P_TO is the last day of the period. Both limits belong to the period. The view has one row for each book that has at least one sale whose sale date is in the period. A book without a sale in the period has no row. The elements are BOOK_ID as key, TITLE, CATEGORY, SOLD_QUANTITY, and REVENUE. SOLD_QUANTITY is the sum of QUANTITY of all sales of the book in the period. REVENUE is the sum of QUANTITY multiplied by PRICE of the book over all sales of the book in the period. REVENUE has 2 decimals. TITLE and CATEGORY are the title and category of the book. No authorization check is required. Create the global ABAP Unit test class {{P}}T20_TEST for the view. The view must be active and have no syntax error. The hidden tests must pass. {{P}}T20_TEST must use CL_CDS_TEST_ENVIRONMENT and pass. Release target is 7.58. Do not change {{P}}BOOK and {{P}}SALE.
|
||||
79
tasks_gen/eval/G0183/task.json
Normal file
79
tasks_gen/eval/G0183/task.json
Normal file
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"id": "G0183",
|
||||
"category": "K",
|
||||
"object_type": "DDLS",
|
||||
"difficulty": 2,
|
||||
"release_target": "v758",
|
||||
"expected_outcome": "implement",
|
||||
"budget": {
|
||||
"max_tool_calls": 60,
|
||||
"max_activations": 15
|
||||
},
|
||||
"seed": [
|
||||
{
|
||||
"type": "TABL",
|
||||
"name": "{{P}}BOOK",
|
||||
"file": "seed/book.tabl.asabap",
|
||||
"description": "Book master data"
|
||||
},
|
||||
{
|
||||
"type": "TABL",
|
||||
"name": "{{P}}SALE",
|
||||
"file": "seed/sale.tabl.asabap",
|
||||
"description": "Book sales"
|
||||
}
|
||||
],
|
||||
"contract": [
|
||||
{
|
||||
"type": "DDLS",
|
||||
"name": "{{P}}I_BOOK_REVENUE",
|
||||
"fields": [
|
||||
"BOOK_ID",
|
||||
"TITLE",
|
||||
"CATEGORY",
|
||||
"SOLD_QUANTITY",
|
||||
"REVENUE"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "P_FROM",
|
||||
"type": "DATS"
|
||||
},
|
||||
{
|
||||
"name": "P_TO",
|
||||
"type": "DATS"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"out_of_scope": [
|
||||
"{{P}}BOOK",
|
||||
"{{P}}SALE"
|
||||
],
|
||||
"hidden_tests": [
|
||||
{
|
||||
"type": "CLAS",
|
||||
"name": "{{P}}T20_HIDDEN",
|
||||
"file": "hidden/t20_hidden.clas.abap",
|
||||
"description": "T20 hidden tests"
|
||||
}
|
||||
],
|
||||
"reference": [
|
||||
{
|
||||
"type": "DDLS",
|
||||
"name": "{{P}}I_BOOK_REVENUE",
|
||||
"file": "reference/i_book_revenue.ddls.asddls",
|
||||
"description": "Book revenue in a period"
|
||||
},
|
||||
{
|
||||
"type": "CLAS",
|
||||
"name": "{{P}}T20_TEST",
|
||||
"file": "reference/t20_test.clas.abap",
|
||||
"description": "T20 own tests"
|
||||
}
|
||||
],
|
||||
"craft_checks": [],
|
||||
"base_task": "G0020",
|
||||
"input_style": "incomplete",
|
||||
"tool_schema": "generic_v0"
|
||||
}
|
||||
Reference in New Issue
Block a user