From 5d02bdf5e627f935379cf9cc57b5924d4db282f0 Mon Sep 17 00:00:00 2001 From: kjh2064 Date: Sun, 12 Jul 2026 23:47:08 +0900 Subject: [PATCH] docs: formalize wbs success data schema --- docs/WBS_10_DOTNET_MIGRATION_ROADMAP.yaml | 96 +++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/docs/WBS_10_DOTNET_MIGRATION_ROADMAP.yaml b/docs/WBS_10_DOTNET_MIGRATION_ROADMAP.yaml index e407b632..8d7bc069 100644 --- a/docs/WBS_10_DOTNET_MIGRATION_ROADMAP.yaml +++ b/docs/WBS_10_DOTNET_MIGRATION_ROADMAP.yaml @@ -56,6 +56,17 @@ roadmap: expected_outputs: - "전환 우선순위 표" - "운영 경로 / 보조 경로 분리 결과" + expected_artifact_schema: + format: markdown + fields: + - route + - owner + - runtime + - keep_or_migrate + - notes + failure_conditions: + - "운영 경로와 보조 경로가 섞여 있으면 FAIL" + - "Python 운영 경로가 누락 없이 남아 있지 않으면 FAIL" verification_commands: - "python tools/validate_quant_engine_wbs_v1.py" evidence_artifacts: @@ -80,6 +91,19 @@ roadmap: expected_outputs: - "동일 입력에 대한 .NET 결과" - "Python 대비 parity diff 0 또는 허용오차 내" + expected_artifact_schema: + format: json + fields: + - formula_id + - input_digest + - python_output + - dotnet_output + - diff + - tolerance + - gate + failure_conditions: + - "diff가 tolerance를 초과하면 FAIL" + - "입력 digest가 없으면 FAIL" verification_commands: - "dotnet test src/dotnet/QuantEngine.Core.Tests/QuantEngine.Core.Tests.csproj -c Release" - "python tools/verify_wbs_task_v1.py --task WBS-10-A2" @@ -104,6 +128,15 @@ roadmap: expected_outputs: - "운영용 thin wrapper만 남김" - "직접 운영 경로 금지 목록" + expected_artifact_schema: + format: yaml + fields: + - wrapper_path + - purpose + - runtime_usage + - allowed_or_disallowed + failure_conditions: + - "운영용으로 직접 호출 가능한 Python entrypoint가 남아 있으면 FAIL" verification_commands: - "python tools/validate_quant_engine_wbs_v1.py" evidence_artifacts: @@ -130,6 +163,17 @@ roadmap: expected_outputs: - "canonical normalized schema" - "table ownership map" + expected_artifact_schema: + format: yaml + fields: + - table + - keys + - cardinality + - owner + - write_path + failure_conditions: + - "canonical table이 둘 이상이면 FAIL" + - "정규화 대상과 읽기 모델이 혼동되면 FAIL" verification_commands: - "python tools/validate_quant_engine_wbs_v1.py" evidence_artifacts: @@ -152,6 +196,17 @@ roadmap: expected_outputs: - "읽기 전용 denormalized projection" - "refresh/update strategy" + expected_artifact_schema: + format: yaml + fields: + - projection_name + - source_tables + - refresh_mode + - staleness_budget + - consumers + failure_conditions: + - "읽기 모델이 원천 원장과 직접 동일하면 FAIL" + - "staleness_budget 미정이면 FAIL" verification_commands: - "python tools/validate_quant_engine_wbs_v1.py" evidence_artifacts: @@ -176,6 +231,16 @@ roadmap: expected_outputs: - "파생 데이터 허용 규칙" - "canonical source 정의" + expected_artifact_schema: + format: yaml + fields: + - source_of_truth + - derived_table + - allowed_reason + - forbidden_reason + failure_conditions: + - "source_of_truth가 명시되지 않으면 FAIL" + - "금지 사유가 없는 중복이면 FAIL" verification_commands: - "python tools/validate_quant_engine_wbs_v1.py" evidence_artifacts: @@ -202,6 +267,17 @@ roadmap: expected_outputs: - "pending/running/succeeded/failed/retrying/blocked 상태 정의" - "audit trail schema" + expected_artifact_schema: + format: yaml + fields: + - state + - allowed_transitions + - lease_owner + - timeout_policy + - audit_fields + failure_conditions: + - "상태 전이표가 없으면 FAIL" + - "lease_owner 또는 timeout_policy가 없으면 FAIL" verification_commands: - "python tools/validate_quant_engine_wbs_v1.py" evidence_artifacts: @@ -224,6 +300,16 @@ roadmap: expected_outputs: - "중복 적재 방지" - "자원별 lock/lease 정책" + expected_artifact_schema: + format: yaml + fields: + - resource + - lock_key + - idempotency_key + - retry_policy + failure_conditions: + - "idempotency_key가 없으면 FAIL" + - "동시 실행 금지 자원 목록이 비어 있으면 FAIL" verification_commands: - "python tools/validate_quant_engine_wbs_v1.py" evidence_artifacts: @@ -248,6 +334,16 @@ roadmap: expected_outputs: - "ci -> prepare-release -> deploy-prod 순차 게이트" - "transient failure만 재시도" + expected_artifact_schema: + format: yaml + fields: + - upstream_workflow + - downstream_workflow + - retryable_errors + - health_checks + failure_conditions: + - "순차 게이트가 아닌 병렬 실행이면 FAIL" + - "retryable_errors가 비어 있으면 FAIL" verification_commands: - "python tools/validate_quant_engine_wbs_v1.py" evidence_artifacts: