From e81be7e9efca943c0370275a3d68588ac9afa30a Mon Sep 17 00:00:00 2001 From: kyeongmin Date: Thu, 2 Apr 2026 08:59:58 +0900 Subject: [PATCH] Tighten issue gates and loop validation criteria --- docs/run-001/05-execution/context.json | 20 +-- docs/run-001/05-execution/final.html | 159 +++++++++--------- docs/run-001/05-execution/generated_html.json | 6 +- docs/run-001/05-execution/measurement.json | 8 +- .../06-validation/validation-result.md | 26 ++- docs/run-001/comments/step-5.md | 3 + docs/run-001/comments/step-6.md | 14 +- issues/Step-5-Execution.md | 90 ++++++---- issues/Step-6-Validation-and-Recording.md | 107 +++++++----- scripts/auto_loop_runner.py | 159 ++++++++++++++---- 10 files changed, 368 insertions(+), 224 deletions(-) diff --git a/docs/run-001/05-execution/context.json b/docs/run-001/05-execution/context.json index 531ba8e..b686df1 100644 --- a/docs/run-001/05-execution/context.json +++ b/docs/run-001/05-execution/context.json @@ -1,6 +1,6 @@ { - "run_id": "20260402_082537", - "run_dir": "data\\runs\\20260402_082537", + "run_id": "20260402_085506", + "run_dir": "data\\runs\\20260402_085506", "raw_content": "---\ntitle: 건설산업 DX의 올바른 이해\nsidebar:\n order: 00\n---\n\n* **용어의 혼용**\n\n * 건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음 \n * 이로인해 BIM기술의 도입을 DX의 완성으로 오인하거나, DX를 BIM 기술 도입 수준으로 한정하는 인식 확산 \n
\n 혼용 대표 사례\n \n
\n * **[스마트 건설 활성화 방안(2022.07)]**\n * 추진과제 : 건설산업 디지털화 \n * 실행과제 : BIM 전면 도입, BIM 전문인력 양성\n * **[제7차 건설기술진흥 기본계획(2023.12)]**\n * 추진방향 : 디지털 전환을 통한 스마트 건설 확산 \n * 추진과제 : BIM 도입으로 건설산업 디지털화\n
\n
\n\n\n * 건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요\n\n
\n---\n\n\n## 1. 용어 정의\n\n
\n\n* **건설산업**\n * 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업\n * 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함\n\n
\n\n* **BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술**\n * 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구\n * 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술\n
\n *건설산업 BIM 기본지침, 국토교통부, 2020*\n
\n\n
\n\n* **DX(Digital Transformation) : 산업 패러다임의 변화**\n * 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과 \n * 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함\n
\n *Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015*\n
\n\n\n---\n
\n\n## 2. 용어간 상호관계\n\n* DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념\n* 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능 \n * GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공\n * BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공 \n![DX와 핵심기술간 상호관계](/assets/images/DX1.png)\n
\n *[그림 1] DX와 핵심기술간 상호관계*\n
\n\n
\n
\n\n\n\n
\n DX와 BIM의 구분\n \n
\n | DX | 구분 | BIM |\n | :--- | :---: | ---: |\n | **BIM << DX**
(Engineering + Management 통합) | **범위** | **Only 3D**
(형상 구현 중심) |\n | **제작 및 운영**(상용 + 전용 40~80개)
[Rhino, Sketchup, Blender..] + [EG-BIM 등] | **S/W** | **모델 제작용 상용 SW**
[Revit, Civil 3D, Navisworks, Autocad] |\n | **근본적 문제의식을 통한 개선** | **프로세스** | **기존 2D 설계 방식 유지** |\n | **공학 정보 및 콘텐츠 연계에 집중**
**도면, 수량, 시공계획 등 일식** | **성과품** | **3D 모델 중심**
**기존 성과품 유지** |\n | **설계/시공 생산성 혁신**(개념의 재정립) | **활용** | **3D 모델에 의한 일반적 이해 향상** |\n | **전 생애주기 활용 시스템** | **확장성** | **(설계/시공/운영) 분야별 단절** |\n | **구체화(복잡) - 적극적/구체적 실현 방안** | **수행 개념** | **단순화(오류) - 수동적/집단적 동질화** |\n | **적극적, 주체적인 기술 접목/융합** | **CIVIL + IT** | **소극적, 상용 기술에 의존** |\n | **자체 수행 능력 - 지속가능성 확보** | **주체** | **S/W 제작사 판매 정책에 의존** |\n | **차별화 및 경쟁력 확보, 해외 진출** | **발주처** | **평준화, 국내 중심** |\n | **IT + CIVIL ENG 220명 운영 + 기술 개발** | **설계사** | **소규모 BIM팀 운영 + 단순교육에 집중** |\n | **분야 확장 모델 및 시스템** | **시공사** | **국내 토목 소극적/해외 토목증가** |\n
\n
\n\n
\n\n---\n\n:::note[핵심 요약]\n* BIM은 건설산업의 디지털전환(DX)을 수행하는 과정에서 **가장 기초가 되는 일부분**이다\n:::\n\n", "base_path": "", "normalized": { @@ -470,9 +470,9 @@ } }, "generated_html": { - "body_html": "
\n
DX와 BIM의 혼용 문제
\n
\n
건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음
\n
건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요
\n
\n
\n
\n
\n\n \n
\n

DX의 정의와 위치

\n \n
\n

용어 정의

\n \n
\n • 건설산업\n
\n
\n • 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업\n
\n
\n • 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함\n
\n\n
\n • BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술\n
\n
\n • 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구\n
\n
\n • 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술\n
\n
\n 출처: 건설산업 BIM 기본지침, 국토교통부, 2020\n
\n\n
\n • DX(Digital Transformation) : 산업 패러다임의 변화\n
\n
\n • 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과\n
\n
\n • 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함\n
\n
\n 출처: Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015\n
\n
\n
\n\n \n
\n

BIM과 핵심기술의 관계

\n \n
\n

용어간 상호관계

\n \n
\n • DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념\n
\n
\n • 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능\n
\n
\n • GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공\n
\n
\n • BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공\n
\n \n
\n [이미지: DX와 핵심기술간 상호관계, 경로: /assets/images/DX1.png]
\n 출처: [그림 1] DX와 핵심기술간 상호관계\n
\n \n
\n [DX와 BIM의 구분] [상세보기]\n
\n
\n
\n\n \n
\n
\n 건설산업에서 DX는 상위 개념이고 BIM은 그 디지털 전환을 가능하게 하는 핵심 기술 중 하나다.\n
\n
\n\n
\n", - "sidebar_html": "
\n
용어 정의
\n \n
\n
건설산업
\n
• 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업
\n
• 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함
\n
\n \n
\n
BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술
\n
• 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구
\n
• 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술
\n
출처: 건설산업 BIM 기본지침, 국토교통부, 2020
\n
\n \n
\n
DX(Digital Transformation) : 산업 패러다임의 변화
\n
• 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과
\n
• 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함
\n
출처: Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015
\n
\n
", - "footer_html": "
\n
BIM은 건설산업의 디지털전환(DX)을 수행하는 과정에서 가장 기초가 되는 일부분
\n
", + "body_html": "
\n
DX와 BIM의 혼용 문제
\n
\n
• 건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음
\n
• 이로인해 BIM기술의 도입을 DX의 완성으로 오인하거나, DX를 BIM 기술 도입 수준으로 한정하는 인식 확산
\n
• 건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요
\n
\n
\n
\n
\n \n \n
\n

DX의 정의와 위치

\n \n
\n

용어 정의

\n \n
\n
• 건설산업
\n
• 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업
\n
• 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함
\n
\n\n
\n
• BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술
\n
• 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구
\n
• 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술
\n
출처: 건설산업 BIM 기본지침, 국토교통부, 2020
\n
\n\n
\n
• DX(Digital Transformation) : 산업 패러다임의 변화
\n
• 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과
\n
• 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함
\n
출처: Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015
\n
\n
\n
\n\n \n
\n

BIM과 핵심기술의 관계

\n \n
\n

용어간 상호관계

\n \n
• DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념
\n \n
• 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능
\n \n
• GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공
\n \n
• BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공
\n \n
\n
\n [이미지: DX와 핵심기술간 상호관계, 경로: /assets/images/DX1.png]\n
\n
출처: [그림 1] DX와 핵심기술간 상호관계
\n
\n \n
\n
[DX와 BIM의 구분]
\n \n
\n
\n
\n\n \n
\n
건설산업에서 DX는 상위 개념이고 BIM은 그 디지털 전환을 가능하게 하는 핵심 기술 중 하나다.
\n
\n\n
\n", + "sidebar_html": "
\n \n \n
\n
건설산업
\n
\n
\n
• 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업
\n
• 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함
\n
\n
\n\n \n
\n
BIM(Building Information Modeling)
\n
디지털 전환을 위한 핵심 기술
\n
\n
\n
• 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구
\n
• 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술
\n
\n
출처: 건설산업 BIM 기본지침, 국토교통부, 2020
\n
\n\n \n
\n
DX(Digital Transformation)
\n
산업 패러다임의 변화
\n
\n
\n
• 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과
\n
• 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함
\n
\n
출처: Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015
\n
\n\n
", + "footer_html": "
\n
• BIM은 건설산업의 디지털전환(DX)을 수행하는 과정에서 가장 기초가 되는 일부분
\n
", "reasoning": "영역별 개별 호출, 검증 합격 프롬프트 템플릿 사용." }, "measurement": { @@ -488,9 +488,9 @@ "block_count": 0, "blocks": [], "clientHeight": 474, - "excess_px": 409, + "excess_px": 511, "overflowed": true, - "scrollHeight": 883 + "scrollHeight": 985 }, "footer": { "block_count": 0, @@ -504,9 +504,9 @@ "block_count": 0, "blocks": [], "clientHeight": 474, - "excess_px": 0, - "overflowed": false, - "scrollHeight": 474 + "excess_px": 146, + "overflowed": true, + "scrollHeight": 620 } } }, diff --git a/docs/run-001/05-execution/final.html b/docs/run-001/05-execution/final.html index 2f1039d..61a27ae 100644 --- a/docs/run-001/05-execution/final.html +++ b/docs/run-001/05-execution/final.html @@ -156,94 +156,77 @@
DX와 BIM의 혼용 문제
-
건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음
-
건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요
+
• 건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음
+
• 이로인해 BIM기술의 도입을 DX의 완성으로 오인하거나, DX를 BIM 기술 도입 수준으로 한정하는 인식 확산
+
• 건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요
- - + +
-

DX의 정의와 위치

+

DX의 정의와 위치

-
-

용어 정의

+
+

용어 정의

-
- • 건설산업 -
-
- • 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업 -
-
- • 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함 +
+
• 건설산업
+
• 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업
+
• 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함
-
- • BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술 -
-
- • 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구 -
-
- • 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술 -
-
- 출처: 건설산업 BIM 기본지침, 국토교통부, 2020 +
+
• BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술
+
• 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구
+
• 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술
+
출처: 건설산업 BIM 기본지침, 국토교통부, 2020
-
- • DX(Digital Transformation) : 산업 패러다임의 변화 -
-
- • 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과 -
-
- • 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함 -
-
- 출처: Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015 +
+
• DX(Digital Transformation) : 산업 패러다임의 변화
+
• 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과
+
• 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함
+
출처: Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015
- +
-

BIM과 핵심기술의 관계

+

BIM과 핵심기술의 관계

-
-

용어간 상호관계

+
+

용어간 상호관계

-
- • DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념 -
-
- • 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능 -
-
- • GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공 -
-
- • BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공 -
+
• DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념
-
- [이미지: DX와 핵심기술간 상호관계, 경로: /assets/images/DX1.png]
- 출처: [그림 1] DX와 핵심기술간 상호관계 +
• 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능
+ +
• GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공
+ +
• BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공
+ +
+
+ [이미지: DX와 핵심기술간 상호관계, 경로: /assets/images/DX1.png] +
+
출처: [그림 1] DX와 핵심기술간 상호관계
- [DX와 BIM의 구분] [상세보기] +
[DX와 BIM의 구분]
+
-
-
- 건설산업에서 DX는 상위 개념이고 BIM은 그 디지털 전환을 가능하게 하는 핵심 기술 중 하나다. -
+
+
건설산업에서 DX는 상위 개념이고 BIM은 그 디지털 전환을 가능하게 하는 핵심 기술 중 하나다.
@@ -251,28 +234,42 @@
-
-
용어 정의
+
-
-
건설산업
-
• 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업
-
• 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함
+ +
+
건설산업
+
+
+
• 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업
+
• 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함
+
- -
-
BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술
-
• 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구
-
• 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술
-
출처: 건설산업 BIM 기본지침, 국토교통부, 2020
+ + +
+
BIM(Building Information Modeling)
+
디지털 전환을 위한 핵심 기술
+
+
+
• 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구
+
• 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술
+
+
출처: 건설산업 BIM 기본지침, 국토교통부, 2020
- -
-
DX(Digital Transformation) : 산업 패러다임의 변화
-
• 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과
-
• 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함
-
출처: Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015
+ + +
+
DX(Digital Transformation)
+
산업 패러다임의 변화
+
+
+
• 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과
+
• 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함
+
+
출처: Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015
+
DX와 BIM 핵심 비교
@@ -284,8 +281,8 @@
diff --git a/docs/run-001/05-execution/generated_html.json b/docs/run-001/05-execution/generated_html.json index 70f00f9..128b7fb 100644 --- a/docs/run-001/05-execution/generated_html.json +++ b/docs/run-001/05-execution/generated_html.json @@ -1,6 +1,6 @@ { - "body_html": "
\n
DX와 BIM의 혼용 문제
\n
\n
건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음
\n
건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요
\n
\n
\n
\n
\n\n \n
\n

DX의 정의와 위치

\n \n
\n

용어 정의

\n \n
\n • 건설산업\n
\n
\n • 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업\n
\n
\n • 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함\n
\n\n
\n • BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술\n
\n
\n • 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구\n
\n
\n • 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술\n
\n
\n 출처: 건설산업 BIM 기본지침, 국토교통부, 2020\n
\n\n
\n • DX(Digital Transformation) : 산업 패러다임의 변화\n
\n
\n • 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과\n
\n
\n • 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함\n
\n
\n 출처: Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015\n
\n
\n
\n\n \n
\n

BIM과 핵심기술의 관계

\n \n
\n

용어간 상호관계

\n \n
\n • DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념\n
\n
\n • 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능\n
\n
\n • GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공\n
\n
\n • BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공\n
\n \n
\n [이미지: DX와 핵심기술간 상호관계, 경로: /assets/images/DX1.png]
\n 출처: [그림 1] DX와 핵심기술간 상호관계\n
\n \n
\n [DX와 BIM의 구분] [상세보기]\n
\n
\n
\n\n \n
\n
\n 건설산업에서 DX는 상위 개념이고 BIM은 그 디지털 전환을 가능하게 하는 핵심 기술 중 하나다.\n
\n
\n\n
\n", - "sidebar_html": "
\n
용어 정의
\n \n
\n
건설산업
\n
• 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업
\n
• 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함
\n
\n \n
\n
BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술
\n
• 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구
\n
• 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술
\n
출처: 건설산업 BIM 기본지침, 국토교통부, 2020
\n
\n \n
\n
DX(Digital Transformation) : 산업 패러다임의 변화
\n
• 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과
\n
• 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함
\n
출처: Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015
\n
\n
\n
\n
DX와 BIM 핵심 비교
\n
• 범위: DX는 BIM을 포함하는 상위 개념, BIM은 3D 중심 기술
\n
• 프로세스: DX는 근본적 개선, BIM은 기존 2D 설계 방식 연장
\n
• 성과품: DX는 공학 정보 및 콘텐츠 연계, BIM은 3D 모델 중심
\n
• 확장성: DX는 전 생애주기 활용 시스템, BIM은 분야별 단절 위험
\n
", - "footer_html": "
\n
BIM은 건설산업의 디지털전환(DX)을 수행하는 과정에서 가장 기초가 되는 일부분
\n
", + "body_html": "
\n
DX와 BIM의 혼용 문제
\n
\n
• 건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음
\n
• 이로인해 BIM기술의 도입을 DX의 완성으로 오인하거나, DX를 BIM 기술 도입 수준으로 한정하는 인식 확산
\n
• 건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요
\n
\n
\n
\n
\n \n \n
\n

DX의 정의와 위치

\n \n
\n

용어 정의

\n \n
\n
• 건설산업
\n
• 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업
\n
• 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함
\n
\n\n
\n
• BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술
\n
• 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구
\n
• 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술
\n
출처: 건설산업 BIM 기본지침, 국토교통부, 2020
\n
\n\n
\n
• DX(Digital Transformation) : 산업 패러다임의 변화
\n
• 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과
\n
• 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함
\n
출처: Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015
\n
\n
\n
\n\n \n
\n

BIM과 핵심기술의 관계

\n \n
\n

용어간 상호관계

\n \n
• DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념
\n \n
• 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능
\n \n
• GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공
\n \n
• BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공
\n \n
\n
\n [이미지: DX와 핵심기술간 상호관계, 경로: /assets/images/DX1.png]\n
\n
출처: [그림 1] DX와 핵심기술간 상호관계
\n
\n \n
\n
[DX와 BIM의 구분]
\n \n
\n
\n
\n\n \n
\n
건설산업에서 DX는 상위 개념이고 BIM은 그 디지털 전환을 가능하게 하는 핵심 기술 중 하나다.
\n
\n\n
\n", + "sidebar_html": "
\n \n \n
\n
건설산업
\n
\n
\n
• 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업
\n
• 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함
\n
\n
\n\n \n
\n
BIM(Building Information Modeling)
\n
디지털 전환을 위한 핵심 기술
\n
\n
\n
• 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구
\n
• 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술
\n
\n
출처: 건설산업 BIM 기본지침, 국토교통부, 2020
\n
\n\n \n
\n
DX(Digital Transformation)
\n
산업 패러다임의 변화
\n
\n
\n
• 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과
\n
• 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함
\n
\n
출처: Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015
\n
\n\n
\n
\n
DX와 BIM 핵심 비교
\n
• 범위: DX는 BIM을 포함하는 상위 개념, BIM은 3D 중심 기술
\n
• 프로세스: DX는 근본적 개선, BIM은 기존 2D 설계 방식 연장
\n
• 성과품: DX는 공학 정보 및 콘텐츠 연계, BIM은 3D 모델 중심
\n
• 확장성: DX는 전 생애주기 활용 시스템, BIM은 분야별 단절 위험
\n
", + "footer_html": "
\n
• BIM은 건설산업의 디지털전환(DX)을 수행하는 과정에서 가장 기초가 되는 일부분
\n
", "reasoning": "영역별 개별 호출, 검증 합격 프롬프트 템플릿 사용." } \ No newline at end of file diff --git a/docs/run-001/05-execution/measurement.json b/docs/run-001/05-execution/measurement.json index 1ecd1f3..1546395 100644 --- a/docs/run-001/05-execution/measurement.json +++ b/docs/run-001/05-execution/measurement.json @@ -11,9 +11,9 @@ "block_count": 0, "blocks": [], "clientHeight": 475, - "excess_px": 408, + "excess_px": 510, "overflowed": true, - "scrollHeight": 883 + "scrollHeight": 985 }, "footer": { "block_count": 0, @@ -27,9 +27,9 @@ "block_count": 0, "blocks": [], "clientHeight": 475, - "excess_px": 122, + "excess_px": 145, "overflowed": true, - "scrollHeight": 597 + "scrollHeight": 620 } } } \ No newline at end of file diff --git a/docs/run-001/06-validation/validation-result.md b/docs/run-001/06-validation/validation-result.md index c0aa2d5..e7505d4 100644 --- a/docs/run-001/06-validation/validation-result.md +++ b/docs/run-001/06-validation/validation-result.md @@ -7,8 +7,14 @@ ## Validation Summary - 실행 경로 검증: 통과 -- 렌더링/측정 검증: 통과 -- 최종 품질 판정: 통과 +- 렌더링/측정 검증: 실패 +- 최종 품질 판정: 재작업 필요 + +## Render Gates +- slide overflow: False +- body: overflowed=True excess_px=510 block_count=0 +- sidebar: overflowed=True excess_px=145 block_count=0 +- footer: overflowed=False excess_px=0 block_count=0 ## Measurement ```json @@ -25,9 +31,9 @@ "block_count": 0, "blocks": [], "clientHeight": 475, - "excess_px": 408, + "excess_px": 510, "overflowed": true, - "scrollHeight": 883 + "scrollHeight": 985 }, "footer": { "block_count": 0, @@ -41,19 +47,21 @@ "block_count": 0, "blocks": [], "clientHeight": 475, - "excess_px": 122, + "excess_px": 145, "overflowed": true, - "scrollHeight": 597 + "scrollHeight": 620 } } } ``` ## Final Decision -- 판정: `pass` +- 판정: `revise` ## Failure Classification -- 없음 +- Verify-CoreMessage +- Verify-RenderZone ## Next Action -1. 없음 +1. overflow가 발생한 zone(body, sidebar)의 content budget, block 수, typography를 재조정한다. +2. 핵심 메시지 `DX는 상위 개념`, `BIM은 핵심 기술`을 가시 텍스트에 직접 노출한다. diff --git a/docs/run-001/comments/step-5.md b/docs/run-001/comments/step-5.md index 444627a..a6c7fc2 100644 --- a/docs/run-001/comments/step-5.md +++ b/docs/run-001/comments/step-5.md @@ -13,6 +13,8 @@ KPI / 판정 결과 - 판정: pass - iteration: 1 +- 종료 코드: 0 +- 필수 산출물 4종 유효 여부: True 실패 분류 - 없음 @@ -23,3 +25,4 @@ KPI / 판정 결과 다음 단계 전달물 - 최신 실행 산출물 - 최신 measurement +- 최신 context diff --git a/docs/run-001/comments/step-6.md b/docs/run-001/comments/step-6.md index 44059a8..4eb5f7f 100644 --- a/docs/run-001/comments/step-6.md +++ b/docs/run-001/comments/step-6.md @@ -1,7 +1,8 @@ 실행 요약 - iteration 1 기준으로 최종 산출물과 측정 결과를 다시 검증했다. -- 이미지 캡션 보존과 비교 핵심 4축의 가시 보존 여부를 확인했다. -- 최종 판정은 `pass`이다. +- slide overflow: False +- zone overflow: body, sidebar +- 최종 판정은 `revise`이다. 산출물 경로 - `docs/run-001/06-validation/validation-result.md` @@ -9,12 +10,13 @@ - `docs/run-001/05-execution/measurement.json` KPI / 판정 결과 -- 판정: pass -- 실패 분류: 없음 +- 판정: revise +- 실패 분류: Verify-CoreMessage, Verify-RenderZone 수정 액션 -- 없음 +- overflow가 발생한 zone(body, sidebar)의 content budget, block 수, typography를 재조정한다. +- 핵심 메시지 `DX는 상위 개념`, `BIM은 핵심 기술`을 가시 텍스트에 직접 노출한다. 다음 단계 전달물 - 최신 validation 기록 -- 다음 iteration 여부: 중단 +- 다음 iteration 여부: 재실행 diff --git a/issues/Step-5-Execution.md b/issues/Step-5-Execution.md index f1b8f61..60353ae 100644 --- a/issues/Step-5-Execution.md +++ b/issues/Step-5-Execution.md @@ -1,61 +1,76 @@ 목적 -- 계획에 따라 실제 실행을 수행하고 산출물을 저장한다. +- 계획된 stage를 실제로 실행하고, 검증에 필요한 실행 패키지를 완전하게 남긴다. 입력 - Step 4 결과 경로: - 실행에 사용할 코드/스크립트: 실행 방법 -1. 계획된 stage를 순서대로 수행한다. -2. stage별 산출물을 저장한다. -3. 경고와 재시도 이력을 남긴다. -4. 최종 결과물 경로를 연결한다. -5. 저장 누락과 실행 중단 여부를 점검한다. +1. Step 4에서 확정한 실행 계획과 입력 산출물을 사용해 실제 실행을 수행한다. +2. 아래 `필수 산출 항목`을 모두 생성하거나 기록한다. +3. 실행 종료 코드, 예외 유무, 산출물 파일 존재 여부를 확인한다. +4. `measurement.json`과 `context.json`이 다음 단계에서 재검증 가능할 정도로 완전한지 확인한다. +5. `판정 규칙`에 따라 pass / revise / fail을 결정한다. +6. 실패 시 `실패 분류`와 `수정 액션`을 함께 기록한다. 필수 산출 항목 -- E1. 실제 실행 경로 기록 -- E2. 산출물 파일 1개 이상 생성 -- E3. 중간 또는 최종 결과 경로 기록 -- E4. 경고 사항 기록 -- E5. 재시도 이력 기록 (없으면 없음으로 표기) +- E1. 실행 명령 또는 실행 스크립트 1개 +- E2. 입력 파일 경로 1개 +- E3. `final.html` 생성 +- E4. `generated_html.json` 생성 +- E5. `measurement.json` 생성 +- E6. `context.json` 생성 +- E7. 경고/재시도/예외 기록 1개 이상 (`없음` 포함) +- E8. Step 6으로 넘길 핵심 리스크 또는 확인 포인트 1개 이상 (`없음` 포함) 성공 기준 -- E1~E5 전부 작성됨 -- 산출물 파일이 실제로 존재함 -- 실행 경로가 추적 가능함 -- 경고/재시도 이력이 남음 +- E1~E8 전부 작성됨 +- `final.html`, `generated_html.json`, `measurement.json`, `context.json` 네 파일이 모두 실제로 존재하고 0 byte가 아님 +- 실행 종료 코드가 0임 +- 처리되지 않은 예외(unhandled exception)가 없음 +- `measurement.json`에 최소 `slide`, `zones.body`, `zones.sidebar`, `zones.footer`가 존재함 +- 다음 단계에서 재검증 가능한 실행 추적 정보가 남아 있음 실패 기준 -- 실행 중단 -- 산출물 미생성 -- 실행 경로 미기록 -- 경고/재시도 이력 미기록 +- 실행 종료 코드가 0이 아님 +- 필수 산출물 4종 중 1개 이상 미생성 또는 0 byte +- `measurement.json` 파싱 실패 또는 필수 키 누락 +- `context.json` 누락으로 재검증 불가 +- 실행 명령/스크립트 또는 입력 경로가 기록되지 않음 +- 예외가 발생했는데 기록이 없음 KPI / 판정 규칙 -- 충족률 = 충족 항목 수 / 5 -- pass: 충족률 100% and 치명 항목(E1, E2, E3) 모두 충족 -- revise: 충족률 80% 이상 100% 미만 and 치명 항목 모두 충족 -- fail: 충족률 80% 미만 or 치명 항목 1개 이상 누락 +- 충족률 = 충족 항목 수 / 8 +- 치명 항목 = E1, E2, E3, E4, E5, E6 +- `pass`: 충족률 100% and 치명 항목 모두 충족 and 실행 종료 코드 0 and 필수 산출물 4종이 모두 유효함 +- `revise`: 충족률 87.5% 이상 100% 미만 and 치명 항목 모두 충족 and 실행은 완료되었으나 경고/재시도/리스크 기록 보강이 필요함 +- `fail`: 충족률 87.5% 미만 or 치명 항목 1개 이상 누락 or 실행 종료 코드 비정상 or 필수 산출물 4종 중 1개 이상 무효 실패 분류 -- Exec-Run: 실행 중단 -- Exec-Artifact: 산출물 생성 실패 -- Exec-Trace: 실행 경로 추적 불가 -- Exec-Warn: 경고/재시도 기록 누락 -- Exec-Tool: 도구/스크립트 문제 +- `Exec-Exit`: 실행 종료 코드 비정상 +- `Exec-Artifact`: 산출물 파일 생성 실패 또는 0 byte +- `Exec-Measurement`: `measurement.json` 누락/파싱 실패/필수 키 누락 +- `Exec-Context`: `context.json` 누락 또는 재검증 정보 부족 +- `Exec-Trace`: 실행 명령, 입력, 경고 이력 추적 불가 +- `Exec-Tool`: 도구/스크립트 자체 오류 수정 액션 가이드 -- Exec-Run: 중단 지점 재확인 후 해당 stage 재실행 -- Exec-Artifact: 산출물 경로와 저장 로직 점검 후 재생성 -- Exec-Trace: 사용한 스크립트/명령/입력을 다시 기록 -- Exec-Warn: 경고와 재시도 이력을 보강 -- Exec-Tool: 도구 오류 분리 후 수정 +- `Exec-Exit`: 실패한 stage와 stderr를 확인하고 해당 stage부터 재실행 +- `Exec-Artifact`: 산출물 저장 경로와 쓰기 로직을 점검하고 파일 재생성 +- `Exec-Measurement`: 렌더/측정 단계를 재실행하고 필수 키 존재 여부 재검사 +- `Exec-Context`: 컨텍스트 저장 로직을 복구하고 입력/분석 정보 재저장 +- `Exec-Trace`: 사용한 스크립트, 명령, 입력 경로, 경고 이력을 다시 기록 +- `Exec-Tool`: 실행 스크립트 또는 코드 오류를 수정 후 재실행 실행 결과 기록 -- 사용한 실행 경로: -- 생성된 산출물: +- 사용한 실행 명령 또는 스크립트: +- 입력 파일 경로: +- 생성된 산출물 경로: +- 실행 종료 코드: - 경고: - 재시도 이력: +- 예외: +- Step 6 전달 리스크/확인 포인트: - 충족 항목 수: - 충족률: - 실패 분류: @@ -65,4 +80,7 @@ KPI / 판정 규칙 - pass / revise / fail 다음 단계 전달물 -- Step 6에서 사용할 실행 결과와 산출물 경로 +- Step 6에서 사용할 `final.html` +- Step 6에서 사용할 `generated_html.json` +- Step 6에서 사용할 `measurement.json` +- Step 6에서 사용할 `context.json` diff --git a/issues/Step-6-Validation-and-Recording.md b/issues/Step-6-Validation-and-Recording.md index d86191d..ebeb162 100644 --- a/issues/Step-6-Validation-and-Recording.md +++ b/issues/Step-6-Validation-and-Recording.md @@ -1,76 +1,95 @@ 목적 -- 최종 결과가 목적과 제약에 맞는지 검증하고, 다음 run을 위한 개선 방향을 기록한다. +- 최종 결과가 목적과 제약에 맞는지 검증하고, 다음 반복에서 무엇을 되돌려 수정해야 하는지 명확하게 결정한다. 입력 - Step 5 결과 경로: - 최종 산출물 경로: 실행 방법 -1. 목적 적합성을 평가한다. -2. 내용 보존을 평가한다. -3. 렌더링/측정 결과를 평가한다. -4. 최종 판정을 적는다. -5. 다음 액션과 되돌림 지점을 기록한다. -6. 실패 원인을 분류한다. +1. 핵심 목적 문구가 결과물의 가시 텍스트에 실제로 남아 있는지 확인한다. +2. 원문에서 반드시 보존해야 하는 핵심 정보가 결과물의 가시 영역에 남아 있는지 확인한다. +3. `measurement.json` 기준으로 slide와 각 zone의 overflow를 확인한다. +4. 실패가 있으면 실패 분류와 되돌림 지점을 기록한다. +5. `판정 규칙`에 따라 pass / revise / fail을 결정한다. +6. 다음 반복에서 바로 사용할 수정 액션을 우선순위 순서로 적는다. -필수 산출 항목 -- F1. 목적 적합성 평가 -- F2. 내용 보존 평가 -- F3. 렌더링/측정 평가 -- F4. 최종 판정 1개 -- F5. 실패 원인 분류 1개 이상 (실패 시) -- F6. 다음 액션 1개 이상 -- F7. 되돌림 지점 명시 +필수 검증 항목 +- F1. 핵심 목적 적합성 평가 1개 +- F2. 핵심 메시지 가시성 평가 1개 +- F3. 이미지/도해 참조 보존 평가 1개 +- F4. 비교 핵심 정보 보존 평가 1개 +- F5. 렌더링/측정 평가 1개 +- F6. 최종 판정 1개 +- F7. 실패 원인 분류 1개 이상 (`pass`가 아니면 필수) +- F8. 수정 액션 1개 이상 +- F9. 되돌림 지점 1개 명시 성공 기준 -- F1~F7 전부 작성됨 -- 최종 판정이 명확함 -- 실패 시 실패 원인과 수정 방향이 분명함 -- 다음 run으로 넘길 개선 사항이 존재함 +- F1~F9 전부 작성됨 +- 핵심 메시지(`DX는 상위 개념`, `BIM은 핵심 기술`)가 결과물의 가시 텍스트에 존재함 +- 이미지/도해 참조 문구(`DX와 핵심기술간 상호관계`)가 가시 텍스트에 존재함 +- 비교 핵심 4축(`범위`, `프로세스`, `성과품`, `확장성`)이 숨김 팝업이 아니라 가시 텍스트 또는 가시 요약 블록으로 존재함 +- `measurement.json`에서 `slide.overflowed = false` +- `measurement.json`에서 `zones.body.overflowed = false`, `zones.sidebar.overflowed = false`, `zones.footer.overflowed = false` +- 검증 실패 시 어느 step으로 되돌릴지 명확히 지정됨 실패 기준 -- 평가 항목 누락 -- 최종 판정 누락 -- 실패 원인 분류 누락 -- 다음 액션 없음 -- 되돌림 지점 없음 +- 핵심 메시지 가시 텍스트 누락 +- 이미지/도해 참조 문구 누락 +- 비교 핵심 4축 중 1개 이상 누락 또는 숨김 상태만 존재 +- slide overflow 발생 +- body/sidebar/footer zone 중 1개 이상 overflow 발생 +- 실패 분류 누락 +- 수정 액션 누락 +- 되돌림 지점 누락 +- 검증 결과 파일 또는 측정 결과를 해석할 수 없음 KPI / 판정 규칙 -- 충족률 = 충족 항목 수 / 7 -- pass: 충족률 100% and 치명 항목(F1, F2, F3, F4) 모두 충족 -- revise: 충족률 86% 이상 100% 미만 and 치명 항목 모두 충족 -- fail: 충족률 86% 미만 or 치명 항목 1개 이상 누락 +- 충족률 = 충족 항목 수 / 9 +- 치명 항목 = F2, F3, F4, F5, F6, F9 +- `pass`: 충족률 100% and 치명 항목 모두 충족 and slide/zone overflow 0건 and 핵심 메시지/이미지 참조/비교 4축이 모두 가시 텍스트에 존재 +- `revise`: 검증 결과를 해석할 수 있고 치명적 시스템 오류는 없으나, 품질 게이트(F2~F5) 중 1개 이상 미충족 +- `fail`: 검증 자체가 불가능함 or 치명 항목 1개 이상 기록 불가 or 측정/결과 파일 누락으로 판정 불가 실패 분류 -- Verify-Purpose: 목적 적합성 불충분 -- Verify-Preserve: 내용 보존 실패 -- Verify-Render: 렌더/측정 실패 -- Verify-Judgement: 최종 판정 불명확 -- Verify-Action: 다음 액션 부족 -- Verify-Rollback: 되돌림 지점 미정 +- `Verify-Purpose`: 중심 메시지와 결과물 목적이 어긋남 +- `Verify-CoreMessage`: 핵심 메시지 가시 텍스트 누락 +- `Verify-ImageRef`: 이미지/도해 참조 문구 누락 +- `Verify-ComparisonVisible`: 비교 핵심 4축이 가시 영역에 없음 +- `Verify-RenderSlide`: slide overflow 발생 +- `Verify-RenderZone`: body/sidebar/footer zone overflow 발생 +- `Verify-Trace`: 검증 파일/측정 파일 해석 불가 +- `Verify-Action`: 수정 액션 부족 +- `Verify-Rollback`: 되돌림 지점 미정 수정 액션 가이드 -- Verify-Purpose: 중심 메시지와 결과물의 일치 여부 재검토 -- Verify-Preserve: 누락/과잉 생성/왜곡 항목 보강 -- Verify-Render: overflow 또는 배치 문제 수정 -- Verify-Judgement: pass/revise/fail 판정 근거를 다시 명시 -- Verify-Action: 다음 run 개선 항목을 최소 1개 이상 추가 -- Verify-Rollback: 어느 step으로 되돌릴지 명시 +- `Verify-Purpose`: 중심 메시지 문장을 본문 또는 footer의 가시 텍스트에 다시 배치 +- `Verify-CoreMessage`: `DX는 상위 개념`, `BIM은 핵심 기술` 문구를 더 직접적으로 노출 +- `Verify-ImageRef`: 이미지 캡션 또는 이미지 참조 문구를 숨김 영역이 아닌 가시 블록으로 이동 +- `Verify-ComparisonVisible`: 비교 핵심 4축을 화면에 바로 보이는 bullet/card/table 요약으로 강제 +- `Verify-RenderSlide`: 전체 slide budget 또는 레이아웃 구조 재조정 +- `Verify-RenderZone`: overflow가 난 zone의 content budget, block 수, typography를 재조정 +- `Verify-Trace`: validation/measurement 산출물 저장 및 파싱 로직 복구 +- `Verify-Action`: 다음 반복에서 수행할 수정 항목을 최소 1개 이상 보강 +- `Verify-Rollback`: Stage 1B, Stage 2, Stage 3 중 되돌릴 지점을 지정 실행 결과 기록 - 목적 적합성: -- 내용 보존: +- 핵심 메시지 가시성: +- 이미지/도해 참조 보존: +- 비교 핵심 정보 보존: - 렌더링/측정: - 최종 판정: - 실패 원인 분류: -- 다음 액션: +- 수정 액션: - 되돌림 지점: - 충족 항목 수: - 충족률: -- 수정 액션: 판정 - pass / revise / fail 다음 단계 전달물 -- 다음 run 시작 전에 참고할 검증 결과와 개선 사항 +- 다음 반복 시작 전에 참고할 실패 분류 목록 +- 다음 반복 시작 전에 적용할 수정 액션 목록 +- 되돌릴 stage 또는 step diff --git a/scripts/auto_loop_runner.py b/scripts/auto_loop_runner.py index c58fe6b..c040838 100644 --- a/scripts/auto_loop_runner.py +++ b/scripts/auto_loop_runner.py @@ -22,6 +22,9 @@ from src.renderer import render_slide_from_html # type: ignore from src.slide_measurer import measure_rendered_heights # type: ignore COMPARISON_MARKER = "comparison-summary-card" +COMPARE_KEYS = ["범위", "프로세스", "성과품", "확장성"] +CORE_MESSAGE_KEYS = ["DX는 상위 개념", "BIM은 핵심 기술"] +IMAGE_REFERENCE_KEY = "DX와 핵심기술간 상호관계" def read_json(path: Path) -> dict: @@ -67,39 +70,63 @@ def rerender_final_html(generated: dict, context: dict) -> str: return render_slide_from_html(generated, analysis_dict, preset) +def zone_overflow_names(measurement: dict) -> list[str]: + zones = measurement.get("zones", {}) + names: list[str] = [] + for name in ("body", "sidebar", "footer"): + if zones.get(name, {}).get("overflowed"): + names.append(name) + return names + + def validate_outputs(generated: dict, measurement: dict) -> tuple[str, list[str], list[str]]: - visible = "\n".join([ - generated.get("body_html", ""), - generated.get("sidebar_html", ""), - generated.get("footer_html", ""), - ]) - text = strip_tags(visible) + body_html = generated.get("body_html", "") + sidebar_html = generated.get("sidebar_html", "") + footer_html = generated.get("footer_html", "") + text = strip_tags("\n".join([body_html, sidebar_html, footer_html])) failures: list[str] = [] actions: list[str] = [] - if measurement.get("slide", {}).get("overflowed"): - failures.append("Verify-Render") - actions.append("overflow가 발생한 영역의 budget 또는 HTML 구조를 조정한다.") + slide_overflow = measurement.get("slide", {}).get("overflowed") + zone_overflows = zone_overflow_names(measurement) - if "DX와 핵심기술간 상호관계" not in text: - failures.append("Verify-Preserve") - actions.append("이미지 캡션 또는 이미지 참조 문구를 본문 가시 텍스트로 남긴다.") + if slide_overflow: + failures.append("Verify-RenderSlide") + actions.append("slide 전체 overflow를 해소하도록 layout budget 또는 전체 레이아웃 구조를 조정한다.") - compare_keys = ["범위", "프로세스", "성과품", "확장성"] - if not all(k in text for k in compare_keys): - failures.append("Verify-Preserve") - actions.append("비교 핵심 4축을 숨김 팝업이 아니라 보이는 요약 블록으로 유지한다.") + if zone_overflows: + failures.append("Verify-RenderZone") + actions.append(f"overflow가 발생한 zone({', '.join(zone_overflows)})의 content budget, block 수, typography를 재조정한다.") - if "DX는 상위 개념" not in text and "상위 개념" not in text: - failures.append("Verify-Purpose") - actions.append("핵심 메시지 문장을 더 선명하게 본문 또는 footer에 유지한다.") + if not all(key in text for key in CORE_MESSAGE_KEYS): + failures.append("Verify-CoreMessage") + actions.append("핵심 메시지 `DX는 상위 개념`, `BIM은 핵심 기술`을 가시 텍스트에 직접 노출한다.") - status = "pass" if not failures else "revise" - return status, sorted(set(failures)), actions + if IMAGE_REFERENCE_KEY not in text: + failures.append("Verify-ImageRef") + actions.append("이미지/도해 참조 문구 `DX와 핵심기술간 상호관계`를 숨김 영역이 아닌 가시 블록으로 유지한다.") + + comparison_visible = COMPARISON_MARKER in sidebar_html and all(key in text for key in COMPARE_KEYS) + if not comparison_visible: + failures.append("Verify-ComparisonVisible") + actions.append("비교 핵심 4축(범위, 프로세스, 성과품, 확장성)을 화면에 바로 보이는 요약 블록으로 강제한다.") + + if failures: + return "revise", sorted(set(failures)), list(dict.fromkeys(actions)) + return "pass", [], [] def build_validation_markdown(run_id: str, status: str, failures: list[str], actions: list[str], measurement: dict) -> str: + slide_overflow = measurement.get("slide", {}).get("overflowed", True) + zones = measurement.get("zones", {}) + zone_lines = [] + for name in ("body", "sidebar", "footer"): + zone = zones.get(name, {}) + zone_lines.append( + f"- {name}: overflowed={zone.get('overflowed')} excess_px={zone.get('excess_px')} block_count={zone.get('block_count')}" + ) + render_ok = (not slide_overflow) and (not zone_overflow_names(measurement)) status_line = "통과" if status == "pass" else "재작업 필요" failure_lines = "\n".join(f"- {f}" for f in failures) if failures else "- 없음" action_lines = "\n".join(f"{i + 1}. {a}" for i, a in enumerate(actions)) if actions else "1. 없음" @@ -112,9 +139,13 @@ def build_validation_markdown(run_id: str, status: str, failures: list[str], act ## Validation Summary - 실행 경로 검증: 통과 -- 렌더링/측정 검증: {'통과' if not measurement.get('slide', {}).get('overflowed') else '실패'} +- 렌더링/측정 검증: {'통과' if render_ok else '실패'} - 최종 품질 판정: {status_line} +## Render Gates +- slide overflow: {slide_overflow} +{chr(10).join(zone_lines)} + ## Measurement ```json {json.dumps(measurement, ensure_ascii=False, indent=2)} @@ -176,19 +207,79 @@ def main() -> None: for iteration in range(1, args.max_iterations + 1): cmd = [ sys.executable, - str(repo_root / 'scripts' / 'run_from_artifacts.py'), + str(repo_root / "scripts" / "run_from_artifacts.py"), "--input", str(input_file), "--stage1a", str(stage1a), "--stage1b", str(stage1b), "--output-dir", str(output_dir), ] - subprocess.run(cmd, cwd=str(DESIGN_AGENT_ROOT), check=True) + completed = subprocess.run(cmd, cwd=str(DESIGN_AGENT_ROOT), capture_output=True, text=True) generated_path = output_dir / "generated_html.json" context_path = output_dir / "context.json" final_html_path = output_dir / "final.html" measurement_path = output_dir / "measurement.json" + if completed.returncode != 0: + status = "fail" + failures = ["Exec-Exit"] + actions = ["실패한 stage와 stderr를 확인하고 해당 stage부터 재실행한다."] + validation_path.write_text( + build_validation_markdown(args.run_id, "revise", ["Exec-Exit"], actions, {"slide": {"overflowed": True}, "zones": {}}), + encoding="utf-8", + ) + step5_body = f"""실행 요약 +- auto_loop_runner.py iteration {iteration} 실행이 비정상 종료되었다. +- 입력: `docs/{args.run_id}/01-input/{input_file.name}` +- 종료 코드: {completed.returncode} + +실행 stderr +```text +{completed.stderr.strip()} +``` + +산출물 경로 +- `docs/{args.run_id}/05-execution/` + +KPI / 판정 결과 +- 판정: fail +- iteration: {iteration} +- 종료 코드: {completed.returncode} + +실패 분류 +- Exec-Exit + +수정 액션 +- 실패한 stage와 stderr를 확인하고 해당 stage부터 재실행 + +다음 단계 전달물 +- 실행 stderr +- 실패 시점 정보 +""" + step6_body = f"""실행 요약 +- iteration {iteration}에서 실행 자체가 실패하여 품질 검증을 완료할 수 없었다. + +산출물 경로 +- `docs/{args.run_id}/06-validation/validation-result.md` + +KPI / 판정 결과 +- 판정: fail +- 실패 분류: Exec-Exit + +수정 액션 +- 실패한 stage와 stderr를 확인하고 해당 stage부터 재실행 + +다음 단계 전달물 +- 실행 stderr +- 실패 시점 정보 +- 다음 iteration 여부: 재실행 +""" + write_step_comment(step_comment_bodies[5], step5_body) + write_step_comment(step_comment_bodies[6], step6_body) + post_comment_if_configured(args.repo_slug, issue_numbers[4], step_comment_bodies[5]) + post_comment_if_configured(args.repo_slug, issue_numbers[5], step_comment_bodies[6]) + continue + generated = read_json(generated_path) context = read_json(context_path) changed = inject_visible_comparison_summary(generated) @@ -204,6 +295,11 @@ def main() -> None: status, failures, actions = validate_outputs(generated, measurement) validation_path.write_text(build_validation_markdown(args.run_id, status, failures, actions, measurement), encoding="utf-8") + zone_names = zone_overflow_names(measurement) + critical_outputs_ok = all(path.exists() and path.stat().st_size > 0 for path in [final_html_path, generated_path, measurement_path, context_path]) + step5_status = "pass" if completed.returncode == 0 and critical_outputs_ok else "fail" + step5_failures = "없음" if step5_status == "pass" else "Exec-Artifact" + step5_actions = "- 없음" if step5_status == "pass" else "- 필수 산출물 4종과 저장 경로를 재확인하고 재생성" step5_body = f"""실행 요약 - auto_loop_runner.py iteration {iteration}로 실행했다. - 입력: `docs/{args.run_id}/01-input/{input_file.name}` @@ -217,22 +313,26 @@ def main() -> None: - `docs/{args.run_id}/05-execution/context.json` KPI / 판정 결과 -- 판정: pass +- 판정: {step5_status} - iteration: {iteration} +- 종료 코드: {completed.returncode} +- 필수 산출물 4종 유효 여부: {critical_outputs_ok} 실패 분류 -- 없음 +- {step5_failures} 수정 액션 -- 없음 +{step5_actions} 다음 단계 전달물 - 최신 실행 산출물 - 최신 measurement +- 최신 context """ step6_body = f"""실행 요약 - iteration {iteration} 기준으로 최종 산출물과 측정 결과를 다시 검증했다. -- 이미지 캡션 보존과 비교 핵심 4축의 가시 보존 여부를 확인했다. +- slide overflow: {measurement.get('slide', {}).get('overflowed')} +- zone overflow: {', '.join(zone_names) if zone_names else '없음'} - 최종 판정은 `{status}`이다. 산출물 경로 @@ -267,6 +367,3 @@ KPI / 판정 결과 if __name__ == "__main__": main() - - -