stem-bio-ai / docs /INSPECTION_REPORT_20260511.md
Codex
sync hf space snapshot
6a1cba7
|
Raw
History Blame
5.85 kB

STEM-BIO-AI ์ด์ค‘ ๊ฒ€์ˆ˜ ๋ณด๊ณ ์„œ

๋‚ ์งœ: 2026-05-11 | ๋ฒ„์ „: v1.6.8 โ†’ v1.7.0 ๊ธฐ๋ก ๊ธฐ์ค€ | ์ƒํƒœ: ํŒจ์น˜ ๋กœ๋“œ๋งต ํ™•์ • (2026-05-12)


๊ฒ€์ˆ˜ ๊ฒฐ๊ณผ ์š”์•ฝ

๊ฒ€์ˆ˜ ๋„๊ตฌ ํŒ์ • ํ•ต์‹ฌ ์ง€ํ‘œ
AI-SLOP-Detector v3.7.3 clean (exit 0) ๊ฒฐํ•จ ํŒŒ์ผ 4๊ฐœ / 97๊ฐœ, weighted deficit 19.38
SIDRCE SaaS 1.1.15 REVIEW (Grade A) Omega 0.7883 (inspect) / 0.9945 (pipeline-insight)

AI-SLOP-Detector โ€” ๊ฒฐํ•จ ํŒŒ์ผ 4๊ฐœ

์ˆœ์œ„ ํŒŒ์ผ Score ๋“ฑ๊ธ‰ ํ•ต์‹ฌ ํŒจํ„ด
1 stem_ai/detector_bio.py 72.12 critical_deficit 11-ํ•จ์ˆ˜ ํด๋ก  ํด๋Ÿฌ์Šคํ„ฐ, nested_complexity x4
2 stem_ai/detector_contract.py 63.93 inflated_signal nested_complexity x3 (์‹ ๊ทœ ์ž‘์„ฑ ํŒŒ์ผ)
3 stem_ai/cli.py 43.45 suspicious main cc=14, print ํ•จ์ˆ˜ 5๊ฐœ ํด๋ก 
4 stem_ai/advisory_contract.py 39.52 suspicious 8-ํ•จ์ˆ˜ ํด๋ก  ํด๋Ÿฌ์Šคํ„ฐ

CRITICAL ๋ฐœ๊ฒฌ ์ƒ์„ธ

detector_bio.py (score 72.12)

  • function_clone_cluster: _looks_like_smiles, _is_obviously_not_smiles, _smiles_context_permits, _is_strong_smiles_variable, _smiles_issues, _stmt_sets_mock_behavior ๋“ฑ 11๊ฐœ ํ•จ์ˆ˜ AST JSD < 0.05
  • nested_complexity x4:
    • _collect_silent_mock_findings (L260, depth=4, cc=14)
    • _smiles_context_permits (L513, depth=4, cc=13)
    • _stmt_sets_mock_behavior (L624, depth=5, cc=12)
    • _run_trace_metadata (L648, depth=5, cc=13)

detector_contract.py (score 63.93) โ€” ์‹ ๊ทœ ์ž‘์„ฑ ํŒŒ์ผ

  • _readme_claimed_names (L137): depth=8 โ€” ํ”„๋กœ์ ํŠธ ์ „์ฒด ์ตœ์•… ์ค‘์ฒฉ ๊นŠ์ด
  • _detect_clinical_zero_default (L44): depth=4, cc=16
  • _extract_package_all (L115): depth=5, cc=12

advisory_contract.py (score 39.52)

  • function_clone_cluster: cited_finding_ids, _prohibited_claims, _missing_citation_items, _validate_item_list, _offline_reviewer_notes, _offline_inspection_priorities ๋“ฑ 8๊ฐœ ํด๋ก 

cli.py (score 43.45)

  • main (L717): depth=5, cc=14
  • function_clone_cluster: _print_full_summary, _print_policy_simulate ๋“ฑ print ํ•จ์ˆ˜ 5๊ฐœ

๊ณตํ†ต ํŒจํ„ด

Pattern ID Axis Severity ๊ฑด์ˆ˜
nested_complexity quality CRITICAL 10
function_clone_cluster structure CRITICAL 3
god_function style high 22
deep_nesting style high 8
phantom_import quality medium 2 (rdkit, detector_bio.py L826/L837)
lint_escape quality medium 3

SIDRCE SaaS โ€” ์ฐจ์›๋ณ„ ์ ์ˆ˜

์ฐจ์› ๊ธฐํ˜ธ ๊ฐ€์ค‘์น˜ pipeline-insight ์ ์ˆ˜
Integrity Sigma 0.30 0.9946
Purity Pi 0.25 1.0000
Stability Delta 0.25 1.0000
Coherence Gamma 0.20 0.9806
Omega Omega โ€” 0.9945
  • inspect ๋ชจ๋“œ Omega: 0.7883 (10ํŒŒ์ผ ์ƒ˜ํ”Œ, entropy avg 4.24bit โ†’ Delta ์–ต์ œ)
  • pipeline-insight 97ํŒŒ์ผ ๊ธฐ์ค€ ์‹ค์งˆ ํ’ˆ์งˆ: 0.9945 (A+ ์ˆ˜์ค€)
  • ๋ฆฌ์Šคํฌ ํŒŒ์ผ 1๊ฐœ: tmp/backend_build/build_backend.py (DDC=0.50, tmp ๊ฒฝ๋กœ)
  • 24/30 ํŒŒ์ผ "inconsistent entropy" (๋ชจ๋“ˆ ์„ฑ๊ฒฉ ๋‹ค์–‘์„ฑ์œผ๋กœ ํŒ๋‹จ)
  • vulture ๋ฏธ์„ค์น˜ โ€” dead code ์Šค์บ” ๋ฏธ์™„์„ฑ

๊ต์ฐจ ํ™•์ธ โ€” ๋‘ ๋„๊ตฌ ์ผ์น˜ ํ•ญ๋ชฉ

์ด์Šˆ SLOP ํŒ์ • SIDRCE ์˜ํ–ฅ
detector_contract.py ๊ตฌ์กฐ ๋ณต์žก๋„ CRITICAL (depth=8) Gamma ๊ฐ์‚ฐ ์š”์ธ
detector_bio.py ํด๋ก  ํด๋Ÿฌ์Šคํ„ฐ CRITICAL ์—”ํŠธ๋กœํ”ผ ํŒจํ„ด ์ด์ƒ
tmp/ ๋””๋ ‰ํ† ๋ฆฌ ์˜ค์—ผ 97โ†’35 ํŒŒ์ผ ๋ถ€ํ’€๋ฆผ DDC ๋ฆฌ์Šคํฌ ํŒŒ์ผ ์›์ธ

v1.7.0 ์ดํ›„ ์ƒํƒœ

detector_contract.py๋Š” v1.7.0์—์„œ ์‹ ๊ทœ ์ž‘์„ฑ๋˜์–ด CC-1/CC-2/CC-3 ํƒ์ง€๊ฐ€ ๋™์ž‘ํ•˜์ง€๋งŒ, ๊ฒ€์ˆ˜์—์„œ ์ง€์ ๋œ ๊ตฌ์กฐ์  ๋ณต์žก๋„ ๋ฌธ์ œ๋Š” ๋ฏธํ•ด๊ฒฐ ์ƒํƒœ๋กœ ๋‹ค์Œ ํŒจ์น˜์— ์ด๊ด€.


ํŒจ์น˜ ๋กœ๋“œ๋งต

v1.7.1 โ€” ๊ตฌ์กฐ ๋ถ€์ฑ„ 1์ฐจ ํ•ด์†Œ (P0) โ€” DONE 2026-05-12

๋Œ€์ƒ: stem_ai/detector_contract.py (commit 22af1f8)

ํ•จ์ˆ˜ ํ˜„ํ™ฉ ์กฐ์น˜ ๊ฒฐ๊ณผ
_readme_claimed_names depth=8 _flush_code_block() ํ—ฌํผ ์ถ”์ถœ depth 8โ†’3
_detect_clinical_zero_default cc=16 _collect_candidate_pairs() ์ถ”์ถœ cc ~4
_extract_package_all depth=5, cc=12 _parse_all_assign() ์ถ”์ถœ depth 5โ†’2

๋Œ€์ƒ: ์„ค์ • .slopconfig.yaml ์‹ ๊ทœ โ€” tmp/, build/, dist/ ์ œ์™ธ

137/137 tests pass

v1.7.2 โ€” ํด๋ก  ํด๋Ÿฌ์Šคํ„ฐ ํ•ด์†Œ (P1)

๋Œ€์ƒ: stem_ai/detector_bio.py

์ด์Šˆ ํ˜„ํ™ฉ ์กฐ์น˜
SMILES ํ•จ์ˆ˜ ํด๋ก  11๊ฐœ AST JSD < 0.05 (๊ฑฐ์˜ ๋™์ผ) _SMILES_RULES: list[tuple[str, Callable]] dispatch table๋กœ ํ†ตํ•ฉ, _apply_smiles_rule() ๋‹จ์ผ ์‹คํ–‰๊ธฐ
nested_complexity x4 _collect_silent_mock_findings cc=14 ๋“ฑ ์กฐ๊ฑด ๋ถ„๊ธฐ โ†’ ์ „๋žต ํ•จ์ˆ˜ ์ถ”์ถœ

๋Œ€์ƒ: pyproject.toml

[project.optional-dependencies]
bio = ["rdkit>=2023.3"]

rdkit phantom import โ†’ optional dep ์„ ์–ธ + try/except ImportError ๊ฐ€๋“œ๋กœ ๊ต์ฒด

v1.7.3 โ€” ์ฝ”๋“œ ์œ„์ƒ ์™„์„ฑ (P2)

ํ•ญ๋ชฉ ์กฐ์น˜
cli.py main cc=14 _handle_scan_cmd(), _handle_policy_cmd() ๋“ฑ ์„œ๋ธŒํ•ธ๋“ค๋Ÿฌ ์ถ”์ถœ
print ํ•จ์ˆ˜ 5๊ฐœ ํด๋ก  _print_section(title, rows) ๊ณตํ†ต ๋ Œ๋”๋Ÿฌ ํ†ตํ•ฉ
advisory_contract.py 8-ํ•จ์ˆ˜ ํด๋ก  ๊ณตํ†ต _validate_list_field(key, items, rules) ์ถ”์ถœ
vulture ์„ค์น˜ pip install vulture + scripts/dead_code_check.sh ์ถ”๊ฐ€

๊ฒ€์ˆ˜ ๋„๊ตฌ ์žฌ์‹คํ–‰ ๊ธฐ์ค€

๋ฒ„์ „ ๊ธฐ๋Œ€ ๋ชฉํ‘œ
v1.7.1 detector_contract.py slop score โ‰ค 30 (ํ˜„ 63.93)
v1.7.2 detector_bio.py slop score โ‰ค 35 (ํ˜„ 72.12)
v1.7.3 SIDRCE Omega โ‰ฅ 0.85 in inspect ๋ชจ๋“œ (ํ˜„ 0.7883)

AI-SLOP-Detector v3.7.3 + SIDRCE SaaS 1.1.15 | Flamehaven Research | 2026-05-11 ํŒจ์น˜ ๋กœ๋“œ๋งต ํ™•์ •: 2026-05-12