Skip to content

Umbrella: canonical-naming — eliminate Enhanced/Unified/Consolidated/V2 prefixes repo-wide #10666

Closed
1 of 2 issues completed

Description

@mrveiss

Umbrella: canonical-naming — eliminate Enhanced/Unified/Consolidated/V2 prefixes repo-wide

Goal

Collapse every Enhanced*/Unified*/Consolidated*/*V2 prefixed entity (class, function, file, package, method) into ONE canonical plain-named implementation — merging logic, not just renaming. No prefixed names, no EnhancedX = X aliases anywhere.

Mandate (owner 2026-06-29)

  • For every collision / file-pending-deletion: pick the canonical, fold the duplicate's unique behavior into it (wire-in BEFORE delete), migrate ALL callers, delete the redundant.
  • Deprecated duplicate public endpoints/methods: REMOVE them, fold logic into the canonical.
  • Field-name conflicts: pydantic validation_alias/AliasChoices — one class, not two.
  • Genuinely-different concepts that merely share a post-strip name: give DISTINCT descriptive names (not a blind collide).
  • KEEP FlashAttentionV2 (published algorithm name; document as ARCHITECTURE_EXCEPTION).

Acceptance criteria (umbrella)

Task tree (one PR each)

Related issues

Activity

  1. mrveiss commented on Jun 29, 2026

    @mrveiss
    OwnerAuthor

    Batch plan (from audit) + owner decisions

    ~86 prefixed entities → 10 PRs. Collisions solved per canonical-coding: same concept→fold into one; different concepts that clash→distinct descriptive names.

    # Batch Notes
    B1 api-schemas SearchRequest 3-way → 1 (validation_alias limit/top_k); GoalPayload/SearchResponse consolidations; Enhanced* data renames. Closes #10654
    B2 memory UnifiedMemoryManager→MemoryManager (MemoryManager exists @services/memory → confirm same concept), api/enhanced_memory→api/memory
    B3 orchestration enhanced_orchestration/ pkg → orchestration/ (exists — merge, check module clashes)
    B4 secrets-vault UnifiedSecretsService→SecretsService (exists), unified_credential_*, vault client+exceptions
    B5 llm-knowledge-multimodal UnifiedLLMInterface→LLMInterface, UnifiedKnowledgeManager→KnowledgeManager, UnifiedMultiModalProcessor→MultiModalProcessor (exists), EnhancedSearch*
    B6 security-terminal EnhancedSecurityLayer→SecurityLayer (exists), ConsolidatedTerminal*, *_v2 approval methods
    B7 api-routes handler fn renames (enhanced_search→search etc.); DEPENDS on B1; disambiguate in-module siblings
    B8 shared-plugin-sdk UnifiedRegistry→Registry, unified_registry.py→registry.py (isolated)
    B9 gateway-message UnifiedMessage ×2 → GatewayMessage (base_adapter) + ChannelMessage (types.py) per owner
    B10 misc-functions EnhancedProjectStateTracker, example/test renames

    Decisions (owner 2026-06-29): UnifiedMessage → two distinct names (GatewayMessage/ChannelMessage). FlashAttentionV2 → kept (published algorithm name; document as ARCHITECTURE_EXCEPTION).

    Rules per batch: no aliases; git grep <oldname>=0 after each; rename def + ALL refs atomically; validation_alias for field-name conflicts; startup-import smoke + flake8/black green.

  2. mrveiss commented on Jun 29, 2026

    @mrveiss
    OwnerAuthor

    ⚠️ Mandate strengthened (owner 2026-06-29): CONSOLIDATE logic, don't just rename

    Renaming a prefixed name only removes duplication when the underlying logic is merged. For EVERY collision / file-pending-deletion:

    1. Pick the canonical implementation.
    2. Fold the unique behavior/methods of the duplicate INTO the canonical (wire-in-before-delete — never delete a file whose logic isn't already in the canonical).
    3. Migrate ALL callers to the single implementation.
    4. Delete the redundant code.

    Deprecated duplicate public endpoints/methods (owner decision): REMOVE them — fold logic into the canonical, migrate internal callers, delete the deprecated route/method (clients on already-deprecated surfaces break by design).

    Concrete pending logic-consolidations (not just renames)

    • Search endpoints (knowledge_search.py): 3 impls (/search + deprecated /enhanced_search, /enhanced_search_v2) → ONE /search (fold logic, remove deprecated routes). [B7]
    • Memory managers: UnifiedMemoryManager (39 methods) + MemoryManager (services/memory, 10 methods, test-only) → ONE. [B2]
    • Orchestration: enhanced_orchestration/ (24 modules) → fold into orchestration/ (51), delete the package. [B3]
    • Secrets: UnifiedSecretsService + SecretsService → ONE. [B4]
    • MultiModal/Security: UnifiedMultiModalProcessor+MultiModalProcessor, EnhancedSecurityLayer+SecurityLayer, EnhancedSecurityFixAgent+SecurityFixAgent → ONE each. [B5/B6]
    • Deprecated *_v2 methods → fold into base, remove.

    Pure renames (no base/duplicate: UnifiedRegistry✓, UnifiedMessage-split✓, UnifiedLLMInterface, etc.) stay simple renames.

  3. 22 remaining items

  4. github-actions commented on Jun 30, 2026

    @github-actions
    Contributor

    PR #10733 (merged to Dev_new_gui) references this issue with a close keyword.

    refactor(naming): B6 final cleanup — eliminate all Enhanced/Unified/V2/phase-era prefix residue + promote py-duplicate-concept to BLOCK (#10666)

    If this issue is fully resolved, close it manually. If work remains, no action is needed.

  5. mrveiss commented on Jun 30, 2026

    @mrveiss
    OwnerAuthor

    ✅ Complete — zero prefixed code identifiers repo-wide

    All 13 PRs merged (12 batches + final cleanup #10733). Verified on Dev_new_gui:

    • 0 banned classes / functions / files (Enhanced/Unified/Consolidated/V2/numbered-Phase) — only FlashAttentionV2 remains (documented in ARCHITECTURE_EXCEPTIONS.md as the published algorithm name).
    • Real logic consolidations (not renames): memory managers→1, enhanced_orchestration/→orchestration/, KB 3 search methods→1, 4 deprecated search endpoints removed (folded into /search), security layers folded, EnvelopeSecretsService kept distinct from legacy SecretsService (Umbrella/PRD: unify AutoBot secrets — one RBAC-governed store, vaults + one key abstraction (replaces 11 stores, 5 keys, 2 UIs) #10088 owns that merge).
    • Collisions resolved per concept: same→merge, different→distinct descriptive names (UnifiedMessage→GatewayMessage/ChannelMessage; EnhancedSearchFilters→SearchFilterParams; Phase9PerformanceMonitor→HardwarePerformanceMonitor).
    • py-duplicate-concept promoted warn→BLOCK (0 violations) — completes the self-enforcing goal.

    Residual (separate, intentional): URL route paths /enhanced-memory, /unified/search left unchanged (external API contracts — code identifiers renamed, paths need deliberate API versioning). Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions