fix: align pod manifest scaffold schema
Some checks failed
Deploy to OCIWP / deploy (push) Failing after 25s
Some checks failed
Deploy to OCIWP / deploy (push) Failing after 25s
This commit is contained in:
@@ -92,9 +92,16 @@ public class ScaffoldingController {
|
|||||||
String prompt = """
|
String prompt = """
|
||||||
Generate only YAML for an MCP tool service manifest.
|
Generate only YAML for an MCP tool service manifest.
|
||||||
The root must be mcp.manifest.routing-functions with one routing function.
|
The root must be mcp.manifest.routing-functions with one routing function.
|
||||||
Include name, description, server-id, category-key, product-boundary, business-domain,
|
Include name, server-id, category-key, product-boundary, business-domain,
|
||||||
business-outcome, primary-entities, capabilities, select-if, reject-if,
|
business-outcome, primary-entities, capabilities, select-if, reject-if,
|
||||||
confidence-server-ids, and decision-policy.
|
confusable-servers, decision-policy, and description-serialization.
|
||||||
|
Except for machine identifiers and YAML keys (name, server-id, category-key), write every value in Korean.
|
||||||
|
The routing function name must be exactly route_to_<moduleName>, preserving hyphens (for example route_to_dat-was-cus).
|
||||||
|
description_serialization is the Korean tool description generated from business-outcome and decision-policy;
|
||||||
|
do not put JSON, MCP tags, or implementation instructions inside description_serialization.
|
||||||
|
confusable-servers must contain only other plausible target server IDs and must never contain the current server-id.
|
||||||
|
descriptions, business domains, outcomes, entities, capabilities, selection/rejection rules,
|
||||||
|
and decision policy must all be natural and specific Korean text.
|
||||||
Use valid YAML only, without Markdown fences or explanations.
|
Use valid YAML only, without Markdown fences or explanations.
|
||||||
Pod module: %s
|
Pod module: %s
|
||||||
Business description: %s
|
Business description: %s
|
||||||
|
|||||||
@@ -843,7 +843,7 @@
|
|||||||
<label class="form-label">Pod 업무 설명</label>
|
<label class="form-label">Pod 업무 설명</label>
|
||||||
<textarea class="form-control" name="podDescription" id="podDescription" rows="3" placeholder="예: 보험 계약과 보험금 지급을 처리하는 처리계 서버"></textarea>
|
<textarea class="form-control" name="podDescription" id="podDescription" rows="3" placeholder="예: 보험 계약과 보험금 지급을 처리하는 처리계 서버"></textarea>
|
||||||
<div class="d-flex justify-content-between align-items-center mt-2">
|
<div class="d-flex justify-content-between align-items-center mt-2">
|
||||||
<div class="input-hint">설명을 입력하면 AI가 tool-service-manifest.yml 초안을 작성합니다.</div>
|
<div class="input-hint">설명을 입력하면 AI가 한국어 업무 내용으로 tool-service-manifest.yml 초안을 작성합니다.</div>
|
||||||
<div class="d-flex gap-2 align-items-center">
|
<div class="d-flex gap-2 align-items-center">
|
||||||
<select id="podAiModelSelect" class="form-select" aria-label="Pod Manifest AI 모델 선택" style="width:220px;">
|
<select id="podAiModelSelect" class="form-select" aria-label="Pod Manifest AI 모델 선택" style="width:220px;">
|
||||||
<optgroup label="[신한라이프 내부망]"><option value="Qwen3-Coder" selected>Qwen3-Coder</option><option value="Gemma-4-31B">Gemma-4-31B</option></optgroup>
|
<optgroup label="[신한라이프 내부망]"><option value="Qwen3-Coder" selected>Qwen3-Coder</option><option value="Gemma-4-31B">Gemma-4-31B</option></optgroup>
|
||||||
|
|||||||
@@ -393,7 +393,7 @@ public class PodScaffolder {
|
|||||||
manifest:
|
manifest:
|
||||||
routing-functions:
|
routing-functions:
|
||||||
- name: route_to_%s
|
- name: route_to_%s
|
||||||
description: %s 업무 서버로 요청을 라우팅합니다.
|
description-serialization: %s 업무 서버로 요청을 라우팅합니다. %s 관련 업무를 처리합니다. 요청의 주요 업무 영역을 기준으로 서버를 선택합니다.
|
||||||
server-id: %s
|
server-id: %s
|
||||||
category-key: %s
|
category-key: %s
|
||||||
product-boundary: insurance
|
product-boundary: insurance
|
||||||
@@ -403,9 +403,9 @@ public class PodScaffolder {
|
|||||||
capabilities: []
|
capabilities: []
|
||||||
select-if: %s 관련 요청인 경우
|
select-if: %s 관련 요청인 경우
|
||||||
reject-if: 다른 업무 영역이 주된 요청인 경우
|
reject-if: 다른 업무 영역이 주된 요청인 경우
|
||||||
confidence-server-ids: [%s]
|
confusable-servers: []
|
||||||
decision-policy: 요청의 주요 업무 영역을 기준으로 서버를 선택합니다.
|
decision-policy: 요청의 주요 업무 영역을 기준으로 서버를 선택합니다.
|
||||||
""".formatted(moduleName.replace("-", "_"), key, moduleName, key, key, key, key, moduleName);
|
""".formatted(moduleName, key, key, moduleName, key, key, key, key);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String capitalize(String str) {
|
private static String capitalize(String str) {
|
||||||
|
|||||||
Reference in New Issue
Block a user