Skip to content

๐Ÿ—บ๏ธ [wayfinder] ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์žก UX โ€” TryOn+StyleDNA ์žฅ๊ธฐ ์‹คํ–‰ (progressยท์™„๋ฃŒยท๋ณต๊ท€ยท๊ฐ„์„ญ์ œ์•ฝ)ย #919

Description

@thxforall

Destination

TryOn(VTON) + StyleDNA ์žฅ๊ธฐ ์‹คํ–‰์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š” ํ†ตํ•ฉ ์žก UX์˜ spec-ready ๊ฒฐ์ • ์„ธํŠธ โ€” ์•„ํ‚คํ…์ฒ˜ ๊ฒฐ์ •(๊ณต์œ  vs per-feature ยท ์žก ์†Œ์œ  ยท transport ยท ์˜์†์„ฑ ยท ๋™์‹œ์„ฑ/๊ฐ„์„ญ ์ •์ฑ…) + prototype์œผ๋กœ ์ž ๊ทผ progressยท์™„๋ฃŒยท๋ณต๊ท€ UX. ๊ฒฐ์ •+ํ”„๋กœํ† ํƒ€์ž…์ด ์„œ๋ฉด /to-spec์œผ๋กœ ๋„˜๊ธธ ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๊ฐ€ destination. (planning โ€” ํ‹ฐ์ผ“์€ ๊ฒฐ์ •/ํ”„๋กœํ† ํƒ€์ž…, ์‹ค์ œ ๊ตฌํ˜„ ์•„๋‹˜.)

Notes

Decisions so far

  • [research] ARQ ํ ์žฌ์‚ฌ์šฉ ํƒ€๋‹น์„ฑ โ€” tryon/styleDNA ์žก ๋ฐฑ์—”๋“œย #928 (research, CLOSED 07-11) โ€” ARQ ์žฌ์‚ฌ์šฉ ํƒ€๋‹น์„ฑ = hybrid-recommended. ์†Œ์œ ๊ถŒ ๋น„๋Œ€์นญ์ด ๊ฒฐ์ •: VTON=์„œ๋ฒ„ owner ์—†์Œ(Nextโ†’Vertex ์ง์ ‘) / StyleDNA=api-serverโ†’ai-server gRPC seam ์กด์žฌ. ARQ ์žฌ์‚ฌ์šฉโ‰ ์ €๋ ด(Rustโ†’Python enqueue ๋น„ํ˜„์‹ค์ , native Postgres ์žก+tokio::spawn์ด ์ •๋‹ต). ํ•˜๋“œ๊ฒŒ์ดํŠธ=max_jobs=1ยทprogress terminal-only(๋ณ„๋„ DB ์žก๋ ˆ์ฝ”๋“œ ํ•„์ˆ˜). ๋ธŒ๋ฆฌํ”„=PR docs(briefs): #928 ARQ ํ ์žฌ์‚ฌ์šฉ ํƒ€๋‹น์„ฑ ๋ฆฌ์„œ์น˜ ๋ธŒ๋ฆฌํ”„ย #932(docs/superpowers/briefs/928-arq-reuse.md).
  • [grilling] ์žก ์†Œ์œ ยทtransportยท์˜์†์„ฑ ์•„ํ‚คํ…์ฒ˜ ๊ฒฐ์ • (๊ณต์œ  vs per-feature)ย #929 (grilling, 07-13) โ€” ์žก ์•„ํ‚คํ…์ฒ˜ 4๊ฒฐ์ • ํ™•์ •:
    • ์˜์†์„ฑ: ์„œ๋ฒ„ durable ์žก ๋ ˆ์ฝ”๋“œ + detached ์‹คํ–‰. ๊ฒฌ๋”ค ๋ฒ”์œ„=๊ฐ™์€ ๋ธŒ๋ผ์šฐ์ € ํ’€ ์ƒˆ๋กœ๊ณ ์นจ(ํฌ๋กœ์Šค๋””๋ฐ”์ด์Šคยทํ‘ธ์‹œ๋Š” ๋ฒ”์œ„ ๋ฐ–ยท๋‚˜์ค‘). zustand-persist ๋‹จ๋… ๋ถˆ๊ฐ€(์žก=request-scoped๋ผ ์ฃฝ์Œ).
    • ์†Œ์œ : api-server๊ฐ€ ์žก ๋ ˆ์ฝ”๋“œ ํ†ตํ•ฉ ์†Œ์œ (generic jobs ํ…Œ์ด๋ธ”, type discriminator), ์‹คํ–‰์€ ๋„ค์ดํ‹ฐ๋ธŒ โ€” StyleDNA=api-serverโ†’ai-server gRPC+tokio::spawn, VTON=Next๊ฐ€ Vertex ๊ณ„์†(prod GCP auth ๋ณด์กด)+waitUntil detachedโ†’api-server ๋ ˆ์ฝ”๋“œ ๊ธฐ๋ก.
    • transport: ํด๋ง(๋งˆ์šดํŠธ GET /jobs?active ์žฌ-attach + ๊ฐ ์žก 2โ€“3s ํด). progress=coarse ์ƒํƒœ์ „์ด/named-stage(๋งค๋ˆํ•œ % ์•„๋‹˜).
    • ํ”„๋ก ํŠธ: ํ†ตํ•ฉ shared shell + per-feature ์–ด๋Œ‘ํ„ฐ(1 jobStore registry + 1 floating dock + 1 notifier + 1 poll loop). vtonStore/VtonBackgroundNotifier ์ผ๋ฐ˜ํ™”(์ฒซ type=vton)ยทStyleDNA ์ˆ˜๋ ด. result ๋ Œ๋”ยทre-open๋งŒ type ๋””์ŠคํŒจ์น˜.
    • ํŒŒ์ƒ(๊ตฌํ˜„/๋‹ค์šด์ŠคํŠธ๋ฆผ): orphan/timeout reconcile ํ•„์š”(์‹คํ–‰์ž ์‚ฌ๋ง ์‹œ "running" ๊ณ ์ฐฉ, ai-server orphan_recovery ์„ ๋ก€) ยท VTON detached=waitUntil(MVP, 60s<300s) vs Vercel Queue(durable, ๋‚˜์ค‘).

Not yet specified

Out of scope

Metadata

Metadata

Assignees

No one assigned

    Labels

    wayfinder:mapWayfinder map (canonical artifact)

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions