Skip to content

/ship repeatedly stops after review fixes despite fully automated contract #2391

Closed

Description

@cfagerlin

Problem

/ship can require 5–10 manual invocations before completing.

Whenever the pre-landing review applies any fixes,
ship/sections/review-army.md Step 9.7 instructs the agent to commit,
STOP, and tell the user to run /ship again.

This conflicts with the top-level /ship contract:

non-interactive, fully automated
Run straight through and output the PR URL at the end.

There is no user decision or external checkpoint between these invocations.
Each rerun simply repeats the workflow until a review pass produces no fixes.

Reproduction

  1. Run /ship on a branch where the review army finds an auto-fixable issue.
  2. /ship applies and commits the fix.
  3. It stops and requests another /ship.
  4. Run /ship again.
  5. If another finding is fixed, it stops again.

Observed with gstack v1.60.1.0.

Expected behavior

After committing review fixes, /ship should remain in the same invocation:

  1. Rerun the required tests.
  2. Repeat the review until it produces no additional fixes.
  3. Continue versioning, push, and PR creation.

It should stop only for an actual blocker or required user decision.

Proposed change

In ship/sections/review-army.md.tmpl, replace:

commit fixed files ... then STOP and tell the user to run /ship again

with behavior equivalent to:

commit fixed files, then rerun Steps 5–9 in the same invocation until
tests and review are clean; do not ask the user to invoke /ship again.

Add a regression assertion that an AUTO-FIX result cannot terminate /ship
with a rerun request.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions