Skip to content

[P6.6.2] Replace conductor.py print() calls with logger (headless-core violation) #649

Description

@frankbria

Problem

codeframe/core/conductor.py has 84 bare print() calls (Supervisor / GlobalFix / dependency-analysis chatter). The module already configures a logger (line 34) but uses print() for runtime output. Because conductor.py is imported by the FastAPI server (ui/routers/batches_v2.py, tasks_v2.py), these prints leak directly to server stdout.

This violates CLAUDE.md Architecture Rule #1 (core must be headless) and #3 (no UI/progress concepts in core). A few sibling prints exist on server-reachable paths too.

Evidence

  • codeframe/core/conductor.py — 84 print() calls (e.g. lines 154, 160, 374, 692, 967)
  • codeframe/core/tasks.py:812, :818 and codeframe/core/runtime.py:1020, :1091 — prints on server-reachable paths
  • codeframe/core/events.py correctly uses Rich console.print (CLI-intended) — leave as-is.

Fix

  • Replace the server-reachable print() calls in conductor.py / tasks.py / runtime.py with logger.* calls at appropriate levels.

Acceptance criteria

  • No bare print() in conductor.py (and the named tasks.py/runtime.py lines) on server-reachable paths.
  • Runtime chatter goes through logger.

Source: release-readiness audit 2026-06-13 (slop + backend agents). Cleanup, not function-breaking.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2-medium-betaMedium priority - nice to have for betaphase-6.6Phase 6.6: Backend robustness (post-beta-tag)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions