diff --git a/memory/org/MEMORY.md b/memory/org/MEMORY.md index d59824a..d4d7c10 100644 --- a/memory/org/MEMORY.md +++ b/memory/org/MEMORY.md @@ -64,3 +64,4 @@ - [๐Ÿ›๏ธ ์„ธ์…˜ ๋น„๋Œ€ โ†’ 403 ์‚ฌ๋งยท์„ธ์…˜ ์ˆ˜๋ช… ๊ธฐ์ค€](feedback_session_lifetime_bloat_403.md) โ€” 2026-08-21 BT14. ์Šคํฌ๋ฆฐ์ƒท 116์žฅ โ†’ ์„ธ์…˜ 30MB โ†’ 403 socket closed ์‚ฌ๋ง ์‹ค์ธก. C14-7(ํ…์ŠคํŠธ ์‹ค์ธก ์šฐ์„ ยทํ—ˆ์šฉ 3์ข…) + C40 ์„ธ์…˜ ์ˆ˜๋ช…(10MB/30์žฅ/๋Š๊น€/์••์ถ• โ†’ ์ „ํ™˜ ๊ถŒ๊ณ ) + session_health.sh ์ž๋™ ์‹ค์ธก. ๋‘ PC ๋ณ‘ํ–‰ ๋™์‹œ ์„ธ์…˜ ๊ธˆ์ง€. NerdNavis C50-6ยทC55 ์ด์‹ - [๐Ÿ›๏ธ ๋„๊ตฌ ์ž๋™์Šน์ธ ๋ฐ˜๋ณต ํ”„๋กฌํ”„ํŠธ = auto_approve.py hook ๋ˆ„๋ฝ](feedback_tool_approval_hook_gap.md) โ€” 2026-08-21 BT13. PD ๋ฐ˜๋ณต ์ง€์ . ๊ทผ๋ณธ = auto_approve.py๊ฐ€ ToolSearch๋ฅผ allow ๋ˆ„๋ฝโ†’ask ํด๋ฐฑ(์ง€์—ฐ๋กœ๋“œ ๋„๊ตฌ๋งˆ๋‹ค ํ”„๋กฌํ”„ํŠธ). ์ง€๋‚œ ์„ธ์…˜ "์žฌ์‹œ์ž‘ ํ•„์š”" ์˜ค์ง„๋‹จ. hook์€ ๋งค ํ˜ธ์ถœ ์žฌ์‹คํ–‰โ†’์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ • ์ฆ‰์‹œ ๋ฐ˜์˜. ๋ฐ˜๋ณต ์ง€์ =1์ฐจ ์ง„๋‹จ ๋ถˆ์™„์ „ ์‹ ํ˜ธ - [๐Ÿ›๏ธ PD "๊ทธ๋Œ€๋กœ ์ด์‹" ์ง€์‹œ๋ฅผ ์กฐ์ง์ด ์Šค์ผ€์ผ ์žฌ์กฐ์ •์œผ๋กœ ์ž„์˜ ๋ณ€๊ฒฝ](feedback_pd_directive_altered_to_rescale.md) โ€” 2026-08-22 BT13 PD ํ”Œ๋ ˆ์ด ์‹ค์ธก ์ ๋ฐœ. ๊ณต๊ฒฉ๋ ฅ ์ •์•ก์ถ• ๋ˆ„๋ฝยท๋ฐฐ์œจ ์ถ•์†Œ๋กœ ์›์ž‘ ์ดํƒˆ. PD ยง6-D "์ฆ๊ฐ€๋Ÿ‰ ๋ชจ๋‘ ๊ทธ๋Œ€๋กœ ์ด์‹"์„ ์กฐ์ง์ด "๊ตฌ์กฐ๋Š” ์›์ž‘ยท์ˆ˜์น˜ ์žฌ์กฐ์ •"์œผ๋กœ ๋ณ€๊ฒฝยทPD ์žฌํ™•์ธ ๋ˆ„๋ฝ=C36. ์›์ž‘ ๊ทธ๋Œ€๋กœ ์ง€์‹œ ์‹œ ์ž„์˜ ์žฌ์กฐ์ • ๊ธˆ์ง€ยท๋ถ€์ ํ•ฉ ์šฐ๋ ค๋Š” ๊ณ ์ง€ ํ›„ PD ๊ฒฐ์ •(C2-4) +- [๐Ÿ›๏ธ ์ƒ์  ๋…ธ์ถœ ๊ฒ€์ฆ = ํ•„ํ„ฐ+์†Œ์Šค(TabKeys) ์–‘์ชฝ](feedback_shop_exposure_filter_source_both.md) โ€” 2026-08-22 BT13. ๊ณต๊ฒฉ๋ ฅ 2์ธต ์ •์•ก attack ํŠธ๋ž™์ด ConsumedUpgradeKeys(์†Œ๋น„)์—” ์žˆ์œผ๋‚˜ TabKeys(์ƒ์  ๋…ธ์ถœ ์†Œ์Šค)์—” ์—†์–ด ํ”Œ๋ ˆ์ด์–ด ๋ฏธ๋„๋‹ฌ. "์‚ฌ์ดํด ์™„๋ฃŒ" ๋ณด๊ณ ์— ๊ตฌ๋ฉยทplan-auditor v2๋„ ํ•„ํ„ฐ๋งŒ ํ™•์ธ. ์™„๋ฃŒ ํŒ์ •=์ฝ”๋“œ์†Œ๋น„+UI ๋„๋‹ฌ๊ฒฝ๋กœ ์–‘์ชฝ ์‹ค์ธกยท์ƒ์ ๊ฒ€์ฆ=์†Œ์Šคโˆฉํ•„ํ„ฐยทTabKeys ์ž๋™๊ต์ฐจ๊ฒ€์ฆ ํŽธ์ž…(C2) diff --git a/memory/org/feedback_shop_exposure_filter_source_both.md b/memory/org/feedback_shop_exposure_filter_source_both.md new file mode 100644 index 0000000..279cfc5 --- /dev/null +++ b/memory/org/feedback_shop_exposure_filter_source_both.md @@ -0,0 +1,18 @@ +--- +name: shop-exposure-filter-source-both +description: ์ƒ์  ๋…ธ์ถœ ๊ฒ€์ฆ์€ ์†Œ๋น„ ๋ชฉ๋ก(ํ•„ํ„ฐ)๋งŒ์ด ์•„๋‹ˆ๋ผ ๋…ธ์ถœ ์†Œ์Šค(TabKeys)๊นŒ์ง€ ์–‘์ชฝ ํ™•์ธ ํ•„์ˆ˜ โ€” attack ์ •์•ก ํŠธ๋ž™์ด ์†Œ๋น„Oยท์ƒ์ X๋กœ ํ”Œ๋ ˆ์ด์–ด ๋ฏธ๋„๋‹ฌํ•œ ์‹ค์‚ฌ๋ก€ (2026-08-22 P3-A์—์„œ ๋ฐœ๊ฒฌ) +metadata: + type: feedback +--- + +# ์ƒ์  ๋…ธ์ถœ ๊ฒ€์ฆ = ํ•„ํ„ฐ(ConsumedUpgradeKeys) + ์†Œ์Šค(TabKeys) ์–‘์ชฝ (2026-08-22 BT13) + +**๋ฐœ๊ฒฌ**: GodDem ๊ณต๊ฒฉ๋ ฅ 2์ธต ๋ณต์›(`26ff655`, "์‚ฌ์ดํด ์™„๋ฃŒ"๋กœ PD ๋ณด๊ณ ํ•จ)์˜ ์ •์•ก `attack` ํŠธ๋ž™์ด `SurvivalBattleManager`๋Š” `t.Total("attack")`๋กœ ์†Œ๋น„ํ•˜๊ณ  `ConsumedUpgradeKeys`์—๋„ ๋“ฑ์žฌ๋์œผ๋‚˜, **`SurvivalUIController` TabKeys(์ƒ์  ํƒญ ๋ฐฐ์—ด) ์–ด๋””์—๋„ ์—†์–ด ์ƒ์  ๋ฒ„ํŠผ์ด ์•ˆ ๋œธ โ†’ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์‚ด ์ˆ˜ ์—†์Œ โ†’ 2์ธต ๋ณต์›์ด ์‹ค์ œ๋กœ๋Š” ๋ฏธ๋„๋‹ฌ**. plan-auditor v2๋„ PM ์™„๋ฃŒ๋ณด๊ณ ๋„ `ConsumedUpgradeKeys.Contains("attack")=True`(ํ•„ํ„ฐ)๋งŒ ํ™•์ธํ•˜๊ณ  TabKeys(๋…ธ์ถœ ์†Œ์Šค)๋ฅผ ์•ˆ ๋ดค๋‹ค. penetrate ํ•จ์ •(์ƒ์ Oยท์†Œ๋น„Xยท๊ณจ๋“œ๋‚ญ๋น„)์˜ ์ •ํ™•ํ•œ ์—ญ์ƒ(์†Œ๋น„Oยท์ƒ์ Xยท๋„๋‹ฌ๋ถˆ๊ฐ€). + +**Why**: ์ƒ์  ๋…ธ์ถœ์€ 2๋‹จ ๊ตฌ์กฐ โ€” **TabKeys(์†Œ์Šค)๊ฐ€ ํŠธ๋ž™์„ ์ˆœํšŒ ํŠธ๋ฆฌ๊ฑฐ**ํ•˜๊ณ  `ConsumedUpgradeKeys`(ํ•„ํ„ฐ)๊ฐ€ ๊ทธ์ค‘ ๋ฌดํšจ ํ‚ค๋ฅผ ๊ฑฐ๋ฅธ๋‹ค. ํ•„ํ„ฐ๋งŒ ํ™•์ธํ•˜๋ฉด "์†Œ์Šค์— ์—†์–ด ์• ์ดˆ์— ์ˆœํšŒ ์•ˆ ๋˜๋Š”" ํŠธ๋ž™์„ ๋ชป ์žก๋Š”๋‹ค. ์ˆ˜๋™ ๋™๊ธฐํ™” ๋ฆฌ์ŠคํŠธ๊ฐ€ 4๊ฐœ(CSVยทConsumedUpgradeKeysยทStatCatalogยทTabKeys)์ธ๋ฐ ์ž๋™ ๊ต์ฐจ๊ฒ€์ฆ(ValidateUpgradeCoverage)์€ 3๊ฐœ๊นŒ์ง€๋งŒ ์ปค๋ฒ„ โ†’ TabKeys๊ฐ€ ๊ฐ์‹œ ๋ฐ– 4๋ฒˆ์งธ ๋ฆฌ์ŠคํŠธ์˜€๋‹ค. + +**How to apply**: +1. ๊ธฐ๋Šฅ "์™„๋ฃŒ" ํŒ์ • = ์ฝ”๋“œ ์†Œ๋น„ ๋กœ์ง๋ฟ ์•„๋‹ˆ๋ผ **ํ”Œ๋ ˆ์ด์–ด ์‹ค์ œ ๋„๋‹ฌ ๊ฒฝ๋กœ(UI ๋…ธ์ถœยท๋ฒ„ํŠผ ์กด์žฌ)๊นŒ์ง€ ์‹ค์ธก** โ€” Play๋กœ ํ™”๋ฉด์— ๋œจ๋Š”์ง€ ํ™•์ธ. "์ฝ”๋“œ๊ฐ€ ์†Œ๋น„ํ•˜๋‹ˆ ๋๋‹ค"๋Š” ๋ฏธ๋„๋‹ฌ์„ ๋†“์นœ๋‹ค +2. ์ƒ์ /๊ฐ•ํ™” ํŠธ๋ž™ ๊ฒ€์ฆ = **TabKeys(์†Œ์Šค) โˆฉ ConsumedUpgradeKeys(ํ•„ํ„ฐ) ์–‘์ชฝ** ๊ต์ฐจ. ํ•œ์ชฝ๋งŒ = ๊ฒ€์ฆ ๋ˆ„๋ฝ +3. ๊ทผ๋ณธ ์žฌ๋ฐœ๋ฐฉ์ง€(C2): TabKeys๋ฅผ ์ž๋™ ๊ต์ฐจ๊ฒ€์ฆ(ValidateUpgradeCoverage)์— ํŽธ์ž… โ€” ์ˆ˜๋™ ๋ฆฌ์ŠคํŠธ 4๊ฐœ๋ฅผ ์ฝ”๋“œ๊ฐ€ ํ•œ ๊ณณ์—์„œ ๋Œ€์กฐํ•˜๊ฒŒ +4. ๊ด€๋ จ: [[feedback_pm_image_verification_skip]] (์‹ค์ธก ๋„๋‹ฌ ํ™•์ธ) ยท C3 ์€ํ ๊ธˆ์ง€(๊ฐœ๋ฐœํŒ€์žฅ ์ž์ง„ ํ‘œ๋ฉดํ™”๊ฐ€ ์ด ๊ฒฐํ•จ์„ P3-A์—์„œ ์žก์Œ) diff --git a/๊ณต์œ /๋Œ€ํ™”๋กœ๊ทธ/GodDem/2026-08-22.md b/๊ณต์œ /๋Œ€ํ™”๋กœ๊ทธ/GodDem/2026-08-22.md index 0f8fd9a..2f4f2f1 100644 --- a/๊ณต์œ /๋Œ€ํ™”๋กœ๊ทธ/GodDem/2026-08-22.md +++ b/๊ณต์œ /๋Œ€ํ™”๋กœ๊ทธ/GodDem/2026-08-22.md @@ -123,3 +123,19 @@ - **P3 ์ฐฉ์ˆ˜**: ๊ฐœ๋ฐœํŒ€์žฅ P3-A ๋Šฅ๋ ฅ์น˜ 18์ข… ์ฒด๊ณ„ ์ •๋ฆฌ (์ง„ํ–‰์ค‘) โ€” โ‘ penetrate_ratio ์ด๊ด€(์ธ๊ฒŒ์ž„ ๊ฐ•ํ™” 13โ†’12ยท๋งˆ์Šคํ„ฐ๋ฆฌโ‘ค ๋“ฑ์žฌ) โ‘กele_hurt_addยทele_penetrate_ratio 2์ข… ์ตœ์ข… ์ธต ์žฌ์ถ”์ถœ ํ™•์ • โ‘ข๋Šฅ๋ ฅ์น˜ 18์ข… ์ •์˜ยท๋ถ„๋ฅ˜ ์ •๋ฆฌ(์‹ ๊ทœ 6์ข… ํš๋“ ๋กœ์ง์€ ํ›„์† B๋‹จ๊ณ„). ์†Œ~์ค‘ ๊ทœ๋ชจยทele ์†Œ๊ทœ๋ชจ ์žฌ์ถ”์ถœ ํฌํ•จ - **ํ›„์† ์ˆœ์„œ**(๋ฉ”ํƒ€์•„ํ‚คํ…์ฒ˜ v1 ยงP3 ๊ถŒ๊ณ ): P3-Aโ†’B1(๋ ˆ๋ฒจ+์Šน๊ธ‰)โ†’B2(์žฅ๋น„, ์žฌ๋Œ€์กฐ ์„ ํ–‰)โ†’B4(์Šคํ‚ฌ)โ†’B3(๊ฐ€์ฑ , PD ์ •์ฑ… ํ™•์ธ) + P3-C(์Šคํ…Œ์ด์ง€, ๋ณ‘๋ ฌ ๊ฐ€๋Šฅ). ๊ฐ ๋‹จ๊ณ„ C50 ์Šน์ธยทplan-auditor ๊ฒ€์ฆ - **์„ธ์…˜ ์‹ค์ธก ์ •์ •(C44ยทC5)**: ์•ž์„œ PM์ด "์„ธ์…˜ ๊ทน์žฅ๊ธฐ๋ผ ์ •๋ฆฌ ๊ถŒ๊ณ " ์ œ์‹œํ–ˆ์œผ๋‚˜ `session_health` ์‹ค์ธก ๊ฒฐ๊ณผ ์„ธ์…˜ ํŒŒ์ผ 3MBยท์ด๋ฏธ์ง€ 0์žฅ(C40 ๊ธฐ์ค€ 10MB/30์žฅ ๋Œ€๋น„ ๊ฑด๊ฐ•) โ€” C14-7 ์Šคํฌ๋ฆฐ์ƒท ์ตœ์†Œํ™” ํšจ๊ณผ๋กœ ๋น„๋Œ€ํ™” ์—†์Œ. ์ •๋ฆฌ ๋ถˆ์š”ยทํ˜„ ์„ธ์…˜ ์ง„ํ–‰ ์ •ํ•ฉ ํ™•์ธ + +## 26. P3-A ๋Šฅ๋ ฅ์น˜ ์ •๋ฆฌ โ€” ์™„๋ฃŒ(๋ฏธ์ปค๋ฐ‹) + attack ํœด๋ฉดํŠธ๋ž™ ๊ฒฐํ•จ ๋ฐœ๊ฒฌ (๊ฐœ๋ฐœํŒ€์žฅ) + +- **P3-A 3์ž‘์—… ์™„๋ฃŒ** (๋ฏธ์ปค๋ฐ‹ โ€” plan-auditor ๊ฒ€์ฆ ๋Œ€๊ธฐ, GodDem ์ปค๋ฐ‹ ๊ด€๋ก€): โ‘ penetrate_ratio ์ด๊ด€(SurvivalUpgrade.csv 13โ†’12ยทSurvivalMetaSkillMastery.csv ์‹ ๊ทœ `mastery_penetrate_ratio` 0.01~0.06ยท์ƒ์  penetrate ๋ฌธ์ž์—ด ์ œ๊ฑฐยทConsumedUpgradeKeys ๋ฌด๋ณ€๊ฒฝ) โ‘ก**ele 2์ข… ์ธต โ‘ฃโ†’โ‘ค ํ™•์ •**(์žฌ์ถ”์ถœ ์‹ค์ธก โ€” heroequipmentskill 21์ข…์— ele ๋ฏธํฌํ•จ โ†’ โ‘ฃ๊ฐ€์ฑ  ๊ทผ๊ฑฐ "27-res6=21 ์šฐ์—ฐ" ๋ฐ˜์ฆ โ†’ โ‘ค๋งˆ์Šคํ„ฐ๋ฆฌ ํ™•์ •. **์ •์ง ํ•œ๊ณ„**: โ‘ฃ๊ธฐ๊ฐ+์ž”์—ฌ์ธต+์˜๋ฏธ๋ก ์ด์ง€ ์›์ž‘ โ‘ค positive ์‚ฌ์šฉ ๊ทผ๊ฑฐ ์•„๋‹˜, ์›์ž‘๋„ ele ๋ฏธ์‚ฌ์šฉ ๊ฐœ์—ฐ) โ‘ขSurvivalStatCatalog.cs 18์ข… SOT ์‹ ์„ค(ํš๋“ ๋กœ์ง์€ P3-B ์œ ์˜ˆ). ์ปดํŒŒ์ผ 0์—๋Ÿฌ +- **โ˜… C3 ๊ฒฐํ•จ ๋ฐœ๊ฒฌ (์ง์ „ 26ff655ยทPM ์™„๋ฃŒ๋ณด๊ณ ์˜ ๊ตฌ๋ฉ)**: ๊ณต๊ฒฉ๋ ฅ 2์ธต ๋ณต์›์˜ **์ •์•ก `attack` ํŠธ๋ž™์ด ์ƒ์  ๋„๋‹ฌ ๋ถˆ๊ฐ€** โ€” `SurvivalBattleManager:202` `t.Total("attack")` ์†Œ๋น„ํ•˜๋‚˜ `SurvivalUIController` TabKeys ๊ณต๊ฒฉํƒญ์— "attack" ๋ฏธํฌํ•จ โ†’ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์‚ด ์ˆ˜ ์—†์Œ. **2์ธต ๋ณต์›์ด ์‹ค์ œ๋กœ๋Š” ๋ฏธ๋„๋‹ฌ**. penetrate ํ•จ์ •(์ƒ์ Oยท์†Œ๋น„X)์˜ ์—ญ์ƒ(์†Œ๋น„Oยท์ƒ์ X). plan-auditor v2๊ฐ€ ConsumedUpgradeKeys Contains=True๋งŒ ๋ณด๊ณ  UI TabKeys ๋ฏธํ™•์ธยทPM "์‚ฌ์ดํด ์™„๋ฃŒ" ๋ณด๊ณ ์— ๊ตฌ๋ฉ. C3 ์€ํ ์—†์ด ํ‘œ๋ฉดํ™”(๊ฐœ๋ฐœํŒ€์žฅ ์ž์ง„) +- **๊ฒ€์ฆ ์ฐฉ์ˆ˜**: plan-auditor P3-A 4ํ•ญ + attack ๊ฒฐํ•จ ์‹ค์ธกยท์ˆ˜์ •๋ฒ”์œ„ (์ง„ํ–‰์ค‘). ํ†ต๊ณผ ์‹œ ๊ฐœ๋ฐœํŒ€์žฅ P3-A ์ปค๋ฐ‹ + attack TabKeys ์ˆ˜์ • ์ผ๊ด„ +- **P3-B ์กฐ๊ฑด ๊ฐฑ์‹ **: ele 2์ข… โ†’ โ‘ค(P3-B4) ํ™•์ • ์ด๋™ โ†’ ๊ฐ€์ฑ (P3-B3) ์‹ ๊ทœ์Šคํƒฏ hit/stun/retaliate/combo 4์ข…์œผ๋กœ ์ถ•์†Œ. ๋ฉ”ํƒ€์•„ํ‚คํ…์ฒ˜ ยง2-2 ๐ŸŸกโ‘ฃ์ž ์ • ํ•ด์†Œ๋ถ„ ๋ฌธ์„œ ๊ฐฑ์‹  ํ›„์† + +## 27. plan-auditor P3-A ๊ฒ€์ฆ โ€” ์กฐ๊ฑด๋ถ€ ํ†ต๊ณผ + attack ๊ฒฐํ•จ ํ™•์ • (2026-08-22) + +- **ํŒ์ •: ์กฐ๊ฑด๋ถ€ ํ†ต๊ณผ.** P3-A ๋กœ์ง ์ •ํ•ฉ + attack ํœด๋ฉด ๊ฒฐํ•จ ์ง„๋‹จยท์ˆ˜์ •์•ˆ ์ •ํ™•. 5ํ•ญ [์ฃผ์žฅโ†’์‹ค์ธกโ†’ํŒ์ •]: + - โ‘ penetrate ์ด๊ด€ ํ†ต๊ณผ(CSV 12ํŠธ๋ž™ยท๋งˆ์Šคํ„ฐ๋ฆฌ carryยทValidateUpgradeCoverage ๊ฒฝ๊ณ 0) โ‘กele โ‘ฃโ†’โ‘ค ํ†ต๊ณผ(์ •์ง ํ•œ๊ณ„ ์ •ํ™• ๋ช…๊ธฐ โ€” ์›์ž‘ positive ์‚ฌ์šฉ ๊ทผ๊ฑฐ ์•„๋‹˜ ํ‘œ๊ธฐ C5ยทC23ยทC44 ์ •ํ•ฉ) โ‘ขStatCatalog 19์—”ํŠธ๋ฆฌ ํ†ต๊ณผ(๋‹จ Minor: IngameStatKeys dead codeยท์ฃผ์„ ํ—ˆ์œ„) + - โ‘ฃ**โ˜… attack ํœด๋ฉด ๊ฒฐํ•จ ํ™•์ •**: `SurvivalBattleManager:202` ์†Œ๋น„+ConsumedUpgradeKeysโˆˆ์ด๋‚˜ `SurvivalUIController` TabKeys 3ํƒญ ๋ฏธํฌํ•จ โ†’ SwitchTab์ด TabKeys[tab]๋งŒ ์ˆœํšŒโ†’attack ์ˆœํšŒ ์•ˆ ๋จโ†’BuildRow ๋ฏธํ˜ธ์ถœโ†’์ƒ์  ๋ฏธ๋…ธ์ถœ ํ™•์ •. **TabKeys=๊ฐ์‹œ ๋ฐ– 4๋ฒˆ์งธ ๋ฆฌ์ŠคํŠธ**(ValidateUpgradeCoverageยทStatCatalog ๊ต์ฐจ๊ฒ€์ฆ ๋ชจ๋‘ ๋ฏธํฌ์ฐฉ). plan-auditor v2 ๋ˆ„๋ฝ ์ž์ธ(ํ•„ํ„ฐ๋งŒยท์†Œ์Šค ๋ฏธํ™•์ธ). ์ˆ˜์ •=TabKeys[0]์— "attack" ์ถ”๊ฐ€ โ‘ค์ปดํŒŒ์ผ Unity ๋ฏธ์‹ค์ธก(๊ธˆ์ง€)โ†’๊ฐœ๋ฐœํŒ€์žฅ ํ™•์ธยทchurn ๊ฒฉ๋ฆฌ ํ•„์ˆ˜ +- **๊ฐœ๋ฐœํŒ€์žฅ ์ง‘ํ–‰ ์ง€์‹œ(SendMessage ์žฌ๊ฐœ)**: attack ์ˆ˜์ •+P3-A ์ปค๋ฐ‹ 6ํŒŒ์ผ+churn ๊ฒฉ๋ฆฌ+์ปดํŒŒ์ผ ์‹ค์ธก+Minor ์ •์ •+Play ์‹ค์ธก. ์ปค๋ฐ‹ ํ›„ ํ•ด์‹œยท๋…ธ์ถœํšŒ๋ณต ๋ณด๊ณ  (์ง„ํ–‰์ค‘) +- **์žฌ๋ฐœ๋ฐฉ์ง€ memory ์‹ ์„ค** `feedback_shop_exposure_filter_source_both`: ์ƒ์  ๋…ธ์ถœ ๊ฒ€์ฆ=ํ•„ํ„ฐ(ConsumedUpgradeKeys)+์†Œ์Šค(TabKeys) ์–‘์ชฝยท์™„๋ฃŒ ํŒ์ •=์ฝ”๋“œ์†Œ๋น„+UI ๋„๋‹ฌ๊ฒฝ๋กœ ์‹ค์ธกยทTabKeys ์ž๋™๊ต์ฐจ๊ฒ€์ฆ ํŽธ์ž…(C2 ๊ทผ๋ณธ) +- **ํ›„์†**: ๋ฉ”ํƒ€์•„ํ‚คํ…์ฒ˜ v1 ๋ฌธ์„œ ๊ฐฑ์‹ (ele โ‘ฃโ†’โ‘คยท๊ฐ€์ฑ  4์ข… ์ถ•์†Œ, ยง0ยทยง1-4~6ยทยง2-2ยทยง10 โ€” P3-B1 ์ฐฉ์ˆ˜ ์ „) ยท P3-A GodDem ์ปค๋ฐ‹ ํ›„ BT ๊ธฐ๋ก ์ผ๊ด„ ์ปค๋ฐ‹