diff --git a/CLAUDE.md b/CLAUDE.md index ac6c5489..50ab8d04 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -19,6 +19,51 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co **Status:** `IMPLEMENTATION_TEMPLATE / STATIC_VALIDATED / BUILD_DB_E2E_SHADOW_REHEARSAL_REQUIRED` +## ⚠️ Current Implementation Status (2026-08-02 18:10 KST) + +**Host Status:** ✅ Running (http://127.0.0.1:5002) + +### Known Issues (CRITICAL - BLOCKING Gates 3-4) + +**Issue #1: Hangfire Consumer DI Missing** +- Error: `Unable to resolve service for type 'KArtSell.Host.Consumers.ShadowRunCompletedConsumer'` +- Root: `ShadowRunCompletedConsumer` not registered in Program.cs (line ~93) +- Fix: Add `builder.Services.AddScoped();` +- Impact: Blocks Hangfire jobs, not HTTP API + +**Issue #2: Authentication Provider Not Configured** +- Error: `HTTP POST /api/shadow-runs responded 404` +- Root: Running in "Production" mode → FailClosedAuthenticationHandler → all requests denied +- Fix: Add authentication headers to HTTP requests: + - `X-KArtSell-User: test-user` + - `X-KArtSell-Role: Admin` +- Impact: Blocks HTTP endpoints for testing + +### Resolution Steps +✅ Step 1: DI registration added (Program.cs, line 93-95) +✅ Step 2: Code change committed +⏳ Step 3: Host restart required (to apply changes) +⏳ Step 4: Retry Gate 3-4 with auth headers + +**Next Action:** User must restart Host after code change +```bash +# Terminal (after killing current Host process) +cd D:\JobRoomz\KArtSell.Aegis +$env:KRX_API_KEY = "local-dev-test-key" +$env:OPENDART_API_KEY = "local-dev-test-key" +$env:KIS_API_KEY = "local-dev-test-key" +dotnet run --project src/KArtSell.Host -c Release +``` + +**Then test with Auth headers:** +```powershell +$headers = @{"X-KArtSell-User"="admin"; "X-KArtSell-Role"="Admin"} +$body = @{"modelId"="00000000-0000-0000-0000-000000000001"; ...} | ConvertTo-Json +Invoke-WebRequest -Uri "http://127.0.0.1:5002/api/shadow-runs" -Method POST -Headers $headers -Body $body +``` + +--- + ## Quick Start ### Prerequisites diff --git a/src/KArtSell.Host/Program.cs b/src/KArtSell.Host/Program.cs index 7403f01d..66802ef7 100644 --- a/src/KArtSell.Host/Program.cs +++ b/src/KArtSell.Host/Program.cs @@ -90,6 +90,11 @@ builder.Services.AddScoped(); builder.Services.AddScoped(); +// Consumer Services (for downstream job processing) +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); + // Recommendation Report Services builder.Services.AddScoped(); builder.Services.AddScoped();