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
Source: release-readiness audit 2026-06-13 (slop + backend agents). Cleanup, not function-breaking.
Problem
codeframe/core/conductor.pyhas 84 bareprint()calls (Supervisor / GlobalFix / dependency-analysis chatter). The module already configures alogger(line 34) but usesprint()for runtime output. Becauseconductor.pyis 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— 84print()calls (e.g. lines 154, 160, 374, 692, 967)codeframe/core/tasks.py:812,:818andcodeframe/core/runtime.py:1020,:1091— prints on server-reachable pathscodeframe/core/events.pycorrectly uses Richconsole.print(CLI-intended) — leave as-is.Fix
print()calls inconductor.py/tasks.py/runtime.pywithlogger.*calls at appropriate levels.Acceptance criteria
print()inconductor.py(and the namedtasks.py/runtime.pylines) on server-reachable paths.logger.Source: release-readiness audit 2026-06-13 (slop + backend agents). Cleanup, not function-breaking.