chore: 최상위 룰 매니페스트 파일을 spec/ 폴더로 정리하고 도구 경로 참조 수정
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (pull_request) Failing after 4s
Quant Engine CI/CD Pipeline / validate-core (pull_request) Failing after 2m18s
Quant Engine CI/CD Pipeline / validate-ui-and-storage (pull_request) Has been skipped

This commit is contained in:
2026-06-26 11:40:51 +09:00
parent 15c7971018
commit a1bbeb99a6
6 changed files with 13 additions and 12 deletions
+7 -7
View File
@@ -683,8 +683,8 @@ def main() -> int:
errors: list[str] = []
yaml_paths = [
ROOT / "RetirementAssetPortfolio.yaml",
ROOT / "RetirementAssetPortfolioReportTemplate.yaml",
ROOT / "spec" / "RetirementAssetPortfolio.yaml",
ROOT / "spec" / "RetirementAssetPortfolioReportTemplate.yaml",
*sorted((ROOT / "spec").rglob("*.yaml")),
*sorted((ROOT / "examples").glob("*.yaml")),
*sorted((ROOT / "proposals").glob("*.yaml")),
@@ -704,7 +704,7 @@ def main() -> int:
except Exception as exc:
fail(errors, f"JSONL parse failed: {path}:{line_no}: {type(exc).__name__}: {exc}")
manifest = load_yaml(ROOT / "RetirementAssetPortfolio.yaml", errors) or {}
manifest = load_yaml(ROOT / "spec" / "RetirementAssetPortfolio.yaml", errors) or {}
for step_name, step in (manifest.get("load_sequence") or {}).items():
for file_name in step.get("files", []):
# Temp/ 파일은 런타임 생성 아티팩트 — CI 체크아웃 환경에서는 존재하지 않음
@@ -717,7 +717,7 @@ def main() -> int:
fail(errors, f"manifest spec_files missing file: {key}: {file_name}")
# All spec YAML files should be registered in manifest, governance, split indexes, or compatibility indexes.
manifest_text = (ROOT / "RetirementAssetPortfolio.yaml").read_text(encoding="utf-8")
manifest_text = (ROOT / "spec" / "RetirementAssetPortfolio.yaml").read_text(encoding="utf-8")
for path in sorted((ROOT / "spec").rglob("*.yaml")):
rel = path.relative_to(ROOT).as_posix()
if rel not in manifest_text:
@@ -742,7 +742,7 @@ def main() -> int:
combined_text = "\n".join(
path.read_text(encoding="utf-8")
for path in [
ROOT / "RetirementAssetPortfolio.yaml",
ROOT / "spec" / "RetirementAssetPortfolio.yaml",
ROOT / "AGENTS.md",
ROOT / "spec" / "07_output_schema.yaml",
ROOT / "prompts" / "analysis_prompt.md",
@@ -755,9 +755,9 @@ def main() -> int:
fail(errors, "current schema version not referenced")
active_text_paths = [
ROOT / "RetirementAssetPortfolio.yaml",
ROOT / "spec" / "RetirementAssetPortfolio.yaml",
ROOT / "AGENTS.md",
ROOT / "RetirementAssetPortfolioReportTemplate.yaml",
ROOT / "spec" / "RetirementAssetPortfolioReportTemplate.yaml",
*sorted((ROOT / "spec").rglob("*.yaml")),
*sorted((ROOT / "prompts").glob("*.md")),
*sorted((ROOT / "tests").glob("*.yaml")),