Skip to content

Rename task run to task create#85

Merged
nezhar merged 1 commit into
mainfrom
vp-task-create
Jun 15, 2026
Merged

Rename task run to task create#85
nezhar merged 1 commit into
mainfrom
vp-task-create

Conversation

@nezhar

@nezhar nezhar commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Updates the headless agent task functionality to deprecate the old vp task run command in favor of the new vp task create command, ensuring consistency across the codebase, documentation, and tests. The changes introduce create as the primary subcommand for launching background agent tasks, while keeping run as a hidden alias that warns users of its deprecation. All related documentation, code comments, and tests have been updated to reflect this change.

Summary by CodeRabbit

  • New Features
    • Introduced vp task create as the primary way to start headless background agent tasks.
    • Kept vp task run as a hidden/deprecated alias that still starts tasks but shows a deprecation notice.
    • Improved CLI argument passthrough so extra options after -- are forwarded as expected.
  • Documentation
    • Updated task-mode examples and authentication examples to use vp task create.
  • Tests
    • Updated and expanded CLI and task-store tests to cover the new command flow and stricter timestamp behavior.

@coderabbitai

coderabbitai Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@nezhar, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 14 minutes and 4 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 5bd7c726-59a1-48e1-9df4-c7d64119d7e2

📥 Commits

Reviewing files that changed from the base of the PR and between 820ecfd and e2847c7.

📒 Files selected for processing (6)
  • docs/agents/index.md
  • src/vibepod/commands/task.py
  • src/vibepod/core/launch.py
  • src/vibepod/core/tasks.py
  • tests/test_task_cmd.py
  • tests/test_tasks.py
📝 Walkthrough

Walkthrough

Introduces vp task create as the primary CLI subcommand for headless background agent tasks. vp task run is retained as a hidden, deprecated alias that emits a warning. A single task_create function handles both via Typer context for passthrough args. All docs, module docstrings, and tests are updated to match.

Changes

vp task create command rename

Layer / File(s) Summary
task_create command wiring and deprecated alias
src/vibepod/commands/task.py
task_create is registered as both app.command("create") (public) and app.command("run", hidden=True) (deprecated alias). The unified handler collects passthrough args from Typer context and emits a deprecation warning when invoked as run. The old _task_run_cmd wrapper and task_run function are removed. Module docstring, help text, and imports updated.
Core module docstring updates
src/vibepod/core/launch.py, src/vibepod/core/tasks.py
Module and class docstrings updated to reference vp task create instead of vp task run. No runtime logic changed.
Test suite updated to task_create
tests/test_task_cmd.py, tests/test_tasks.py
All test_task_run_* functions renamed to test_task_create_*. Coverage extended for agent validation, command-shape (Claude, Codex, auggie, ikwid), passthrough args via CliRunner, and store persistence. New test_task_run_alias_still_starts_task verifies the deprecated alias. test_tasks.py tightens updated_at to require strict inequality after update.
Documentation examples
docs/agents/index.md
All Task mode examples updated from vp task run to vp task create, including passthrough args (-- ...), --ikwid auto-approval, and Codex API-key authentication.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • VibePod/vibepod-cli#71: Introduced the original vp task run command in src/vibepod/commands/task.py that this PR directly refactors into vp task create with run as a deprecated alias.

Poem

🐇 Hop, hop, the command has a new name,
task create now leads the headless game!
task run still whispers, marked deprecated,
A warning emits, but tasks aren't negated.
The bunny tidied docs and tests with care —
New subcommand blooms in the CLI air! 🌸

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 18.75% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Rename task run to task create' directly and accurately captures the main change: deprecating 'vp task run' in favor of 'vp task create' as the primary command.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch vp-task-create

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 and usage tips.

@augmentcode

augmentcode Bot commented Jun 15, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: This PR renames the headless background task subcommand from vp task run to vp task create, keeping run as a deprecated alias.

Changes:

  • Introduces vp task create as the primary command for launching headless agent tasks.
  • Keeps vp task run as a hidden alias and emits a deprecation warning when used.
  • Updates task command help text / docstrings to align with the new terminology.
  • Refreshes agent task documentation examples to use vp task create.
  • Updates unit tests to call task_create, adds coverage for the deprecated run alias, and adjusts a TaskStore timestamp assertion.

Technical Notes: The new command preserves passthrough argument behavior via Click/Typer context settings (allow_extra_args / ignore_unknown_options) so arguments after -- continue to be forwarded to the agent.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 2 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

str | None,
typer.Option("--network", help="Additional Docker network to connect the container to"),
] = None,
pull: Annotated[bool, typer.Option("--pull", help="Pull latest image before run")] = False,

@augmentcode augmentcode Bot Jun 15, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

src/vibepod/commands/task.py:178 The --pull option help text still says "before run" even though the primary subcommand is now create, which may be confusing in vp task create --help output.

Severity: low

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

Comment thread tests/test_tasks.py
assert updated.started_at == "2026-06-11T14:00:00Z"
assert updated.finished_at == "2026-06-11T14:05:00Z"
assert updated.updated_at >= updated.created_at
assert updated.updated_at > record.updated_at

@augmentcode augmentcode Bot Jun 15, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tests/test_tasks.py:64 This strict updated.updated_at > record.updated_at assertion may be flaky if updated_at can have coarse time resolution (or identical timestamps when create+update happen very close together).

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/vibepod/commands/task.py`:
- Around line 190-197: The `_context_args` function is currently typed to accept
`typer.Context | None`, but the code at line 190-197 passes `click.core.Context`
(returned from `click.get_current_context()`), causing a type mismatch that
fails mypy checks. Update the `_context_args` function signature at lines 77-78
to accept `click.Context | None` instead of `typer.Context | None`. You may
import `click` at the module level to use `click.Context` in the type
annotation, or use the public alias `click.Context` directly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 4a07e2ee-8b8c-49f7-8836-08b6461478bb

📥 Commits

Reviewing files that changed from the base of the PR and between 8ee8ac7 and 820ecfd.

📒 Files selected for processing (6)
  • docs/agents/index.md
  • src/vibepod/commands/task.py
  • src/vibepod/core/launch.py
  • src/vibepod/core/tasks.py
  • tests/test_task_cmd.py
  • tests/test_tasks.py
✅ Files skipped from review due to trivial changes (3)
  • src/vibepod/core/launch.py
  • src/vibepod/core/tasks.py
  • docs/agents/index.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • tests/test_tasks.py
  • tests/test_task_cmd.py

Comment thread src/vibepod/commands/task.py Outdated
@nezhar nezhar merged commit dbc9512 into main Jun 15, 2026
19 checks passed
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