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:
Kral
2026-10-03 12:10:52 +02:00
parent d3250acfb8
commit 39769afce8
741 changed files with 40573 additions and 317 deletions

View File

@@ -0,0 +1,18 @@
{
"deepseek-v4.1-flash:cloud": {
"score": 77.0,
"parts": {
"correctness": 40.0,
"craft": 20.0,
"clean": 12.0,
"own_tests": 0.0,
"discipline": 5.0,
"total": 77.0,
"note": "own_tests: faulty-reference part not implemented in skeleton"
},
"hidden": "8/8",
"tool_calls": 40,
"seconds": 164.6,
"run_dir": "runs/emp/10009_G0017_llm_deepseek-v4.1-flash_cloud"
}
}

View File

@@ -0,0 +1,16 @@
{
"id": "G0182",
"pool": "eval",
"category": "K",
"base_task": "G0017",
"style": "free_text",
"tool_schema": "generic_v0",
"attempts": [
{
"stage": "validate",
"oracle": 100.0,
"null": 0
}
],
"accepted": true
}

View File

@@ -0,0 +1,86 @@
CLASS {{p}}t21_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 cost_of_project_one FOR TESTING.
METHODS hours_of_project_one FOR TESTING.
METHODS count_of_project_one FOR TESTING.
METHODS no_active_assignment FOR TESTING.
METHODS row_count FOR TESTING.
METHODS over_budget_flag FOR TESTING.
METHODS budget_not_exceeded FOR TESTING.
METHODS project_name_shown FOR TESTING.
ENDCLASS.
CLASS {{p}}t21_hidden IMPLEMENTATION.
METHOD class_setup.
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_PROJ_EFFORT' ).
ENDMETHOD.
METHOD class_teardown.
go_env->destroy( ).
ENDMETHOD.
METHOD setup.
DATA lt_proj TYPE STANDARD TABLE OF {{p}}proj WITH EMPTY KEY.
DATA lt_asgn TYPE STANDARD TABLE OF {{p}}asgn WITH EMPTY KEY.
go_env->clear_doubles( ).
lt_proj = VALUE #( ( proj_id = 'P1' proj_name = 'ALPHA' budget = '500.00' )
( proj_id = 'P2' proj_name = 'BETA' budget = '100.00' )
( proj_id = 'P3' proj_name = 'GAMMA' budget = '1000.00' )
( proj_id = 'P4' proj_name = 'DELTA' budget = '50.00' ) ).
lt_asgn = VALUE #( ( proj_id = 'P1' emp_id = 'E1' work_hours = 10 rate = '50.00' status = 'A' )
( proj_id = 'P1' emp_id = 'E2' work_hours = 4 rate = '25.00' status = 'A' )
( proj_id = 'P1' emp_id = 'E3' work_hours = 8 rate = '100.00' status = 'I' )
( proj_id = 'P2' emp_id = 'E1' work_hours = 2 rate = '50.00' status = 'A' )
( proj_id = 'P4' emp_id = 'E2' work_hours = 5 rate = '10.00' status = 'I' ) ).
go_env->insert_test_data( lt_proj ).
go_env->insert_test_data( lt_asgn ).
ENDMETHOD.
METHOD cost_of_project_one.
SELECT SINGLE total_cost FROM {{p}}i_proj_effort WHERE proj_id = 'P1' INTO @DATA(lv_cost).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '600.00' )
act = CONV decfloat34( lv_cost ) ).
ENDMETHOD.
METHOD hours_of_project_one.
SELECT SINGLE total_hours FROM {{p}}i_proj_effort WHERE proj_id = 'P1' INTO @DATA(lv_hours).
cl_abap_unit_assert=>assert_equals( exp = CONV i( lv_hours ) act = 14 ).
ENDMETHOD.
METHOD count_of_project_one.
SELECT SINGLE assign_count FROM {{p}}i_proj_effort WHERE proj_id = 'P1' INTO @DATA(lv_count).
cl_abap_unit_assert=>assert_equals( exp = CONV i( lv_count ) act = 2 ).
ENDMETHOD.
METHOD no_active_assignment.
SELECT SINGLE proj_name FROM {{p}}i_proj_effort WHERE proj_id = 'P4' INTO @DATA(lv_name).
cl_abap_unit_assert=>assert_equals( exp = 4 act = sy-subrc ).
cl_abap_unit_assert=>assert_initial( lv_name ).
ENDMETHOD.
METHOD row_count.
SELECT COUNT(*) FROM {{p}}i_proj_effort INTO @DATA(lv_rows).
cl_abap_unit_assert=>assert_equals( exp = CONV i( lv_rows ) act = 2 ).
ENDMETHOD.
METHOD over_budget_flag.
SELECT SINGLE over_budget FROM {{p}}i_proj_effort WHERE proj_id = 'P1' INTO @DATA(lv_flag).
cl_abap_unit_assert=>assert_equals( exp = 'X' act = lv_flag ).
ENDMETHOD.
METHOD budget_not_exceeded.
SELECT SINGLE over_budget FROM {{p}}i_proj_effort WHERE proj_id = 'P2' INTO @DATA(lv_flag).
cl_abap_unit_assert=>assert_equals( exp = 'N' act = lv_flag ).
ENDMETHOD.
METHOD project_name_shown.
SELECT SINGLE proj_name FROM {{p}}i_proj_effort WHERE proj_id = 'P2' INTO @DATA(lv_name).
cl_abap_unit_assert=>assert_equals( exp = 'BETA' act = lv_name ).
ENDMETHOD.
ENDCLASS.

View File

@@ -0,0 +1,22 @@
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Project effort'
define view entity {{P}}I_PROJ_EFFORT
as select from {{p}}proj as proj
inner join {{p}}asgn as asgn on asgn.proj_id = proj.proj_id
{
key proj.proj_id as proj_id,
proj.proj_name as proj_name,
count( * ) as assign_count,
sum( asgn.work_hours ) as total_hours,
sum( cast( asgn.work_hours as abap.dec( 15, 2 ) ) * asgn.rate ) as total_cost,
case
when sum( cast( asgn.work_hours as abap.dec( 15, 2 ) ) * asgn.rate ) > proj.budget
then 'X'
else 'N'
end as over_budget
}
where asgn.status = 'A'
group by
proj.proj_id,
proj.proj_name,
proj.budget

View File

@@ -0,0 +1,53 @@
CLASS {{p}}t21_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 effort_of_one_project FOR TESTING.
METHODS no_active_assignment FOR TESTING.
ENDCLASS.
CLASS {{p}}t21_test IMPLEMENTATION.
METHOD class_setup.
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_PROJ_EFFORT' ).
ENDMETHOD.
METHOD class_teardown.
go_env->destroy( ).
ENDMETHOD.
METHOD setup.
DATA lt_proj TYPE STANDARD TABLE OF {{p}}proj WITH EMPTY KEY.
DATA lt_asgn TYPE STANDARD TABLE OF {{p}}asgn WITH EMPTY KEY.
go_env->clear_doubles( ).
lt_proj = VALUE #( ( proj_id = 'A' proj_name = 'ONE' budget = '100.00' )
( proj_id = 'B' proj_name = 'TWO' budget = '10.00' ) ).
lt_asgn = VALUE #( ( proj_id = 'A' emp_id = 'E1' work_hours = 2 rate = '10.00' status = 'A' )
( proj_id = 'A' emp_id = 'E2' work_hours = 1 rate = '5.00' status = 'A' )
( proj_id = 'A' emp_id = 'E3' work_hours = 9 rate = '9.00' status = 'I' )
( proj_id = 'B' emp_id = 'E1' work_hours = 3 rate = '1.00' status = 'I' ) ).
go_env->insert_test_data( lt_proj ).
go_env->insert_test_data( lt_asgn ).
ENDMETHOD.
METHOD effort_of_one_project.
SELECT SINGLE assign_count, total_hours, total_cost, over_budget
FROM {{p}}i_proj_effort
WHERE proj_id = 'A'
INTO @DATA(ls_effort).
cl_abap_unit_assert=>assert_equals( exp = CONV i( ls_effort-assign_count ) act = 2 ).
cl_abap_unit_assert=>assert_equals( exp = CONV i( ls_effort-total_hours ) act = 3 ).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '25.00' )
act = CONV decfloat34( ls_effort-total_cost ) ).
cl_abap_unit_assert=>assert_equals( exp = 'N' act = ls_effort-over_budget ).
ENDMETHOD.
METHOD no_active_assignment.
SELECT SINGLE proj_id FROM {{p}}i_proj_effort WHERE proj_id = 'B' INTO @DATA(lv_proj_id).
cl_abap_unit_assert=>assert_equals( exp = 4 act = sy-subrc ).
cl_abap_unit_assert=>assert_initial( lv_proj_id ).
ENDMETHOD.
ENDCLASS.

View File

@@ -0,0 +1,7 @@
{
"decision": "accept",
"note": "Survived inner->left outer join is equivalent (WHERE on the right table).",
"by": "Claude",
"date": "2026-10-03",
"failed_checks": {}
}

View File

@@ -0,0 +1,13 @@
@EndUserText.label : 'Project assignment'
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #A
@AbapCatalog.dataMaintenance : #RESTRICTED
define table {{p}}asgn {
key client : abap.clnt not null;
key proj_id : abap.char(10) not null;
key emp_id : abap.char(10) not null;
work_hours : abap.int4;
rate : abap.dec(15,2);
status : abap.char(1);
}

View File

@@ -0,0 +1,11 @@
@EndUserText.label : 'Project'
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #A
@AbapCatalog.dataMaintenance : #RESTRICTED
define table {{p}}proj {
key client : abap.clnt not null;
key proj_id : abap.char(10) not null;
proj_name : abap.char(30);
budget : abap.dec(15,2);
}

View File

@@ -0,0 +1,3 @@
Hello,
Please create the CDS view entity {{P}}I_PROJ_EFFORT in package $TMP. A report and an OData service read the project effort. The calculation must be in the database, in a CDS view. Use table {{P}}PROJ for projects. Its key is PROJ_ID with CHAR 10. Its fields are PROJ_NAME with CHAR 30 and BUDGET with DEC 15,2. Use table {{P}}ASGN for project assignments. Its key is PROJ_ID with CHAR 10 and EMP_ID with CHAR 10. Its fields are WORK_HOURS with INT4, RATE with DEC 15,2, and STATUS with CHAR 1. Both tables are in package $TMP. Do not change {{P}}PROJ and {{P}}ASGN. The view must have these elements: PROJ_ID as key, PROJ_NAME, ASSIGN_COUNT, TOTAL_HOURS, TOTAL_COST, and OVER_BUDGET. Do not do an authorization check. Use #NOT_REQUIRED. Show one row for each project that has at least one active assignment. An assignment is active when its STATUS is 'A'. An assignment with another status is not active. A project without active assignments does not appear in the view. ASSIGN_COUNT is the number of active assignments of the project. TOTAL_HOURS is the sum of WORK_HOURS of the active assignments of the project. TOTAL_COST is the sum of WORK_HOURS multiplied by RATE of the active assignments of the project, with 2 decimals. OVER_BUDGET is 'X' when TOTAL_COST is greater than the BUDGET of the project. Otherwise OVER_BUDGET is 'N'. The release target is 7.58. Follow Clean ABAP coding standards. The view must be active and have no syntax error. The hidden tests must pass. Write ABAP Unit tests with CL_CDS_TEST_ENVIRONMENT in a global test class. There are no open questions.

View File

@@ -0,0 +1,70 @@
{
"id": "G0182",
"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}}PROJ",
"file": "seed/proj.tabl.asabap",
"description": "Project"
},
{
"type": "TABL",
"name": "{{P}}ASGN",
"file": "seed/asgn.tabl.asabap",
"description": "Project assignment"
}
],
"contract": [
{
"type": "DDLS",
"name": "{{P}}I_PROJ_EFFORT",
"fields": [
"PROJ_ID",
"PROJ_NAME",
"ASSIGN_COUNT",
"TOTAL_HOURS",
"TOTAL_COST",
"OVER_BUDGET"
]
}
],
"out_of_scope": [
"{{P}}PROJ",
"{{P}}ASGN"
],
"hidden_tests": [
{
"type": "CLAS",
"name": "{{P}}T21_HIDDEN",
"file": "hidden/t21_hidden.clas.abap",
"description": "T21 hidden tests"
}
],
"reference": [
{
"type": "DDLS",
"name": "{{P}}I_PROJ_EFFORT",
"file": "reference/i_proj_effort.ddls.asddls",
"description": "Project effort"
},
{
"type": "CLAS",
"name": "{{P}}T21_TEST",
"file": "reference/t21_test.clas.abap",
"description": "T21 own tests"
}
],
"craft_checks": [],
"base_task": "G0017",
"input_style": "free_text",
"tool_schema": "generic_v0"
}