fix: align pod manifest scaffold schema
Some checks failed
Deploy to OCIWP / deploy (push) Failing after 25s

This commit is contained in:
jade
2026-09-02 14:34:56 +09:00
parent 2dc0c19c5a
commit e6bcfe8934
3 changed files with 13 additions and 6 deletions

View File

@@ -92,9 +92,16 @@ public class ScaffoldingController {
String prompt = """
Generate only YAML for an MCP tool service manifest.
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,
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.
Pod module: %s
Business description: %s

View File

@@ -843,7 +843,7 @@
<label class="form-label">Pod 업무 설명</label>
<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="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">
<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>

View File

@@ -393,7 +393,7 @@ public class PodScaffolder {
manifest:
routing-functions:
- name: route_to_%s
description: %s 업무 서버로 요청을 라우팅합니다.
description-serialization: %s 업무 서버로 요청을 라우팅합니다. %s 관련 업무를 처리합니다. 요청의 주요 업무 영역을 기준으로 서버를 선택합니다.
server-id: %s
category-key: %s
product-boundary: insurance
@@ -403,9 +403,9 @@ public class PodScaffolder {
capabilities: []
select-if: %s 관련 요청인 경우
reject-if: 다른 업무 영역이 주된 요청인 경우
confidence-server-ids: [%s]
confusable-servers: []
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) {