๐ GEOcare Changelog W08-2 (2026-02-21) โ Phase0 ํตํฉ ๋ฆฌํฉํ ๋ง
# GEOcare Changelog W08-2 (2026-02-21) ## Phase0 ํตํฉ ๋ฆฌํฉํ ๋ง โ Starter/Paid WF ๋ณํฉ ### ๋ฐฐ๊ฒฝ ์์ค ์ฝ๋ ๊ฒ์ฆ ๊ฒฐ๊ณผ Phase0 ์จ๋ณด๋ฉ์ ์ฌ๊ฐํ ๊ตฌ์กฐ์ ๋ฒ๊ทธ 6๊ฑด ๋ฐ๊ฒฌ. Starter/Paid 2๊ฐ WF๋ฅผ 1๊ฐ๋ก ํตํฉํ๊ณ ํ๋ก
ํต์ฌ ์์ฝ
# GEOcare Changelog W08-2 (2026-02-21)
Phase0 ํตํฉ ๋ฆฌํฉํ ๋ง โ Starter/Paid WF ๋ณํฉ
๋ฐฐ๊ฒฝ
์์ค ์ฝ๋ ๊ฒ์ฆ ๊ฒฐ๊ณผ Phase0 ์จ๋ณด๋ฉ์ ์ฌ๊ฐํ ๊ตฌ์กฐ์ ๋ฒ๊ทธ 6๊ฑด ๋ฐ๊ฒฌ. Starter/Paid 2๊ฐ WF๋ฅผ 1๊ฐ๋ก ํตํฉํ๊ณ ํ๋ก ํธ์๋ 3ํ์ผ ์์ .
๋ฒ๊ทธ ์์ ์์ธ
BUG-1: ์ด์ค Job INSERT (๐ด Critical)
- ์์ธ: ํ๋ก ํธ createAnalysisJob() INSERT + n8n ๐ Create Analysis Job INSERT โ 2๊ฐ row
- ํ๋ก ํธ๋ ์๊ธฐ job_id ํด๋ง(pending ์์), n8n์ ์๊ธฐ job ์ ๋ฐ์ดํธ(completed)
- ์์ : n8n If(job_id) ๋ถ๊ธฐ โ ์์ผ๋ฉด PATCH(ํ๋ก ํธ job), ์์ผ๋ฉด POST(Admin Hub)
BUG-2: Webhook URL ํ๋์ฝ๋ฉ (๐ด Critical)
- ์์ธ: analysisJobService.ts:199
onboarding-free-start-v8ํ๋์ฝ๋ฉ - ์ ๋ฃ ๊ณ ๊ฐ๋ Starter WF(crawl_limit=20, SoM ๋ฏธ์คํ)๋ก ์ฒ๋ฆฌ
- ์์ : ํ๋ก ํธ 3ํ์ผ โ
onboarding-start-analysis-v8ํตํฉ
BUG-3: Starter WF ๋นํ์ฑ (๐ด Critical)
- ์์ธ: UNCEDNu4Bft6g3Nx ๋นํ์ฑ ์ํ โ ์ ๊ท ๋ถ์ 404
- ์์ : ํตํฉ WF v8.1๋ก ๋์ฒด
BUG-4: Status ์ด์ค ์ ๋ฐ์ดํธ (๐ก Medium)
- ์์ธ: ํ๋ก ํธ status='queued' UPDATE + n8n status='crawling' PATCH โ ๊ฒฝ์
- ์์ : ํ๋ก ํธ UPDATE ์ ๊ฑฐ, n8n ๋จ๋ ๋ด๋น
BUG-5: Code ๋ ธ๋ SB_KEY ํ๋์ฝ๋ฉ (๐ก Medium)
- ์์ธ: ๐พ Save Brand & Site Settings Code ๋ ธ๋์ SB_KEY ์ง์ ์์ฑ
- ์์ : HTTP Request ๋ ธ๋ 2๊ฐ(UPSERT site/brand)๋ก ์ ํ
BUG-6: ๋ณ๋ ฌ ์ ์ฅ Race Condition (๐ก Medium)
- ์์ธ: ๋ณ๋ ฌA(ํฌ๋กค๋ง) / ๋ณ๋ ฌB(์ ์ฅ) โ Completion Handler๊ฐ brand ์กฐํ ์ ๋ฏธ์ ์ฅ ๊ฐ๋ฅ
- ์์ : UPSERT๋ฅผ ๋ฉ์ธ ๊ฒฝ๋ก ์ ์์ฐจ ๋ฐฐ์น
n8n WF ๋ณ๊ฒฝ
[Phase0][Main] ์ ๋ฌด๋ฃ ์จ๋ณด๋ฉ v8.1 (tViiA9NQOeVXh0B8)
- ์ด์ : 6๋ ธ๋ (Webhook โ Plan Settings โ Create Job โ Crawl โ Respond + ๋ณ๋ ฌ Code)
- ์ดํ: 9๋ ธ๋ ์์ฐจ ํ๋ก์ฐ
Webhook โ ๐พ UPSERT site โ ๐พ UPSERT brand โ โ๏ธ Plan Settings
โ โ Has Job ID?
โโ [true] โ ๐ PATCH Existing Job
โโ [false] โ ๐ POST New Job
โ ๐ geo-crawl-start โ โ
Respond
Determine Plan Settings ํ๋: plan_type(default:'starter'), crawl_limit(20/50/100), site_domain, user_id, job_id, brand_name, industry
ํ๋ก ํธ์๋ ์ปค๋ฐ
| ๋ ํฌ | Commit | ํ์ผ | ๋ณ๊ฒฝ |
|---|---|---|---|
| geocare | 9d06ad5c | analysisJobService.ts | URL ํตํฉ, plan_type:'starter' ์ถ๊ฐ, status ์ ๋ฐ์ดํธ ์ ๊ฑฐ |
| geocare | 655baa64 | PremiumStatusGuard.tsx | WEBHOOK_URLSโ๋จ์ผURL, job_id+plan_type ์ ๋ฌ |
| geocare-admin-hub | 18480092 | UserDetailPage.tsx | free URL ํตํฉ, plan_type ๋์ ๋งคํ(starter/tier) |
๐ด ํ๋ก ํธ ํ ์คํธ ๋๊ธฐ
Lovable ๋น๋ ํ 3๊ฐ ์๋๋ฆฌ์ค ํ ์คํธ ํ์:
- ๋ฌด๋ฃ ๋ถ์ (job 1๊ฐ๋ง ์์ฑ)
- PremiumStatusGuard ์ฌ์๋ (ํตํฉ URL + job_id)
- Admin Hub ์ฌํธ๋ฆฌ๊ฑฐ (plan_type ๋ถ๊ธฐ)
KHub ๋ฌธ์ ์ ๋ฐ์ดํธ
- ์จ๋ณด๋ฉ ๋ ํผ๋ฐ์ค v2โv3:
58fa4631-18fc-4343-9314-2570956f9640 - DevLog Snapshot:
061e5edb-9f55-4a2d-b7dc-a89e6bef16d8