84
ai-web-agent-console/config/hmm_hr_query_contracts.json
Normal file
84
ai-web-agent-console/config/hmm_hr_query_contracts.json
Normal file
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"version": 1,
|
||||
"contracts": [
|
||||
{
|
||||
"id": "leave_balance_eligibility",
|
||||
"description": "연차·휴가 잔여와 신청 가능 여부를 원장 연도 및 구성값으로 검증한다.",
|
||||
"applies_to_tools": [
|
||||
"search_hr_data"
|
||||
],
|
||||
"intent_match": {
|
||||
"subject_terms_any": [
|
||||
"연차",
|
||||
"휴가"
|
||||
],
|
||||
"action_terms_any": [
|
||||
"잔여",
|
||||
"가능",
|
||||
"승인",
|
||||
"신청",
|
||||
"사용할 수"
|
||||
]
|
||||
},
|
||||
"data_contract": {
|
||||
"source_object": "HMM_LEAVE_BALANCES",
|
||||
"identity_fields": [
|
||||
"EMPLOYEE_CODE"
|
||||
],
|
||||
"required_fields": [
|
||||
"LEAVE_YEAR",
|
||||
"ANNUAL_ENTITLEMENT",
|
||||
"CARRYOVER_DAYS",
|
||||
"USED_DAYS",
|
||||
"PENDING_DAYS",
|
||||
"AVAILABLE_REMAINING_DAYS"
|
||||
],
|
||||
"computed_fields": {
|
||||
"AVAILABLE_REMAINING_DAYS": {
|
||||
"expression": "ANNUAL_ENTITLEMENT + CARRYOVER_DAYS - USED_DAYS - PENDING_DAYS",
|
||||
"authoritative_source": "DATABASE_VIRTUAL_COLUMN"
|
||||
}
|
||||
},
|
||||
"missing_record_semantics": "NO_BALANCE_DATA_FOR_YEAR",
|
||||
"forbidden_missing_record_fallbacks": [
|
||||
"ZERO",
|
||||
"NVL",
|
||||
"COALESCE",
|
||||
"OUTER_JOIN_DEFAULT",
|
||||
"LITERAL_VALUE"
|
||||
]
|
||||
},
|
||||
"temporal_contract": {
|
||||
"current_balance_year": "LATEST_AVAILABLE_LEAVE_YEAR",
|
||||
"requested_period_and_current_balance_are_separate": true,
|
||||
"period_status_fields": [
|
||||
"REQUEST_PERIOD_LABEL",
|
||||
"PERIOD_STATUS"
|
||||
],
|
||||
"past_period_status": "HISTORICAL_REQUEST_PERIOD",
|
||||
"past_period_decision": "DO_NOT_DECIDE_NEW_APPLICATION_FROM_CURRENT_BALANCE",
|
||||
"past_period_decision_field": "APPLICATION_DECISION_STATUS",
|
||||
"past_period_decision_value": "NOT_APPLICABLE_FOR_HISTORICAL_PERIOD",
|
||||
"forbidden_past_period_decision_field_patterns": [
|
||||
"^CAN_",
|
||||
"^APPROVAL_(ALLOWED|DENIED)$"
|
||||
],
|
||||
"validate_stated_days_against": [
|
||||
"INCLUSIVE_CALENDAR_DAYS",
|
||||
"MONDAY_TO_FRIDAY_DAYS"
|
||||
],
|
||||
"day_count_mismatch_status": "DATE_COUNT_REQUIRES_VALIDATION"
|
||||
},
|
||||
"answer_contract": {
|
||||
"separate_data_facts_and_policy_requirements": true,
|
||||
"deny_conclusions_without_required_fields": [
|
||||
"ZERO_REMAINING_DAYS",
|
||||
"LEAVE_APPROVAL_ALLOWED",
|
||||
"LEAVE_APPROVAL_DENIED"
|
||||
],
|
||||
"missing_evidence_response": "STATE_INSUFFICIENT_EVIDENCE_WITHOUT_INVENTING_VALUES",
|
||||
"missing_evidence_message": "조회 결과가 필수 원장 근거나 시간 기준 계약을 충족하지 않아 휴가 가능 여부를 확정할 수 없습니다. 계약 필드가 충족된 원장 결과로 다시 조회해야 합니다."
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user