🚀 Wave 113 Phase 2+3: Complete coverage expansion and production readiness

SUMMARY: 39 agents, 90% production readiness (+7.5%)

PHASE 2: Service Coverage Expansion (Agents 27-34)
- 8,270 lines test code: trading (2,562), backtesting (1,740), compliance (1,462), data (2,506)
- 317 new tests across 16 test files

PHASE 3: Compilation Fixes & Validation (Agents 35-39)
- Fixed 49 errors (11 SQLx + 38 compliance API)
- 100% production code compilation
- 47.03% coverage baseline (+17.23%)
- 90.0% production readiness validated

METRICS:
- Tests: 700 → 1,532 (+119%)
- Coverage: 29.8% → 47.03% (+58%)
- Compliance: 0% → 83.3%
- Production readiness: 82.5% → 90.0%

🤖 Wave 113 Complete - Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
jgrusewski
2025-10-06 09:24:09 +02:00
parent 221154b4cb
commit 2f57602f30
592 changed files with 20176 additions and 136 deletions

View File

@@ -13,14 +13,14 @@ use std::sync::Arc;
use tracing::{debug, info, warn};
use uuid::Uuid;
use zeroize::Zeroizing;
use secrecy::{SecretBox, ExposeSecret};
use secrecy::{Secret, ExposeSecret};
/// Backup code with display format
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BackupCode {
/// The actual code (should be kept secret)
#[serde(skip_serializing)]
pub code: SecretBox<str>,
pub code: Secret<String>,
/// First 4 characters as hint for user reference
pub hint: String,
/// Display format (e.g., "ABCD-EFGH-IJKL")
@@ -34,7 +34,7 @@ impl BackupCode {
let display = format_backup_code(&code);
Self {
code: SecretBox::new(code.into_boxed_str()),
code: Secret::new(code),
hint,
display,
}

View File

@@ -37,7 +37,7 @@ use std::sync::Arc;
use tracing::{debug, error, info, warn};
use uuid::Uuid;
use zeroize::Zeroizing;
use secrecy::{SecretBox, ExposeSecret};
use secrecy::{Secret, ExposeSecret};
// Re-export Secret types from secrecy crate
pub use secrecy::SecretString;
@@ -84,7 +84,7 @@ impl std::fmt::Display for MfaMethod {
#[derive(Clone)]
pub struct MfaManager {
db_pool: Arc<PgPool>,
encryption_key: SecretBox<str>,
encryption_key: Secret<String>,
totp_generator: Arc<TotpGenerator>,
totp_verifier: Arc<TotpVerifier>,
backup_code_generator: Arc<BackupCodeGenerator>,
@@ -96,7 +96,7 @@ impl MfaManager {
/// Create new MFA manager
pub fn new(db_pool: PgPool, encryption_key: String) -> Result<Self> {
let db_pool = Arc::new(db_pool);
let encryption_key = SecretBox::new(encryption_key.into_boxed_str());
let encryption_key = Secret::new(encryption_key);
let totp_generator = Arc::new(TotpGenerator::new());
let totp_verifier = Arc::new(TotpVerifier::new());

View File

@@ -18,7 +18,7 @@ use secrecy::{ExposeSecret, SecretString};
type HmacSha1 = Hmac<Sha1>;
/// TOTP configuration parameters (RFC 6238)
#[derive(Debug, Clone, Serialize, Deserialize)]
#[derive(Debug, Clone, Serialize)]
pub struct TotpConfig {
/// Secret key (Base32 encoded)
#[serde(skip)]