Skip to main content

Namespace Conflict Resolution Plan

Generated: 2025-09-01T05:25:00Z
Session: SESSION9-CLEANER

Problem Statement​

1,793 "duplicate names" was misleading - mostly build artifacts.
Real Issue: 10 meaningful duplicates causing potential namespace conflicts.

File Analysis​

6 types.rs Files (High Risk)​

Current Location → Proposed Rename → Rationale
────────────────────────────────────────────────────────────
./components/api/src/api/handlers/audit/types.rs → audit_types.rs → Clear module association
./components/api/src/api/auth/types.rs → auth_types.rs → Prevents auth import confusion
./components/api/src/services/compliance_checks/types.rs → compliance_types.rs → Service-specific types
./components/api/src/services/system_monitor/types.rs → monitor_types.rs → System monitoring types
./components/api/src/services/event_capture/types.rs → event_types.rs → Event system types
./components/api/src/services/file_monitor/types.rs → file_monitor_types.rs → File monitoring types

4 session.rs Files (Medium Risk)​

Current Location → Resolution → Rationale
───────────────────────────────────────────────────────────
./components/api/src/models/session.rs → Keep as primary → Core data model
./components/api/src/api/handlers/session.rs → session_handler.rs → HTTP handler logic
./components/api/src/gateway/terminal_bridge/session.rs → terminal_session.rs → Terminal-specific session
./components/codi/src/utils/session.rs → codi_session.rs → CODI utility functions

Why This Matters for Build​

Rust Import Resolution​

// CURRENT PROBLEM:
use crate::types::*; // Which types.rs? Ambiguous!
use session::Session; // Which session.rs? Compiler confused!

// AFTER RESOLUTION:
use crate::auth_types::*; // Clear!
use crate::terminal_session::*; // No confusion!

Build Failure Prevention​

  • Namespace conflicts → Compilation errors
  • Ambiguous imports → "Multiple items with name X" errors
  • Module resolution → "Cannot find module" errors

Implementation Plan​

Phase 1: Assessment (5 minutes)​

  1. Check each file for dependencies
  2. Identify import statements that reference these files
  3. Map out affected modules

Phase 2: Rename Files (10 minutes)​

  1. Create backup snapshots
  2. Rename files using git mv (preserves history)
  3. Update mod.rs declarations

Phase 3: Fix Imports (15 minutes)​

  1. Update all use statements referencing renamed files
  2. Fix mod declarations in parent modules
  3. Update any documentation references

Phase 4: Validation (5 minutes)​

  1. Run cargo check to verify no compile errors
  2. Run tests if available
  3. Generate new tree snapshot for comparison

Risk Assessment​

Low Risk Renames​

  • audit_types.rs, auth_types.rs → Self-contained modules
  • codi_session.rs → Isolated utility

Medium Risk Renames​

  • compliance_types.rs, monitor_types.rs → May have cross-dependencies
  • terminal_session.rs → WebSocket integration points

High Risk (Requires Careful Testing)​

  • Core session.rs model → Referenced throughout application

Approval Required Actions​

# 1. REQUEST APPROVAL for Phase 1 assessment
codi-log "[SESSION9-CLEANER] APPROVAL_REQUEST Phase 1: Assess dependencies for 10 duplicate files before renaming" "APPROVAL_REQUEST"

# 2. If approved, execute assessment
# 3. Report findings
# 4. REQUEST APPROVAL for actual renames
# 5. Execute with git mv to preserve history

Expected Outcome​

Before: 10 namespace conflict risks
After: 0 namespace conflicts, clear module boundaries
Build Impact: Eliminates compilation ambiguity
Maintenance: Easier to understand codebase structure