Skip to content

verifier 0.22: typed base_unresolved and manifest_removed stops; align preview base detection and trigger reports-dir exclusion #1071

Open

Description

@pengfei-threemoonslab

Deferred by the engineering-review implementation loop from #1070 (issue #1023).

Problem

Verifier 0.21 shipped in 1.2.0 with closed enums, so #1070 could not add typed values for the two new fail-closed stops it introduced. They are published as:

  • "no base resolved": base_status: ref_missing, refs_missing, fetch_base, with detail beginning with the token base_unresolved;
  • "manifest removed": a human stop with exit 2.

A consumer can tell the no-base stop from the existing head-missing stop only by that free-text detail prefix (PR #1070 review, C1-2). The next verifier schema version should carry typed values so consumers do not parse detail.

Smaller leftovers from the same PR, for the same owner:

  • verify --preview still uses remote-only base detection (src/agents_shipgate/cli/verify/orchestrator.py near the preview route), unlike the main route after fix(verify): fail closed without a base or with a deleted manifest #1070.
  • trigger --git-diff still counts the reports directory (src/agents_shipgate/cli/trigger.py:138) that check now excludes when it holds only uncommitted Shipgate artifacts.
  • Other archive ConfigErrors (partial clone with missing objects; cli/verify/git.py around the archive helpers) can still reach the manifest diagnoser in agent mode and be routed to "edit shipgate.yaml".
  • --head <sha> that deletes shipgate.yaml while the checkout still has it overlays the worktree manifest (pre-existing; verdict insufficient_evidence, not mergeable).

Proposed fix

In verifier 0.22 (a minor-cycle schema change with the usual STABILITY migration note and regenerated docs/ schema): add base_status: base_unresolved and a manifest_removed reason, keep the detail prefix for one cycle, and update the Action outputs and the agent-mode next_action to read the typed value. Fold the four smaller leftovers in or split them as the implementer sees fit.

Acceptance criteria

  • Verifier 0.22 publishes typed values for both stops; consumers no longer parse detail.
  • verify --preview resolves the base the same way the main route does.
  • trigger --git-diff and check agree on excluding the reports directory.

Source

Engineering review 2026-10-12 follow-up (PR #1070 review cycle 1 and implementer notes). Tracked in #1060.

Activity

  1. added
    enhancementNew feature or request
    P2Queued; valuable but not blocking
    area:verifyverify / preview orchestration and SHIP-VERIFY-* checks
    engineering-reviewFiled from the 2026-10-12 comprehensive engineering review
    on Oct 13, 2026
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

    P2Queued; valuable but not blockingarea:verifyverify / preview orchestration and SHIP-VERIFY-* checksengineering-reviewFiled from the 2026-10-12 comprehensive engineering reviewenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions