Repair mojibake in step comments and run-001 artifacts

This commit is contained in:
2026-04-07 15:12:59 +09:00
parent 11e9165a8f
commit b028c78f1d
9 changed files with 142 additions and 62 deletions

View File

@@ -1,14 +1,14 @@
# Input Review
- ?? ???: 01. 건설산업 DX의 올바른 이해(0127).mdx
- ?? ??: 건설산업 DX의 올바른 이해
- ?? ?? ??: ?? block? ???? ?? ???? ???.
- ?? ??: ???? ?? 85% ?? ????, ? ?/?? ??? popup ??? ???.
- Input file: run-001-source.mdx
- Document title: Civil DX Overview
- Goal: preserve the raw source blocks and rebuild them into a one-slide structure.
- Preservation rule: keep at least 85% of the original text visible or reachable through popup content.
## ?? ??
- 용어의 혼용: * **용어의 혼용** * 건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음 * 이로인해 BIM기술의 도입을 DX의 완성으로...
- 혼용 대표 사례: * **[스마트 건설 활성화 방안(2022.07)]** * 추진과제 : 건설산업 디지털화 * 실행과제 : BIM 전면 도입, BIM 전문인력 양성 * **[제7차 건설기술진흥 기본계획(2023.12)]** * 추진방향 : 디지털 전환을 통한 스마트 건설 확산 * 추진과제 : BIM...
- 1. 용어 정의: * **건설산업** * 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업 * 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함 * **BIM(Building Information...
- 2. 용어간 상호관계: * DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념 * 건설산업의 DX GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능 * GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반...
- DX와 BIM의 구분: | DX | 구분 | BIM | | :--- | :---: | ---: | | **BIM << DX** (Engineering + Management 통합) | **범위** | **Only 3D** (형상 구현 중심) | | **제작 및 운영**(상용 + 전용 40~80개)...
- 핵심 요약: **핵심 요약** * BIM은 건설산업의 디지털전환(DX)을 수행하는 과정에서 **가장 기초가 되는 일부분**이다
## Source Blocks
- Block 1: terminology mixing problem statement
- Block 2: representative policy examples of DX/BIM mixing
- Block 3: terminology definitions for construction industry, BIM, and DX
- Block 4: relationship among DX, GIS, BIM, and Digital Twin
- Block 5: comparison table of DX and BIM
- Block 6: concluding statement that BIM is a foundational subset of DX

View File

@@ -1,13 +1,13 @@
# Interpretation
- ?? ??: ????? ?? ??? ???.
- ?? ??: ?? ??? ????, ??/??/popup ???? ???.
- popup ??: ? ?, ?? ??, ? ??? ??? popup?? ?? ???.
- Interpretation target: preserve source blocks, sequence, and wording as much as possible.
- Layout rule: mixing problem -> examples -> definitions -> relationship -> comparison -> conclusion.
- Popup rule: large table rows and long reference text move to popup, while the slide keeps visible summaries.
## Topic Classification
- 용어의 혼용: layer=core / role=flow
- 혼용 대표 사례: layer=supporting / role=reference
- 1. 용어 정의: layer=core / role=flow
- 2. 용어간 상호관계: layer=core / role=flow
- DX와 BIM의 구분: layer=supporting / role=reference
- 핵심 요약: layer=conclusion / role=flow
- terminology mixing: core / flow
- representative examples: supporting / flow
- terminology definitions: core / flow
- relationship block: core / flow
- comparison block: supporting / reference
- conclusion block: conclusion / flow

View File

@@ -1,13 +1,13 @@
# Content Structure
- ??? ??: ?? ?? ??? ???.
- ??? ??: ?? ? ???? ????, ?? ???? ????.
- popup ??: ??? ? ?? ??? ? ?/? ??? popup?? ???.
- Structure target: keep the original block order and only regroup it into visible blocks and popup blocks.
- Visible target: keep the main comparison axes and the core relationship statement on the slide.
- Placement rule: top for the problem and examples, middle for definitions and relationships, bottom for comparison and conclusion.
## Ordered Blocks
1. 용어의 혼용 (core)
2. 혼용 대표 사례 (supporting)
3. 1. 용어 정의 (core)
4. 2. 용어간 상호관계 (core)
5. DX와 BIM의 구분 (supporting)
6. 핵심 요약 (conclusion)
1. terminology mixing problem
2. representative examples
3. terminology definitions
4. relationship among core technologies
5. DX and BIM comparison
6. conclusion

View File

@@ -1,6 +1,6 @@
# Execution Plan
- ??? raw mdx?? ?? ???? stage-1a/stage-1b? ???.
- ?? ??? ??? ???.
- ?? ??, ? ?, ??? ?? ??? popup?? ?? ???.
- visible ??? section title + ?? bullet + ?? ?? ???? ???.
- Re-read the raw MDX and regenerate stage-1a and stage-1b from source blocks.
- Keep Type A for run-001.
- Move oversized tables, long examples, and long reference text into popup content.
- Keep section titles, key bullets, the four comparison axes, and the conclusion visible on the slide.

View File

@@ -0,0 +1,21 @@
Corrected UTF-8 re-post of the Step comment.
Execution Summary
- Reorganized the current run artifact for Step 1 Input Review.
- Reference artifact: `docs/run-001/01-input/input-review.md`
Execution Results
- Input file: run-001-source.mdx
- Document title: Civil DX Overview
- Goal: preserve the raw source blocks and rebuild them into a one-slide structure.
- Preservation rule: keep at least 85% of the original text visible or reachable through popup content.
- Block 1: terminology mixing problem statement
- Block 2: representative policy examples of DX/BIM mixing
- Block 3: terminology definitions for construction industry, BIM, and DX
- Block 4: relationship among DX, GIS, BIM, and Digital Twin
KPI / Verdict
- Verdict: pass
Next Deliverables
- `docs/run-001/01-input/input-review.md`

View File

@@ -0,0 +1,21 @@
Corrected UTF-8 re-post of the Step comment.
Execution Summary
- Reorganized the current run artifact for Step 2 Interpretation.
- Reference artifact: `docs/run-001/02-kei-interpretation/kei-interpretation.md`
Execution Results
- Interpretation target: preserve source blocks, sequence, and wording as much as possible.
- Layout rule: mixing problem -> examples -> definitions -> relationship -> comparison -> conclusion.
- Popup rule: large table rows and long reference text move to popup, while the slide keeps visible summaries.
- terminology mixing: core / flow
- representative examples: supporting / flow
- terminology definitions: core / flow
- relationship block: core / flow
- comparison block: supporting / reference
KPI / Verdict
- Verdict: pass
Next Deliverables
- `docs/run-001/02-kei-interpretation/kei-interpretation.md`

View File

@@ -0,0 +1,21 @@
Corrected UTF-8 re-post of the Step comment.
Execution Summary
- Reorganized the current run artifact for Step 3 Content Structuring.
- Reference artifact: `docs/run-001/03-structure/content-structure.md`
Execution Results
- Structure target: keep the original block order and only regroup it into visible blocks and popup blocks.
- Visible target: keep the main comparison axes and the core relationship statement on the slide.
- Placement rule: top for the problem and examples, middle for definitions and relationships, bottom for...
- terminology mixing problem
- representative examples
- terminology definitions
- relationship among core technologies
- DX and BIM comparison
KPI / Verdict
- Verdict: pass
Next Deliverables
- `docs/run-001/03-structure/content-structure.md`

View File

@@ -0,0 +1,17 @@
Corrected UTF-8 re-post of the Step comment.
Execution Summary
- Reorganized the current run artifact for Step 4 Execution Planning.
- Reference artifact: `docs/run-001/04-plan/execution-plan.md`
Execution Results
- Re-read the raw MDX and regenerate stage-1a and stage-1b from source blocks.
- Keep Type A for run-001.
- Move oversized tables, long examples, and long reference text into popup content.
- Keep section titles, key bullets, the four comparison axes, and the conclusion visible on the slide.
KPI / Verdict
- Verdict: pass
Next Deliverables
- `docs/run-001/04-plan/execution-plan.md`

View File

@@ -78,58 +78,58 @@ def validate_outputs(
if measurement_missing:
failures.append("Verify-Measurement")
actions.append("?? ??? ?? ?? stage 3/4 ???? ?? ???? ??.")
actions.append("?? ??? ?? stage 3/4 ??? ?? ??? ?? ???? ???.")
if slide_overflow:
failures.append("Verify-RenderSlide")
actions.append("slide ?? overflow? ????? layout budget ?? ?? ???? ??? ????.")
actions.append("slide ?? overflow? ???? layout budget? zone ??? ?? ???? ???.")
if zone_overflows:
failures.append("Verify-RenderZone")
actions.append(f"overflow? ??? zone({', '.join(zone_overflows)})? content budget, block ?, typography? ?????.")
actions.append(f"overflow? ??? zone({', '.join(zone_overflows)})? content budget, block ?, typography? ?? ???? ???.")
if '???' in visible_text or '?? ??' in visible_text:
failures.append("Verify-Placeholder")
actions.append("placeholder? ?? ??? ????, ?? ??/???? ?? ???.")
actions.append("placeholder ?? ?? ???? ?? ?? ?? ???? ??? ???? ?? ???? ???.")
matched_titles = sum(1 for title in required_titles if title and title in visible_text)
visible_len = len(re.sub(r'\s+', ' ', visible_text).strip())
if matched_titles < max(2, min(len(required_titles), 3)):
failures.append("Verify-SectionTitles")
actions.append("?? ?? ??? ?? ???? ? ????? ????.")
actions.append("?? ?? ??? ??? ?? ??? ??? ????? ????? ???.")
if run_mode == 'run001':
core_message_ok = all(any(marker in visible_text for marker in variants) for variants in CORE_MESSAGE_MARKERS)
if not core_message_ok:
failures.append("Verify-CoreMessage")
actions.append("?? ??? ???? `?? ??`? `?? ??/?? ??? ??` ??? ?? ???? ??? ????? ????.")
actions.append("?? ???? DX? BIM? ??? ???? ? ????? ????? ????? ???.")
if IMAGE_REFERENCE_KEY not in visible_text:
failures.append("Verify-ImageRef")
actions.append("???/?? ?? ?? `DX? ????? ????`? ?? ??? ?? ?? ???? ????.")
actions.append("?? ??? ?? ??? ??? ???? ???? ???/?? ????? ?? ???? ???.")
comparison_visible = (COMPARISON_MARKER in body_html) and all(key in visible_text for key in COMPARE_KEYS)
if not comparison_visible:
failures.append("Verify-ComparisonVisible")
actions.append("?? ?? 4?(??, ????, ???, ???)? ??? ?? ??? ?? ???? ????.")
actions.append("?? ?? 4?(??, ????, ???, ???)? ?? ???? ??? ?? ??? ?? ???? ???.")
if RELATION_MARKER not in body_html:
failures.append("Verify-DesignStructure")
actions.append("?? ??? ???? ??? ??? ??? ?? ?? ??? ????.")
actions.append("??? ?? ??? ??? ?? ?? ??? ??? ??? ?? ???? ???.")
else:
if visible_len < 420:
failures.append("Verify-ContentDensity")
actions.append("??? ?? ??? ?? ?? ???? ?? ?? ??? ????.")
actions.append("?? ??? ??? ?? ?? ?? ??? ? ?? ??? ???? ????? ???.")
if not body_html:
failures.append("Verify-DesignStructure")
actions.append("body ??? ?? ??? ?? ?? ?? ??? ???.")
actions.append("body ??? ?? ?? ?? ?? ??? ?? ??? ???.")
if matched_titles < max(3, len([title for title in required_titles if title]) - 1):
failures.append("Verify-SectionTitles")
actions.append("?? ?? ??? ? ?? ?? ?? ???? ????.")
actions.append("?? ?? ??? ??? ?? ?? ?? ?? ??? ?? ???? ?? ???? ???.")
if layout_template == "B_GOAL":
for marker, reason in [
("Goal details", "?? ?? ?? ?? ?? ???? ????."),
("Process details", "?? ?? ?? ?? ???? ????."),
("Goal details", "?? ??? ?? ???? ?? ?? ??? ? ?? ?? ??? ??? ???."),
("Process details", "?? ?? ??? ???? process ??? ? ?? ?? bullet? ??? ???."),
("Stakeholder details", "??? ???? ?? ?? ???? ????."),
]:
if marker not in body_html:
@@ -137,15 +137,15 @@ def validate_outputs(
actions.append(reason)
if body_html.count("<li") < 10:
failures.append("Verify-ContentDensity")
actions.append("??/??/?? ??? ?? bullet ?? ?? ?? ??? ???.")
actions.append("??/??/?? ??? bullet ?? ???? ?? bullet? ? ?? ???? ???.")
elif layout_template == "B_RPP":
for title in required_titles[:3]:
if title and title not in body_html:
failures.append("Verify-SectionTitles")
actions.append("??/??/??? ?? ?? ??? ??? ?? ????.")
actions.append("??/??/?? ?? ??? ?? ?? ??? ??? ????? ?? ???? ???.")
if body_html.count("<li") < 14:
failures.append("Verify-ContentDensity")
actions.append("??/??/?? ??? ?? bullet ?? ??? ????? ??? ???.")
actions.append("??/??/?? ??? bullet ?? ???? ?? ??? ? ?? ??? ??? ???.")
if failures:
return "revise", sorted(set(failures)), list(dict.fromkeys(actions))
@@ -232,18 +232,18 @@ def summarize_markdown_lines(text: str, limit: int = 8) -> list[str]:
def build_step_comment(title: str, artifact_path: Path, lines: list[str], verdict: str = "pass") -> str:
bullet_text = "\n".join(f"- {line}" for line in lines) if lines else "- ??? ??? ????."
return f"""?? ??
- {title} ?? ???? ?? ???? ?? run ???? ????.
- ?? ??: `{artifact_path.as_posix()}`
bullet_text = "\n".join(f"- {line}" for line in lines) if lines else "- No summarized execution result is available."
return f"""Execution Summary
- Reorganized the current run artifact for {title}.
- Reference artifact: `{artifact_path.as_posix()}`
?? ??
Execution Results
{bullet_text}
KPI / ?? ??
- ??: {verdict}
KPI / Verdict
- Verdict: {verdict}
?? ?? ???
Next Deliverables
- `{artifact_path.as_posix()}`
"""
@@ -475,10 +475,10 @@ def main() -> None:
4: run_dir / "04-plan" / "execution-plan.md",
}
step_titles = {
1: "Step 1 ?? ??",
2: "Step 2 ?? ??",
3: "Step 3 ??? ???",
4: "Step 4 ?? ??",
1: "Step 1 Input Review",
2: "Step 2 Interpretation",
3: "Step 3 Content Structuring",
4: "Step 4 Execution Planning",
}
for step_no in (1, 2, 3, 4):