Repository Analysis

edwardkim/rhwp

아래한글 hwp viewer and editor by rust and wasm

2.7 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of edwardkim/rhwp, a Rust project with 3,533 GitHub stars. SynthScan v2.0 examined 1,248,869 lines of code across 8075 source files, recording 1923 pattern matches distributed across 12 syntactic categories. The overall adjusted score of 2.7 places this repository in the Likely human-written band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

2.7
Adjusted Score
2.7
Raw Score
100%
Time Factor
2026-07-14
Last Push
3.5K
Stars
Rust
Language
1.2M
Lines of Code
8.1K
Files
1.9K
Pattern Hits
2026-07-14
Scan Date
0.00
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 15HIGH 0MEDIUM 364LOW 1544

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 1923 distinct pattern matches across 12 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Structural Annotation Overuse598 hits · 1141 pts
SeverityFileLineSnippetContext
LOW.claude/skills/rhwp-exam-ingest/SKILL.md88### Step 1: 입력 정규화COMMENT
LOW.claude/skills/rhwp-exam-ingest/SKILL.md97### Step 2: Vision 분석 — 페이지별 시험문제 구조 인식COMMENT
LOW.claude/skills/rhwp-exam-ingest/SKILL.md111### Step 3: ingest.json 작성COMMENT
LOW.claude/skills/rhwp-exam-ingest/SKILL.md191### Step 4: 이미지 자르기COMMENT
LOW.claude/skills/rhwp-exam-ingest/SKILL.md204### Step 5: HWPX 빌드COMMENT
LOWmydocs/eng/plans/task_403.md23### Step 1: HWP Sample Generation Test FrameworkCOMMENT
LOWmydocs/eng/plans/task_403.md29### Step 2: First Sample Set — Basic Width MeasurementCOMMENT
LOWmydocs/eng/plans/task_403.md40### Step 3: Second Sample Set — Line Break BoundariesCOMMENT
LOWmydocs/eng/plans/task_403.md47### Step 4: Third Sample Set — Per FontCOMMENT
LOWmydocs/eng/plans/task_269.md18### Step 1: Cell Selection Phase ManagementCOMMENT
LOWmydocs/eng/plans/task_269.md25### Step 2: Keyboard Handler ModificationCOMMENT
LOWmydocs/eng/plans/task_269.md30### Step 3: Select All Cells UICOMMENT
LOWmydocs/eng/plans/task_269.md34### Step 4: Table Proportional ResizeCOMMENT
LOWmydocs/eng/plans/task_249.md12### Step 1: Multi-SelectionCOMMENT
LOWmydocs/eng/plans/task_249.md17### Step 2: Group ObjectsCOMMENT
LOWmydocs/eng/plans/task_249.md22### Step 3: Ungroup ObjectsCOMMENT
LOWmydocs/eng/plans/task_266.md18### Step 1: Rust API — Page Hide Insert/RemoveCOMMENT
LOWmydocs/eng/plans/task_266.md23### Step 2: WASM Binding + DialogCOMMENT
LOWmydocs/eng/plans/task_266.md28### Step 3: Control Code RenderingCOMMENT
LOWmydocs/eng/plans/task_252.md22### Step 1: Footnote Insertion WASM APICOMMENT
LOWmydocs/eng/plans/task_252.md28### Step 2: Footnote Area Edit ModeCOMMENT
LOWmydocs/eng/plans/task_252.md34### Step 3: Footnote Deletion + RenumberingCOMMENT
LOWmydocs/eng/plans/task_256.md17### Step 1: Rust Hit-Test + Cursor Rect APICOMMENT
LOWmydocs/eng/plans/task_256.md27### Step 2: cursor.ts Footnote Mode StateCOMMENT
LOWmydocs/eng/plans/task_256.md34### Step 3: input-handler Footnote Edit RoutingCOMMENT
LOWmydocs/eng/plans/task_262.md27#### Step 1: NumberingState Extension (Rust)COMMENT
LOWmydocs/eng/plans/task_262.md32#### Step 2: WASM APICOMMENT
LOWmydocs/eng/plans/task_262.md36#### Step 3: Dialog UI EnhancementCOMMENT
LOWmydocs/eng/plans/task_262.md41#### Step 4: Context Menu + ShortcutCOMMENT
LOWmydocs/eng/plans/task_e2e_verification.md16### Step 1: Scenario DefinitionCOMMENT
LOWmydocs/eng/plans/task_e2e_verification.md36### Step 2: Expected Value GenerationCOMMENT
LOWmydocs/eng/plans/task_e2e_verification.md79### Step 3: Execution + MeasurementCOMMENT
LOWmydocs/eng/plans/task_e2e_verification.md116### Step 4: Compare + VerdictCOMMENT
LOWmydocs/eng/plans/task_269_impl.md3## Step 1: Cell Selection Phase Management (cursor.ts)COMMENT
LOWmydocs/eng/plans/task_269_impl.md17## Step 2: F5 + Arrow Key Keyboard Handling (input-handler-keyboard.ts)COMMENT
LOWmydocs/eng/plans/task_269_impl.md37## Step 3: Range Expansion + Select All (cursor.ts)COMMENT
LOWmydocs/eng/plans/task_269_impl.md47## Step 4: Table Proportional ResizeCOMMENT
LOWmydocs/eng/plans/task_269_impl.md63## Step 5: Cell Selection Rendering UpdateCOMMENT
LOWmydocs/eng/plans/task_m100_22.md24### Step 1: Color Token AdoptionCOMMENT
LOWmydocs/eng/plans/task_m100_22.md37### Step 2: Typography + Spacing TokensCOMMENT
LOWmydocs/eng/plans/task_m100_22.md44### Step 3: Responsive Breakpoints + LayoutCOMMENT
LOWmydocs/eng/plans/task_m100_22.md64### Step 4: Progressive Migration of Existing Code + VerificationCOMMENT
LOWmydocs/eng/plans/task_m100_4.md19### Step 1: Change layout_shape_item Return Type and Reflect y_offsetCOMMENT
LOWmydocs/eng/plans/task_390.md30### Step 1: Implement line_end ClampCOMMENT
LOWmydocs/eng/plans/task_390.md34### Step 2: VerificationCOMMENT
LOWmydocs/eng/plans/task_390.md40### Step 3: Commit + mergeCOMMENT
LOWmydocs/eng/plans/task_403_impl.md41### Step 1: Project Scaffolding and Extension ManifestCOMMENT
LOWmydocs/eng/plans/task_403_impl.md60### Step 2: Custom Editor Provider + File LoadingCOMMENT
LOWmydocs/eng/plans/task_403_impl.md85### Step 3: WASM Integration and Single Page RenderingCOMMENT
LOWmydocs/eng/plans/task_403_impl.md104### Step 4: Virtual Scroll and Multi-Page ViewCOMMENT
LOWmydocs/eng/plans/task_403_impl.md125### Step 5: Design DocumentCOMMENT
LOWmydocs/eng/plans/task_246.md20### Step 1: Arrow RenderingCOMMENT
LOWmydocs/eng/plans/task_246.md26### Step 2: Shape ShadowCOMMENT
LOWmydocs/eng/plans/task_246.md31### Step 3: Line Types + Rounded RectangleCOMMENT
LOWmydocs/eng/plans/task_246.md36### Step 4: Shape Property UI EnhancementCOMMENT
LOWmydocs/eng/plans/task_m100_5.md28### Step 1: Model + ParserCOMMENT
LOWmydocs/eng/plans/task_m100_5.md35### Step 2: RendererCOMMENT
LOWmydocs/eng/plans/task_m100_5.md41### Step 3: VerificationCOMMENT
LOWmydocs/eng/plans/task_391.md25### Step 1: Debug total_content_height — compare actual rendered height vs calculated heightCOMMENT
LOWmydocs/eng/plans/task_391.md26### Step 2: Fix underestimation cause (LINE_SEG lh-based fallback or composed height correction)COMMENT
538 more matches not shown…
Decorative Section Separators350 hits · 1038 pts
SeverityFileLineSnippetContext
MEDIUMrhwp-studio/src/main.ts85// ─── 커맨드 시스템 ─────────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/equation-editor-dialog.ts447 // ── 모드 ──────────────────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/equation-editor-dialog.ts461 // ── 탭 ────────────────────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/equation-editor-dialog.ts496 // ── 자동완성 ──────────────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/equation-editor-dialog.ts586 // ── 기호 검색 ─────────────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/equation-editor-dialog.ts619 // ── 템플릿 삽입 ───────────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/equation-editor-dialog.ts648 // ── 미리보기 ──────────────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/equation-editor-dialog.ts683 // ── 확인 ──────────────────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/equation-editor-dialog.ts716// ── 색상 변환 유틸리티 ──────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/table-cell-props-dialog.ts220 // ─── 셀 탭 ───────────────────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/table-cell-props-dialog.ts365 // ─── 표 탭 ───────────────────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/table-cell-props-dialog.ts456 // ─── 기본 탭 ──────────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/table-cell-props-dialog.ts649 // ─── 여백/캡션 탭 ──────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/table-cell-props-dialog.ts794 // ─── 테두리 탭 ──────────────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/table-cell-props-dialog.ts1086 // ─── 배경 탭 ──────────────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/table-cell-props-dialog.ts1243 // ─── 필드 채우기 ─────────────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/table-cell-props-dialog.ts1463 // ─── "모두(A)" 일괄 여백 스피너 ─────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/table-cell-props-dialog.ts1497 // ─── DOM 헬퍼 ────────────────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/page-setup-dialog.ts306 // ─── DOM 헬퍼 ─────────────────────────────COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts2738 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts2740 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts2749 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts2751 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts231 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts233 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts293 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts295 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts412 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts414 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts674 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts676 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts816 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts818 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts976 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts978 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts1213 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts1215 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts1339 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts1341 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts1477 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts1479 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts1747 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts1749 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts1804 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts1806 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts1868 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts1870 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts1926 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts1928 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts2312 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/picture-props-dialog.ts2314 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/char-shape-dialog.ts177 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/char-shape-dialog.ts179 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/char-shape-dialog.ts268 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/char-shape-dialog.ts270 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/char-shape-dialog.ts427 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/char-shape-dialog.ts429 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/char-shape-dialog.ts606 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/char-shape-dialog.ts608 // ════════════════════════════════════════════════════════COMMENT
MEDIUMrhwp-studio/src/ui/char-shape-dialog.ts781 // ════════════════════════════════════════════════════════COMMENT
290 more matches not shown…
Over-Commented Block659 hits · 639 pts
SeverityFileLineSnippetContext
LOWtests/hwpx_form_roundtrip.rs1//! 양식 개체(FormObject) HWPX 라운드트립 통합 테스트.COMMENT
LOWtests/issue_1770_hwpx_origin_marker.rs1//! Issue #1770: rhwp HWPX→HWP 변환본의 pagination 자기정합 — HWPX-origin 마커.COMMENT
LOWtests/issue_546.rs1//! Issue #546: exam_science.hwp 2페이지 페이지네이션 회귀 (PR #506 origin).COMMENT
LOWtests/issue_1195_cell_table_empty_line.rs1//! Issue #1195: 표 셀 안 빈 줄(줄간격 90%, 글자에 따라) + TAC 표 겹침 회귀 가드.COMMENT
LOWtests/issue_2098_page_bottom_fixed_anchor_vpos0.rs1//! Issue #2098: 쪽-하단 고정 틀 앵커의 저장 vpos=0 을 새 쪽 신호로 오독 — 여분 페이지.COMMENT
LOWtests/issue_1453_chart_3d_ofpie_routing.rs1//! Issue #1453 (C1a, #1431 Track C): 3D막대·3D원형·ofPie 차트 라우팅 회귀 가드.COMMENT
LOWtests/issue_826.rs1//! Issue #826: HWP3 PUA U+F080F / U+F0827 글리프 부재 — 머리말/꼬리말 패턴 시각 차이.COMMENT
LOWtests/issue_1624_footer_overpush_pagination.rs1//! Issue #1624: footer(발신명의) Page+Bottom over-push — #1611 vpos 동기화의 +1쪽 부작용.COMMENT
LOWtests/issue_2151_hwp3_ghost_page.rs1//! Issue #2151 — HWP3 그림 pgy=0 페이지 시작 후 거짓 쪽 경계(유령 페이지) 핀.COMMENT
LOWtests/issue_1028_hwpx_textbox_vertical.rs1//! Task #1028 회귀 가드 — HWPX 글상자 세로쓰기 (`<hp:subList textDirection>`) 파싱COMMENT
LOWtests/issue_1058_textbox_list_header.rs1//! Issue #1058: 한컴편집기 신규 각주 추가 시 본문 다단계 목록 + 글머리표 부작용 회귀 가드.COMMENT
LOWtests/issue_1058_textbox_list_header.rs321 pos += size;COMMENT
LOWtests/issue_1488_rowbreak_empty_overlay_pages.rs1//! Issue #1488: RowBreak 표 셀 내부 빈 오버레이 문단이 여분 빈 연속 페이지를 양산.COMMENT
LOWtests/issue_1858.rs1//! [Task #1858] 페이지-절대 앵커(vert=용지/Paper) 개체 flow 소비로 인한 페이지 폭발 회귀 게이트.COMMENT
LOWtests/issue_1402_enum_token_whitelist.rs1//! Task #1402 — 열거 속성 표면 표기 정합 검사.COMMENT
LOWtests/issue_884_charshape_diagnostic.rs1//! Issue #884 / #915: CharShape `start_pos` 해석 회귀 가드.COMMENT
LOWtests/issue_595.rs1//! Issue #595: exam_math.hwp 2페이지부터 수식 더블클릭 hitTest 오동작.COMMENT
LOWtests/issue_630.rs1//! Issue #630: aift.hwp 4페이지 목차 `(페이지 표기)` 우측 정렬 회귀COMMENT
LOWtests/issue_1050_footnote_serialize.rs1//! Issue #1050: HWPX → HWP 저장 시 각주 직렬화 한컴 호환 회귀 가드.COMMENT
LOWtests/issue_2137_topbottom_float_anchor_saved_fit.rs1//! Issue #2137: TopAndBottom float 전용 앵커의 saved-bounds 신뢰 — 소형 글상자 스필.COMMENT
LOWtests/issue_2136_neartop_reset_sb2500.rs1//! Issue #2136: near-top 저장 리셋 상한 2000→2500HU — sb=2500HU 리셋 배제 과적.COMMENT
LOWtests/issue_2027_picture_wrap_toggle_loss.rs1//! Issue #2027: 그림 "본문과의 배치" 반복 변경 시 line_segs 미복원 + undo 미기록 (HOP 보고 버그).COMMENT
LOWtests/issue_table_vpos_01_page5_cell_hit_test.rs1//! samples/table-vpos-01.hwp 5쪽 인라인 표 셀 클릭 진입 회귀 테스트.COMMENT
LOWtests/issue_nested_table_border.rs1//! Nested table 외부 1x1 wrapper 표 외곽 테두리 누락 정정 (exam_social.hwp p1 4번).COMMENT
LOWtests/issue_nested_table_border.rs81 (get("x1"), get("y1"), get("x2"), get("y2"))COMMENT
LOWtests/issue_516.rs1//! Issue #516: rhwp-studio (web Canvas) 그림 워터마크 효과 미적용 + AI 메타정보COMMENT
LOWtests/issue_493_hwpx_cell_field_name.rs1//! Issue #493: HWPX 파서가 `hp:tc name`(셀 필드 이름)을 누락COMMENT
LOWtests/visual_roundtrip_baseline.rs1//! P0-1 — `samples/hwpx/` 전수 **렌더 시각 정합성** baseline 게이트.COMMENT
LOWtests/issue_2083_hide_fill_page_background.rs1//! Issue #2083: `hide_fill`(쪽 배경 감추기) 페이지가 export-png 에서 전체 검정으로 렌더.COMMENT
LOWtests/issue_775.rs1//! Issue #775: Task #703 회귀 — `samples/exam_eng.hwp` 4페이지 27번 보기 그림 (1×1 InFrontOfText 표)COMMENT
LOWtests/issue_2019_floating_form_overpagination.rs1//! Issue #2019: 부동 개체(글상자·도형·표) 다수 별지 서식의 과분할 smoke guard.COMMENT
LOWtests/issue_2071_cell_anchor_picture_valign.rs1//! Issue #2071: 셀 앵커 floating 그림(restrict-ON, TopAndBottom+Para)이 셀COMMENT
LOWtests/issue_1082_endnote_multicolumn_drift.rs1//! Issue #1082: 다단(2단) 미주(endnote) 영역에서 typeset 누적이 미주 para 내부 vpos span 만COMMENT
LOWtests/hwp5_roundtrip_baseline.rs1//! Task #1552 — `samples/*.hwp` 전수 HWP5 roundtrip 무손실 baseline 게이트.COMMENT
LOWtests/issue_2097_rowbreak_midpage_declared_fits.rs1//! Issue #2097 잔존 백로그: 중간-쪽 RowBreak 표 선언-fit 무시 — 마지막 행 sliver 분할.COMMENT
LOWtests/tab_cross_run.rs1//! Cross-run tab detection regression tests — Task #290.COMMENT
LOWtests/issue_1061_equation_serialize.rs1//! Issue #1061: HWPX 수식 저장 회귀 가드.COMMENT
LOWtests/issue_1842.rs1//! Issue #1842 — 서식 표 셀 내부 인라인 개체 라인높이: 저장 LINE_SEG lh 재계산 드리프트.COMMENT
LOWtests/issue_1842.rs81}COMMENT
LOWtests/issue_1785_cell_padding_rule_consistency.rs1//! Issue #1785: 셀 안 여백 선택 규칙은 레이아웃과 높이 측정이 단일 출처를 공유해야 한다.COMMENT
LOWtests/issue_1611_footer_page_bottom_pagination.rs1//! Issue #1611: 렌더링 −1쪽 갭 요인 B — footer(발신명의) PAGE-앵커 블록 page-fit 누적 과소.COMMENT
LOWtests/issue_1916_tbl_common_attr.rs1//! Issue #1916: raw_ctrl_data 미보존 HWP5 표의 CommonObjAttr 왕복 소실 회귀 가드.COMMENT
LOWtests/issue_418.rs1//! Issue #418: hwpspec.hwp 20/21 페이지의 빈 문단 + TAC Picture 가COMMENT
LOWtests/issue_2007_nested_cell_pagination.rs1//! Issue #2007: 1×1 단일 셀 중첩 표의 셀 콘텐츠 페이지 분할(intra-cell pagination).COMMENT
LOWtests/issue_1853.rs1//! [Task #1853] 같은 문단 float 스택 이월 규칙(#1831/PR #1844) 회귀 게이트.COMMENT
LOWtests/issue_1880_takeplace_host_before.rs1//! Issue #1880: convert-HWP 자리차지 표 `host_spacing.before` 비대칭 — pagination 자기정합.COMMENT
LOWtests/diag_1042_table_row_height.rs1//! Stage 4 v3: k-water-rfp 의 표 row height 측정 over-estimate 정량 진단COMMENT
LOWtests/issue_1172_para_margin_roundtrip.rs1//! Issue #1172: rhwp-studio 문단모양 왼쪽 여백 round-trip 2배 결함.COMMENT
LOWtests/issue_1385_replace_export_roundtrip.rs1//! Issue #1385: replaceAll/replaceText 변경이 exportHwp 직렬화에 반영되지 않음COMMENT
LOWtests/issue_2015_saved_bounds_rowbreak.rs1//! Issue #2015: HWPX saved-bounds RowBreak 표 잔존 드리프트 (#1811 후속).COMMENT
LOWtests/issue_2105_rowbreak_table_declared_fits.rs1//! Issue #2105: RowBreak 표 선언-fit 무시 — 실측 팽창으로 불필요 행 sliver 분할.COMMENT
LOWtests/issue_1772_table_outer_margin_sync.rs1//! Issue #1772: HWPX 파서는 표 outMargin 을 common.margin 에도 동기화해야 한다 (IR 계약).COMMENT
LOWtests/issue_1658_page_bottom_fixed_exclusion.rs1//! [Task #1658 v3] 페이지 하단 고정 표(vert=쪽·valign=Bottom 자리차지, 결재/서명 틀)의COMMENT
LOWtests/issue_1152_intra_para_vpos_reset.rs1//! Issue #1152: 호스트 문단 내 TAC 표 line_seg vpos=0 (intra-paragraph vpos-reset)COMMENT
LOWtests/issue_874_ktx_toc_page_number_right_align.rs1//! Task #874 후속 (PR #1021): KTX.hwp 목차 페이지번호 — 단일-run RIGHT + leaderCOMMENT
LOWtests/issue_1835_tac_stale_height.rs1//! Issue #1835: TAC 표에서 셀 내용이 저장 높이(common.height)를 크게(>1.5×) 초과하면COMMENT
LOWtests/issue_1355_endnote_title_gap_double.rs1//! Issue #1355: 해설(미주) 문제-제목 앞 세로 여백 이중계상 회귀 가드.COMMENT
LOWtests/issue_2097_1730000_real_doc_pin.rs1//! Issue #2097 — 실문서(1730000 선정 결과보고서) 페이지네이션 한글 정합 핀.COMMENT
LOWtests/issue_1073_nested_table_split.rs1//! Issue #1073: 셀 안의 페이지보다 큰 중첩 표(nested table)가 페이지 경계에서 중첩 표COMMENT
LOWtests/hwpx_roundtrip_integration.rs1//! HWPX 라운드트립 통합 테스트.COMMENT
599 more matches not shown…
Hallucination Indicators15 hits · 165 pts
SeverityFileLineSnippetContext
CRITICALsrc/wasm_api.rs5586 let base_style = self.core.document.doc_info.styles.first();CODE
CRITICALsrc/wasm_api.rs5594 .filter(|id| (*id as usize) < self.core.document.doc_info.char_shapes.len())CODE
CRITICALsrc/wasm_api.rs5599 .filter(|id| (*id as usize) < self.core.document.doc_info.para_shapes.len())CODE
CRITICALsrc/wasm_api.rs5456 self.core.document.doc_info.char_shapes.push(new_cs);CODE
CRITICALsrc/wasm_api.rs5457 let new_id = (self.core.document.doc_info.char_shapes.len() - 1) as u16;CODE
CRITICALsrc/wasm_api.rs5473 self.core.document.doc_info.para_shapes.push(new_ps);CODE
CRITICALsrc/wasm_api.rs5474 let new_id = (self.core.document.doc_info.para_shapes.len() - 1) as u16;CODE
CRITICALsrc/wasm_api.rs5612 self.core.document.doc_info.styles.push(new_style);CODE
CRITICALsrc/wasm_api.rs5614 let new_id = (self.core.document.doc_info.styles.len() - 1) as i32;CODE
CRITICALsrc/wasm_api.rs5646 self.core.document.doc_info.styles.remove(style_id as usize);CODE
CRITICALsrc/wasm_api.rs5768 self.core.document.doc_info.numberings.push(n);CODE
CRITICALsrc/wasm_api.rs5829 self.core.document.doc_info.numberings.push(n);CODE
CRITICALsrc/wasm_api.rs5830 self.core.document.doc_info.numberings.len() as u16CODE
CRITICALsrc/wasm_api.rs5854 self.core.document.doc_info.bullets.push(b);CODE
CRITICALsrc/wasm_api.rs5855 self.core.document.doc_info.bullets.len() as u16CODE
Hyper-Verbose Identifiers158 hits · 152 pts
SeverityFileLineSnippetContext
LOWrhwp-studio/tests/table-delete-cursor-1483.test.ts15 const start = tableCmd.indexOf('function applyTableDeleteRowColumn(');CODE
LOWrhwp-studio/tests/table-delete-cursor-1483.test.ts26 const end = tableCmd.indexOf('function applyTableDeleteRowColumn(', start);CODE
LOWrhwp-studio/tests/table-mouse-resize-1491.test.ts13function cellSelectionMouseDownBlock(): string {CODE
LOWrhwp-studio/tests/table-mouse-resize-1491.test.ts31function generalTableResizeMouseDownBlock(): string {CODE
LOWrhwp-studio/tests/table-mouse-resize-1491.test.ts40function resolveTableResizeHitBlock(): string {CODE
LOWrhwp-studio/src/main.ts159function autosaveScheduleFromUserSettings(): AutosaveScheduleSettings {CODE
LOWrhwp-studio/src/main.ts708function applySavedTextMarkSettings(): void {CODE
LOWrhwp-studio/src/main.ts867function shouldSkipInitialAutosaveRecovery(): boolean {CODE
LOWrhwp-studio/src/main.ts872async function offerAutosaveRecoveryIfIdle(): Promise<void> {CODE
LOWrhwp-studio/src/main.ts928async function canReplaceCurrentDocument(skipUnsavedGuard?: boolean): Promise<boolean> {CODE
LOWrhwp-studio/src/main.ts1035async function isFileSchemeAccessAllowed(): Promise<boolean | null> {CODE
LOWrhwp-studio/src/main.ts1054function showFileUrlAccessGuidance(): void {CODE
LOWrhwp-studio/src/ui/local-fonts-modal.ts210export async function showLocalFontsModalIfNeeded(CODE
LOWrhwp-studio/src/ui/options-dialog.ts377function describeLocalFontDetectionError(error: unknown): string {CODE
LOWrhwp-studio/src/ui/validation-modal.ts199export async function showValidationModalIfNeeded(CODE
LOWrhwp-studio/src/ui/endnote-shape-dialog.ts69function normalizeEndnotePlacement(value: string | undefined | null): 'documentEnd' | 'sectionEnd' {CODE
LOWrhwp-studio/src/ui/endnote-shape-dialog.ts87function normalizeEndnoteNumbering(value: string | undefined | null): 'continue' | 'restartSection' {CODE
LOWrhwp-studio/src/core/wasm-bridge.ts63function installCanvasFontSubstitution(): void {CODE
LOWrhwp-studio/src/core/document-font-status.ts154export function shouldPromptLocalFontAccess(report: DocumentFontStatusReport): boolean {CODE
LOWrhwp-studio/src/core/font-substitution.ts310export function fontFamilyChainForDisplay(CODE
LOWrhwp-studio/src/core/local-fonts.ts109export function isLocalFontAccessSupported(): boolean {CODE
LOWrhwp-studio/src/core/local-fonts.ts114export function isFontPresenceProbeSupported(): boolean {CODE
LOWrhwp-studio/src/core/local-fonts.ts127export function getLocalFontDetectionMethod(): LocalFontDetectionSource | null {CODE
LOWrhwp-studio/src/core/document-signature.ts55export function assertRemoteDocumentBytes(bytes: Uint8Array, contentType?: string | null): void {CODE
LOWrhwp-studio/src/core/extension-settings.ts121export async function loadExtensionViewerSettings(): Promise<ExtensionViewerSettings> {CODE
LOWrhwp-studio/src/recovery/recovery-ui.ts119export function showAutosaveRecoveryDialog(drafts: AutosaveDraft[]): Promise<AutosaveRecoveryChoice> {CODE
LOWrhwp-studio/src/recovery/recovery-format.ts3function baseNameWithoutKnownExtension(fileName: string): string {CODE
LOWrhwp-studio/src/hwpctl/actions/table-edit.ts15function executeTableInsertRowColumn(ctrl: HwpCtrl, set: ParameterSet | null): boolean {CODE
LOWrhwp-studio/src/hwpctl/actions/table-edit.ts36function executeTableDeleteRowColumn(ctrl: HwpCtrl, set: ParameterSet | null): boolean {CODE
LOWrhwp-studio/src/hwpctl/actions/table-edit.ts97function executeTablePropertyDialog(ctrl: HwpCtrl, set: ParameterSet | null): boolean {CODE
LOWrhwp-studio/src/view/grid-overlay.ts39export function createGridClipCornerOverlay(CODE
LOWrhwp-studio/src/view/grid-settings.ts64export function convertGridOffsetForOrigin(CODE
LOWrhwp-studio/src/view/glyph-outline-payload-status.ts37export function glyphOutlinePayloadStatus(CODE
LOWrhwp-studio/src/view/glyph-outline-payload-status.ts70export function glyphOutlinePayloadResourceKey(op: LayerGlyphOutlineOp): string | null {CODE
LOWrhwp-studio/src/view/glyph-outline-payload-status.ts242function hasColorLayersResourceKeyContract(op: LayerGlyphOutlineOp): boolean {CODE
LOWrhwp-studio/src/view/glyph-outline-payload-status.ts313function isValidColorGradientStops(stops: Array<{ offset?: number; color?: { rgba?: number[] } }> | undefined): boolean CODE
LOWrhwp-studio/src/view/glyph-outline-payload-status.ts333function isSupportedFullCircleSweepGradient(CODE
LOWrhwp-studio/src/view/glyph-outline-payload-status.ts347function hasExclusivePayloadFamily(op: LayerGlyphOutlineOp, payloadKind: string): boolean {CODE
LOWrhwp-studio/src/view/render-backend.ts61export function resolveRenderBackendRequest(search = ''): RenderBackendRequest {CODE
LOWrhwp-studio/src/view/render-backend.ts82export function resolveCanvasKitRenderMode(search = ''): CanvasKitRenderMode {CODE
LOWrhwp-studio/src/view/render-backend.ts89export function persistCanvasKitRenderMode(value: CanvasKitRenderMode): void {CODE
LOWrhwp-studio/src/view/render-backend.ts93export function resolveCanvasKitSurfaceRequest(search = ''): CanvasKitSurfaceRequest {CODE
LOWrhwp-studio/src/view/canvaskit/image-replay.ts119export function canvasKitImageFillModeTiles(fillMode: string | undefined): boolean {CODE
LOWrhwp-studio/src/compare/diff-location-label.ts14export function formatParagraphLocationForSide(item: DiffItem, side: 'left' | 'right'): string | null {CODE
LOWrhwp-studio/src/compare/diff-location-label.ts40export function formatDiffLocationCombined(item: DiffItem): string | null {CODE
LOWrhwp-studio/src/compare/diff-engine.ts1300function isEffectivelyEmptyParaNormalized(normalizedText: string): boolean {CODE
LOWrhwp-studio/src/compare/diff-engine.ts1310function shouldSuppressNoiseParagraphOnly(p: CompareParaSnapshot): boolean {CODE
LOWrhwp-studio/src/compare/diff-engine.ts1315function stripNoiseOnlyParagraphAlignSteps(steps: ParagraphAlignStep[]): ParagraphAlignStep[] {CODE
LOWrhwp-studio/src/compare/diff-engine.ts267function isStructuralBlockTitleLine(trimmedOneLine: string): boolean {CODE
LOWrhwp-studio/src/compare/diff-engine.ts304function levenshteinDistanceTwoRow(a: string, b: string): number {CODE
LOWrhwp-studio/src/compare/diff-engine.ts639function extractControlIndexFromKey(key: string): number | null {CODE
LOWrhwp-studio/src/compare/diff-engine.ts657function buildRightToLeftParaMapFromAligned(aligned: AlignedPair[]): Map<string, CompareParaSnapshot> {CODE
LOWrhwp-studio/src/compare/diff-engine.ts709function buildGranularControlDiffs(CODE
LOWrhwp-studio/src/compare/diff-engine.ts782function compactParaShapeForAnchor(pp: ParaProperties): string {CODE
LOWrhwp-studio/src/compare/diff-engine.ts797function tryResolveCompareParaAnchorFromCursor(CODE
LOWrhwp-studio/src/compare/diff-engine.ts831function fillMissingParaAnchorsFromPageLayout(CODE
LOWrhwp-studio/src/compare/diff-engine.ts873function fillMissingParaAnchorsFromNeighbors(CODE
LOWrhwp-studio/src/compare/diff-engine.ts1453function resolveTextCompareStrategy(CODE
LOWrhwp-studio/src/compare/diff-engine.ts1566function buildUniqueSigPairsInSlices(CODE
LOWrhwp-studio/src/compare/diff-engine.ts1616function buildBothSidesUniqueTrimNorm(left: CompareParaSnapshot[], right: CompareParaSnapshot[]): Set<string> {CODE
98 more matches not shown…
Excessive Try-Catch Wrapping55 hits · 68 pts
SeverityFileLineSnippetContext
LOWtools/verify_hwpx.py72 except Exception:CODE
LOWtools/probe_ls_ladder.py37 except Exception:CODE
LOWtools/probe_ls_ladder.py67 except Exception:CODE
LOWtools/roundtrip_fidelity_harness.py48 except Exception as e: # noqa: BLE001CODE
LOWtools/verify_hangul_pages.py39 except Exception:CODE
LOWtools/verify_hangul_pages.py112 except Exception:CODE
LOWtools/verify_hangul_pages.py193 except Exception:CODE
LOWtools/verify_hangul_pages.py199 except Exception:CODE
LOWtools/verify_hangul_pages.py211 except Exception as exc: # 파일별 격리CODE
LOWtools/verify_hangul_pages.py228 except Exception:CODE
LOWtools/verify_hangul_pages.py233 except Exception:CODE
MEDIUMtools/verify_hangul_pages.py32def git_head() -> str:CODE
MEDIUMtools/verify_hangul_pages.py85def run(pairs, out_tsv, visible, use_pdf, resume=False) -> int:CODE
LOWtools/verify_pi_page_roundtrip.py54 except Exception:CODE
LOWtools/verify_pi_page_roundtrip.py71 except Exception as e: # noqa: BLE001CODE
MEDIUMtools/verify_pi_page_roundtrip.py47def git_head() -> str:CODE
LOWtools/hangul_row_heights2.py53 except Exception:CODE
LOWtools/hangul_row_heights2.py70 except Exception:CODE
LOWtools/build_page_oracle.py62 except Exception as e: # noqa: BLE001CODE
LOWtools/build_page_oracle.py68 except Exception:CODE
LOWtools/build_page_oracle.py80 except Exception:CODE
LOWtools/build_page_oracle.py85 except Exception:CODE
LOWtools/metric_drift_survey.py72 except Exception: # noqa: BLE001 — find_tables 개별 실패 격리CODE
LOWtools/metric_drift_survey.py181 except Exception as e: # noqa: BLE001 — 파일별 격리CODE
LOWtools/metric_drift_survey.py187 except Exception:CODE
LOWtools/metric_drift_survey.py242 except Exception:CODE
LOWtools/render_page_gate.py30 except Exception:CODE
LOWtools/probe_width_ladder.py43 except Exception:CODE
LOWtools/probe_width_ladder.py72 except Exception:CODE
LOWtools/verify_pi_page_vs_hangul.py61 except Exception:CODE
LOWtools/verify_pi_page_vs_hangul.py70 except Exception as e: # noqa: BLE001CODE
LOWtools/verify_pi_page_vs_hangul.py168 except Exception: # noqa: BLE001CODE
LOWtools/verify_pi_page_vs_hangul.py223 except Exception as e: # noqa: BLE001CODE
LOWtools/verify_pi_page_vs_hangul.py232 except Exception as e: # noqa: BLE001CODE
LOWtools/verify_pi_page_vs_hangul.py237 except Exception:CODE
LOWtools/verify_pi_page_vs_hangul.py260 except Exception: # noqa: BLE001CODE
LOWtools/verify_pi_page_vs_hangul.py266 except Exception as e: # noqa: BLE001CODE
LOWtools/verify_pi_page_vs_hangul.py272 except Exception:CODE
LOWtools/verify_pi_page_vs_hangul.py336 except Exception:CODE
LOWtools/verify_pi_page_vs_hangul.py340 except Exception:CODE
LOWtools/verify_pi_page_vs_hangul.py345 except Exception:CODE
MEDIUMtools/verify_pi_page_vs_hangul.py57def git_head() -> str:CODE
MEDIUMtools/object_visual_regression.py55def git_head() -> str:CODE
MEDIUMtools/object_visual_regression.py229def crop(png_by_page, obj, outdir, tag):CODE
LOWtools/object_visual_regression.py59 except Exception:CODE
LOWtools/object_visual_regression.py75 except Exception as e: # noqa: BLE001CODE
LOWtools/object_visual_regression.py212 except Exception: # noqa: BLE001CODE
LOWtools/object_visual_regression.py220 except Exception: # noqa: BLE001CODE
LOWtools/object_visual_regression.py123 except Exception: # noqa: BLE001CODE
LOWtools/object_visual_regression.py142 except Exception as e: # noqa: BLE001CODE
LOWtools/object_visual_regression.py176 except Exception as e: # noqa: BLE001CODE
LOWtools/object_visual_regression.py197 except Exception: # noqa: BLE001CODE
LOWtools/object_visual_regression.py248 except Exception: # noqa: BLE001CODE
LOWoutput/poc/task2019/capture_pages.py15 except Exception as e:CODE
MEDIUMoutput/poc/task2019/capture_pages.py10def pages(f):CODE
Verbosity Indicators18 hits · 35 pts
SeverityFileLineSnippetContext
LOWsrc/renderer/mod.rs469 // Step 1: (x1', y1') 계산COMMENT
LOWsrc/renderer/mod.rs475 // Step 2: 반지름 보정 (너무 작은 경우 확대)COMMENT
LOWsrc/renderer/mod.rs487 // Step 3: 중심점' (cx', cy') 계산COMMENT
LOWsrc/renderer/mod.rs495 // Step 4: 중심점 (cx, cy) 계산COMMENT
LOWsrc/renderer/mod.rs499 // Step 5: θ1 (시작 각도), dθ (호 각도) 계산COMMENT
LOWsrc/document_core/queries/doc_tree_nav.rs393 // Step 1: 현재 문단 내 탐색COMMENT
LOWsrc/document_core/queries/doc_tree_nav.rs639 // Step 2: 같은 컨테이너의 다음/이전 문단COMMENT
LOWsrc/document_core/queries/doc_tree_nav.rs712 // Step 3: 컨테이너 탈출COMMENT
LOWsrc/document_core/queries/doc_tree_nav.rs765 // Step 4: Body 수준 — 다음/이전 섹션COMMENT
LOWsrc/wasm_api/tests.rs8340 // Step 1: Re-serialize WITHOUT paste (just clear raw_stream)COMMENT
LOWsrc/wasm_api/tests.rs8349 // Step 2: Re-parse the saved fileCOMMENT
LOWsrc/wasm_api/tests.rs8361 // Step 3: Compare record countsCOMMENT
LOWsrc/wasm_api/tests.rs8416 // Step 4: Check that PARA_HEADER char_count matches PARA_TEXT existenceCOMMENT
LOWsrc/wasm_api/tests.rs8695 // Step 1: After parsingCOMMENT
LOWsrc/wasm_api/tests.rs8704 // Step 2: After convert_to_editableCOMMENT
LOWsrc/wasm_api/tests.rs8713 // Step 3: Export without pasteCOMMENT
LOWsrc/wasm_api/tests.rs8721 // Step 4: Paste simple tableCOMMENT
LOWsrc/wasm_api/tests.rs8736 // Step 5: Export after pasteCOMMENT
Unused Imports26 hits · 26 pts
SeverityFileLineSnippetContext
LOWtools/verify_hwpx.py14CODE
LOWtools/roundtrip_fidelity_harness.py26CODE
LOWtools/compare_line_baselines.py16CODE
LOWtools/hangul_pdf_baseline.py17CODE
LOWtools/hangul_pdf_baseline.py20CODE
LOWtools/verify_hangul_pages.py21CODE
LOWtools/verify_pi_page_roundtrip.py30CODE
LOWtools/hangul_row_heights2.py16CODE
LOWtools/build_page_oracle.py13CODE
LOWtools/metric_drift_survey.py23CODE
LOWtools/valign_offset_gate.py15CODE
LOWtools/render_page_gate.py8CODE
LOWtools/roundtrip_fidelity_diff.py17CODE
LOWtools/hangul_row_heights.py15CODE
LOWtools/clipping_gate.py17CODE
LOWtools/compare_page_bbox.py18CODE
LOWtools/verify_pi_page_vs_hangul.py41CODE
LOWtools/detect_table_clipping.py17CODE
LOWtools/detect_table_clipping.py20CODE
LOWtools/roundtrip_control_compare.py14CODE
LOWtools/verify_all.py10CODE
LOWtools/object_visual_regression.py23CODE
LOWscripts/task1363_ssot_diff.py18CODE
LOWscripts/visual_oracle_native.py30CODE
LOWscripts/renderer_baseline.py2CODE
LOWscripts/task1274_visual_sweep.py4CODE
Deep Nesting29 hits · 24 pts
SeverityFileLineSnippetContext
LOWtools/roundtrip_fidelity_harness.py90CODE
LOWtools/hangul_pdf_baseline.py32CODE
LOWtools/verify_hangul_pages.py85CODE
LOWtools/hangul_row_heights2.py30CODE
LOWtools/build_page_oracle.py23CODE
LOWtools/metric_drift_survey.py53CODE
LOWtools/metric_drift_survey.py137CODE
LOWtools/verify_pi_page_vs_hangul.py174CODE
LOWtools/patch_cell_flags.py26CODE
LOWtools/patch_cell_flags.py59CODE
LOWtools/reduction_potential.py48CODE
LOWtools/reduction_potential.py71CODE
LOWtools/reduction_potential.py110CODE
LOWtools/reduction_potential.py131CODE
LOWtools/object_visual_regression.py160CODE
LOWtools/object_visual_regression.py271CODE
LOW.claude/skills/rhwp-exam-ingest/helpers/extract_docx.py18CODE
LOWscripts/task1363_ssot_diff.py137CODE
LOWscripts/renderer_baseline.py309CODE
LOWscripts/renderer_baseline.py436CODE
LOWscripts/task1274_visual_sweep.py209CODE
LOWscripts/task1274_visual_sweep.py1184CODE
LOWscripts/task1274_visual_sweep.py1567CODE
LOWscripts/task1274_visual_sweep.py1628CODE
LOWscripts/task1274_visual_sweep.py1752CODE
LOWscripts/task1274_visual_sweep.py1821CODE
LOWscripts/task1274_visual_sweep.py2147CODE
LOWscripts/task1274_visual_sweep.py1574CODE
LOWscripts/task1274_visual_sweep.py1834CODE
Modern AI Meta-Vocabulary6 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUMmydocs/plans/archives/task_m100_484.md9- 이슈 #484 — 외부 binding (`rhwp-python`) 의 IR / RAG character run 정규화 hot path 에서 `char_shape.start_pos` (UTF-16 단위) 를 codCODE
MEDIUMmydocs/feedback/rag_hwp_strategy.md106### 6. HWP 파서 비교 (2026년 4월 기준, RAG 적합성 중심)COMMENT
MEDIUMmydocs/report/archives/rag_feature_analysis.md1# HWP RAG 전처리 요구사항 분석 및 rhwp 대응 방향COMMENT
MEDIUMmydocs/report/archives/rag_feature_analysis.md333### R6. RAG 프레임워크 직접 연동 (Python 인터페이스)COMMENT
MEDIUMmydocs/orders/20260510.md17| **PR #769 (Refs #536)** | render — improve Skia text replay parity (P9) | **완료 (옵션 A — P8 skip + P9 2 commits cherry-pCODE
MEDIUMmydocs/orders/20260413.md29| Discussion #114 | RAG 기능 아이디어 커뮤니티 게시 | 완료 | Ideas 카테고리 |CODE
Fake / Example Data8 hits · 10 pts
SeverityFileLineSnippetContext
LOWrhwp-studio/src/core/types.ts1141 type: 'placeholder';CODE
LOWrhwp-studio/src/view/canvaskit-renderer.ts323 case 'placeholder':CODE
LOWweb/index.html38 <p class="placeholder">HWP 파일을 선택하세요.</p>CODE
LOWweb/index.html45 <p class="placeholder">파일을 로드하면 SVG가 여기에 표시됩니다.</p>CODE
LOWweb/index.html51 <p class="placeholder" id="canvas-placeholder">파일을 로드하면 Canvas가 여기에 표시됩니다.</p>CODE
LOWweb/editor.html321 <p class="placeholder" id="editor-placeholder">HWP 파일을 선택하세요.</p>CODE
LOWsrc/renderer/canvaskit_policy.rs382 direct_item(path, "placeholder", CanvasKitReplayFeature::Placeholder);CODE
LOWsrc/renderer/canvaskit_policy.rs604 PaintOp::Placeholder { .. } => "placeholder",CODE
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMtests/issue_505.rs80 // 메트릭 변화에 robust. 결함 reverted 시 ratio=1.00 으로 떨어져 fail.COMMENT