Skip to content

Conversation

@jleibs
Copy link
Member

@jleibs jleibs commented Dec 19, 2025

Related

What

jleibs and others added 27 commits December 19, 2025 15:32
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CLI console is now created lazily via _get_console() so it respects
  NO_COLOR/FORCE_COLOR set after import
- Test fixture resets the console after setting env vars
- This keeps pytest's own colored output while disabling colors in
  CLI invocations during tests

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Use output_mgr.print_prefixed() instead of plain print() for nested
task output, so the │ prefix is styled consistently.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The CLI registers commands with kebab-case (e.g., lint-all) but the GHA
generator was using the raw function names with underscores (lint_all).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Without this, the step() tests fail in CI because they detect
GITHUB_ACTIONS and switch to ::group:: format instead of [Step].

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
./run ci --status now shows recent GitHub Actions runs for the automation,
filtered by current branch.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Each task now captures its own body output and prefixes it:
- Direct output gets │ prefix (2 chars)
- Subtask headers get ├──▶ prefix (4 chars)
- Nested content gets │   continuation (4 chars)

The depth is implicit from the recursion - each layer applies
the same logic regardless of nesting level.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Task name printed in bold
- Prefix symbols (│, ├──▶) printed in cyan
- Success status (✓) in green, failure (✗) in red
- Colors only applied at top level; nested output is plain
  so parent can add colors when prefixing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Parse each line character by character to apply styles
to individual components rather than entire prefix regions.
Tree symbols get cyan, success/failure symbols get their
own colors, content gets default color.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When styling tree characters, look ahead past ALL consecutive
spaces to determine if more tree/status chars follow. This
fixes styling for deeply nested output like "│   │ text"
where the spaces between tree chars were breaking the scan.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Tasks now print with marker when run as subprocess (RECOMPOSE_SUBPROCESS=1),
consistent with nested task behavior. The automation executor strips the
marker line since it already printed the header.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Bare top-level task: bold
- Automation headers: symbol cyan, name bold
- Job headers: symbol cyan, name bold
- Subtask headers in output: symbol cyan, name bold

Uses default foreground color so it works on both light and dark terminals.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove bold from cyan tree structure styling for better visibility
on light-mode terminals. Bold cyan can be too intense on light
backgrounds.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
All color values now use logical names from COLORS dict:
- tree: Tree structure symbols
- name: Task/automation names
- success: Success status
- failure: Failure status
- success_bold: Top-level success messages
- failure_bold: Top-level failure/error messages
- warning: Warnings
- dim: Dimmed/secondary text

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Major simplification:
- Use Console(force_terminal=True) so ANSI codes are always output
- Remove existing_ctx branching - always print with colors
- Simplify prefix_task_output - only check SUBTASK_MARKER
- Simplify print_task_output_styled - just color tree prefixes
- Remove unused OUTPUT_PREFIX, TREE_CHARS, STATUS_CHARS constants

Now all output uses consistent styling:
- Tree prefixes (│, ├──▶) in cyan
- Task names in bold
- Status lines in bold green/red (same style everywhere)

ANSI codes from nested tasks pass through when captured and
re-printed, preserving colors naturally.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add level_1/2a/2b/3a/3b demo tasks showing 3-level nesting
- Fix blank line detection to ignore ANSI escape codes
- Only add blank after status lines that aren't already prefixed

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When running inside a task, stdout is redirected to a capture buffer,
so colors_enabled returns False. Since tasks use force_terminal=True,
we should enable colors for any subprocesses spawned within a task.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add task nesting depth tracking in context
- Emit ::group::/::endgroup:: for first-level subtasks only (depth == 2)
- Pass GHA markers through prefix_task_output without prefixing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This eliminates the annotation-unchecked warning while catching real type
errors. Fixed two None-checking issues revealed by the stricter checking.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@github-actions
Copy link

github-actions bot commented Dec 19, 2025

Latest documentation preview deployed successfully.

Result Commit Link
e2cb4a6 https://landing-ftuczixgh-rerun.vercel.app/docs

Note: This comment is updated whenever you push a commit.

@github-actions
Copy link

github-actions bot commented Dec 19, 2025

Web viewer built successfully.

Result Commit Link Manifest
e2cb4a6 https://rerun.io/viewer/pr/12283 +nightly +main

View image diff on kitdiff.

Note: This comment is updated whenever you push a commit.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants