Yusti server: http://localhost:3005/ {"ts":"2026-09-18T19:17:29.939Z","level":"info","trace_id":"ivm16svx","msg":"prepass","ctx":{"at":"turn.prepass","user":"cea55030-1ac0-4248-9c64-9c14ffb12d29","plot":"6c4e788c-3eaf-4978-a4ee-e5a6aa1b7590","ok":false,"reason":"no_narration","model":"deepseek-flash","ms":0,"changed":false}} {"ts":"2026-09-18T19:17:33.918Z","level":"info","trace_id":"ivm16svx","msg":"[object Object]"} {"ts":"2026-09-18T19:17:33.918Z","level":"warn","trace_id":"ivm16svx","msg":"각인 부재 폴백(§9): __user","ctx":{"at":"wardrobe.consume_fallback","key":"__user","reason":"no_garments","stats":{"imprinted":2,"fallback":1}},"err":{"name":"Error","message":"각인 부재 폴백(§9): __user","stack":"Error: 각인 부재 폴백(§9): __user\n at noteConsumeFallback (/Users/inhohur/work/yusti-review/lib/wardrobe.js:1381:12)\n at syncSceneCharactersToWardrobe (/Users/inhohur/work/yusti-review/lib/wardrobe.js:1511:22)\n at applyWardrobeGuard (/Users/inhohur/work/yusti-review/lib/wardrobe.js:1271:10)\n at runPlotTurnInner (/Users/inhohur/work/yusti-review/lib/chat-turn.js:1777:22)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n at async runPlotTurn (/Users/inhohur/work/yusti-review/lib/chat-turn.js:337:12)\n at async /Users/inhohur/work/yusti-review/server.js:1304:18"}} {"ts":"2026-09-18T19:19:03.846Z","level":"warn","trace_id":"uu2i97sm","msg":"videoize actor canon not approved: pending","ctx":{"at":"videoize.brief.canon","plot":"6c4e788c-3eaf-4978-a4ee-e5a6aa1b7590","character":"995ae431-1bbc-4e01-a44f-932e4b8c9e0b","status":"pending"},"err":{"name":"Error","message":"videoize actor canon not approved: pending","stack":"Error: videoize actor canon not approved: pending\n at /Users/inhohur/work/yusti-review/lib/videoize.js:1137:16\n at Array.map ()\n at Object.gatherVideoizeBrief (/Users/inhohur/work/yusti-review/lib/videoize.js:1131:24)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n at async _runVideoizeClipEntry (/Users/inhohur/work/yusti-review/lib/videoize-run.js:1096:17)\n at async Object.runVideoizeClip (/Users/inhohur/work/yusti-review/lib/videoize-run.js:1075:12)\n at async /Users/inhohur/work/yusti-review/server.js:2915:20"}} {"ts":"2026-09-18T19:19:03.848Z","level":"warn","trace_id":"uu2i97sm","msg":"videoize actor canon not approved: pending","ctx":{"at":"videoize.brief.canon","plot":"6c4e788c-3eaf-4978-a4ee-e5a6aa1b7590","character":"6a4375b5-269f-47a8-8953-0fe213c17dd2","status":"pending"},"err":{"name":"Error","message":"videoize actor canon not approved: pending","stack":"Error: videoize actor canon not approved: pending\n at /Users/inhohur/work/yusti-review/lib/videoize.js:1137:16\n at Array.map ()\n at Object.gatherVideoizeBrief (/Users/inhohur/work/yusti-review/lib/videoize.js:1131:24)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n at async _runVideoizeClipEntry (/Users/inhohur/work/yusti-review/lib/videoize-run.js:1096:17)\n at async Object.runVideoizeClip (/Users/inhohur/work/yusti-review/lib/videoize-run.js:1075:12)\n at async /Users/inhohur/work/yusti-review/server.js:2915:20"}} {"ts":"2026-09-18T19:19:03.850Z","level":"warn","trace_id":"uu2i97sm","msg":"videoize user_role actor canon not approved: pending","ctx":{"at":"videoize.brief.userRoleActor","plot":"6c4e788c-3eaf-4978-a4ee-e5a6aa1b7590","character":"58962c00-c9c4-4969-b74f-fbd2945e607f","status":"pending"},"err":{"name":"Error","message":"videoize user_role actor canon not approved: pending","stack":"Error: videoize user_role actor canon not approved: pending\n at Object.gatherVideoizeBrief (/Users/inhohur/work/yusti-review/lib/videoize.js:1199:18)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n at async _runVideoizeClipEntry (/Users/inhohur/work/yusti-review/lib/videoize-run.js:1096:17)\n at async Object.runVideoizeClip (/Users/inhohur/work/yusti-review/lib/videoize-run.js:1075:12)\n at async /Users/inhohur/work/yusti-review/server.js:2915:20"}} {"ts":"2026-09-18T19:19:04.195Z","level":"info","trace_id":"8xwo8pfk","msg":"prepass","ctx":{"at":"turn.prepass","user":"cea55030-1ac0-4248-9c64-9c14ffb12d29","plot":"6c4e788c-3eaf-4978-a4ee-e5a6aa1b7590","ok":false,"reason":"no_narration","model":"deepseek-flash","ms":0,"changed":false}} {"ts":"2026-09-18T19:19:08.526Z","level":"warn","trace_id":"8xwo8pfk","msg":"각인 부재 폴백(§9): __user","ctx":{"at":"wardrobe.consume_fallback","key":"__user","reason":"no_garments","stats":{"imprinted":4,"fallback":2}},"err":{"name":"Error","message":"각인 부재 폴백(§9): __user","stack":"Error: 각인 부재 폴백(§9): __user\n at noteConsumeFallback (/Users/inhohur/work/yusti-review/lib/wardrobe.js:1381:12)\n at syncSceneCharactersToWardrobe (/Users/inhohur/work/yusti-review/lib/wardrobe.js:1511:22)\n at applyWardrobeGuard (/Users/inhohur/work/yusti-review/lib/wardrobe.js:1271:10)\n at runPlotTurnInner (/Users/inhohur/work/yusti-review/lib/chat-turn.js:1777:22)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n at async runPlotTurn (/Users/inhohur/work/yusti-review/lib/chat-turn.js:337:12)\n at async /Users/inhohur/work/yusti-review/server.js:1304:18"}} {"ts":"2026-09-18T19:30:35.677Z","level":"info","trace_id":null,"msg":"SIGTERM 수신 — graceful drain 시작","ctx":{"at":"process.SIGTERM","inFlight":0}} {"ts":"2026-09-18T19:30:35.677Z","level":"info","trace_id":null,"msg":"drain 완료 — 종료","ctx":{"at":"process.SIGTERM","remaining":0}}