Skip to content

refactor(cli): extract interactive and execution lifecycle - #84

Draft
Maximooch wants to merge 6 commits into
codex/cli-acbra-startupfrom
codex/cli-acbra-runtime
Draft

Maximooch wants to merge 6 commits into
codex/cli-acbra-startupfrom
codex/cli-acbra-runtime

Conversation

@Maximooch

@Maximooch Maximooch commented Aug 8, 2026 •

Copy link
Copy Markdown
Owner

What changed

  • extracts the interactive PenguinCLI lifecycle into penguin/cli/interactive.py
  • moves task/project execution decisions behind terminal-independent services
  • extracts direct-prompt, session, and RunMode lifecycle policy
  • adds replay/order/completion, service, and lifecycle tests

Why

Interactive rendering, task/project policy, and mode dispatch were interleaved in the entry-point module. That made cancellation, completion truth, output ordering, and command behavior difficult to characterize independently.

Impact

The CLI facade delegates runtime behavior to focused owners while retaining compatibility functions and command contracts.

Validation

  • focused tests included for interactive cleanup, command services, dispatch precedence, stream ordering, and completion classification
  • final stacked CLI suite: 134 passed
  • repository suite at final stack: 2,375 passed, 3 skipped; four unrelated existing failures recorded in the campaign plan

Stack: #82 → startup PR → this PR.

CI note

The two Link-provider jobs and Python 3.9 goal job are inherited unchanged from base PR #82. Python 3.12 goal, TUI, docs, and deployment checks pass.

@vercel

vercel Bot commented Aug 8, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
penguin Ready Ready Preview Aug 8, 2026 12:10am

@coderabbitai

coderabbitai Bot commented Aug 8, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: abfe2de1-7290-4d53-9f11-c44e248b55ea

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

This branch was successfully deployed

1 active deployment
Preview — bd9cacf2 Deployed Aug 8, 2026 by vercel[bot]
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.

1 participant