Skip to content

tasks-execute pushes each finished task and opens its PR - #86

Merged
calvin-archastro merged 1 commit into
mainfrom
tasks-execute-push-phase
Oct 24, 2026
Merged

calvin-archastro merged 1 commit into
mainfrom
tasks-execute-push-phase

Conversation

@calvin-archastro

@calvin-archastro calvin-archastro commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Review on ArchCode

Problem

tasks-execute stopped each task at a local commit: "Invoking it on an epic is the user's explicit request to commit each finished task. It is not a request to push or open PRs." Working an epic with it left finished tasks closed in ArchDev Tasks but unpushed, with no PR for anyone to review, and the agent waited on full local test runs instead of letting CI run them. In practice the user then has to ask separately to push and open PRs for each task, and stacked dependents have no defined base.

What changed

tasks-execute/SKILL.md §6 is now Commit, push, open a PR, then close:

  • Default: invoking the skill on an epic authorizes commit, push and one PR per finished task. Pushing is skipped only when the user says so for the run, or the repository forbids agent pushes. Repository instructions still decide branch, commit and PR format and ready/draft.
  • PR base: default branch when prerequisites are merged; stacked on the prerequisite's branch with a Merge order: after #<n> note when its PR is still open; when a base PR merges mid-task (branch deleted, gh pr create reports the base is not a branch), rebase only the task's commits onto the default branch, re-check, push with --force-with-lease.
  • Bookkeeping: link the PR to the Task (tasks links add <task> <url> --type pull_request), comment the PR, SHA and verification, run the archdev skill's PR bookkeeping, then close fenced with the lease.
  • CI: do not wait on CI between tasks; run the task's focused verification locally and let CI run full suites; check every PR's CI before the final report.
  • The description, loop diagram and §9 report (now lists each PR, its base, merge order and CI state) match.

The per-harness copies under plugins/*/skills/tasks-execute/ are regenerated with tools/plugin-gen (npm run build).

Scope

Skill text only (agent instructions). No CLI or plugin code changes.

Risk assessment

Low–medium. No code, but it widens what agents do by default: they now push branches and open PRs when working an epic. Repository instructions that forbid agent pushes still win, and the user can opt out per run.

User impact

Working an epic with /tasks-execute produces reviewable PRs per task instead of local commits, and finishes with a list of PRs and their CI state.

Testing

  • npm run build (156 generated files), npm run check (generated files match the catalog), npm test in tools/plugin-gen: 129 passed, including the SKILL.md description length check.
  • No end-to-end test applies: this changes agent instructions, not executable behavior. The behavior was exercised by hand on the "Multi-machine Factory and daemon via task leases" epic in firstlanding (task tsk_0A24… → firstlanding#19909), including the base-merged-mid-task rebase path.

🤖 Generated with Claude Code

Invoking tasks-execute on an epic now carries every finished task through
push and pull request, not just a local commit: pick the PR base (default
branch, stacked on an open prerequisite PR with a merge-order note, or
rebased onto the default branch when a base PR merged mid-task), push,
open one PR per task under the repository's PR rules, link it to the Task,
and close. Pushing is skipped only when the user says so or the repository
forbids agent pushes.

It also stops waiting on CI between tasks: focused verification locally,
full suites in CI, and every PR's CI checked before the final report, which
now lists each PR, its base, merge order and CI state.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
@calvin-archastro
calvin-archastro merged commit bcafdbd into main Oct 24, 2026
20 checks passed
@calvin-archastro
calvin-archastro deleted the tasks-execute-push-phase branch October 24, 2026 00:20
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