๐บ๏ธ Project Knowledge Index
Bundle OKF 0.1 ยท 25 conceitos ยท jinhoOps/IndividualSavingsFlowUI
Open source Repository Open in the app JSON README (API)
About
# ๐บ๏ธ Project Knowledge Index
IndividualSavingsFlowUI (ISF) ํ๋ก์ ํธ์ ๋ชจ๋ ์ง์์ ์ด ์ง๋๋ฅผ ํตํด ์ฐ๊ฒฐ๋ฉ๋๋ค. v1.1 ํ๋ํ ์ดํ์ ๊ตฌ์กฐ๋ฅผ ๋ฐ์ํฉ๋๋ค.
## ๐๏ธ ํต์ฌ ์ฐธ์กฐ (The Constitution)
*ํ๋์ ๊ฐ๋ฐ ์ธํ๋ผ์ ์ด์์ ๊ทผ๊ฐ์ด ๋๋ ๋ฌธ์๋ค์
๋๋ค.*
- [Operating_Principles](./core/operating_principles.md): ํ๋ก์ ํธ ์ด์ ์์น ๋ฐ ํ๋์ DX ์ง์นจ.
- [Architecture_Reference](./core/architecture_reference.md): Vite, TS, Tailwind v4 ๊ธฐ๋ฐ ์ํคํ
์ฒ ๋ช
์ธ.
- [Data_Model_Reference](./core/data_model_reference.md): v2 ์คํ ๋ฆฌ์ง ์คํค๋ง, Branded Types, ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๊ท์น.
- [Financial_Taxation_Reference](./core/financial_taxation_reference.md): ๊ธ์ต์๋์ข
ํฉ๊ณผ์ธ ์ ์ฑ
๋ฐ UI ๊ฒฝ๊ณ ๊ธฐ์ค (Safety Margin).
- [Version_Management_Principles](./core/version_management_principles.md): ์๋ํ๋ ๋ฒ์ ๊ด๋ฆฌ ๋ฐ ๋ฐฐํฌ(Actions) ํ๋กํ ์ฝ.
- [UI_Standards_Reference](./core/ui_standards_reference.md): ๋์์ธ ์์คํ
(Glassmorphism), ํผ๋๋ฐฑ ๋ฐ ์๊ฐํ ํ์ค.
- [Knowledge_Harness](./core/knowledge_harness.md): ์ง์ ํ๋ค์ค(LLM Wiki) ๋ฐ Codegraph ์ฐ๊ณ ์ด์ ์ฒด๊ณ.
## ๐ ์งํ ์ค์ธ ๊ฐ๋ฐ (Active Development)
- [Phase 2 Context](file:///D:/jhkSandBox/CODE/IndividualSavingsFlowUI/.planning/phases/02-core
Details
- Kind
- OKF bundles
- Topic
- AI, RAG & memory
- Publisher
- jinhoops
- Origin
- okf_github
- Category
- dados
- Version
- 0.1
- Forks
- 1
- Last push
- 2026-09-10T03:49:55Z
- Repository state
- ativo
- Language
- TypeScript
- License
- MIT
- Added
- 2026-09-09 12:03:57
- Updated
- 2026-09-09 12:03:57
- Origin id
jinhoOps/IndividualSavingsFlowUI:.gemini/knowledge/wiki/index.md
README
# IndividualSavings Flow UIUX ๊ฐ์ธ ์ฌ๋ฌด ํ๋ฆ์ ์ ๋ ฅํ๊ณ ์ฅ๊ธฐ ํฌ์ ์ ๋ต๊ณผ ์คํ ๊ณํ์ผ๋ก ์ฐ๊ฒฐํ๋ ์ ์ ์น ์ฑ์ ๋๋ค. 2026-09-08 ์ต์ main ๊ธฐ๋ฅ๊ณผ Supabase workspace v4๋ฅผ ํตํฉํ๊ณ ์๊ฒฉ main pushยทPages ๋ฐฐํฌ๋ฅผ ์๋ฃํ์ต๋๋ค. 2026-09-10 ์ง์ถ ๋์ฐ๋ฏธยทworkspace v5๋ ์ด์ DB์ ์ ์ฉํ๊ณ Pages ๋ฐฐํฌ์ ์ค์ ๊ณ์ ์ ์ฅ์ ๊ฒ์ฆํ์ต๋๋ค. ๊ณต๊ฐ ์ฌ์ดํธ์ ์ค์ ์์ ์ด๋ฉ์ผ ๋ก๊ทธ์ธยท๊ณ์ ์ ์ฅยท๋ ๋ธ๋ผ์ฐ์ ๋๊ธฐํ๋ฅผ ๊ฒ์ฆํ์ต๋๋ค. Google provider ์ค์ ์ ์์ง ๋ฏธ์๋ฃ์ ๋๋ค. [์ต์ ๋ฐฐํฌ ๊ธฐ๋ก](docs/superpowers/evidence/2026-09-10-expense-assistant-production-rollout.md)๊ณผ [๊ณ์ ์ ์ฅ ์ด์ ์๋ด](docs/supabase-account-setup.md)๋ฅผ ๋ฐ๋ฆ ๋๋ค. ํ์ฌ ์ง์ ์ ํ์ Main, Simulation, Portfolio์ Account Map์ ๋๋ค. ๋ค ์ฑ์ shared workspace๋ฅผ ์ฌ์ฉํฉ๋๋ค. - **Main**: ์ ์ค์๋ น์ก, ์ง์ถ, ์ ์ถ, ํฌ์์ ๋จ๋ ๋์ ํ๋์ ๋ณด์ฌ์ฃผ๊ณ whole-workspace ๋ฐฑ์ ์ ๊ด๋ฆฌํ๋ ํ์ฌ ์ ํ ๊ธฐ์ค์ ์ ๋๋ค. - **Simulation**: Main์ ์ ์ ์ถยทํฌ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฅ๊ธฐ ๋ณต๋ฆฌ ์ฑ์ฅ๊ณผ ์ ๋ถ ์ ์ถ ๊ธฐ์ค์ ์ ๋น๊ตํฉ๋๋ค. - **Portfolio**: ์ต์ Main ํฌ์๊ธ์ ์ฒซ ์ค์ ํ๋ฆ์์ ์ ์ฒด ๊ธฐ์ค์ผ๋ก ๋ฐฐ๋ถํ๊ณ , ์ดํ ์์ ๋น์ค ์ค์ฌ ๊ฒฐ๊ณผ์ ์ง์ค ํธ์ง ํ๋ฉด์ ์ ๊ณตํฉ๋๋ค. - **Account Map**: Main์ ๋ค์ฏ ์ ๊ธ์ก์ ์ฝ์ด ๋ชฉ์ ๋ฐฐ์ ๊ณผ ๊ณ์ข ๊ฐ ์ ๊ณํ ํ๋ฆ์ ๋ง๋ค๊ณ ๋ ธ๋ ์ง๋๋ก ๊ด๋ฆฌํฉ๋๋ค. ๋ฐฐํฌ ํ์ด์ง: https://jinhoops.github.io/IndividualSavingsFlowUI/ ## ์ ํ ์ปจ์ ISF๋ ๋จ์ํ ์์ ๊ณผ ์ง์ถ์ ๊ธฐ๋กํ๋ ๋๊ตฌ๊ฐ ์๋๋๋ค. ์ง๊ธ ๋ค์ด์ค๋ ๋์ด ์ํ๋น, ์ ์ถ๊ณผ ํฌ์๋ก ์ด๋ป๊ฒ ๋๋๋์ง ์ดํดํ๊ณ , ํ์ฌ ์ ํ์ ์ฅ๊ธฐ ๊ณํ๊ณผ ์ค์ ์คํ์ผ๋ก ์ฐ๊ฒฐํด ๊ฐ๊ธฐ ์ํ ๊ฐ์ธ ์ฌ๋ฌด ํ๋๋ ๋๊ตฌ์ ๋๋ค. ํ์ฌ๋ ์๊ฐ ํ๊ธํ๋ฆ์ ์ ๋ฆฌํ๋ Main, N๋ ํ ๊ธฐ๋ ์์ฐ์ ๋น๊ตํ๋ Simulation, ์ต์ Main ํฌ์๊ธ์ ์ ์ฒด ๊ธฐ์ค์ผ๋ก ๋ฐฐ๋ถํ๋ Portfolio, ๊ณํ์ ์ค์ ๊ธ์ต ์์น์ ์ฐ๊ฒฐํ๋ Account Map์ ์ ๊ณตํฉ๋๋ค. ๋ค ์ฑ์ ํ๋์ versioned workspace๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ฌ๊ธฐ์ ๋ณด์ฌ์ฃผ๋ ๋ฏธ๋ ๊ฐ์ ํ์ ๋ ์์ธก์ด๋ ์์ต ๋ณด์ฅ์ด ์๋๋๋ค. ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ํ์ฌ ์ํฉ๊ณผ ๊ฐ์ ์ ๋ฐํ์ผ๋ก ์ฌ๋ฌ ์ ํ์ง๋ฅผ ๋น๊ตํ๊ณ ๋ ๋์ ์ง๋ฌธ์ ๋ง๋ค๊ธฐ ์ํ ๊ณํ์ฉ ์๋๋ฆฌ์ค์ ๋๋ค. ## ํ๋ก์ ํธ ๋ชฉํ ISF์ ๋ค ์ฑ์ ๋ค์ ์ง๋ฌธ์ ๋ตํฉ๋๋ค. - ๋ด ์ ์์ ์ ์ด๋๋ก ํ๋ฌ๊ฐ๋๊ฐ? - ์ํ๋น, ์ ์ถ๊ณผ ํฌ์ ๋น์ค์ ํ์ฌ ๊ณํ์ ๋ง๋๊ฐ? - **Simulation**: ์ ํ ์ ์ ์ถยทํฌ์๊ฐ ์ฅ๊ธฐ ๋ณต๋ฆฌ๋ก ์ผ๋ง๋ ์ปค์ง๋๊ฐ? - **Portfolio**: ์ ํํ ์ ๋ต์ ์ด๋ค ํฌ์ ๋์์ผ๋ก ๋ฐฐ๋ถํ ๊ฒ์ธ๊ฐ? - **Account Map**: ๊ธ์ต ์์น์ ๊ณ์ข ๊ฐ ์ ๊ณํ ํ๋ฆ์ ์ด๋ป๊ฒ ๊ด๋ฆฌํ ๊ฒ์ธ๊ฐ? ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ๋ธ๋ผ์ฐ์ ์์์ ๊ณ์ฐํ๊ณ ์๊ฐํํ๋ฉฐ, ๋ก๊ทธ์ธํ Supabase ๊ณ์ ์ workspace๋ฅผ ์ ์ฅํฉ๋๋ค. Google๊ณผ ์์ ์ด๋ฉ์ผยท๋น๋ฐ๋ฒํธ ๋ก๊ทธ์ธ์ ๊ฐ์ ์ฌ์ฉ์ ID์ ์ ์ฅ ๊ณ์ฝ์ ์ฌ์ฉํฉ๋๋ค. ๋ณ๋ ์ฑ ์๋ฒ๋ ์ํ ์ฐ๋์ ์์ต๋๋ค. ## ํ์ฌ ์ ํ ### Main Main์ ์ ์ค์๋ น์ก, ์ง์ถ, ์ ์ถ, ํฌ์์ ๋จ๋ ๋์ ํ๋์ ๋ณด์ฌ์ค๋๋ค. ์ฒ์์๋ ์ ์ค์๋ น์ก, ์ฃผ๊ฑฐ ๊ณ ์ ๋น, ํ๊ท ์ํ๋น, ์ ์ถ, ํฌ์๋ฅผ ๋น ๋ฅด๊ฒ ์ ๋ ฅํฉ๋๋ค. ๊ฐ ๋จ๊ณ์์ ํ์ฌ ๊ณํ๊ณผ ๋จ๋ ๋์ ๋ฐ๋ก ํ์ธํ๊ณ , ๋ง์ง๋ง ํ์ธ ํ๋ฉด์์ ์ง์ถ, ์ ์ถ, ํฌ์, ๋จ๋ ๋์ ๋น์จ์ ์ดํด๋ณธ ๋ค ๊ณํ์ ์ ์ฉํฉ๋๋ค. ์ ์ฉ ํ์๋ ๋์๋ณด๋์์ ๊ฐ์ ์์น๋ฅผ ํ์ธํ๊ณ ์์ ํ ์ ์์ต๋๋ค. Main์์ ๋ค๋ฃจ๋ ์ฃผ์ ๋ด์ฉ: - ์๊ฐ ํ๊ธํ๋ฆ ์์ฝ - 2๋ถ ๋น ๋ฅธ ์ค์ ๊ณผ ์ค๊ฐ ์ดํ ํ ์ฌ๊ฐ - ์ง์ถ, ์ ์ถ, ํฌ์, ๋จ๋ ๋์ ๊ธ์ก๊ณผ ๋น์จ - ์ ์ค์๋ น์ก๊ณผ ์๊ฐ ๊ณํ ์์น ํธ์ง - ์ง์ถ ๊ธ์ก์ ๋๋ฌ ๊ณ ์ ๋นยท๋ณ๋๋น 13๊ฐ ํญ๋ชฉ์ ๊ณ์ฐํ๊ณ , ๊ธฐ์ตํ ๋ต๋ณ์ ํฉ๊ณ๋ก ์ฃผ๊ฑฐ๋นยท์ํ๋น ๋์ฒด - ๋จ๋ ๋ ๊ธ์ก์ ๋๋ฌ ์ ์ถยทํฌ์์ ์ ๋ถ ๋๋ ์ผ๋ถ๋ฅผ ๋๋๊ณ , ๋ฐ์ ์ ํ์ ๋จ๊ฒจ๋ ๋ ํ์ธ - ๋ชจ๋ ํ์ฌ ์ฑ slice์ ๊ณต์ ์์น๋ฅผ ํ ๋ฒ์ ๋ค๋ฃจ๋ whole-workspace JSON ๋ฐฑ์ ### Simulation Main์ ์ ์ฉ๋ ๊ณํ์ด ์์ผ๋ฉด `Simulation์ผ๋ก ์ด์ด๊ฐ๊ธฐ`๊ฐ URL๋ก๋ง ์ด๋ํฉ๋๋ค. ์ต์ด์๋ ์์ ์์ฐ, ์์ ์์ฐ์ด 2์ต ์ ์ด์์ผ ๋์ ์กฐ๊ฑด๋ถ ๋ชฉํ ๊ธ์ก, ์์ ์ฐ ์์ต๋ฅ ์ ํ ๊ฐ์ง์ฉ ์ค์ ํ๊ณ , ์ดํ์๋ ๊ฒฐ๊ณผ๋ก ๋ฐ๋ก ์ง์ ํฉ๋๋ค. Simulation์ ์ง์ ํ ๋๋ง๋ค ๊ณ์ workspace์ ์ต์ Main slice๋ฅผ ์ฝ๋ Main ์๋ณธ์ ๋ณ๊ฒฝํ์ง ์์ต๋๋ค. ๊ธฐ๊ฐ์ ํ์ฌ๋ฅผ ๋ปํ๋ 0๋ ๋ถํฐ 30๋ ๊น์ง ์กฐ์ ํฉ๋๋ค. ๊ฒฐ๊ณผ๋ ํ๊ตญ์ ์ ์ ๊ธ์ก, ์ ์ฒด ํญ ์ฑ์ฅ ๊ทธ๋ํ์ ์ ๋ถ ์ ์ถ ๋น๊ต๋ฅผ ์ ๊ณตํ๋ฉฐ pointerยทtouchยทkeyboard๋ก ์ฐ๋๋ณ ์์ธ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ๋ฐ์ฒ๋ Main, Simulation, Portfolio์ Account Map์ ํ ์ค ์์ด์ฝ์ผ๋ก ํ์ํฉ๋๋ค. ํ์ฌ ์ฑ์ ์ ํ์ ์ผ๋ก ๊ตฌ๋ถํฉ๋๋ค. ์์ด์ฝ์ ํ๊ธยท์๋ฌธ ๋ช ์นญ์ hover, keyboard focus, ๋ชจ๋ฐ์ผ ๊ธธ๊ฒ ๋๋ฅด๊ธฐ ๋๋ `?` ๋์๋ง๋ก ํ์ธํ ์ ์์ต๋๋ค. ## Portfolio์ Account Map ### Portfolio ์ต์ Main ํฌ์๊ธ์ workspace์์ ์ฝ์ด ์ต๋ 10๊ฐ ์์ ์ด๋ฆ ํฌ์ ๋์๊ณผ ํ๊ธ์ ๋ฐฐ๋ถํฉ๋๋ค. ์ต์ด์๋ ์์ยท๋ฐฐ๋ถยท๊ฒํ ์ ์๋ด ํ๋ฆ์ ๊ฑฐ์น๊ณ ์ดํ์๋ ๊ฒฐ๊ณผ๋ก ๋ฐ๋ก ์ง์ ํฉ๋๋ค. ๊ฐ ๋์์ ์ฑ์ฅยท์์ ๋ถ๋ฅ์ ์๋ ์ถ์ฒยท์ฌ์ฉ์ ์ง์ ์ถ์ฒ๋ฅผ ์์ ํฉ๋๋ค. ๊ฒฐ๊ณผ์์๋ ์ํ ๊ธ์ก์ ๊ธฐ๋ณธ์ผ๋ก ์จ๊ธด ์ฑ ์์ ๋น์ค๊ณผ ๊ฐ์ฅ ํฐ ๋ฐฐ๋ถ ๋์์ ์์ฝํ ๋ค ์ด๋ฆยท๋น์จยท๋น๋ก ๋ง๋ ๋ชฉ๋ก์ ๋ณด์ฌ์ค๋๋ค. ๊ด๋ฆฌ ๋ฉ๋ด์์ ์ ์ฒด ๊ธ์ก ํ์์ ๋น์จ์ยท์ ๋ ฅ์ ์ ๋ ฌ์ ๋ฐ๊ฟ ์ ์์ต๋๋ค. `๋ฐฐ๋ถ ์์ `์ ๋ชจ๋ฐ์ผยทํ๋ธ๋ฆฟ์์ ํ๋จ sheet, ๋ฐ์คํฌํฑ์์ ์ฐ์ธก panel๋ก ์ด๋ฆฝ๋๋ค. ํ์ฌ UI๋ `์ ์ฒด ๊ธฐ์ค` ์ ์ฉ ๊ณํ๊ณผ ์ด์๋ง ํธ์งํ๋ฉฐ Main์ ์์ ํ์ง ์์ต๋๋ค. ์ ํํ ํฌ์ ๋ฐฉํฅ์ ์ข ๋ชฉยท์์ฐ๋ณ ์ ๋ฆฝ ๊ธ์ก๊ณผ ๋น์ค์ผ๋ก ๊ตฌ์ฒดํํฉ๋๋ค. ### Account Map Account Map์ Main์ ๋ค์ฏ ์ ๊ธ์ก์ ์ฝ๊ธฐ ์ ์ฉ ๊ธฐ์ค์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ์ต์ด ์ค์ ์์ ์์ ยท์ฃผ๊ฑฐยท์ํ๋นยท์ ์ถยทํฌ์๋ฅผ ๊ณ์ขยท๋ณด๊ด์ฒ์ ๋ฐฐ์ ํ๊ณ , ๊ณ์ข ๊ฐ ๊ณ ์ ์ด์ฒด์ `๋จ์ ๊ธ์ก ์ ๋ถ` ๊ท์น์ ํ์ธํฉ๋๋ค. ์๋ฃ ์ง๋๋ ์ ์ฒด ์ ๊ณํ ํ๋ฆ์ ๊ธฐ๋ณธ์ผ๋ก ๋ณด์ด๊ณ , ๊ณ์ข๋ฅผ ํ ๋ฒ ์ ํํ๋ฉด ์ยทํ๋ฅยท๋ชฉ์ ๊ณผ ๋ช ์์ ํ๋ฆ ํธ์ง action์ ๋ณด์ฌ์ค๋๋ค. ์ด๋ ์ค์ ์์กยท๊ฑฐ๋ ๋๋ ์คํ ์ด์ฒด๊ฐ ์๋๋๋ค. Main ๊ธ์ก ์์ ์ ์ง๋๋ฅผ ์ ์งํ Main ์์ overlay์์๋ง ์ ์ฅํ๋ฉฐ, ์ ์ฅ ๋ค์๋ ์ฌ์ฉ์๊ฐ `ํ์ฌ Main ๊ธฐ์ค์ผ๋ก ํ์ธ`์ ๋ช ์ํด์ผ stale notice๊ฐ ํด์ ๋ฉ๋๋ค. Account Map command๋ `workspace.locations`์ `workspace.accountMap`๋ง ๊ฐฑ์ ํ๊ณ MainยทSimulationยทPortfolio์๋ write-backํ์ง ์์ต๋๋ค. ์์ธ ๊ณ์ฝ์ [Account Map Planned Account Flow Design](docs/superpowers/specs/2026-09-04-account-map-planned-account-flow-design.md)์ ์ ์๋์ด ์์ต๋๋ค. ## ๊ณต์ ์ธํ๋ผ ํ์ฌ ๋ค ์ฑ์ ๋ค์ ๊ธฐ๋ฐ์ ๊ณต์ ํฉ๋๋ค. - ๋ค ๋ชฉ์ ์ง ์ฑ ๋ฐ์ฒ์ ํ์ฌ ์์น ํ์ - ๊ณ์ ๋น ํ๋์ Supabase JSONB workspace(schema v5)์ ์ฑ๋ณ typed slice adapter - RLS ๊ณ์ ๊ฒฉ๋ฆฌ, ์๋ฒ revision ๊ฒ์ฌ์ mutation receipt๋ฅผ ์ฌ์ฉํ ๋์ ์ ์ฅยท์ค๋ณต ์ฌ์๋ ๋ณดํธ - MainยทSimulationยทPortfolioยท๊ณต์ ๊ธ์ต ์์น์ Account Map ์ํ๋ฅผ ํฌํจํ๋ whole-workspace ๋ฐฑ์ - ๋ชจ๋ slice์ ์ฐธ์กฐ๋ฅผ ๋จผ์ ๊ฒ์ฆํ ๋ค ํ ๋ฒ์ ๊ต์ฒดํ๋ atomic restore - URL ๊ธฐ๋ฐ ์ฑ ํ์๊ณผ workspace Main slice๋ฅผ ์ฝ๋ ์ฑ๋ณ read-only adapter - Vite PWA๊ฐ ์์ ํ๋ PWA ๋งค๋ํ์คํธ์ ๋ฐฐํฌ ์๋น์ค์์ปค - ๊ณตํต ๋์์ธ ํ ํฐ๊ณผ ๋ฒํผยทํจ๋ ์คํ์ผ ๊ธ์ต ๋ฐ์ดํฐ ์๋ณธ์ ๋ก๊ทธ์ธํ ๊ณ์ ์ ์๋ฒ workspace์ ๋๋ค. ๋ธ๋ผ์ฐ์ ์๋ ๊ณ์ ๋ณ ๋ง์ง๋ง snapshot๊ณผ ๋ฏธ์ ์ก ์ ๋ ฅ์ ๋ณต๊ตฌ์ฉ์ผ๋ก ๋ณด๊ดํฉ๋๋ค. ์คํ๋ผ์ธ ์ฌ๋ฐฉ๋ฌธ์ ์ฝ๊ธฐ ์ ์ฉ์ด๋ฉฐ, ์ด๋ฆฐ ํ๋ฉด์ focusยทonline ๋ณต๊ท ๋๋ visible ์ํ์ 30์ด ์กฐํ๋ก ์ต์ ํํฉ๋๋ค. ๋ค๋ฅธ ๊ธฐ๊ธฐ๊ฐ ๋จผ์ ์ ์ฅํ์ผ๋ฉด ์ ๋ ฅ์ ์ ์งํ๊ณ ๋ช ์์ ์ผ๋ก ์ฌ์ ์ฉํฉ๋๋ค. Portfolio์ ๊ธ์ก ํ์ยท์ ๋ ฌ ๊ฐ์ ๋ณด๊ธฐ ์ค์ ์ ๊ธ์ต workspace์ ๋ณ๊ฐ์ ๋ธ๋ผ์ฐ์ ์ค์ ์ ๋๋ค. ํ์ฌ ์ฝ๋๋ [์ง์ถ ๋์ฐ๋ฏธ ์ค๊ณ](docs/superpowers/specs/2026-09-10-main-expense-assistant-design.md)์ workspace v5๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ์กด [v4 ํตํฉ](docs/superpowers/specs/2026-09-08-supabase-workspace-v4-integration-design.md) ์์ Main ํญ๋ชฉ๋ณ ๋ต๋ณ์ ์ถ๊ฐํ๊ณ ๋ชจ๋ RPC์ protocol 5๋ฅผ ์๊ตฌํฉ๋๋ค. ๊ณ์ ์บ์๋ `isf-account-workspace-v3`์ด๋ฉฐ ๊ตฌ v2/v1 ์บ์์ ๋ฏธ์ ์ก ์์ฒญ์ ์๋ ์ฌ์ ์กํ์ง ์๊ณ ๋ณต๊ตฌ ์๋ฌธ์ผ๋ก ๋ณด๊ดํฉ๋๋ค. ๋ธ๋ผ์ฐ์ ํ์ฌ ํค๋ `isf-workspace-v5`์ด๋ฉฐ ๋ช ์์ ๊ฐ์ ธ์ค๊ธฐ ํ๋ณด์ ๋๋ค. ์์ ๋๋ง v4 โ v3 โ ์ ํจํ retired v1/v2 ์๋ณธ `isf-workspace-v1` ์์ผ๋ก ์ฝ๊ธฐ ์ ์ฉ ๋ณํํฉ๋๋ค. invalid ์ต์ ์๋ณธ์์๋ ๊ณผ๊ฑฐ ๋ฒ์ ์ผ๋ก fallbackํ์ง ์๊ณ ์๋ณธยทforeign record๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ญ์ ํ์ง ์์ต๋๋ค. ์ ์ export๋ ์๋ฒ ํ์ ๋ฐ์ดํฐ์ backup format 4/workspace v5์ด๋ฉฐ format 3/2/1์ ์ญ์ฌ์ parser์ converter๋ฅผ ๊ฑฐ์นฉ๋๋ค. ๋ฏธ์ ์ก ์ ๋ ฅ์ ๋ณ๋์ ๋ณต๊ตฌ ํ์ผ๋ก ์ ๊ณตํฉ๋๋ค. ## ์ ํ ์์น - **์์ฝ ๋จผ์ **: ๊ธฐ๋ณธ ํ๋ฉด์ ์ ๋ ฅ ํผ๋ณด๋ค ํ์ฌ ์ํ์ ๋ค์ ํ๋์ ๋จผ์ ๋ณด์ฌ์ค๋๋ค. - **์๊ณ ๋ช ํํ ์ ๋ ฅ ๊ณ์ฝ**: Main์ ๋ค์ฏ ์๊ฐ ๊ธ์ก๊ณผ ์ง์ถ ๊ณ์ฐ์ฉ ๋ณด์กฐ ๋ต๋ณ์ ์์ ํฉ๋๋ค. - **๋ช ์์ ์ ์ฅ**: ํฐ ํธ์ง์ ์ ์ฉ ์ ๊น์ง draft๋ก ์ ์งํฉ๋๋ค. - **๊ณ์ ๋ณ ์๋ณธ**: ์๋ฒ ์ ์ฅ ํ์ ํ ์ฑ๊ณต์ ํ์ํ๊ณ , ๋ก์ปฌ ์๋ณธ๊ณผ ๋ฏธ์ ์ก ์ ๋ ฅ์ ๊ตฌ๋ถํด ๋ณด์กดํฉ๋๋ค. - **ํ๊ตญ์ด ๊ธ์ก UX**: ์ฌ์ฉ์๋ ๋ง ์ยท์ต ์ ๋จ์๋ก ์ฝ๊ณ ๋ด๋ถ ๊ณ์ฐ๊ณผ ์ ์ฅ์ ์ ๋จ์๋ฅผ ์ ์งํฉ๋๋ค. - **์๊ฐํ ์ค์ฌ**: ํ์ฌ Main์ ์ ์๊ธ ๊ตฌ์ฑ๊ณผ ํฅํ ์ฑ๋ณ ์๊ฐํ๋ ์ซ์์ ๊ด๊ณ๋ฅผ ์ค๋ช ํด์ผ ํฉ๋๋ค. - **๋ช ์์ ์ฐ๊ฒฐ**: ์ฑ ์ด๋์ URL๋ง ์ฌ์ฉํ๊ณ SimulationยทPortfolioยทAccount Map์ด ๊ฐ์ workspace์ ์ต์ Main slice๋ฅผ ์ฝ์ต๋๋ค. Account Map์ Main ์์ ์์ฒญ์ Main ์์ overlay๊ฐ ์ฒ๋ฆฌํฉ๋๋ค. - **์ฑ ์ ๋ถ๋ฆฌ**: ๊ฐ ์ฑ์ ์์ ์ draft/applied ์ํ๋ง ์ฐ๊ณ ๋ค๋ฅธ ์ ํ slice์๋ ์๋ฌต์ ์ผ๋ก write-backํ์ง ์์ต๋๋ค. ## Legacy Migration Status ์์ง ์ด๊ดํ์ง ์์ ๊ธฐ๋ฅ์ด๋ ๋ฐ์ดํฐ ํธํ์ฑ ์ง์์ด ๋จ์ ์๋ ๋ ๊ฑฐ์ ์ฝ๋๋ ์์๋ก ๋ณด์กดํฉ๋๋ค. ๋ ๊ฑฐ์๋ ์ง์๋๋ ์ฌ์ฉ์ ๊ฒฝ๋ก๋ ์ ๊ท ๊ธฐ๋ฅ์ ๊ธฐ๋ฐ์ด ์๋๋๋ค. ๊ฐ ๊ธฐ๋ฅ์ ๋ชฉ๋กํํ๊ณ ํ์ฌ ์ ํ์ ํ์ํ์ง ํ์ ํ ๋ค, ํ์ํ ๊ธฐ๋ฅ์ ํ์ฌ ์ฑ ์ ๊ฒฝ๊ณ๋ก ์ด๊ดํ๊ณ ๋ถํ์ํ ๊ธฐ๋ฅ์ ํ๊ธฐ ๊ทผ๊ฑฐ๋ฅผ ๊ธฐ๋กํฉ๋๋ค. ์ฌ์ฉ์ ๋์๊ณผ ๊ตฌ๋ฒ์ ์ ์ฅ ๋ฐ์ดํฐ์ ํธํ์ฑ์ ๊ฒ์ฆํ๊ณ ๋ชจ๋ runtimeยทrouteยทselectorยทstorageยทtest ์ฐธ์กฐ๋ฅผ ์ ๊ฑฐํ ํ ๋ ๊ฑฐ์ ๊ตฌํ์ ์ญ์ ํฉ๋๋ค. Phase 4์์ ๊ตฌ Main runtime, storage bridge, shared browser layer์ ๊ตฌ ์๋น์ค์์ปค๋ฅผ ์ญ์ ํ์ต๋๋ค. `shared/brand/mainBrandGeometry.js`๋ง ์ด์ shared browser tree์์ ๋จ์ ํ์ผ์ด๋ฉฐ ํ์ฌ Main brand icon์ด ์ฌ์ฉํฉ๋๋ค. ๊ตฌ ์ ์ฅ ํค ๋ฌธ์์ด์ read-only migration/rollback ๊ฒฝ๊ณ, ์์ฑ ์ฐธ์กฐ ๊ฒ์ฌ์ fixture์๋ง ๋จ์ต๋๋ค. Task 8์ ์ต์ข ์ ์ฒด ๊ฒ์ฆ์ ํต๊ณผํ๊ณ , ์ ํํ ๋ช ๋ นยท์ฐธ์กฐ ๊ฐ์ฌยท๋ฐ์ํ QA ๊ฒฐ๊ณผ๋ [Phase 4 disposition](docs/superpowers/evidence/2026-09-02-phase4-legacy-test-disposition.md)์ ๊ธฐ๋ก๋์ด ์์ต๋๋ค. ํ์ ์ ๋ฆฌ์์๋ ๋ฏธ์ฌ์ฉ ๊ธ๋ก๋ฒ CSS, ์์ ์์ธ ์์ฑยท๋ฌธ์ ๋ณํ ์คํฌ๋ฆฝํธ์ ๊ฒ์ฌ ์ถ๋ ฅ๋ฌผ์ ์ ๊ฑฐํ์ต๋๋ค. ์ญ์ ๊ทผ๊ฑฐ์ ํ์ฌ ์ ์ฅ ํธํ์ฑ ๋ณด์กด ๋ฒ์๋ [์์ฌ ์์ฐ ์ ๋ฆฌ ๊ธฐ๋ก](docs/superpowers/plans/2026-09-08-entry-focus-and-legacy-residue.md)์ ์ ๋ฆฌํฉ๋๋ค. ## ์คํํ๊ธฐ ํ์ ์กฐ๊ฑด: - Node.js 22 ์ด์ ๊ถ์ฅ - npm ์ค์น: ```bash npm install ``` ๊ฐ๋ฐ ์๋ฒ: `.env.example`์ ์ฐธ๊ณ ํด `.env.local`์ Supabase URL๊ณผ ๊ณต๊ฐ publishable key๋ฅผ ์ค์ ํฉ๋๋ค. DB ๋น๋ฐ๋ฒํธยทservice-role/secret key๋ ๋ฃ์ง ์์ต๋๋ค. ์์ ์ด๋ฉ์ผยท๋น๋ฐ๋ฒํธ ๋ก๊ทธ์ธ์ ๊ด๋ฆฌ์๊ฐ ์ฌ์ ์ค๋นํ ๊ณ์ ์ผ๋ก ์ฌ์ฉํ๋ฉฐ, ํ์๊ฐ์ ์ด๋ ๊ณ์ ์๋ ์์ฑ์ ์ ๊ณตํ์ง ์์ต๋๋ค. ์์ ๊ณ์ ์ค๋น์ Google providerยทcallback ๋ฑ๋ก์ [์ด์ ์๋ด](docs/supabase-account-setup.md)๋ฅผ ๋ฐ๋ฆ ๋๋ค. ๋ก๊ทธ์ธ ๋น๋ฐ๋ฒํธ๋ ํ๋ฉด์์ ์ ๋ ฅํ๊ณ ์์คยทํ๊ฒฝ๋ณ์ยท์ ์ ๋น๋์ ๋ฃ์ง ์์ต๋๋ค. ์ฐ๊ฒฐ ์ค์ ์ด ์์ผ๋ฉด ์ ํ ๋์ ์ค์ ์ค๋ฅ๋ฅผ ํ์ํ๋ฉฐ production build๋ ์คํจํฉ๋๋ค. ```bash npm run dev ``` ํ์ ์ฒดํฌ: ```bash npm run check ``` ์ ์ฒด E2E ํ ์คํธ: ```bash npm run test:e2e -- --reporter=list ``` ๋น๋: ```bash npm run build ``` ## ๊ฐ๋ฐ ๊ตฌ์กฐ ์ด ์ ์ฅ์๋ Vite ๊ธฐ๋ฐ ์ ์ ๋ฉํฐํ์ด์ง ์ฑ์ ๋๋ค. ํ์ฌ Main, Simulation, Portfolio์ Account Map์ ReactยทTypeScriptยทTailwind CSS๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ํฐ ์ฑ ์ ๊ฒฝ๊ณ: - **์ ๋ ฅ๊ณผ ์ ๊ทํ**: ์ฌ์ฉ์ ์ ๋ ฅ๊ณผ current workspace/backup payload์ exact validation - **draft์ ์ํ**: ํธ์ง ์ค ์ํ, dirty ํ์ , ์ ์ฉ๊ณผ ์ทจ์ - **ํ์ฌ ๊ณ์ฐ**: Main ์๊ฐ ํ๊ธํ๋ฆ, ์์ก๊ณผ ์ ์ - **ํ์ฌ ์๊ฐํ**: Main ์์ฝ ์นด๋์ ์ ์๊ธ ๊ตฌ์ฑ - **์ ์ฅ๊ณผ ๊ณต์ **: ๋จ์ผ revisioned workspace, ์ฑ slice adapter, ๊ณต์ ๊ธ์ต ์์น์ whole-workspace JSON - **์ฑ ์ฐ๊ฒฐ**: URL๋ก ์ด๋ํ๋ Main โ Simulation โ Portfolio โ Account Map ์์ธ ํ๋ฉด - **๊ณตํต UI**: ์ฑ ๋ฐ์ฒ, Main ๋ฐ์ดํฐ ํ๋ธ, ํผ๋๋ฐฑ, ํ ๋ง์ PWA ## ๊ฒ์ฆ ๊ธฐ์ค ์ต์ ์ ์ ๊ฒ์ฆ: ```bash npm run check ``` ์ฌ์ฉ์ ํ๋ฆ์ ๋ณ๊ฒฝํ๋ค๋ฉด ๊ด๋ จ Playwright ํ ์คํธ๋ฅผ ์คํํฉ๋๋ค. ```bash npm run test:e2e -- --reporter=list ``` Main์ ๋น ๋ฅธ ์ค์ ์ด๋ ๋์๋ณด๋๋ฅผ ์์ ํ๋ค๋ฉด focused ํ๊ท๋ฅผ ๋จผ์ ํ์ธํ ์ ์์ต๋๋ค. ```bash npx playwright test tests/main-react.spec.ts ``` Account Map ์ฌ์ฉ์ ํ๋ฆ, Main overlay์ v3/v2 ํธํ์ฑ ํ๊ท๋ ๋ค์ ๋ช ๋ น์ผ๋ก ์คํํฉ๋๋ค. ```bash npx playwright test tests/account-map.spec.ts --reporter=list ``` ๊ณ์ ํ๋ฆ์ `npx playwright test --project=cloud`, ๊ธฐ์กด ๋ก์ปฌ ๋ฐ์ดํฐ ํธํ์ฑ๊ณผ ์ ํ ํ๊ท๋ ํ ์คํธ ์ ์ฉ entry์ `--project=chromium`์ผ๋ก ๊ฒ์ฆํฉ๋๋ค. ์ธ์ฆ ์ฐํ๋ production entry์ ์์ต๋๋ค. DB ๊ถํยทํธ๋์ญ์ ๊ฒ์ฆ์ Docker ์คํ ํ `node scripts/test-workspace-db.mjs`๋ก ์ํํ๋ฉฐ ์ด์ DB์๋ ์ ์ํ์ง ์์ต๋๋ค. Node 25 ์ด์์์ ์คํ์ Web Storage๊ฐ jsdom๊ณผ ์ถฉ๋ํ๋ฉด ๋จ์ ํ ์คํธ์ `NODE_OPTIONS=--no-experimental-webstorage`๋ฅผ ์ง์ ํฉ๋๋ค. ## ํ์ฌ ๋ก๋๋งต Phase A shared workspace foundation๊ณผ Main, Simulation, aggregate-first Portfolio, planned account-flow Account Map์ ํ์ฌ ๊ธฐ์ค์ ์ ๋๋ค. ๋ค์ ๋จ๊ณ๋ ์ด ๊ธฐ์ค์ ์ ๋ณด์กดํ๋ฉฐ ๋ณ๋ ๊ณํ์ผ๋ก ์งํํฉ๋๋ค. - **๊ณ์ ์ ์ฅ ๊ตฌํ**: ์ ์ ๋ฐฐํฌ๋ฅผ ์ ์งํ๋ [Google ๋ก๊ทธ์ธยทSupabase ๊ณ์ ๋ณ workspace ์ ์ฅ](docs/superpowers/specs/2026-09-07-supabase-account-workspace-design.md)๊ณผ 2026-09-08 ์น์ธ๋ ์์ ์ด๋ฉ์ผยท๋น๋ฐ๋ฒํธ ๋ก๊ทธ์ธ. ์ค์ ์์ ๊ณ์ ์ค๋นยท์ด์ DB migrationยทGoogle ์ค์ ์๋ณตยทPages ๋ฐฐํฌ๋ [์ด์ ์๋ด](docs/supabase-account-setup.md)์ ๋ณ๋ rollout ํญ๋ชฉ์ ๋๋ค. - **Phase B ์๋ฃ**: ๊ณ์ข ์ฐ์ ์ค์ , ๊ณ์ขยท๋ณด๊ด์ฒ registry, ๋ ธ๋ ์ง๋์ ๊ฐ์ญ์ ๊ด๋ฆฌ๊ฐ ์๋ Account Map - **Phase C**: ํ์ฌ Main metric ์์ญ์ ๋์ฒดํ๋ MainยทSimulationยทPortfolioยทAccount Map ์ฐ๊ฒฐ ๊ฒฐ๊ณผ ์นด๋ - **Phase 4 ์๋ฃ**: ๋ถ๋ฅ๋ legacy runtimeยทcompatibility pathยทtest ์ญ์ , v1/v2 migration evidence์ [repository-wide ์ต์ข ๊ฒ์ฆ](docs/superpowers/evidence/2026-09-02-phase4-legacy-test-disposition.md)์ ๊ธฐ๋กํจ - **๋ณ๋ ํ์**: ๊ธ์ต workspaceยทbackup๊ณผ ๋ถ๋ฆฌ๋ hidden trophy room - ํ๊ตญ์ด ์ํยท์นด๋ ์๋ฆผ ํ ์คํธ ๊ธฐ๋ฐ ์ง์ถ capture - ๋ ์ฌ๋์ Main ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ ๊ฐ๊ตฌ ๋ณํฉ ๋ฏธ๋ฆฌ๋ณด๊ธฐ - ๊ณผ๊ฑฐ snapshot ๋๋น ํ์ฌ ์ง์ถ ๋น๊ต - ๊ฐ๊ตฌ ์๋ยท๋ถ์ฑยทDSRยทLTV ๊ธฐ๋ฐ ๋ถ๋์ฐ ๊ตฌ๋งค๋ ฅ ๊ณํ - ํ์ํ ๋ ๊ฑฐ์ ๊ธฐ๋ฅ์ ํ์ฌ ๋ชจ๋ ์ด๊ด๊ณผ ๊ฒ์ฆ ํ ์ ๊ฑฐ ## ์ ํ ๋ฌธ์ - [Product PRD](docs/ways-of-work/plan/isf-rebuild/connected-financial-planning-workspace/prd.md) - [Agent Guide](AGENTS.md) - [Design Contract](DESIGN.md) - [Product Direction and Documentation Spec](docs/superpowers/specs/2026-07-29-product-direction-and-documentation-design.md) - [Journey Snapshot Retirement Spec](docs/superpowers/specs/2026-08-03-journey-snapshot-retirement-design.md) - [Connected Account Map Workspace Design](docs/superpowers/specs/2026-08-06-connected-account-map-workspace-design.md) - [Account Map Planned Account Flow Design](docs/superpowers/specs/2026-09-04-account-map-planned-account-flow-design.md) - [Shared Workspace Foundation Plan](docs/superpowers/plans/2026-08-06-shared-workspace-foundation.md) - [Account Flow Decision History](docs/adr/0002-account-flow-belongs-to-portfolio-boundary.md) ## ๋ฐ์ดํฐ์ ์ฃผ์์ฌํญ ISF๋ ๊ธ์ต๊ธฐ๊ด ์ฐ๋, ์ค์๊ฐ ์์ธ ์ฐ๋, ๋ฒ์ ๊ธ์ต ์๋ฌธ์ ์ ๊ณตํ์ง ์์ต๋๋ค. ๋ชจ๋ ๊ฒฐ๊ณผ๋ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ์ ์ ๊ธฐ๋ฐํ ๊ณํ์ฉ ์ถ์ ์ ๋๋ค. ๋์ถ, ์ธ๊ธ, ํฌ์์ ๋ถ๋์ฐ ์์ฌ๊ฒฐ์ ์๋ ์ค์ ๊ธ์ต๊ธฐ๊ด ์กฐ๊ฑด๊ณผ ์ ๋ฌธ๊ฐ ๊ฒํ ๊ฐ ํ์ํฉ๋๋ค. ## ๋ผ์ด์ ์ค ISC