mirror of
https://github.com/mikeyobrien/ralph-orchestrator.git
synced 2026-04-25 23:25:57 +03:00
[PR #3] [CLOSED] feat: add output formatter module with smart content detection #80
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ralph-orchestrator#80
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/mikeyobrien/ralph-orchestrator/pull/3
Author: @mikeyobrien
Created: 12/13/2025
Status: ❌ Closed
Base:
main← Head:feat/output-formatters📝 Commits (10+)
9f48831chore: clean up development artifacts for GA releasec20e4d5docs: mark GA cleanup task complete with validation94f96f0docs: final verification of GA release cleanup905be96feat: add SecurityValidator system for input validation and path sanitizationbfe3c73feat: add thread-safe configuration with ConfigValidator38fb0bdfeat: add advanced async logging with rotation and security maskingf3e59c8feat: implement graceful signal handling with subprocess-first cleanupbf94f5ffeat: add error formatter with user-friendly suggestionsb54b7dffeat: add VerboseLogger with session metrics and Rich integration6a82c1dfeat: add memory-efficient IterationStats for per-iteration tracking📊 Changes
40 files changed (+11677 additions, -800 deletions)
View changed files
📝
.gitignore(+2 -0)➖
CLAUDE_TOOLS_UPDATE.md(+0 -141)📝
PROMPT.md(+285 -118)➖
mkdocs-simple.yml(+0 -66)📝
pyproject.toml(+2 -0)➖
ralph-orchestrator/docs/api/orchestrator.md(+0 -0)📝
src/ralph_orchestrator/__init__.py(+16 -2)📝
src/ralph_orchestrator/__main__.py(+137 -103)📝
src/ralph_orchestrator/adapters/claude.py(+156 -24)➕
src/ralph_orchestrator/async_logger.py(+458 -0)📝
src/ralph_orchestrator/context.py(+42 -12)➕
src/ralph_orchestrator/error_formatter.py(+235 -0)📝
src/ralph_orchestrator/main.py(+337 -16)📝
src/ralph_orchestrator/metrics.py(+173 -2)📝
src/ralph_orchestrator/orchestrator.py(+146 -31)➕
src/ralph_orchestrator/output/__init__.py(+121 -0)➕
src/ralph_orchestrator/output/base.py(+393 -0)➕
src/ralph_orchestrator/output/console.py(+907 -0)➕
src/ralph_orchestrator/output/content_detector.py(+247 -0)➕
src/ralph_orchestrator/output/json_formatter.py(+417 -0)...and 20 more files
📄 Description
Summary
New Components
ContentDetector
Detects content types for intelligent rendering:
DIFF- Git diff format with@@markersCODE_BLOCK- Fenced code blocks with syntax highlightingMARKDOWN- Headings, lists, emphasis, tablesERROR_TRACEBACK- Python exception tracebacksOutput Formatters
RichTerminalFormatter- Colors, panels, syntax highlighting (default)PlainTextFormatter- Plain text for non-terminal environmentsJsonFormatter- Structured JSON for programmatic consumptionSmart Detection
RichTerminalFormatternow auto-detects content and renders appropriately:DiffFormatterTest plan
🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.