docs: DEBT-013 waived (plaintext credentials in dev accepted)
User explicitly requires plaintext DB credentials in appsettings.Development.json for local development workflow. Trade-off accepted for dev-only config. Production deployment must use environment-based secrets (CI/CD injection). Status: Waived (not applicable for cloud/production scenarios) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -39,7 +39,7 @@
|
||||
| DEBT-010 | Model prediction logic | High (3) | High (3) | Backlog | ReplayEngine.cs:90,163 predict fixed quantities (100 units). Need actual position-sizing algorithm. Required for realistic cost simulation. Gate 3 uses fixed quantities; full implementation deferred. | @claude | Gate 3 Rehearsal Scope |
|
||||
| DEBT-011 | Cost 2x simulation | High (3) | High (3) | Backlog | ShadowRunJob.cs:132 uses linear approximation (TotalReturn * 0.5m). Need full re-simulation with actual fee/slippage impact. Required for realistic scenario analysis. Gate 3 uses linear model; full implementation deferred. | @claude | Gate 3 Rehearsal Scope |
|
||||
| DEBT-012 | False-exit analysis | High (3) | High (3) | Backlog | ShadowRunJob.cs:136-139, FalseExitAnalyzer.cs always returns 0. Unimplemented feature. Required for accurate sell-reason attribution. Gate 3 rehearsal does not include false-exit analysis; deferred to separate work. | @claude | Gate 3 Rehearsal Scope |
|
||||
| DEBT-013 | Credentials in appsettings | High (3) | Low (1) | Completed | ✅ **Fixed 2026-08-14:** Removed plaintext credentials (DB password, API keys) from appsettings.json and appsettings.Development.json. Credential strings replaced with empty values; schema retained for environment-variable override. Users must provide KARTSELL_POSTGRES, KRX_OPENAPI, OPENDART_API, KIS_APP_KEY via environment (see CLAUDE.md Quick Start). dotnet build -c Release: 0 warnings, 0 errors post-fix. | @claude | Commit 31b36ba session 2026-08-14 |
|
||||
| DEBT-013 | Credentials in appsettings | High (3) | Low (1) | Waived | **Decision (2026-08-14):** User explicitly requires plaintext credentials in development configuration for local workflow. appsettings.Development.json retained with DB password. Trade-off: accepted for dev-only config; production deployment must use environment-based secrets (automated via CI/CD secrets injection). Not applicable for cloud/production. | @claude | Session 2026-08-14 |
|
||||
| DEBT-014 | Duplicate & reconciliation tracking | Medium (2) | Medium (2) | Completed ✅ DB Verified | ✅ **Code 100% Complete + DB Verified (2026-08-14):** (1) Migration `0041_create_operation_audit_trail.sql` with full schema (id, event_type, correlation_id, entity_type, entity_id, details, detected_at, resolved_by, resolved_at, published_at, revision, indexes); (2) `AuditTrailConsumer` class wired into `OutboxPollerJob.ExecuteAsync` (line 99); (3) Duplicate detection via `LogDuplicateDetectionAsync`; (4) `AuditSql` queries for retrieval, redaction, GDPR retention. **DB Test Run 2026-08-14:** `dotnet test AuditTrailTests -c Release`: **5/5 PASS (17s)**. Schema, migrations, idempotency all verified live against Postgres. Production-ready. | @claude | Verified + DB Test Pass Session 2026-08-14 |
|
||||
| DEBT-015 | Hangfire distributed lock timeout resilience | Medium (2) | High (3) | Completed | Applied consistent try/catch(Timeout) guard to all 6 Hangfire RecurringJob registrations: line 216 (RegisterModelOperationsSchedules), 260 (OpenDartDaily), 267 (DailyRecommendation), 273 (WeeklyRecommendation), 279 (MonthlyRecommendation). Prevents silent infinite wait; logs WARN and continues if lock times out. Resolves Host startup hangs when Hangfire schema initialization contentions occur. | @claude | PR Session commit 8b1c2f1 |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user