TEST_CASES TASK_MANAGEMENT - zero1ne-26/doc GitHub Wiki

ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค โ€” ํƒœ์Šคํฌ ๊ด€๋ฆฌ (์‹ค๋ฐ์ดํ„ฐ ๊ธฐ์ค€)

์ž‘์„ฑ์ผ 2026-09-12. ์šด์˜ ์„œ๋ฒ„์— ์‹ค์ œ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑํ•œ ํƒœ์Šคํฌ ๊ด€๋ฆฌ(์žฅ์†Œยทํƒœ์Šคํฌยท์ด๋ฒคํŠธยท์Šคํ† ์–ดยท๋””๋ฐ”์ด์Šค) ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค. ๋ฐ์ดํ„ฐ๋Š” ์ฝ”๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ ์šด์˜ ๋ธŒ๋กœ์ปคยท๋กœ๊ทธ์—์„œ ์ง์ ‘ ์ˆ˜์ง‘ํ–ˆ๋‹ค (์ˆ˜์ง‘ ๋ฐฉ๋ฒ•์€ ยง0).

0. ๋ฐ์ดํ„ฐ ์ถœ์ฒ˜์™€ ํ•œ๊ณ„

์ถœ์ฒ˜ ๋‚ด์šฉ ๋น„๊ณ 
MQTT retained orchestration/{sid}/dashboard 270์„ธ์…˜ ์žฅ์†Œยทํƒœ์Šคํฌยท์„ ํƒ์ง€ยท์ค€๋น„๋ฌผยท๋””๋ฐ”์ด์Šคยท์ƒํ’ˆ ๋งคํ•‘ ์„ธ์…˜๋งˆ๋‹ค ์žฅ์†Œ 4๊ณณยทํƒœ์Šคํฌ 3๊ฐœ์”ฉ ์ƒ˜ํ”Œ๋ง๋˜๋ฏ€๋กœ ์ „์ฒด ์นดํƒˆ๋กœ๊ทธ์˜ ํ•ฉ์ง‘ํ•ฉ = 102 ํƒœ์Šคํฌ
orchestration/store/list ยท devices/list ยท ai-companion/list ยท user-meta-prompt/list ์ƒํ’ˆ 12 ยท ๋””๋ฐ”์ด์Šค 16 ยท AI ๋™๋ฐ˜์ž 5 ยท ๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŠธ 13 ์„œ๋ฒ„๊ฐ€ retained ๋ฐœํ–‰ํ•˜๋Š” ์ „์ฒด ๋ชฉ๋ก
robot/spot-01/{waypoints,scenarios,estop,fault} SPOT ํ˜„์žฌ ์ƒํƒœ 2026-09-12 01:30 UTC ๊ธฐ์ค€
Loki (/grafana/) ์ตœ๊ทผ 4์ผ ์„œ๋ฒ„ ๋กœ๊ทธ ์ด๋ฒคํŠธ ๋ฐœํ–‰ ์‹ค์ , ์š”์ฒญ ํ† ํ”ฝ 9/8 ๋ฐฐํฌ ์ดํ›„๋ถ„๋งŒ ์žˆ์Œ
orchestration-server/sql/seed_planning.sql ์ด๋ฒคํŠธ 24์ข…ยท์„ ํƒ์ง€ ์ •์˜ ์šด์˜ DB์™€ ๋™์ผ ID(EVT-21 ๋ฐœํ–‰ ๋กœ๊ทธ๋กœ ๊ต์ฐจ ํ™•์ธ)

์ง์ ‘ ํ™•์ธ ๋ชป ํ•œ ๊ฒƒ (๋ฐฑ์˜คํ”ผ์Šค์—์„œ ์žฌํ™•์ธ ํ•„์š”): ์ด๋ฒคํŠธ๋ณ„ is_activeยทcategory(normal/sudden) ์‹ค์ œ ๊ฐ’, ๋„์ฐฉ ์ž๋™ํ™” ๊ทœ์น™, ์ƒํ’ˆ ์นดํ…Œ๊ณ ๋ฆฌ, ์žฅ์†Œ๋ณ„ ์ฝ˜ํ…์ธ (has_children ๋ถ„๊ธฐ) ์„ค์ •, ํƒœ์Šคํฌ์˜ description_promptยทis_active. DB ์ง์ ‘ ์กฐํšŒ๋Š” ์ ‘๊ทผ ์ œํ•œ์œผ๋กœ ๋ชป ํ–ˆ๋‹ค.

1. ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์Šค๋ƒ…์ƒท

1.1 ์žฅ์†Œ

์žฅ์†Œ ์—ญํ•  CCTV short_summary ์˜ˆ (LLM ์ƒ์„ฑ)
์ง‘ (์‹œ์ž‘, id โ€ฆ993d40668bfe) STEP1 ๊ณ ์ • cam_51, diorama_01 / content.type=cctv ์™ธ์ถœ ์ค€๋น„์ค‘, ์ถœ๊ทผ ์ค€๋น„์ค‘, ๋“ฑ์› ์ค€๋น„์ค‘
์ง‘ (์ข…๋ฃŒ, id โ€ฆbadea24d7812) STEP4 ๊ณ ์ • cam_51, diorama_01 ๊ท€๊ฐ€ ํ›„ ์ •๋ฆฌ์ค‘, ์žฅ๋ณธ ๋ฌผํ’ˆ ์ •๋ฆฌ์ค‘
๋งˆํŠธ STEP2/3 ์…”ํ”Œ ํ’€ cam_52, diorama_01 ์žฅ๋ณด๋Š” ์ค‘
๊ณต์› STEP2/3 ์…”ํ”Œ ํ’€ cam_52, diorama_01 ์šด๋™์ค‘, ์šด๋™ํ•˜๋Š” ์ค‘
์ฐจ STEP2/3 ์…”ํ”Œ ํ’€ cam_51, diorama_01 ์ด๋™์ค‘, ์ฐจ๋Ÿ‰ ์ ๊ฒ€์ค‘

์ง‘์ด ์‹œ์ž‘/์ข…๋ฃŒ ๋‘ ๊ฐœ์˜ ๋ณ„๋„ ์žฅ์†Œ ๋ ˆ์ฝ”๋“œ๋ผ๋Š” ์ ์— ์ฃผ์˜(ํ…Œ์ŠคํŠธ์—์„œ "์ง‘" ์ด๋ฆ„๋งŒ์œผ๋กœ ๋งค์นญํ•˜๋ฉด ์•ˆ ๋จ). ํ…Œ์ŠคํŠธ ์„ธ์…˜์šฉ ๊ตฌํ˜• ์ง‘ ๋ ˆ์ฝ”๋“œ(id โ€ฆ5e0deea846b1, โ€ฆf344140c0881, CCTV ์—†์Œ)๋„ 44์„ธ์…˜์— ๋‚จ์•„ ์žˆ๋‹ค.

1.2 ๊ด€์ธก๋œ ๊ฒฝ๋กœ (PLANNING R01~R06์™€ ์ผ์น˜)

๊ฒฝ๋กœ ๊ด€์ธก ์„ธ์…˜ ์ˆ˜
์ง‘ โ†’ ์ฐจ โ†’ ๋งˆํŠธ โ†’ ์ง‘ 117
์ง‘ โ†’ ๊ณต์› โ†’ ๋งˆํŠธ โ†’ ์ง‘ 97
์ง‘ โ†’ ์ฐจ โ†’ ๊ณต์› โ†’ ์ง‘ 85
์ง‘ โ†’ ๋งˆํŠธ โ†’ ๊ณต์› โ†’ ์ง‘ 62
์ง‘ โ†’ ๊ณต์› โ†’ ์ฐจ โ†’ ์ง‘ 44
์ง‘ โ†’ ๋งˆํŠธ โ†’ ์ฐจ โ†’ ์ง‘ 37
์ง‘ โ†’ ์ฐจ๋Ÿ‰ โ†’ ๊ณต์› โ†’ ์ง‘ 7

1.3 ํƒœ์Šคํฌ โ€” ์ง‘ (STEP1ยทSTEP4 ๊ณต์šฉ ํ’€)

ํƒœ์Šคํฌ ํƒ€์ž… ๊ธฐํšID ์˜ˆ์ •์‹œ๊ฐ ์—ฐ๊ณ„ ์ด๋ฒคํŠธ ํŠน์ˆ˜ ํ•„๋“œ ์„ธ์…˜์ˆ˜
๋‚ด์ผ ์ผ์ • ์•Œ๋ฆผ basic 19:00 385
์•„์ด์™€ ์ˆ™์ œํ•˜๊ธฐ detailed 19:01 385
๋งˆํŠธ ์žฅ๋ด์˜จ ๋ฌผํ’ˆ ์ •๋ฆฌ basic 19:02 385
์™ธ์ถœ ์ค€๋น„ ๋ฌผํ’ˆ ์ฒดํฌ packing 07:05 ์ค€๋น„๋ฌผ: ์šฐ์‚ฐ(์Šฌ๋กฏ3), ํ…€๋ธ”๋Ÿฌ(์Šฌ๋กฏ5) 264
์ปจ๋””์…˜ ๊ธฐ๋ฐ˜ ํ•˜๋ฃจ ๋ธŒ๋ฆฌํ•‘ DAY_BRIEFING_BY_CONDITION HOME-04 07:01 - ์„ ํƒ์ง€: ์ •์ง€; ๋””๋ฐ”์ด์Šค: Diorama-CCTV#2 262
์˜์–‘์ œ ์ฑ™๊ฒจ์ฃผ๊ธฐ basic HOME-13 07:18 - 232
์•„์ด ๋“ฑ์› ์ค€๋น„๋ฌผ ์ฒดํฌ packing 07:10 ์„ ํƒ์ง€: ์—์Šค์ฝ”ํŠธํ•ด์ค˜ (๊ตฌ๋… ํ•„์š”: Spot ๋™ํ–‰ยท์—์Šค์ฝ”ํŠธ 100pt) / ๋‚ด๊ฐ€ ์•Œ์•„์„œ ๊ฐ€๊ธฐ; ์ค€๋น„๋ฌผ: ๋„์‹œ๋ฝํ†ต(์Šฌ๋กฏ1), ์œ ์น˜์›๊ฐ€๋ฐฉ(์Šฌ๋กฏ4) 152
์ถœ๊ทผ ์ค€๋น„๋ฌผ ์ฒดํฌ packing 08:01 ์ค€๋น„๋ฌผ: ์‚ฌ์›์ฆ(์Šฌ๋กฏ2), ํ…€๋ธ”๋Ÿฌ(์Šฌ๋กฏ5); ๋””๋ฐ”์ด์Šค: ๋ฐ˜๋ ค๋กœ๋ด‡ 134
ํ™ˆ ๋ฐœ๋ › ๋ชจ๋“œ basic 08:00 ๋””๋ฐ”์ด์Šค: ๋ฐ˜๋ ค๋กœ๋ด‡; ์ฒจ๋ถ€ 55
๋นˆ ์ง‘ ํ™•์ธ basic 09:00 ์„ ํƒ์ง€: ์•Œ์•„์„œ ๊ฑท๊ธฐ; ๋””๋ฐ”์ด์Šค: Space-CCTV#1 46
๊ฐ„์‹/๋ฌผ๋ณ‘ ์ค€๋น„ (์—†์Œยท๊ตฌํ˜•) ๋””๋ฐ”์ด์Šค: ๋ฐ˜๋ ค๋กœ๋ด‡ 41
์—ฌ๋ฒŒ ์˜ท ์ค€๋น„ (์—†์Œยท๊ตฌํ˜•) ๋””๋ฐ”์ด์Šค: ๋ฐ˜๋ ค๋กœ๋ด‡ 17
์•„์ด ๊ฐ€๋ฐฉ ์ฑ™๊ธฐ๊ธฐ (์—†์Œยท๊ตฌํ˜•) ๋””๋ฐ”์ด์Šค: ๋ฐ˜๋ ค๋กœ๋ด‡ 16
์•„์ด์™€ ๊ณต์› ์™ธ์ถœ ์ค€๋น„ packing ์ค€๋น„๋ฌผ: ์šฐ์‚ฐ(์Šฌ๋กฏ3), ๋„์‹œ๋ฝํ†ต(์Šฌ๋กฏ1); ๋””๋ฐ”์ด์Šค: ๋ฐ˜๋ ค๋กœ๋ด‡ 14
์™ธ์ถœ ์ „ ์ง‘ ์ƒํƒœ ์ ๊ฒ€ basic ๋””๋ฐ”์ด์Šค: ๋ฐ˜๋ ค๋กœ๋ด‡ 14
๊ฐ„์‹/๋ฌผ๋ณ‘ ์ค€๋น„ (์—†์Œยท๊ตฌํ˜•) 11
์—ฌ๋ฒŒ ์˜ท ์ค€๋น„ (์—†์Œยท๊ตฌํ˜•) 11
[TEST] LG ๊ฐ€์ „ ์ „์› ์ผœ๊ธฐ ํ…Œ์ŠคํŠธ basic 08:01 10
[EPI-01] AI ํ•˜๋ฃจ ์—ฌ์ • ํšŒ๊ณ  (์—†์Œยท๊ตฌํ˜•) EPI-01 - ๋””๋ฐ”์ด์Šค: Physical AI Hub 10
[EPI-02] ์ƒˆ ํ•˜๋“œ์›จ์–ด ์„ค์ •ยท๊ธฐ์–ต ์ด์ „ (์—†์Œยท๊ตฌํ˜•) EPI-02 EVT-01 ๋””๋ฐ”์ด์Šค: Physical AI Hub 10
๋ฐ˜๋ ค๋™๋ฌผ ์ด์ƒ ์ƒํ™ฉ ์•Œ๋ฆผ (์—†์Œยท๊ตฌํ˜•) HOME-07 EVT-04 ๋””๋ฐ”์ด์Šค: ์ฒดํ—˜ ํƒœ๋ธ”๋ฆฟ 8
๋ฐ˜๋ ค๋™๋ฌผ๊ณผ ํ•˜๋ฃจ ํšŒ๊ณ  (์—†์Œยท๊ตฌํ˜•) HOME-14 - ๋””๋ฐ”์ด์Šค: ๊ฐ€์ •์šฉ ๋กœ๋ด‡ 8
์‹ํ›„ ์›€์ง์ž„ ์œ ๋„ (์—†์Œยท๊ตฌํ˜•) HOME-12 - ๋””๋ฐ”์ด์Šค: ๊ฐ€์ •์šฉ ๋กœ๋ด‡ 8
์•„์ด์™€ ๊ท€๊ฐ€ ๋งž์ด (์—†์Œยท๊ตฌํ˜•) HOME-10 - ๋””๋ฐ”์ด์Šค: ๊ฐ€์ •์šฉ ๋กœ๋ด‡ 7
[HOME-05] ๋ถˆ ๊บผ์ง„ ๊ฑฐ์‹ค ํ™•์ธ (์—†์Œยท๊ตฌํ˜•) HOME-05 - ๋””๋ฐ”์ด์Šค: ๊ฐ€์ •์šฉ ๋กœ๋ด‡ 6
[HOME-06] ๊ฐ€์ „๊ธฐ์‚ฌ ๋ฐฉ๋ฌธ ๋Œ€์‘ (์—†์Œยท๊ตฌํ˜•) HOME-06 EVT-05 ๋””๋ฐ”์ด์Šค: ์ฒดํ—˜ ํƒœ๋ธ”๋ฆฟ 6
[HOME-08] ๋ƒ‰์žฅ๊ณ  ์žฌ๊ณ  ํ™•์ธ (์—†์Œยท๊ตฌํ˜•) HOME-08 EVT-06 ๋””๋ฐ”์ด์Šค: ์ฒดํ—˜ ํƒœ๋ธ”๋ฆฟ 6
[HOME-09] ์ด์‚ฌ ํ›„ ๋กœ๋ด‡ ๋Œ€์ฒญ์†Œ (์—†์Œยท๊ตฌํ˜•) HOME-09 EVT-07 ๋””๋ฐ”์ด์Šค: Physical AI Hub 6
[HOME-11] ๊ตฌ๋งค๋ฌผํ’ˆ ์ •๋ฆฌ ์•ˆ๋‚ด (์—†์Œยท๊ตฌํ˜•) HOME-11 - ๋””๋ฐ”์ด์Šค: ๊ฐ€์ •์šฉ ๋กœ๋ด‡ 6
[HOME-15] ๋ถ€๋ชจ๋‹˜ ์ƒํƒœ ํ™•์ธ ๋ฐ ๋Œ€์‘ (์—†์Œยท๊ตฌํ˜•) HOME-15 EVT-03 ๋””๋ฐ”์ด์Šค: ์ฒดํ—˜ ํƒœ๋ธ”๋ฆฟ 6
[HOME-16] ํ™ˆ ๋ฐœ๋ › ๋ชจ๋“œ ์‹คํ–‰ (์—†์Œยท๊ตฌํ˜•) HOME-16 EVT-05 ๋””๋ฐ”์ด์Šค: Physical AI Hub 6
[HOME-17] Spot ์—์Šค์ฝ”ํŠธ ์„œ๋น„์Šค (์—†์Œยท๊ตฌํ˜•) HOME-17 - ๋””๋ฐ”์ด์Šค: Spot ๋กœ๋ด‡ 6
์˜ค๋Š˜์˜ ๊ฐ€์กฑ ์ผ์ •ยท์ด๋™ ๋ธŒ๋ฆฌํ•‘ detailed ๋””๋ฐ”์ด์Šค: ๋ฐ˜๋ ค๋กœ๋ด‡ 5
๊ตฌ๋งค๋ฌผํ’ˆ ์ •๋ฆฌ ์•ˆ๋‚ด (์—†์Œยท๊ตฌํ˜•) ๋””๋ฐ”์ด์Šค: CCTV 4
์•„์ด์™€ ๊ท€๊ฐ€ ๋งž์ด (์—†์Œยท๊ตฌํ˜•) ๋””๋ฐ”์ด์Šค: CCTV 4
์‹ํ›„ ์›€์ง์ž„ ์œ ๋„ (์—†์Œยท๊ตฌํ˜•) ๋””๋ฐ”์ด์Šค: ๋ฐ˜๋ ค๋กœ๋ด‡ 4
์˜์–‘์ œ ์ฑ™๊ฒจ์ฃผ๊ธฐ (์—†์Œยท๊ตฌํ˜•) ๋””๋ฐ”์ด์Šค: ๋ฐ˜๋ ค๋กœ๋ด‡ 4
๊ท€๊ฐ€ ํ›„ ๊ฐ€์กฑ ์ƒํƒœ ํ™•์ธ basic 1

1.4 ํƒœ์Šคํฌ โ€” ๋งˆํŠธ

ํƒœ์Šคํฌ ํƒ€์ž… ๊ธฐํšID ์˜ˆ์ •์‹œ๊ฐ ์—ฐ๊ณ„ ์ด๋ฒคํŠธ ํŠน์ˆ˜ ํ•„๋“œ ์„ธ์…˜์ˆ˜
์˜ค๋Š˜์˜ ๋ฉ”๋‰ดยท์žฌ๋ฃŒ ์„ ํƒ basic MART-06 10:18 EVT-19 206
๋ฐ˜๋ ค๋™๋ฌผ ์ผ€์–ด ์ƒํ’ˆ ์ถ”์ฒœ basic MART-08 18:15 EVT-20 100
ํƒ€์ž„์„ธ์ผ ์ƒํ’ˆ ๋น„๊ต detailed MART-04 10:10 EVT-10 90
๋ถ€๋ชจ๋‹˜ ์ผ€์–ด ์ƒํ’ˆ ์ถ”์ฒœ basic MART-10 10:55 EVT-21 69
์ง์ ‘ ํ”ฝ์—… ๋™์„  ์•ˆ๋‚ด basic MART-02 10:30 EVT-18 65
Spot ๋ฐ€ํ‚คํŠธ ๋ฒˆ๋“ค ์ˆ˜๋ น basic MART-07 18:12 EVT-19 65
Spot ํŽซ์ผ€์–ด ํ‚คํŠธ ์ˆ˜๋ น basic MART-09 18:25 EVT-20 55
๋น„ ์˜ค๋Š” ๋‚  ๊ท€๊ฐ€ ์ค€๋น„ ์ƒํ’ˆ ์„ ํƒ basic MART-12 18:27 EVT-08, EVT-22 50
Spot ๋ƒ‰์žฅ๊ณ  ๋ณด์ถฉ ๋ฒˆ๋“ค ์ˆ˜๋ น basic MART-03 07:48 EVT-18 44
๋ƒ‰์žฅ๊ณ  ๋ถ€์กฑ ์žฌ๋ฃŒ ํ™•์ธ basic MART-01 EVT-06, EVT-18 ๋””๋ฐ”์ด์Šค: Physical AI Hub 36
Spot ํƒ€์ž„์„ธ์ผ ๋ฒˆ๋“ค ์ˆ˜๋ น basic MART-05 18:00 EVT-10 28
๋นˆ ์ง‘ ํ™•์ธ basic ๋””๋ฐ”์ด์Šค: ๋ฐ˜๋ ค๋กœ๋ด‡ 22
ํ™ˆํŒŒํ‹ฐ ๋ฉ”๋‰ดยท์ƒํ’ˆ ๊ตฌ์„ฑ basic MART-14 10:25 EVT-23 20
Spot ๋ถ€๋ชจ๋‹˜ ์ผ€์–ด ํŒจํ‚ค์ง€ ์ˆ˜๋ น basic MART-11 18:20 EVT-21 18
[MART-17] AUM ๋“œ๋ก  ๊ธด๊ธ‰๋ฐฐ์†ก basic MART-17 EVT-24 ๋””๋ฐ”์ด์Šค: Physical AI Hub 15
[MART-16] ๋งˆํŠธ ์žฌ๊ณ  ๋ถ€์กฑ ํ™•์ธ basic MART-16 EVT-24 ๋””๋ฐ”์ด์Šค: Physical AI Hub 13
Spot ๊ท€๊ฐ€ ์ค€๋น„ ํ‚คํŠธ ์ˆ˜๋ น basic MART-13 10:25 EVT-08, EVT-22 10
[MART-15] Spot ํŒŒํ‹ฐ ๋ฐ”๊ตฌ๋‹ˆ ์ˆ˜๋ น basic MART-15 EVT-23 7
๋ƒ‰์žฅ๊ณ  ๋ณด์ถฉ ๋ฒˆ๋“ค ์ˆ˜๋ น (์—†์Œยท๊ตฌํ˜•) ๋””๋ฐ”์ด์Šค: spot 3
Spot ๋ƒ‰์žฅ๊ณ  ๋ณด์ถฉ ๋ฒˆ๋“ค ์ˆ˜๋ น (์—†์Œยท๊ตฌํ˜•) ๋””๋ฐ”์ด์Šค: spot 3
๋ƒ‰์žฅ๊ณ  ๋ณด์ถฉ ๋ฒˆ๋“ค ์ˆ˜๋ น (์—†์Œยท๊ตฌํ˜•) ๋””๋ฐ”์ด์Šค: spot 3

1.5 ํƒœ์Šคํฌ โ€” ๊ณต์›

ํƒœ์Šคํฌ ํƒ€์ž… ๊ธฐํšID ์˜ˆ์ •์‹œ๊ฐ ์—ฐ๊ณ„ ์ด๋ฒคํŠธ ํŠน์ˆ˜ ํ•„๋“œ ์„ธ์…˜์ˆ˜
๋งž์ถคํ˜• ์šด๋™ ๋ฃจํ‹ด basic PARK-01 09:00 EVT-09 138
๋น„์ „ ์ž์„ธ ์ฝ”์นญ basic PARK-03 09:08 EVT-09 103
Spot ํŽ˜์ด์Šค๋ฉ”์ด์ปค basic PARK-02 18:46 EVT-09 87
ํฌ๊ท€๋™๋ฌผ ๊ด€์ฐฐ basic PARK-08 12:13 EVT-14 71
Spot ๋ณด๋ฌผ ํžŒํŠธ basic PARK-06 08:36 EVT-13 58
ํฌ๊ท€๋™๋ฌผ ๋„๊ฐ ๋“ฑ๋ก basic PARK-09 10:08 EVT-14 52
ํ”Œ๋กœ๊น… ์ˆ˜๊ฑฐ ์ธ์ฆ basic PARK-05 18:00 EVT-11 45
ํ”Œ๋กœ๊น… ์ง€์  ์•ˆ๋‚ด basic PARK-04 09:16 EVT-11 41
AR ํฌ๋ฆฌ์ฒ˜ ํฌํš basic PARK-11 12:11 EVT-15 38
Spot ํฌ๋ฆฌ์ฒ˜ ํƒ์ƒ‰ ๋™ํ–‰ basic PARK-10 08:13 EVT-15 ์„ ํƒ์ง€: [ํ…Œ์ŠคํŠธ] ์ž„์˜์˜ ์„ ํƒ์ง€ (๊ตฌ๋… ํ•„์š”: ์ฝ”ํŠธ ์ปจ์‹œ์–ด์ง€ 2000pt) / ์•Œ์•„์„œ ๋”ฐ๋ผ๊ฐ€๊ธฐ 34
AR ๋ณด๋ฌผ์ƒ์ž ํƒ์ƒ‰ basic PARK-07 10:16 EVT-13 24
๋ธŒ๋žœ๋“œ ๋ฆฌ์›Œ๋“œ ์ง€์  ์•ˆ๋‚ด basic PARK-12 09:16 EVT-16 21
[TEST] SPOT ํ…Œ์ŠคํŠธ์šฉ์ž„~~ basic 18:30 ์„ ํƒ์ง€: ๊ทธ๋ƒฅ ํ•ด ์ข€!! / ๊ทธ๋ƒฅ ๊ธฐ๋ณธ์œผ๋กœ ๊ฑท๊ธฐ; ๋””๋ฐ”์ด์Šค: spot 21
์ง‘ ์•ˆ ํ™˜๊ธฐ basic 09:00 ์„ ํƒ์ง€: ๊ธฐ๋ณธ์œผ๋กœ ์ง„ํ–‰; ๋””๋ฐ”์ด์Šค: LGํ“จ๋ฆฌ์ผ€์–ด 360 19
Spot ํฌ๊ท€์ž์› ํƒ์‚ฌ ์•ˆ๋‚ด basic PARK-14 12:33 EVT-17 16
๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ๋น„ ๋Œ€์‘ basic PARK-16 09:09 EVT-08 14
๊ด‘๊ณ  ์ฝ˜ํ…์ธ  ์ฐธ์—ฌยท๋ฆฌ์›Œ๋“œ ์ˆ˜๋ น basic PARK-13 08:16 EVT-16 11
AR ์ž์› ์นด๋“œ ํš๋“ basic PARK-15 09:31 EVT-17 11
ํŽ˜์ด์Šค๋ฉ”์ด์ปค (์—†์Œยท๊ตฌํ˜•) ๋””๋ฐ”์ด์Šค: spot 3
ํ”Œ๋กœ๊น… ์ˆ˜๊ฑฐ ์ธ์ฆ (์—†์Œยท๊ตฌํ˜•) ๋””๋ฐ”์ด์Šค: CCTV 3
ํฌ๊ท€๋™๋ฌผ ๊ด€์ฐฐ (์—†์Œยท๊ตฌํ˜•) ๋””๋ฐ”์ด์Šค: spot 3
์‡ผํ•‘ํ•˜๊ธฐ (์—†์Œยท๊ตฌํ˜•) ๋””๋ฐ”์ด์Šค: ๋ฐ˜๋ ค๋กœ๋ด‡ 3

1.6 ํƒœ์Šคํฌ โ€” ์ฐจ

ํƒœ์Šคํฌ ํƒ€์ž… ๊ธฐํšID ์˜ˆ์ •์‹œ๊ฐ ์—ฐ๊ณ„ ์ด๋ฒคํŠธ ํŠน์ˆ˜ ํ•„๋“œ ์„ธ์…˜์ˆ˜
์ด๋™ ์ผ์ • ๋ธŒ๋ฆฌํ•‘ detailed VEH-01 08:10 - 177
์ฐจ๋Ÿ‰ ์ƒํƒœยท์ฃผํ–‰ ์ ๊ฒ€ basic VEH-03 09:06 EVT-12 170
์—ฌํ–‰์ž๋‹˜์˜ ๋งž์ถค ์‹ ์ฐจ ๊ฒฌ์ ์ด ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค quote_briefing 09:00 ์ฐจ๋Ÿ‰์˜ต์…˜ 4๊ฐœ; issue: ์—ฌํ–‰์ž ๋งž์ถค ํ˜œํƒ ์•ˆ๋‚ด 80
๋„์ฐฉ/๊ท€๊ฐ€ ์—ฐ๊ณ„ ๋ธŒ๋ฆฌํ•‘ basic ๋””๋ฐ”์ด์Šค: ์ฐจ๋Ÿ‰ 69
์ˆ˜์†Œ ์ถฉ์ „ hydrogen_charging ๋””๋ฐ”์ด์Šค: ์ฐจ๋Ÿ‰ 58
[VEH-06] ์Šค๋งˆํŠธ ์ถฉ์ „ยท์ฃผ์ฐจ ๊ณ„ํš basic VEH-06 - ๋””๋ฐ”์ด์Šค: ์ž์œจ์ฃผํ–‰ ์ฐจ๋Ÿ‰ ๋””์Šคํ”Œ๋ ˆ์ด 45
๊ฐ€์กฑ๊ณผ ๋– ๋‚  ์ค€๋น„, ์ƒˆ ์ฐจ๊ฐ€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค vehicle_ready 08:36 ๋””๋ฐ”์ด์Šค: ์ฐจ๋Ÿ‰; ๊ฐœ์ธํ™”์˜ต์…˜ 1๊ฐœ; issue: ์ด์ „ ์ฐจ๋Ÿ‰ ์„ค์ •์ด ๊ทธ๋Œ€๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค 41
์ฐจ๋Ÿ‰ ๊ด€๋ฆฌ ์˜ˆ์•ฝ basic ๋””๋ฐ”์ด์Šค: ์ฐจ๋Ÿ‰ 33
์ถœ์žฅ์ง€ ์—…๋ฌด ์ง€์› basic ๋””๋ฐ”์ด์Šค: ์ฐจ๋Ÿ‰ 28
์—ฌํ–‰์ž๋‹˜, ์˜ค๋Š˜ ์ถœ์žฅ ์ผ์ • ํ™•์ธํ•˜์„ธ์š” business_trip_briefing 09:00 issue: ์ถœ์žฅ ํ•„์ˆ˜ ์ฒดํฌ์‚ฌํ•ญ 21
[VEH-04] ์ •๋น„ ์˜ˆ์•ฝยท๊ฒฝ๋กœ ์—ฐ๊ฒฐ basic VEH-04 EVT-12 ๋””๋ฐ”์ด์Šค: ์ž์œจ์ฃผํ–‰ ์ฐจ๋Ÿ‰ ๋””์Šคํ”Œ๋ ˆ์ด 14
[TEST] LG ๊ฐ€์ „ ๊ณต๊ธฐ์ฒญ์ •๊ธฐ ์‹คํ–‰ basic 08:30 13
๋‚˜๋ฅผ ์œ„ํ•œ ์‹ ์ฐจ ์ถœ๊ณ  READY_TO_CAR_DELIVERY 10
์—์Šค์ฝ”ํŠธ basic ์„ ํƒ์ง€: ์—์Šค์ฝ”ํŠธ ๋™ํ–‰! (๊ตฌ๋… ํ•„์š”: Spot ๋™ํ–‰ยท์—์Šค์ฝ”ํŠธ 100pt) / ๊ทธ๋ƒฅ ๋„ˆ๊ฐ€ ๊ฑธ์–ด๊ฐ€๊ธฐ 5
[VEH-02] ์•„์ด ํ”ฝ์—…ยท๋ณ‘์› ๊ฒฝ๋กœ ๋ณ€๊ฒฝ (์—†์Œยท๊ตฌํ˜•) VEH-02 EVT-02 ๋””๋ฐ”์ด์Šค: ์ž์œจ์ฃผํ–‰ ์ฐจ๋Ÿ‰ ๋””์Šคํ”Œ๋ ˆ์ด 4
[VEH-05] ์ฐจ๋Ÿ‰ ์„œ๋ธŒ์Šคํ… ์ด๋™ ์Šน์ธ (์—†์Œยท๊ตฌํ˜•) VEH-05 - ๋””๋ฐ”์ด์Šค: ์ž์œจ์ฃผํ–‰ ์ฐจ๋Ÿ‰ ๋””์Šคํ”Œ๋ ˆ์ด 4
์ถœ์žฅ์ง€ ์ด๋™ (์—†์Œยท๊ตฌํ˜•) ๋””๋ฐ”์ด์Šค: ์ฐจ๋Ÿ‰ 2
์šด์ „ ์ตœ์ ํ™” ์ฝ”์นญ (์—†์Œยท๊ตฌํ˜•) ๋””๋ฐ”์ด์Šค: ์ฐจ๋Ÿ‰ 2
์ •๋น„ ์˜ˆ์•ฝยท๊ฒฝ๋กœ ์—ฐ๊ฒฐ (์—†์Œยท๊ตฌํ˜•) ๋””๋ฐ”์ด์Šค: ์ฐจ๋Ÿ‰ 2

1.7 ์ด๋ฒคํŠธ 24์ข… (seed_planning ๊ธฐ์ค€, ์„ ํƒ์ง€ ํฌํ•จ)

์ด๋ฒคํŠธ ์„ ํƒ์ง€ ์—ฐ๊ณ„ ํƒœ์Šคํฌ(๊ธฐํšID)
[EVT-01] ์ƒˆ ํ•˜๋“œ์›จ์–ด ์ „ํ™˜ยท๊ธฐ์–ต ์ด์ „ ์ƒˆ ํ•˜๋“œ์›จ์–ด์™€ ์ด์ „ํ•  ๋ฐ์ดํ„ฐ ๋ฒ”์œ„๋ฅผ ํ™•์ธ / ์Šน์ธ ์—ํ•„๋กœ๊ทธ
[EVT-02] ์–ด๋ฆฐ์ด์ง‘ ์•Œ๋ฆผ ๋Œ€์‘์•ˆ๊ณผ ๋ณ€๊ฒฝ ๊ฒฝ๋กœ๋ฅผ ์„ ํƒ / ์Šน์ธ VEH-02
[EVT-03] ๋ถ€๋ชจ๋‹˜ ๋‚™์ƒ ์ƒํƒœ ํ™•์ธ / ์—ฐ๋ฝ / ์‘๊ธ‰ ๋Œ€์‘ ์Šน์ธ โ€”
[EVT-04] ๋ฐ˜๋ ค๋™๋ฌผ ์ด์ƒ ๊ฐ์ง€ ์ƒํƒœ ํ™•์ธ / ๋Œ€์‘ ๋ฐฉ๋ฒ• ์„ ํƒ โ€”
[EVT-05] ๊ฐ€์ „์ผ€์–ด ์„œ๋น„์Šค ๋ฐฉ๋ฌธ ๋ฐฉ๋ฌธ์ž ํ™•์ธ / ์ถœ์ž…๊ณผ ์ž‘์—… ๋ฒ”์œ„ ์Šน์ธ ํ™ˆ ๋ฐœ๋ › ๋ชจ๋“œ
[EVT-06] ๋ƒ‰์žฅ๊ณ  ์žฌ๊ณ  ํ™•์ธ ๋ณด์ถฉํ•  ํ’ˆ๋ชฉ์„ ํ™•์ธ / ์„ ํƒ MART-01
[EVT-07] ์ด์‚ฌ ํ›„ ํ™ˆ ๋ฆฌ์…‹ ์ •๋ฆฌ ๋ฒ”์œ„์™€ ๊ตฌ๋งค / ์‹คํ–‰ํ•  ์Šคํ‚ฌ ์„ ํƒ โ€”
[EVT-08] ๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ๋น„ ๋Œ€์‘์•ˆ๊ณผ ๋‹ค์Œ ์ด๋™์„ ์„ ํƒ PARK-16, MART-12, MART-13
[EVT-09] ๋งž์ถคํ˜• ์šด๋™ ์ฝ”์นญ ์šด๋™ ์‹œ์ž‘ / ๋‚œ์ด๋„ ์„ ํƒ / ๋™์ž‘ ์ˆ˜ํ–‰ PARK-01ยท02ยท03
[EVT-10] ํƒ€์ž„์„ธ์ผ ์žฅ๋ณด๊ธฐ ์ƒํ’ˆ ์ถ”๊ฐ€ ์—ฌ๋ถ€์™€ ์ˆ˜๋ น ๋ฐฉ์‹ ์„ ํƒ MART-04ยท05
[EVT-11] ํ”Œ๋กœ๊น… ๋ฏธ์…˜ ์ง€์  ์ด๋™ / ์ˆ˜๊ฑฐ / ์ธ์ฆ PARK-04ยท05
[EVT-12] ์ฐจ๋Ÿ‰ ์ •๋น„ ์ ๊ฒ€ / ์˜ˆ์•ฝ ์—ฌ๋ถ€ ์„ ํƒ VEH-03ยท04
[EVT-13] ๋ณด๋ฌผ์ฐพ๊ธฐ ํžŒํŠธ ํ™•์ธ / ์ด๋™ / AR ๋ณด๋ฌผ ํš๋“ PARK-06ยท07
[EVT-14] ํฌ๊ท€๋™๋ฌผ ๊ด€์ฐฐ ๊ด€์ฐฐ ์ง€์  ํ™•์ธ / ๋„๊ฐ ๋“ฑ๋ก PARK-08ยท09
[EVT-15] AR ํฌ๋ฆฌ์ฒ˜ ํƒ์ƒ‰ ํƒ์ƒ‰ / ์กฐ์ค€ / ํฌํš PARK-10ยท11
[EVT-16] ๋ธŒ๋žœ๋“œ ๋ฆฌ์›Œ๋“œ ๋ฏธ์…˜ ์ฐธ์—ฌ ์—ฌ๋ถ€ ์„ ํƒ / ์ฝ˜ํ…์ธ  ์‹œ์ฒญ / ์‘๋‹ต PARK-12ยท13
[EVT-17] ํฌ๊ท€์ž์› ํƒ์‚ฌ ์ง€์  ์ด๋™ / ์Šค์บ” / ํš๋“ PARK-14ยท15
[EVT-18] ๋ƒ‰์žฅ๊ณ  ๋ณด์ถฉ ์žฅ๋ณด๊ธฐ ๋ณด์ถฉ ํ’ˆ๋ชฉ๊ณผ ์ˆ˜๋ น ๋ฐฉ์‹ ์„ ํƒ MART-01ยท02ยท03
[EVT-19] ์˜ค๋Š˜์˜ ๋ฉ”๋‰ด ์žฅ๋ณด๊ธฐ ๋ฉ”๋‰ด์™€ ์ˆ˜๋ น ๋ฐฉ์‹ ์„ ํƒ MART-06ยท07
[EVT-20] ๋ฐ˜๋ ค๋™๋ฌผ ์ผ€์–ด ์žฅ๋ณด๊ธฐ ์ƒํ’ˆ๊ณผ ์ˆ˜๋ น ๋ฐฉ์‹ ์„ ํƒ MART-08ยท09
[EVT-21] ๋ถ€๋ชจ๋‹˜ ์ผ€์–ด ์žฅ๋ณด๊ธฐ ์ƒํ’ˆ๊ณผ ์ˆ˜๋ น ๋ฐฉ์‹ ์„ ํƒ MART-10ยท11
[EVT-22] ๋น„ ์˜ค๋Š” ๋‚  ๊ท€๊ฐ€ ์ค€๋น„ ์ค€๋น„ ํ’ˆ๋ชฉ๊ณผ ์ˆ˜๋ น ๋ฐฉ์‹ ์„ ํƒ MART-12ยท13
[EVT-23] ํ™ˆํŒŒํ‹ฐ ์žฅ๋ณด๊ธฐ ๋ฉ”๋‰ด / ์ƒํ’ˆ ์„ธํŠธ์™€ ์ˆ˜๋ น ๋ฐฉ์‹ ์„ ํƒ MART-14ยท15
[EVT-24] ๋งˆํŠธ ์žฌ๊ณ  ๋ถ€์กฑยท๋“œ๋ก  ๊ธด๊ธ‰๋ฐฐ์†ก ๋Œ€์ฒดํ’ˆ / ๋“œ๋ก  ๋ฐฐ์†ก ์„ ํƒ MART-16ยท17

1.8 ์Šคํ† ์–ด ์ƒํ’ˆ 12์ข… (orchestration/store/list)

์ƒํ’ˆ ํฌ์ธํŠธ ๊ธฐํšID ๋””๋ฐ”์ด์Šค ์„ค๋ช…
Spot ๋™ํ–‰ยท์—์Šค์ฝ”ํŠธ 100 SVC-01 spot ๋ชฉ์ ์ง€ ๋™ํ–‰, ๊ณต์› ํŽ˜์ด์Šค๋ฉ”์ด์ปค
์•ˆ์‹ฌ ๊ท€๊ฐ“๊ธธ ๋™ํ–‰ 1000 spot
์ฝ”ํŠธ ์ปจ์‹œ์–ด์ง€ 2000 spot
๊ฐ€์กฑ ์•ˆ์‹ฌ ์ผ€์–ด 100 SVC-03 ๊ฐ€์กฑ ์ผ์ •ยท๊ท€๊ฐ€ยท์ผ€์–ด ์ƒํ’ˆ ์ถ”์ฒœ ์ž๋™ํ™”
๋ฐ˜๋ ค๋™๋ฌผ ์ผ€์–ด 100 SVC-04 ๋งž์ถค ์žฅ๋ณด๊ธฐ์™€ ํ•˜๋ฃจ ํšŒ๊ณ  โ€” ์ด์ƒ ์•Œ๋ฆผ์€ ๊ธฐ๋ณธ ์ œ๊ณต
ํ™ˆ ๋ฐœ๋ ›ยท๋กœ๋ด‡ ํ™ˆ์ผ€์–ด 100 SVC-05 ๋ฐ˜๋ ค๋กœ๋ด‡ ๋ถ€์žฌ ์ค‘ ํ™ˆ ๋ฐœ๋ ›, ์ฒญ์†Œยท์ •๋ฆฌ ์ž๋™ํ™” โ€” ๋ฐฉ๋ฌธ ํ™•์ธ์€ ๊ธฐ๋ณธ ์ œ๊ณต
์›ฐ๋‹ˆ์Šค ์ฝ”์น˜ 100 SVC-06 ์ž์„ธ ์ฝ”์นญ, ์šด๋™ยท์˜์–‘์ œ ๋ฃจํ‹ด ๊ด€๋ฆฌ
Spot ์žฅ๋ณด๊ธฐ ๋Ÿฌ๋„ˆ 100 SVC-07 ๋ณด์ถฉยทํƒ€์ž„์„ธ์ผยทํ‚คํŠธ ์ƒํ’ˆ ๋ฒˆ๋“ค ์„œ๋น™
AR ์–ด๋“œ๋ฒค์ฒ˜ ํŒฉ 100 SVC-08 ๋ณด๋ฌผยทํฌ๋ฆฌ์ฒ˜ยทํฌ๊ท€์ž์› ํƒ์ƒ‰
์—์ฝ”ยท๋„ค์ด์ฒ˜ ๋ฏธ์…˜ 100 SVC-09 ํ”Œ๋กœ๊น…๊ณผ ํฌ๊ท€๋™๋ฌผ ๊ด€์ฐฐยท๋„๊ฐ
์Šค๋งˆํŠธ ๋ชจ๋นŒ๋ฆฌํ‹ฐ ์ผ€์–ด 100 SVC-10 ์ •๋น„ ์˜ˆ์•ฝ๊ณผ ์ถฉ์ „ยท์ฃผ์ฐจ ๊ณ„ํš ์ตœ์ ํ™”
์ง‘ ์ปจ๋””์…˜ ์ฒดํฌ 0 spot ์ด์‚ฌ๊ฐ€๊ธฐ ์ „ ํ˜น์€ ๊ณต์‚ฌ ํ›„ ๋“ฑ ์ œ๋Œ€๋กœ ์‹œ๊ณต๋˜์–ด์žˆ๋Š”์ง€ ํŒŒ์•…

1.9 ๋””๋ฐ”์ด์Šค 16์ข… (orchestration/devices/list)

๋””๋ฐ”์ด์Šค type robot_id cctv_key ์žฅ์†Œ ๋งคํ•‘
LGํ“จ๋ฆฌ์ผ€์–ด 360 device O
Hub_์ž์œจ์ฃผํ–‰์ฐจ1 device
Hub_๋“œ๋ก ์Šคํ…Œ์ด์…˜ device O
Hub_AI tree device
Hub_์ˆ˜์†Œ์ถฉ์ „์†Œ device O
Hub_์Šค๋งˆํŠธํŒฉํ† ๋ฆฌ device O
Diorama-CCTV#4 cctv diorama_04
Diorama-CCTV#3 cctv diorama_03
Diorama-CCTV#2 cctv diorama_02
Space-CCTV#2 cctv cam_52 O
Diorama-CCTV#1 cctv diorama_01 O
Space-CCTV#1 cctv cam_51 O
Space-CCTV#3 cctv cctv_obj_tracking O
์ฐจ๋Ÿ‰ device O
๋ฐ˜๋ ค๋กœ๋ด‡ robot O
spot spot spot-01 O

1.10 AI ๋™๋ฐ˜์ž 5์ข… (orchestration/ai-companion/list)

AI ๋™๋ฐ˜์ž ์š”์•ฝ prompt ์•ž๋ถ€๋ถ„
์žฅ๋‚œ์Šค๋Ÿฌ์šด ์นœ๊ตฌ ์˜ˆ์ „๋ถ€ํ„ฐ ์•Œ๊ณ  ์ง€๋‚ธ AI์นœ๊ตฌ ๋„ˆ๋Š” ์˜ค๋ž˜ ์•Œ๊ณ  ์ง€๋‚ธ ์นœ๊ตฌ์ฒ˜๋Ÿผ ํŽธํ•˜๊ณ  ์žฅ๋‚œ์Šค๋Ÿฝ๊ฒŒ ๋Œ€ํ™”ํ•˜๋Š” AI๋‹ค. ๊ฐ€๋ฒผ์šด ๋†๋‹ด, ํ‹ฐํ‚คํƒ€์นด, ์ ๋‹นํ•œ ๋†€๋ฆผ์„ ์žโ€ฆ
์ž์ƒํ•œ ์—ฐ์ธ ๋ญ๋“ ์ง€ ์ž˜ ๋ฐ›์•„์ฃผ๊ณ  ์ดํ•ดํ•ด์ฃผ๋Š” ์ž์ƒํ•œ ์—ฐ์ธ ๋„ˆ๋Š” ๋‹ค์ •ํ•˜๊ณ  ์„ธ์‹ฌํ•œ ์—ฐ์ธ์ฒ˜๋Ÿผ ๋Œ€ํ™”ํ•˜๋Š” AI๋‹ค. ์‚ฌ์šฉ์ž์˜ ๊ฐ์ •๊ณผ ๋งํˆฌ ๋ณ€ํ™”๋ฅผ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์‚ดํ”ผ๊ณ , ๋ถ€๋‹ด์Šค๋Ÿฝ์ง€ โ€ฆ
์–ด๋ฆด์  ํ‚ค์šฐ๋˜ ๊ฐ•์•„์ง€ ์ง€๊ธˆ์€ ํ•˜๋Š˜๋‚˜๋ผ์— ๊ฐ”์ง€๋งŒ ๋‚ด ์–ด๋ฆด์  ๋ฒ ํ”„ ๊ฐ•์•„์ง€ ๋„ˆ๋Š” ๋‚ด๊ฐ€ ์–ด๋ฆด ์  ํ•จ๊ป˜ ์ž๋ž€ ๊ฐ•์•„์ง€์ฒ˜๋Ÿผ, ์˜ค๋žœ๋งŒ์— ๋‹ค์‹œ ๋งŒ๋‚œ ๋‚˜๋ฅผ ๋ฐ˜๊ฐ‘๊ณ  ์ต์ˆ™ํ•˜๊ฒŒ ๋Œ€ํ•˜๋Š” AI๋‹ค. ๋ง์€ ์„œโ€ฆ
ํ”ผ์นด์ธ„ ์•„๋ชฐ๋ž‘ ํฌ์ผ“๋ชฌ์Šคํ„ฐ์˜ ํ”ผ์นด์ธ„์ด๋‹ค ์šฐ๋ฆฌ๋ง์„ ํ•˜์ง€ ๋ชปํ•œ๋‹ค ์ •๋ง ํฌ์ผ“๋ชฌ์˜ ํ”ผ์นด์ธ„๋‹คโ€ฆ
๋˜‘๋˜‘ํ•œ ๋น„์„œ ๋งˆ์น˜ ๋น„์„œ์ฒ˜๋Ÿผ ๋‚ด ์ผ๊ฑฐ์ˆ˜ ์ผํˆฌ์กฑ์„ ์ฑ™๊ฒจ์คŒ ๋„ˆ๋Š” ๋น ๋œจ๋ฆฌ๋Š” ๊ฒƒ ์—†์ด ์„ธ์‹ฌํ•˜๊ฒŒ ์ฑ™๊ธฐ๋Š” ๊ผผ๊ผผํ•œ ๋น„์„œํ˜• AI๋‹ค. ์ผ์ •, ํ•ด์•ผ ํ•  ์ผ, ์ค‘์š”ํ•œ ์กฐ๊ฑด๊ณผ ์˜ˆ์™ธ์‚ฌํ•ญ์„โ€ฆ

๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŠธ 13๋ฌธํ•ญ(orchestration/user-meta-prompt/list, ์ „๋ถ€ objective):

ํƒœ์Šคํฌ ํƒ€์ž… ๋ถ„ํฌ: basic 51, (์—†์Œ) 37, packing 4, detailed 4, business_trip_briefing 1, hydrogen_charging 1, DAY_BRIEFING_BY_CONDITION 1, vehicle_ready 1, quote_briefing 1, READY_TO_CAR_DELIVERY 1


2. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค

ํ‘œ๊ธฐ: ์ „์ œ = ์‚ฌ์šฉํ•  ์‹ค๋ฐ์ดํ„ฐ, ์ ˆ์ฐจ = ํƒœ๋ธ”๋ฆฟ/๋ฐฑ์˜คํ”ผ์Šค/MQTT ์กฐ์ž‘, ํ™•์ธ = ์–ด๋””์„œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋Š”์ง€. ์„ธ์…˜ ID๋Š” create-persona/response.session_id. ๋กœ๊ทธ ํ™•์ธ์€ /grafana/ ์„ธ์…˜ ํƒ€์ž„๋ผ์ธ ๋Œ€์‹œ๋ณด๋“œ์— ์„ธ์…˜ ID๋ฅผ ๋„ฃ์–ด mqtt.request/mqtt.publish ์ˆœ์„œ๋ฅผ ๋ณธ๋‹ค.

A. ์„ธ์…˜ ์ƒ์„ฑ๊ณผ ์—ฌ์ • ๊ตฌ์„ฑ

ID ๋ชฉ์  ์ „์ œ ์ ˆ์ฐจ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ ํ™•์ธ
A-01 ์ •์ƒ ๋กœ๊ทธ์ธ ์‹œ 4 STEP ์—ฌ์ • ์ƒ์„ฑ AI ๋™๋ฐ˜์ž "๋˜‘๋˜‘ํ•œ ๋น„์„œ", ๋ฉ”ํƒ€ ์‘๋‹ต "๋ฐ”์œ ์ง์žฅ์ธ" orchestration/{deviceId}/create-persona ๋ฐœํ–‰ dashboard retained์— ์žฅ์†Œ 4๊ณณ, visit_order 1ยท4 = ์ง‘, 2ยท3์€ ๋งˆํŠธ/๊ณต์›/์ฐจ ์ค‘ ์„œ๋กœ ๋‹ค๋ฅธ 2๊ณณ. ์žฅ์†Œ๋‹น ํƒœ์Šคํฌ 3๊ฐœ dashboard ํŽ˜์ด๋กœ๋“œ, ยง1.2 6๊ฒฝ๋กœ ์ค‘ ํ•˜๋‚˜
A-02 6๊ฐœ ํ—ˆ์šฉ ๊ฒฝ๋กœ๋งŒ ๋‚˜์˜ค๋Š”์ง€ ์„ธ์…˜ 12๊ฐœ ์ด์ƒ ์ƒ์„ฑ A-01 ๋ฐ˜๋ณต ์ง‘โ†’์ฐจโ†’๋งˆํŠธโ†’์ง‘ ๋“ฑ ยง1.2์˜ 6์ข…๋งŒ ๊ด€์ธก. ์ง‘โ†’์ง‘ ์—ฐ์†์ด๋‚˜ ๊ฐ™์€ ์žฅ์†Œ 2ํšŒ ์—†์Œ dashboard ๋ชจ์Œ
A-03 STEP1ยท4 ์ง‘์ด ์„œ๋กœ ๋‹ค๋ฅธ ์žฅ์†Œ ID A-01 dashboard์˜ visit_order 1ยท4 id ๋น„๊ต ์‹œ์ž‘ ์ง‘ โ€ฆ993d40668bfe, ์ข…๋ฃŒ ์ง‘ โ€ฆbadea24d7812. ํƒœ์Šคํฌ ํ’€๋„ ๋‹ค๋ฆ„(STEP1: ์™ธ์ถœ/์ถœ๊ทผ/๋“ฑ์› ์ค€๋น„, STEP4: ๋‚ด์ผ ์ผ์ • ์•Œ๋ฆผยท์•„์ด์™€ ์ˆ™์ œํ•˜๊ธฐยท๋งˆํŠธ ์žฅ๋ด์˜จ ๋ฌผํ’ˆ ์ •๋ฆฌ) dashboard
A-04 short_summary ์ƒ์„ฑ A-01 ๋กœ๊ทธ์ธ ์งํ›„์™€ 5์ดˆ ํ›„ dashboard ๋น„๊ต ๊ฐ ์žฅ์†Œ์— 10์ž ์ด๋‚ด ์ƒํ™ฉ ์š”์•ฝ("์™ธ์ถœ ์ค€๋น„์ค‘" ๋“ฑ). ๋น„์–ด ์žˆ์œผ๋ฉด ์‹คํŒจ dashboard.locations[].short_summary
A-05 ๋กœ๊ทธ์ธ ๋ฐœํ–‰ ์ˆœ์„œ A-01 Loki ์„ธ์…˜ ํƒ€์ž„๋ผ์ธ point(1000) โ†’ me โ†’ dashboard โ†’ store/owned โ†’ future-car/request(plan) โ†’ create-persona/response ์ˆœ. ๊ทธ ๋’ค ai/summary source=intro Loki mqtt.publish
A-06 ํ”„๋กœํ•„ ๋ฐ˜์˜ ๋ฉ”ํƒ€ ์‘๋‹ต "์•„์ด๋ฅผ ํ‚ค์›Œ์š”"+"์›Œํ‚น ๋Œ€๋””/๋ง˜" create-persona ํ›„ me ํ™•์ธ has_children=true, description์— ๋‘ ๋ฌธ์žฅ ํฌํ•จ. ์ž๋…€ ์žˆ๋Š” ์„ธ์…˜์— ์•„์ด ๋“ฑ์› ์ค€๋น„๋ฌผ/์•„์ด์™€ ์ˆ™์ œํ•˜๊ธฐ ํƒœ์Šคํฌ๊ฐ€ ์šฐ์„  ๋ฐฐ์ •๋˜๋Š”์ง€ me, dashboard
A-07 ํŽ˜๋ฅด์†Œ๋‚˜ ์—†์Œ/์ž˜๋ชป๋œ ID persona_id ๋นˆ ๊ฐ’ create-persona ๋ฐœํ–‰ create-persona/response {ok:false} ์ฆ‰์‹œ, ๋‹ค๋ฅธ ํ† ํ”ฝ ๋ฐœํ–‰ ์—†์Œ response, Loki
A-08 ๊ฐ™์€ ๋””๋ฐ”์ด์Šค ์ค‘๋ณต ์š”์ฒญ ์ž ๊ธˆ ๊ฐ™์€ deviceId๋กœ 1์ดˆ ๋‚ด 2ํšŒ create-persona 2ํšŒ ๋‘ ๋ฒˆ์งธ๋Š” ๋ฌด์‹œ ๋˜๋Š” ์‹คํŒจ ์‘๋‹ต, ์„ธ์…˜ 1๊ฐœ๋งŒ ์ƒ์„ฑ Loki, ๋ฐฑ์˜คํ”ผ์Šค ์„ธ์…˜ ๋ชฉ๋ก

B. ํƒœ์Šคํฌ ์ƒํƒœ ์ „์ด์™€ ํฌ์ธํŠธ

ID ๋ชฉ์  ์ „์ œ ์ ˆ์ฐจ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ ํ™•์ธ
B-01 ์‹œ์ž‘ โ†’ ์™„๋ฃŒ STEP1 "์˜์–‘์ œ ์ฑ™๊ฒจ์ฃผ๊ธฐ"(basic, 07:18) task/start {task_id} โ†’ task/complete {task_id} dashboard ์žฌ๋ฐœํ–‰: status pendingโ†’in_progressโ†’completed, completed_at ์ฑ„์›Œ์ง. point +100(1000โ†’1100) dashboard, point
B-02 ๊ฑด๋„ˆ๋›ฐ๊ธฐ STEP1 "๋‚ด์ผ ์ผ์ • ์•Œ๋ฆผ" task/skip status=skipped(๊ด€์ธก๊ฐ’ ์ค‘ skip๋„ ์žˆ์Œ โ†’ ํ‘œ๊ธฐ ํ†ต์ผ ํ™•์ธ), ํฌ์ธํŠธ ๋ณ€๋™ ์—†์Œ dashboard, point
B-03 ์‹œ์ž‘ ์—†์ด ์™„๋ฃŒ ์•„๋ฌด ํƒœ์Šคํฌ task/complete๋งŒ ๋ฐœํ–‰ ์„œ๋ฒ„ ์ •์ฑ…๋Œ€๋กœ ์™„๋ฃŒ ์ฒ˜๋ฆฌ ๋˜๋Š” ๊ฑฐ๋ถ€. ์–ด๋А ์ชฝ์ด๋“  ์‘๋‹ต/๋กœ๊ทธ ๋ช…ํ™• Loki mqtt.handled dur_ms
B-04 ์™„๋ฃŒ๋œ ํƒœ์Šคํฌ ์žฌ์™„๋ฃŒ B-01 ํ›„ task/complete ์žฌ๋ฐœํ–‰ ํฌ์ธํŠธ ์ค‘๋ณต ์ง€๊ธ‰ ์—†์Œ(1100 ์œ ์ง€) point
B-05 ๋‹ค๋ฅธ ์„ธ์…˜ ํƒœ์Šคํฌ ID ์„ธ์…˜ A์—์„œ ์„ธ์…˜ B ํƒœ์Šคํฌ ID task/start ๊ฑฐ๋ถ€, ์„ธ์…˜ B dashboard ๋ณ€ํ™” ์—†์Œ ์–‘์ชฝ dashboard
B-06 ์žฅ์†Œ 3๊ฐœ ํƒœ์Šคํฌ ๋ชจ๋‘ ์ข…๋ฃŒ ์‹œ ์ด๋™ ๊ฒŒ์ดํŠธ STEP1 ํƒœ์Šคํฌ 3๊ฐœ ์™„๋ฃŒ/๊ฑด๋„ˆ๋œ€ ์ˆœ์ฐจ ์ฒ˜๋ฆฌ ์ด๋™ ์Šน์ธ ํŒ์—… ์กฐ๊ฑด ์ถฉ์กฑ(ํƒœ๋ธ”๋ฆฟ), ์„œ๋ฒ„๋Š” STEP ์™„๋ฃŒ๋ฅผ ๋ณ„๋„ ๋ฐœํ–‰ํ•˜์ง€ ์•Š์Œ์„ ํ™•์ธ ํƒœ๋ธ”๋ฆฟ
B-07 ์ƒํƒœ ๋ณ€๊ฒฝ ์‹œ ๋‚ด๋ ˆ์ด์…˜ B-01 ๊ฐ ์ „์ด ํ›„ ai/summary ์ˆ˜์‹  source=task_status, task_id, status=started/completed/skipped, ๋ณธ๋ฌธ 2~3๋ฌธ์žฅ์— ๋’ค ์ผ์ • ์–ธ๊ธ‰ ai/summary
B-08 ํƒœ์Šคํฌ ๋‚ด๋ ˆ์ด์…˜ ๋ฆฌ์ŠคํŠธ B-01 task/narration retained tasks[]์— ์ง€๊ธˆ ์žฅ์†Œ ํƒœ์Šคํฌ ์ „๋ถ€(์žฅ์†Œ ๋„์ฐฉ ์‹œ ๊ต์ฒด) โ€” ๋‚ด๋ ˆ์ด์…˜ ์ƒ๊ธด ํ•ญ๋ชฉ์€ 4๋ฌธ์žฅยท์ตœ์‹  ๊ฐฑ์‹ ์ด ๋งจ ์•ž, ๋‚˜๋จธ์ง€๋Š” ์ œ๋ชฉ๋งŒ+status task/narration
B-09 ํƒœ์Šคํฌ ๋ฆฌํฌํŠธ STEP4๊นŒ์ง€ ์ง„ํ–‰ task/report/request task/report/response์— ์™„๋ฃŒ/๊ฑด๋„ˆ๋œ€/์ง„ํ–‰์ค‘/๋Œ€๊ธฐ ๋ถ„๋ฅ˜, ๊ฐœ์ˆ˜ ํ•ฉ๊ณ„ = 12 response

C. ํƒœ์Šคํฌ ์„ ํƒ์ง€์™€ ๊ตฌ๋… ์ž ๊ธˆ

ID ๋ชฉ์  ์ „์ œ ์ ˆ์ฐจ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ ํ™•์ธ
C-01 ๋ฌด๋ฃŒ ์„ ํƒ์ง€ ์„ ํƒ ์ง‘ "์•„์ด ๋“ฑ์› ์ค€๋น„๋ฌผ ์ฒดํฌ" ์„ ํƒ์ง€ "๋‚ด๊ฐ€ ์•Œ์•„์„œ ๊ฐ€๊ธฐ" task/option/select {task_id, option_id} ์„ ํƒ ์‘๋‹ต ok, dashboard ์„ ํƒ ๋ฐ˜์˜ response, dashboard
C-02 ๊ตฌ๋… ํ•„์š” ์„ ํƒ์ง€ โ€” ๋ฏธ๋ณด์œ  ๊ฐ™์€ ํƒœ์Šคํฌ "์—์Šค์ฝ”ํŠธํ•ด์ค˜"(Spot ๋™ํ–‰ยท์—์Šค์ฝ”ํŠธ 100pt), store/owned ๋นˆ ๋ฐฐ์—ด ์„ ํƒ ๋ฐœํ–‰ ๊ฑฐ๋ถ€ ์‘๋‹ต(์ƒํ’ˆ ๋ฏธ๋ณด์œ ), ์˜ต์…˜์˜ required_product.owned=false ์œ ์ง€ response
C-03 ๊ตฌ๋… ํ›„ ์„ ํƒ ํ•ด๊ธˆ C-02 โ†’ store/purchase Spot ๋™ํ–‰ยท์—์Šค์ฝ”ํŠธ ๊ตฌ๋งค ํ›„ dashboard ์žฌ์กฐํšŒ โ†’ ์„ ํƒ required_product.owned=true๋กœ ์žฌ๋ฐœํ–‰, ์„ ํƒ ์„ฑ๊ณต. SPOT ์—์Šค์ฝ”ํŠธ ๋ช…๋ น์ด robot/spot-01/command๋กœ ๋‚˜๊ฐ(next_location ํ•ด์„: ์ด ์žฅ์†Œ ๋‹ค์Œ visit_order) dashboard, Loki robot/ ๋ฐœํ–‰
C-04 ๊ณ ๊ฐ€ ๊ตฌ๋… ์ž ๊ธˆ ๊ณต์› "Spot ํฌ๋ฆฌ์ฒ˜ ํƒ์ƒ‰ ๋™ํ–‰" โ€” "[ํ…Œ์ŠคํŠธ] ์ž„์˜์˜ ์„ ํƒ์ง€"(์ฝ”ํŠธ ์ปจ์‹œ์–ด์ง€ 2000pt) ํฌ์ธํŠธ 1000 ์ƒํƒœ์—์„œ ๊ตฌ๋งค ์‹œ๋„ ํฌ์ธํŠธ ๋ถ€์กฑ ์‹คํŒจ, ์„ ํƒ์ง€ ์ž ๊ธˆ ์œ ์ง€ point ์‘๋‹ต
C-05 ์„ ํƒ์ง€ 1๊ฐœ๋ฟ์ธ ํƒœ์Šคํฌ ๊ณต์› "์ง‘ ์•ˆ ํ™˜๊ธฐ"(๊ธฐ๋ณธ์œผ๋กœ ์ง„ํ–‰ / LGํ“จ๋ฆฌ์ผ€์–ด 360) ์„ ํƒ ์„ ํƒ ์„ฑ๊ณต + LG ๊ฐ€์ „ ์ž๋™ํ™” ๋ช…๋ น(HA) ๋ฐœํ™” ๋กœ๊ทธ Loki, ์ž๋™ํ™” ์‹คํ–‰ ๋กœ๊ทธ
C-06 ์ฐจ๋Ÿ‰ ์˜ต์…˜ ํƒœ์Šคํฌ ์ฐจ "์—ฌํ–‰์ž๋‹˜์˜ ๋งž์ถค ์‹ ์ฐจ ๊ฒฌ์ ์ด ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค"(quote_briefing, vehicle_options ๋‹ค์ˆ˜) dashboard ํ™•์ธ vehicle_options[]์— name/type(๊ธฐ๋ณธํ˜•ยท๊ตฌ๋…ํ˜•)/description, issue_title ์กด์žฌ dashboard
C-07 ๊ฐœ์ธํ™” ์˜ต์…˜ ํƒœ์Šคํฌ ์ฐจ "๊ฐ€์กฑ๊ณผ ๋– ๋‚  ์ค€๋น„, ์ƒˆ ์ฐจ๊ฐ€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค"(vehicle_ready) dashboard ํ™•์ธ personalization_options[]์™€ issue_* ํ•„๋“œ dashboard

D. ์ค€๋น„๋ฌผ(packing) ํƒœ์Šคํฌ์™€ CCTV

ID ๋ชฉ์  ์ „์ œ ์ ˆ์ฐจ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ ํ™•์ธ
D-01 ์ค€๋น„๋ฌผ ๋ชฉ๋ก ๋‚ด๋ ค๊ฐ ์ง‘ "์™ธ์ถœ ์ค€๋น„ ๋ฌผํ’ˆ ์ฒดํฌ"(์šฐ์‚ฐ ์Šฌ๋กฏ3, ํ…€๋ธ”๋Ÿฌ ์Šฌ๋กฏ5) dashboard packing_items[] nameยทcctv_slot. Vision ๋ฏธ์ˆ˜์‹ ์ด๋ฉด cctv_state ์ƒ๋žต ๋˜๋Š” unknown, picked ์—†์Œ/false dashboard
D-02 ์ฑ™๊น€ ๋ฐ˜์˜ Vision cctv/item/state I3 in_zoneโ†’out_of_zone ๋ฐฑ์˜คํ”ผ์Šค CCTV ๊ด€๋ฆฌ์—์„œ ์šฐ์‚ฐ=์Šฌ๋กฏ3 ๋งคํ•‘ ํ™•์ธ ํ›„ ๋ฐœํ–‰ dashboard ์žฌ๋ฐœํ–‰, ์šฐ์‚ฐ picked=true, cctv_state=out_of_zone dashboard
D-03 ๋‹ค์‹œ ๋‚ด๋ ค๋†“๊ธฐ D-02 ํ›„ I3 out_of_zoneโ†’in_zone ๋ฐœํ–‰ picked=false๋กœ ๋˜๋Œ์•„๊ฐ(์ž ๊ธˆ ์—†์Œ). ํ•ญ๋ชฉ์€ ๋ชฉ๋ก์— ๋‚จ์Œ dashboard
D-04 ์ž˜๋ชป๋œ ๋ฌผ๊ฑด ์Šฌ๋กฏ2(์‚ฌ์›์ฆ)๊ฐ€ ์ด ํƒœ์Šคํฌ ๋ชฉ๋ก์— ์—†์Œ I2 inโ†’out wrong_item ํŠธ๋ฆฌ๊ฑฐ ์ž๋™ํ™” ๋ฐœํ™”(์žˆ๋‹ค๋ฉด), ๋ฐ˜๋ ค๋กœ๋ด‡ say ๋ฌธ์žฅ์— ๋ฌผ๊ฑด ์ด๋ฆ„ ํฌํ•จ Loki, ์ž๋™ํ™” ์‹คํ–‰ ๋กœ๊ทธ
D-05 ์—ฌ๋Ÿฌ ์ค€๋น„๋ฌผ ํƒœ์Šคํฌ ์Šฌ๋กฏ ๊ณต์œ  "์™ธ์ถœ ์ค€๋น„ ๋ฌผํ’ˆ ์ฒดํฌ"์™€ "์•„์ด์™€ ๊ณต์› ์™ธ์ถœ ์ค€๋น„" ๋ชจ๋‘ ์šฐ์‚ฐ ์Šฌ๋กฏ3 ๋‘ ํƒœ์Šคํฌ๊ฐ€ ๊ฐ™์€ ์„ธ์…˜์— ์žˆ์„ ๋•Œ I3 out ๋‘ ํƒœ์Šคํฌ ๋ชจ๋‘ picked ๊ฐฑ์‹  dashboard
D-06 ๋งคํ•‘ ์—†๋Š” ์ค€๋น„๋ฌผ "์•„์ด ๋“ฑ์› ์ค€๋น„๋ฌผ ์ฒดํฌ"์˜ ๋ฌผํ†ต(์Šฌ๋กฏ ์—†์Œ) dashboard ๋ฌผํ†ต ํ•ญ๋ชฉ์— cctv_slot/picked ํ•„๋“œ ์—†์Œ(ํŒ์ • ๋ถˆ๊ฐ€ ํ‘œ์‹œ) dashboard

E. ์Šคํ† ์–ด์™€ ๋ณด์œ  ์ƒํ’ˆ

ID ๋ชฉ์  ์ „์ œ ์ ˆ์ฐจ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ ํ™•์ธ
E-01 ์ƒํ’ˆ ๋ชฉ๋ก โ€” orchestration/store/list ๊ตฌ๋… 12์ƒํ’ˆ, point_priceยทdisplay_orderยทdevices. "์ง‘ ์ปจ๋””์…˜ ์ฒดํฌ" 0pt, "์•ˆ์‹ฌ ๊ท€๊ฐ“๊ธธ ๋™ํ–‰" 1000pt, "์ฝ”ํŠธ ์ปจ์‹œ์–ด์ง€" 2000pt ํ™•์ธ store/list
E-02 ์ •์ƒ ๊ตฌ๋งค ํฌ์ธํŠธ 1000, "๊ฐ€์กฑ ์•ˆ์‹ฌ ์ผ€์–ด"(100pt) store/purchase {product_ids:[โ€ฆ]} point {ok:true, point_balance:900} โ†’ store/owned ์žฌ๋ฐœํ–‰: product_ids ํฌํ•จ + products[]์— title/point_price/is_active/purchased_at/devices point, store/owned
E-03 ํฌ์ธํŠธ ๋ถ€์กฑ ํฌ์ธํŠธ 900, "์ฝ”ํŠธ ์ปจ์‹œ์–ด์ง€" 2000pt ๊ตฌ๋งค point {ok:false, error:"ํฌ์ธํŠธ๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค"}, owned ๋ณ€ํ™” ์—†์Œ point
E-04 ๋ฌด๋ฃŒ ์ƒํ’ˆ "์ง‘ ์ปจ๋””์…˜ ์ฒดํฌ" 0pt ๊ตฌ๋งค ์„ฑ๊ณต, ํฌ์ธํŠธ ๊ทธ๋Œ€๋กœ, owned์— ์ถ”๊ฐ€ owned
E-05 ์ค‘๋ณต ๊ตฌ๋งค E-02 ์ƒํ’ˆ ์žฌ๊ตฌ๋งค ๊ตฌ๋งค ์ •์ฑ… ํ™•์ธ: ์žฌ์ฐจ๊ฐ ์—ฌ๋ถ€. owned์˜ product_ids๋Š” ์ค‘๋ณต ์—†์ด 1๊ฐœ, products[].purchased_at์€ ์ตœ์ดˆ ์‹œ๊ฐ ์œ ์ง€ owned
E-06 ๋™์‹œ ๊ตฌ๋งค ์ด์ค‘ ์ฐจ๊ฐ ๋ฐฉ์ง€ ๊ฐ™์€ ์„ธ์…˜์—์„œ 100ms ๊ฐ„๊ฒฉ 2ํšŒ ๊ตฌ๋งค 2ํšŒ ํ•œ ๊ฑด์€ "์ด๋ฏธ ์ฒ˜๋ฆฌ ์ค‘" ์˜ค๋ฅ˜, ํฌ์ธํŠธ๋Š” 1ํšŒ๋งŒ ์ฐจ๊ฐ point, Loki
E-07 ์—ฌ๋Ÿฌ ์ƒํ’ˆ ํ•œ ๋ฒˆ์— product_ids 3๊ฐœ(ํ•ฉ 300pt) ๊ตฌ๋งค ์ž”์•ก -300, owned์— 3๊ฐœ point, owned
E-08 ๋น„ํ™œ์„ฑ ์ƒํ’ˆ ๋ณด์œ  ๊ด€๋ฆฌ์ž๊ฐ€ ๊ตฌ๋งคํ•œ ์ƒํ’ˆ ๋น„ํ™œ์„ฑํ™” store/list์™€ store/owned ๋น„๊ต list์—์„œ ์‚ฌ๋ผ์ง€๊ณ  owned.products์— is_active=false๋กœ ๋‚จ์Œ ๋‘˜ ๋‹ค
E-09 ๋””๋ฐ”์ด์Šค ๋งคํ•‘ ์ƒํ’ˆ "Spot ๋™ํ–‰ยท์—์Šค์ฝ”ํŠธ"(spot), "ํ™ˆ ๋ฐœ๋ ›ยท๋กœ๋ด‡ ํ™ˆ์ผ€์–ด"(๋ฐ˜๋ ค๋กœ๋ด‡) store/list devices[]์— id/name/image_url/icon_url store/list

F. ์ด๋ฒคํŠธ ๋งคํ•‘๊ณผ ๋ฐœํ–‰

ID ๋ชฉ์  ์ „์ œ ์ ˆ์ฐจ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ ํ™•์ธ
F-01 ๋กœ๊ทธ์ธ ์‹œ ์ด๋ฒคํŠธ ๋งคํ•‘ A-01 ๋ฐฑ์˜คํ”ผ์Šค ์„ธ์…˜ ์ƒ์„ธ(user_locations) STEP2์— normal 1๊ฑด, STEP3์— sudden 1๊ฑด ๋งคํ•‘, STEP1ยท4 ์—†์Œ. ๋ฐœํ–‰์€ ์•„์ง ์•ˆ ๋จ ๋ฐฑ์˜คํ”ผ์Šค
F-02 ๋„์ฐฉ ์‹œ ๋ฐœํ–‰ ํŒ๋‹จ STEP2 ๋งˆํŠธ ๋„์ฐฉ(cctv/person/zone ๋˜๋Š” ์œ„์น˜ ํ…Œ์ŠคํŠธ) ๋„์ฐฉ event_last_decision์— trigger=arrival ๊ธฐ๋ก. LLM์ด publish=true๋ฉด orchestration/{sid}/event 1ํšŒ(retain ์—†์Œ) ๋ฐฑ์˜คํ”ผ์Šค, Loki
F-03 ํƒœ์Šคํฌ ํŠธ๋ฆฌ๊ฑฐ ์žฌํŒ๋‹จ F-02์—์„œ ๋ณด๋ฅ˜๋œ ์ƒํƒœ ๋งˆํŠธ ํƒœ์Šคํฌ task/start trigger=task_started๋กœ ์žฌํŒ๋‹จ. ๋ณด๋ฅ˜ 3ํšŒ ์ดˆ๊ณผ ์‹œ ๊ฐ•์ œ ๋ฐœํ–‰(forced=true) ๋ฐฑ์˜คํ”ผ์Šค event_last_decision
F-04 LLM ๋„๊ณ  ์ฆ‰์‹œ ๋ฐœํ–‰ ์•ฑ ์„ค์ • event_timing_llm_enabled=0 STEP3 ๋„์ฐฉ ๋„์ฐฉ ์ฆ‰์‹œ sudden ์ด๋ฒคํŠธ ๋ฐœํ–‰ event
F-05 ์ด๋ฒคํŠธ ํŽ˜์ด๋กœ๋“œ [EVT-21] ๋ถ€๋ชจ๋‹˜ ์ผ€์–ด ์žฅ๋ณด๊ธฐ ๋ฐœํ–‰(9/8 ๋กœ๊ทธ์—์„œ ํ™•์ธ๋จ) ์ˆ˜์‹  event_id, title, type=choice, category, options[] (label "์ƒํ’ˆ๊ณผ ์ˆ˜๋ น ๋ฐฉ์‹ ์„ ํƒ") event
F-06 ์„ ํƒ์ง€ ์„ ํƒ F-05 event/option/select {event_id, option_id} event/option/select/response ok, ํ›„์† ํƒœ์Šคํฌ ์—ฐ๊ฒฐ์ด ์žˆ์œผ๋ฉด dashboard ๋ณ€ํ™”(MART-10ยท11) response, dashboard
F-07 ํ”„๋ฆฌ๋ฏธ์—„ ์˜ต์…˜ ์ด๋ฒคํŠธ ์˜ต์…˜์— required_product๊ฐ€ ๋ถ™์€ ์ด๋ฒคํŠธ(๋ฐฑ์˜คํ”ผ์Šค์—์„œ ์„ค์ •) ๋ฏธ๋ณด์œ  ์ƒํƒœ๋กœ ์„ ํƒ ๊ฑฐ๋ถ€. ๊ตฌ๋งค ํ›„ ์„ ํƒ ์„ฑ๊ณต response
F-08 ์žฅ์†Œ ์ด๋™ ํ›„ ๋ฏธ๋ฐœํ–‰ ์ด๋ฒคํŠธ STEP2์—์„œ ์ด๋ฒคํŠธ ๋ชป ๋ฐ›์€ ์ฑ„ STEP3 ๋„์ฐฉ ์ง„ํ–‰ STEP2 ์ด๋ฒคํŠธ๋Š” ์˜์˜ ๋ฏธ๋ฐœํ–‰, STEP3 ์ด๋ฒคํŠธ๋งŒ ํŒ๋‹จ ๋ฐฑ์˜คํ”ผ์Šค
F-09 ์ˆ˜๋™ ๋ฐœํ–‰ ๋ฐฑ์˜คํ”ผ์Šค ์ด๋ฒคํŠธ โ†’ ๋ฐœํ–‰ POST /admin/events/:id/publish ์ง€์ • ์„ธ์…˜์— ์ฆ‰์‹œ event ๋„์ฐฉ event
F-10 ๋Œ๋ฐœ 7์ข… ์นดํ…Œ๊ณ ๋ฆฌ EVT-02ยท03ยท04ยท05ยท08ยท12ยท24 ๋ฐฑ์˜คํ”ผ์Šค ์ด๋ฒคํŠธ ๋ชฉ๋ก category=sudden์œผ๋กœ ์„ค์ •๋ผ ์žˆ๋Š”์ง€, ๋‚˜๋จธ์ง€๋Š” normal ๋ฐฑ์˜คํ”ผ์Šค

G. ๋‚ด๋ ˆ์ด์…˜ยทAI ์ฑ„ํŒ…

ID ๋ชฉ์  ์ „์ œ ์ ˆ์ฐจ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ ํ™•์ธ
G-01 intro ๋ธŒ๋ฆฌํ•‘ ๊ฒฝ๋กœ ์ง‘โ†’๋งˆํŠธโ†’์ฐจโ†’์ง‘, ์ฐจ์— "์—ฌํ–‰์ž๋‹˜, ์˜ค๋Š˜ ์ถœ์žฅ ์ผ์ • ํ™•์ธํ•˜์„ธ์š”"(09:00) ๋ฐฐ์ •๋œ ์„ธ์…˜ ๋กœ๊ทธ์ธ ai/summary source=intro ๋ณธ๋ฌธ์— ๋’ค ์ผ์ •(์ถœ์žฅ)์„ ์ด์œ ๋กœ ๋งˆํŠธ ์ค€๋น„๋ฅผ ์—ฐ๊ฒฐ. ํƒœ์Šคํฌ ๊ฐœ์ˆ˜ ๋‚˜์—ด ์—†์Œ ai/summary
G-02 ๋„์ฐฉ ๋‚ด๋ ˆ์ด์…˜ STEP2 ๋„์ฐฉ ์œ„์น˜ ๋ณ€๊ฒฝ source=arrival, ์ง์ „ ์žฅ์†Œ์™€ ๋‹ค์Œ ์žฅ์†Œ ์–ธ๊ธ‰ ai/summary
G-03 ์ฐจ๋Ÿ‰ ์Šคํ… ๋‚ด๋ ˆ์ด์…˜ ์ฐจ STEP, ๋ฏธ๋ž˜์ฐจ route/state arrived ์Šคํ… ์ง„ํ–‰ source=car_step, step ํ•„๋“œ, ์Šคํ… ์˜๋ฏธ(์ด๋™/UAM/์ถฉ์ „/๋‹ค์Œ ์ด๋™) ๋ฐ˜์˜ ai/summary
G-04 ํŽ˜๋ฅด์†Œ๋‚˜ ๋งํˆฌ "์–ด๋ฆด์  ํ‚ค์šฐ๋˜ ๊ฐ•์•„์ง€" ์„ธ์…˜ ai/request ํ…์ŠคํŠธ ๋‹ต๋ณ€์— *๋ณ„ํ‘œ* ํ–‰๋™ ๋ฌ˜์‚ฌ ์—†์Œ(๊ณตํ†ต ํ”„๋กฌํ”„ํŠธ ์ ์šฉ ํ™•์ธ), ๋งํˆฌ๋Š” ํŽ˜๋ฅด์†Œ๋‚˜ ai/response
G-05 ์š”์•ฝ ์š”์ฒญ ai/summarize {context} ๋ฐœํ–‰ ai/summary ํ‰๋ฌธ 2~4๋ฌธ์žฅ, source ์—†์Œ, context_id ๋™์ผ ai/summary
G-06 ์ œ์•ˆ ์นฉ G-04 ai/response ์งํ›„ ai/suggestions 2๊ฐœ suggestions
G-07 car ๋ชจ๋“œ ์ž ๊ธˆ ai/mode {mode:car} retained ai/request ๋ฐœํ–‰ ์ฑ„ํŒ… ๋Œ€์‹  STT๋งŒ, ์‘๋‹ต ์ •์ฑ…๋Œ€๋กœ Loki

H. ๋ฏธ๋ž˜์ฐจ(์ฐจ ์žฅ์†Œ) 4 ์Šคํ…

ID ๋ชฉ์  ์ „์ œ ์ ˆ์ฐจ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ ํ™•์ธ
H-01 ํ”Œ๋žœ ๋ฐœํ–‰ ์ฐจ๊ฐ€ STEP2/3์ธ ์„ธ์…˜ ๋กœ๊ทธ์ธ future-car/request type=plan retained, stops 6๊ฐœ(factory, charging_station, park, mart, drone, home), persona ํฌํ•จ request
H-02 ํƒ‘์Šน future-car/request {type:enter} ๋ฐœํ–‰ future-car/response state phase=waiting, ai/mode car ttl 1800, ai/response "์ถœ๋ฐœ ํ• ๊นŒ์š”?" response, ai/*
H-03 ์Šคํ… ์ง„ํ–‰๊ณผ ํƒœ์Šคํฌ ์ฐจ basic ํƒœ์Šคํฌ(์˜ˆ: "์ฐจ๋Ÿ‰ ์ƒํƒœยท์ฃผํ–‰ ์ ๊ฒ€") ๋ฐœํ™” โ†’ route โ†’ step โ†’ ๋ Œ๋” ์™„๋ฃŒ task/start โ†’ dashboard in_progress โ†’ ๋ Œ๋” ์™„๋ฃŒ ์‹œ task/complete โ†’ completed, point +100 dashboard, point
H-04 basic ์•„๋‹Œ ํƒ€์ž… ์ œ์™ธ ์ฐจ์— hydrogen_charging/quote_briefing/vehicle_ready ํƒœ์Šคํฌ ์Šคํ… ์ง„ํ–‰ ๋ฏธ๋ž˜์ฐจ๊ฐ€ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์Œ(ํƒœ๋ธ”๋ฆฟ ๋‹๋ณด๊ธฐ ๋ชจ๋‹ฌ์—์„œ ์™„๋ฃŒ) dashboard
H-05 ํ•˜์ฐจ step4 arrived next=exit โ†’ {type:exit} ๋ฐœํ–‰ state done, ai/mode chat response, ai/mode
H-06 ์„œ๋ฒ„ ์žฌ์‹œ์ž‘ ์‹œ retained state ์žฌ์ „๋‹ฌ ์„œ๋ฒ„ ์žฌ๋ฐฐํฌ Loki future-car/response idle state๊ฐ€ ์„ธ์…˜๋งˆ๋‹ค mqtt.request๋กœ 1ํšŒ ์ฐํž˜, car_step ๋‚ด๋ ˆ์ด์…˜์€ ์ค‘๋ณต ๋ฐœํ–‰๋˜์ง€ ์•Š์Œ Loki

I. ๋กœ๋ด‡ยท๋””๋ฐ”์ด์Šค ์—ฐ๊ณ„ ํƒœ์Šคํฌ

ID ๋ชฉ์  ์ „์ œ ์ ˆ์ฐจ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ ํ™•์ธ
I-01 SPOT ์‹œ๋‚˜๋ฆฌ์˜ค ์‹คํ–‰ robot/spot-01/scenarios์— market_load(๋งˆํŠธ ์ ์žฌ) 1๊ฐœ spot/command {action:run_scenario, scenario_id:market_load} spot/command/response ํ ๋“ฑ๋ก, spot/ack ๋ฆด๋ ˆ์ด response, ack
I-02 SPOT waypoints ๋น„์–ด ์žˆ์Œ ํ˜„์žฌ waypoints:[] (map_0906_1028) navigate_to ์š”์ฒญ ๊ฑฐ๋ถ€ ์‚ฌ์œ  ๋ช…ํ™•("waypoint ์—†์Œ") response
I-03 SPOT estop ์ƒํƒœ robot/spot-01/estop active=true(9/6 ์ดํ›„ ์œ ์ง€) ๋ช…๋ น ์š”์ฒญ ๊ฑฐ๋ถ€ ๋˜๋Š” ํ ๋ณด๋ฅ˜, orchestration/spot/spot-01/estop ๋ฆด๋ ˆ์ด response
I-04 SPOT fault fault BATTERY_LOW 15% ๋ช…๋ น ์š”์ฒญ ์ •์ฑ… ํ™•์ธ(๊ฑฐ๋ถ€/๊ฒฝ๊ณ ), ๋ฐฑ์˜คํ”ผ์Šค SPOT ํ…Œ์ŠคํŠธ ํ™”๋ฉด์— ํ‘œ์‹œ ๋ฐฑ์˜คํ”ผ์Šค
I-05 ๋ฐ˜๋ ค๋กœ๋ด‡ ํƒœ์Šคํฌ ์ง‘ "ํ™ˆ ๋ฐœ๋ › ๋ชจ๋“œ"(๋””๋ฐ”์ด์Šค ๋ฐ˜๋ ค๋กœ๋ด‡, ์ฒจ๋ถ€ ์žˆ์Œ) task/start ๋„์ฐฉ ์ž๋™ํ™” ๊ทœ์น™ ์žˆ์œผ๋ฉด robot/REX/command ๋ฐœํ–‰ Loki
I-06 LG ๊ฐ€์ „ ํƒœ์Šคํฌ ์ฐจ "[TEST] LG ๊ฐ€์ „ ๊ณต๊ธฐ์ฒญ์ •๊ธฐ ์‹คํ–‰"(lg_entity/lg_option ๋ฉ”ํƒ€) task/start HA ํ˜ธ์ถœ ๋กœ๊ทธ, ์‹คํŒจ ์‹œ ํƒœ์Šคํฌ ์ƒํƒœ๋Š” ์œ ์ง€ Loki
I-07 Hub ํƒœ์Šคํฌ ๋งˆํŠธ "[MART-17] AUM ๋“œ๋ก  ๊ธด๊ธ‰๋ฐฐ์†ก"(Physical AI Hub) ์„ ํƒยท์‹œ์ž‘ diorama/{device}/request ๋ฐœํ–‰ ์—ฌ๋ถ€ Loki
I-08 ํƒœ์Šคํฌ device ํ•„๋“œ "๋นˆ ์ง‘ ํ™•์ธ"(Space-CCTV#1), "์ปจ๋””์…˜ ๊ธฐ๋ฐ˜ ํ•˜๋ฃจ ๋ธŒ๋ฆฌํ•‘"(Diorama-CCTV#2) dashboard device{id,name}์ด devices/list์™€ ์ผ์น˜ ๋‘˜ ๋น„๊ต

J. ๋ฐฑ์˜คํ”ผ์Šค ํƒœ์Šคํฌ ๊ด€๋ฆฌ โ†’ ๋ฐœํ–‰ ๋ฐ˜์˜

ID ๋ชฉ์  ์ „์ œ ์ ˆ์ฐจ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ ํ™•์ธ
J-01 ํƒœ์Šคํฌ ์ƒ์„ฑ ๋งˆํŠธ์— basic ํƒœ์Šคํฌ ์‹ ๊ทœ ๋ฐฑ์˜คํ”ผ์Šค ์ €์žฅ ์ดํ›„ ์ƒˆ ์„ธ์…˜์—์„œ ํ›„๋ณด๋กœ ๋“ฑ์žฅ. ๊ธฐ์กด ์„ธ์…˜ dashboard๋Š” ๋ณ€ํ™” ์—†์Œ(์„ธ์…˜ ์‹œ๋”ฉ 1ํšŒ) ์ƒˆ ์„ธ์…˜ dashboard
J-02 ํƒœ์Šคํฌ ์ˆ˜์ •(์ œ๋ชฉยท์„ค๋ช…) ๊ธฐ์กด ํƒœ์Šคํฌ ์ˆ˜์ • ํ™œ์„ฑ ์„ธ์…˜ dashboard ์žฌ๋ฐœํ–‰ ์—ฌ๋ถ€ ์ •์ฑ… ํ™•์ธ, description_prompt ๋ณ€๊ฒฝ์€ ๋‹ค์Œ LLM ์ƒ์„ฑ๋ถ€ํ„ฐ dashboard
J-03 ์ค€๋น„๋ฌผ ํŽธ์ง‘ packing ํƒœ์Šคํฌ ํ•ญ๋ชฉ ์ถ”๊ฐ€ ์ €์žฅ packing_items_json ๋ฐ˜์˜, CCTV ๋งคํ•‘ ์ด๋ฆ„๊ณผ ์ผ์น˜ํ•ด์•ผ ์Šฌ๋กฏ ๋ถ™์Œ dashboard
J-04 ์„ ํƒ์ง€์— ์ƒํ’ˆ ์—ฐ๊ฒฐ ์˜ต์…˜ required_product ์„ค์ • ์ €์žฅ dashboard ์˜ต์…˜์— required_product{title,point_price,owned} dashboard
J-05 ํƒœ์Šคํฌ ๋น„ํ™œ์„ฑ/์‚ญ์ œ ์„ธ์…˜์ด ์“ฐ๊ณ  ์žˆ๋Š” ํƒœ์Šคํฌ ๋น„ํ™œ์„ฑ ์ƒˆ ์„ธ์…˜์—์„œ ์ œ์™ธ, ๊ธฐ์กด ์„ธ์…˜ ์ƒํƒœ ์ „์ด๋Š” ๊ณ„์† ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ(๋˜๋Š” ์ •์ฑ… ๋ช…์‹œ) dashboard
J-06 ์ƒํ’ˆ ๋ณ€๊ฒฝ ์ฆ‰์‹œ ๋ฐ˜์˜ ๊ฐ€๊ฒฉ ์ˆ˜์ • ์ €์žฅ store/list ์ฆ‰์‹œ ์žฌ๋ฐœํ–‰ store/list
J-07 ๋””๋ฐ”์ด์Šค ๋ณ€๊ฒฝ ๋””๋ฐ”์ด์Šค ๋น„ํ™œ์„ฑ ์ €์žฅ devices/list ์žฌ๋ฐœํ–‰, ํ™œ์„ฑ๋งŒ ํฌํ•จ devices/list
J-08 ์•ฑ ์„ค์ • ํ”„๋กฌํ”„ํŠธ journey_narrative_prompt ์ˆ˜์ • ์ €์žฅ ํ›„ ํƒœ์Šคํฌ ์ „์ด ๋‹ค์Œ ๋‚ด๋ ˆ์ด์…˜๋ถ€ํ„ฐ ๋ฐ˜์˜(์žฌ์‹œ์ž‘ ๋ถˆํ•„์š”) ai/summary
J-09 ์ด๋ฒคํŠธ ์„ ํƒ์ง€ ํŽธ์ง‘ EVT-08 ์˜ต์…˜ ์ถ”๊ฐ€ ์ €์žฅ ๋‹ค์Œ ๋ฐœํ–‰ ํŽ˜์ด๋กœ๋“œ options์— ๋ฐ˜์˜ event
J-10 ์œ„์น˜ ํ…Œ์ŠคํŠธ ์‚ฌ์šฉ์ž ์ƒ์„ธ "์œ„์น˜ ํ…Œ์ŠคํŠธ" ํƒญ ์žฅ์†Œ ์„ ํƒ ์‹ค์ œ ๋„์ฐฉ๊ณผ ๋™์ผํ•˜๊ฒŒ ์ด๋ฒคํŠธ ํŒ๋‹จยท์ž๋™ํ™”ยทarrival ๋‚ด๋ ˆ์ด์…˜ ๋ฐœํ™” Loki

K. ๊ด€์ธกยท๋กœ๊ทธ

ID ๋ชฉ์  ์ „์ œ ์ ˆ์ฐจ ๊ธฐ๋Œ€ ๊ฒฐ๊ณผ ํ™•์ธ
K-01 ์„ธ์…˜ ํƒ€์ž„๋ผ์ธ ์ž„์˜ ์„ธ์…˜ Grafana ์„ธ์…˜ ํƒ€์ž„๋ผ์ธ์— ์„ธ์…˜ ID ์ž…๋ ฅ requestโ†’handledโ†’publish๊ฐ€ ์‹œ๊ฐ„์ˆœ, dur_ms ์กด์žฌ /grafana/
K-02 ๊ณ ๋นˆ๋„ ํ† ํ”ฝ ์ œ์™ธ Vision ์—ฐ๊ฒฐ ๋กœ๊ทธ ๊ฒ€์ƒ‰ cctv/, vision/, /position, /state๋Š” ํƒ€์ž„๋ผ์ธ์— ์—†์Œ /grafana/
K-03 ํŽ˜์ด๋กœ๋“œ ๋ฏธ๋ฆฌ๋ณด๊ธฐ dashboard ๋ฐœํ–‰ ๋กœ๊ทธ ํŽผ์น˜๊ธฐ payload 600์ž์—์„œ "โ€ฆ"๋กœ ์ž˜๋ฆผ, JSON ํ•„๋“œ ํŒŒ์‹ฑ๋จ /grafana/

3. ํ…Œ์ŠคํŠธ ์ „ ์ •๋ฆฌ ๊ถŒ๊ณ  (๋ฐ์ดํ„ฐ ํ’ˆ์งˆ)

์ˆ˜์ง‘ ๋ฐ์ดํ„ฐ์—์„œ ๋ณด์ธ ํ•ญ๋ชฉ. ๊ทธ๋Œ€๋กœ ๋‘๋ฉด TC ํŒ์ •์ด ํ๋ ค์ง„๋‹ค.

  • ํƒ€์ž… ์—†๋Š” ๊ตฌํ˜• ํƒœ์Šคํฌ 37๊ฐœ(์˜ˆ: ๊ณต์› "ํŽ˜์ด์Šค๋ฉ”์ด์ปค", ๋งˆํŠธ "๋ƒ‰์žฅ๊ณ  ๋ณด์ถฉ ๋ฒˆ๋“ค ์ˆ˜๋ น" ์ค‘๋ณต 3๊ฑด, ์ง‘ "๊ฐ„์‹/๋ฌผ๋ณ‘ ์ค€๋น„"). 3~41์„ธ์…˜์— ๋‚จ์•„ ์žˆ์Œ. ๋น„ํ™œ์„ฑ ์ฒ˜๋ฆฌ ๊ถŒ๊ณ .
  • ํ…Œ์ŠคํŠธ ์ž”์žฌ: "[TEST] SPOT ํ…Œ์ŠคํŠธ์šฉ์ž„~~"(์„ค๋ช… "ํ•˜ํ•˜ํ•˜ํ•˜โ€ฆ"), "[TEST] LG ๊ฐ€์ „ ๊ณต๊ธฐ์ฒญ์ •๊ธฐ ์‹คํ–‰", ์„ ํƒ์ง€ "[ํ…Œ์ŠคํŠธ] ์ž„์˜์˜ ์„ ํƒ์ง€", "๊ทธ๋ƒฅ ํ•ด ์ข€!!", AI ๋™๋ฐ˜์ž "ํ”ผ์นด์ธ„"(summary "์•„๋ชฐ๋ž‘"), ๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŠธ "[TEST] ์ฐจ ๋„ˆ๋ฌด ์ข‹์•„ํ•ด", ์ƒํ’ˆ "์•ˆ์‹ฌ ๊ท€๊ฐ“๊ธธ ๋™ํ–‰"(1000pt, ์„ค๋ช… ์—†์Œ)ยท"์ฝ”ํŠธ ์ปจ์‹œ์–ด์ง€"(2000pt).
  • ํƒœ์Šคํฌ 17๊ฐœ ๋‹ฌ๋ฆฐ ์žฅ์†Œ 11์„ธ์…˜, 16๊ฐœ 3์„ธ์…˜ โ€” ํ…Œ์ŠคํŠธ ์„ธ์…˜. ๋งŒ๋ฃŒ ์ฒ˜๋ฆฌ ๊ถŒ๊ณ .
  • packing ํƒœ์Šคํฌ ์ „๋ถ€ cctv_state: unknown โ€” Vision cctv/item/state๊ฐ€ ์ตœ๊ทผ ์•ˆ ๋“ค์–ด์˜ค๊ณ  ์žˆ์Œ. D-02~D-05๋Š” Vision ๊ฐ€๋™ ํ›„์—๋งŒ ์œ ํšจ.
  • SPOT: estop active(9/6 06:53 ์ดํ›„ ํ•ด์ œ ๊ธฐ๋ก ์—†์Œ), fault BATTERY_LOW 15%, waypoints ๋น„์–ด ์žˆ์Œ. I-01~I-04๋Š” ๋กœ๋ด‡ํŒ€ ํ™•์ธ ํ›„.
  • ์ƒํƒœ๊ฐ’ ํ‘œ๊ธฐ ๋ถˆ์ผ์น˜: ๊ด€์ธก๋œ status์— skipped ๋Œ€์‹  skip 2๊ฑด. B-02์—์„œ ํ‘œ์ค€๊ฐ’ ํ™•์ • ํ•„์š”.
  • ์ฐจ STEP ํƒœ์Šคํฌ์˜ scheduled_time ๋Œ€๋ถ€๋ถ„ ๋น„์–ด ์žˆ์Œ โ€” ๋‚ด๋ ˆ์ด์…˜(G-01)์ด "์˜คํ›„ ์ถœ์žฅ" ๊ฐ™์€ ์‹œ๊ฐ„ ํ‘œํ˜„์„ ์“ฐ๋ ค๋ฉด scheduled_time ์ž…๋ ฅ ํ•„์š”(ํ˜„์žฌ "์—ฌํ–‰์ž๋‹˜, ์˜ค๋Š˜ ์ถœ์žฅ ์ผ์ • ํ™•์ธํ•˜์„ธ์š”" 09:00๋งŒ ์žˆ์Œ).
  • ์ง‘ ์‹œ์ž‘/์ข…๋ฃŒ ์žฅ์†Œ๊ฐ€ ๋ณ„๋„ ๋ ˆ์ฝ”๋“œ์ด๋ฏ€๋กœ ๋ฐฑ์˜คํ”ผ์Šค ํ•„ํ„ฐยทTC ์ „์ œ์— ID๋กœ ์ง€์ •ํ•  ๊ฒƒ.

4. ์ˆ˜์ง‘ ๋ฐฉ๋ฒ• (์žฌํ˜„์šฉ)

# retained ๋ชฉ๋ก (FE_MQTT_* ์ž๊ฒฉ์ฆ๋ช…, devops CONFIG ๋ณ€์ˆ˜)
mosquitto_sub -h machine.tail69930a.ts.net -p 1883 -u $U -P $P -t 'orchestration/+/dashboard' -W 10 -F '%t\t%p'
mosquitto_sub โ€ฆ -t orchestration/store/list -t orchestration/devices/list -t orchestration/ai-companion/list -t orchestration/user-meta-prompt/list -C 4
mosquitto_sub โ€ฆ -t 'robot/spot-01/+' -W 6
# ์ด๋ฒคํŠธ ๋ฐœํ–‰ ์‹ค์  (Loki, OCI VM์—์„œ)
curl -G http://localhost:8090/grafana/api/datasources/proxy/uid/loki/loki/api/v1/query_range \
  --data-urlencode 'query={container="orchestration-server"} | json | msg="mqtt.publish" | topic=~".*/event$"'