psnc commited on
Commit
cb45c14
ยท
verified ยท
1 Parent(s): b68936d

Sync from GitHub Actions

Browse files
Files changed (1) hide show
  1. CLAUDE.md +7 -2
CLAUDE.md CHANGED
@@ -57,7 +57,7 @@ nbeats/
57
  โ”‚ โ””โ”€โ”€ ...
58
  โ”œโ”€โ”€ timesfm-frontend/ # TimesFM ์ „์šฉ Next.js ์•ฑ (Vercel ๋ฐฐํฌ)
59
  โ”œโ”€โ”€ test_data/ # ํ…Œ์ŠคํŠธ์šฉ CSV ๋ฐ์ดํ„ฐ์…‹
60
- โ”œโ”€โ”€ tests/ # ์ „์ฒด pytest ํ˜ธํ™˜ (79๊ฐœ, CI ๋ฐฐํฌ ๊ฒŒ์ดํŠธ๋กœ ์‹คํ–‰)
61
  โ”‚ โ”œโ”€โ”€ test_nbeats.py
62
  โ”‚ โ”œโ”€โ”€ test_auto_scaling.py
63
  โ”‚ โ”œโ”€โ”€ test_hybrid.py # ์•™์ƒ๋ธ” ๊ฐ€์ค‘์น˜ยท์ง‘๊ณ„ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ
@@ -255,7 +255,7 @@ python run_test.py
255
  **์ฃผ์š” ํ…Œ์ŠคํŠธ ํŒŒ์ผ:**
256
  - `tests/test_nbeats.py` โ€” N-BEATS ํ•™์Šตยท์˜ˆ์ธก (์†Œํ˜• ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์‹ค์ œ ํ•™์Šต)
257
  - `tests/test_auto_scaling.py` โ€” ์ž๋™ ํŒŒ๋ผ๋ฏธํ„ฐ ์กฐ์ • ๊ฒ€์ฆ (MASE < 2.0 ๊ธฐ๋Œ€๊ฐ’)
258
- - `tests/test_hybrid.py` โ€” ์•™์ƒ๋ธ” ๊ฐ€์ค‘์น˜ ์‚ฐ์ •ยท์ง‘๊ณ„ ๋กœ์ง
259
  - `tests/test_api_contract.py` โ€” API ์‘๋‹ต ํ˜•์‹ยท์—๋Ÿฌ ์ฝ”๋“œ ๊ณ„์•ฝ (๋ชจ๋ธ ํ•™์Šต ์—†์ด ๋น ๋ฆ„)
260
  - `tests/test_nonblocking_endpoints.py` โ€” ์˜ˆ์ธก ์‹คํ–‰ ์ค‘ ์ด๋ฒคํŠธ ๋ฃจํ”„ ๋…ผ๋ธ”๋กœํ‚น ๊ฒ€์ฆ
261
  - `tests/test_timesfm_horizon.py` โ€” TimesFM horizon ํ•œ๋„(256) ์ฒ˜๋ฆฌ
@@ -263,6 +263,11 @@ python run_test.py
263
  - `tests/test_data_service.py` โ€” ํŒŒ์ผ ํŒŒ์‹ฑ (์ธ์ฝ”๋”ฉ ํด๋ฐฑยท์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ๊ตฌ๋ถ„)
264
  - `tests/test_supply_chain_hardening.py` โ€” ๋ฐฐํฌ ๊ณต๊ธ‰๋ง ๋ฐฉ์–ด + ๋ฐฐํฌ ๊ฒฝ๋กœ ๊ฒŒ์ดํŠธ ๊ฒ€์ฆ
265
 
 
 
 
 
 
266
  ๋ณ€๊ฒฝ ๊ฒ€์ฆ(๋กœ์ปฌ ๊ธฐ๋™ยทUI ๊ตฌ๋™ ๋ ˆ์‹œํ”ผ)์€ `.claude/skills/verify/SKILL.md` ์ฐธ๊ณ .
267
 
268
  ---
 
57
  โ”‚ โ””โ”€โ”€ ...
58
  โ”œโ”€โ”€ timesfm-frontend/ # TimesFM ์ „์šฉ Next.js ์•ฑ (Vercel ๋ฐฐํฌ)
59
  โ”œโ”€โ”€ test_data/ # ํ…Œ์ŠคํŠธ์šฉ CSV ๋ฐ์ดํ„ฐ์…‹
60
+ โ”œโ”€โ”€ tests/ # ์ „์ฒด pytest ํ˜ธํ™˜ (92๊ฐœ, CI ๋ฐฐํฌ ๊ฒŒ์ดํŠธ๋กœ ์‹คํ–‰)
61
  โ”‚ โ”œโ”€โ”€ test_nbeats.py
62
  โ”‚ โ”œโ”€โ”€ test_auto_scaling.py
63
  โ”‚ โ”œโ”€โ”€ test_hybrid.py # ์•™์ƒ๋ธ” ๊ฐ€์ค‘์น˜ยท์ง‘๊ณ„ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ
 
255
  **์ฃผ์š” ํ…Œ์ŠคํŠธ ํŒŒ์ผ:**
256
  - `tests/test_nbeats.py` โ€” N-BEATS ํ•™์Šตยท์˜ˆ์ธก (์†Œํ˜• ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์‹ค์ œ ํ•™์Šต)
257
  - `tests/test_auto_scaling.py` โ€” ์ž๋™ ํŒŒ๋ผ๋ฏธํ„ฐ ์กฐ์ • ๊ฒ€์ฆ (MASE < 2.0 ๊ธฐ๋Œ€๊ฐ’)
258
+ - `tests/test_hybrid.py` โ€” ์•™์ƒ๋ธ” ๊ฐ€์ค‘์น˜ ์‚ฐ์ •ยท์ง‘๊ณ„ยท์ˆ˜๋™ ๊ฐ€์ค‘์น˜ ๊ฒ€์ฆ ๋กœ์ง
259
  - `tests/test_api_contract.py` โ€” API ์‘๋‹ต ํ˜•์‹ยท์—๋Ÿฌ ์ฝ”๋“œ ๊ณ„์•ฝ (๋ชจ๋ธ ํ•™์Šต ์—†์ด ๋น ๋ฆ„)
260
  - `tests/test_nonblocking_endpoints.py` โ€” ์˜ˆ์ธก ์‹คํ–‰ ์ค‘ ์ด๋ฒคํŠธ ๋ฃจํ”„ ๋…ผ๋ธ”๋กœํ‚น ๊ฒ€์ฆ
261
  - `tests/test_timesfm_horizon.py` โ€” TimesFM horizon ํ•œ๋„(256) ์ฒ˜๋ฆฌ
 
263
  - `tests/test_data_service.py` โ€” ํŒŒ์ผ ํŒŒ์‹ฑ (์ธ์ฝ”๋”ฉ ํด๋ฐฑยท์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ๊ตฌ๋ถ„)
264
  - `tests/test_supply_chain_hardening.py` โ€” ๋ฐฐํฌ ๊ณต๊ธ‰๋ง ๋ฐฉ์–ด + ๋ฐฐํฌ ๊ฒฝ๋กœ ๊ฒŒ์ดํŠธ ๊ฒ€์ฆ
265
 
266
+ **ํ…Œ์ŠคํŠธ ์ž‘์„ฑ ์ฃผ์˜:** `ensemble_service._MODEL_SEMAPHORE`๋Š” ๋ชจ๋“ˆ ์ „์—ญ์ด๋ผ ์ตœ์ดˆ
267
+ ๊ฒฝํ•ฉ ์‹œ ํ•ด๋‹น ์ด๋ฒคํŠธ ๋ฃจํ”„์— ๋ฐ”์ธ๋”ฉ๋œ๋‹ค. `asyncio.run`(์ƒˆ ๋ฃจํ”„)์œผ๋กœ
268
+ `run_ensemble_async`๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•˜๋Š” ํ…Œ์ŠคํŠธ๋Š” monkeypatch๋กœ ์ƒˆ Semaphore๋ฅผ
269
+ ์ฃผ์ž…ํ•ด์•ผ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์™€ ์ˆœ์„œ ์˜์กด ์ถฉ๋Œ์ด ์—†๋‹ค (test_hybrid.py `_isolate_semaphore` ์ฐธ๊ณ ).
270
+
271
  ๋ณ€๊ฒฝ ๊ฒ€์ฆ(๋กœ์ปฌ ๊ธฐ๋™ยทUI ๊ตฌ๋™ ๋ ˆ์‹œํ”ผ)์€ `.claude/skills/verify/SKILL.md` ์ฐธ๊ณ .
272
 
273
  ---