Skip to content

Ladon finalization retry returns success with zero turns and cannot complete review #30

Description

@bokelley

Problem

Ladon repeatedly completes primary review analysis successfully with zero findings, persists needs_finalization, then invokes its bounded finalization-only retry. The retry returns success with num_turns: 0, makes no MCP finalize_review call, leaves state unchanged, and correctly fails closed before the arbiter.

Reproduction

Consumer PR: adcontextprotocol/adcp-client-python#1217
Exact head: c5b5826d6caea2eb267ead5c288c4068438ed0cf

  • Run 36270719842, attempts 1 and 2: identical failure.
  • Fresh ready_for_review run 36271793703: identical failure with new workflow state; primary reviewer success, 34 turns, zero findings, needs_finalization; retry success, zero turns; arbiter skipped.
  • The consumer workflow uses adcontextprotocol/actions/ladon/review@48c0dfef96594f74f9606d68597c0f7062a5a337; nested floating tags currently resolve ladon/review/v1 to ab7c8394702d... and ladon/reviewer/v1 to a64a17ba3691....

The log text mentioning Internal error: directory mismatch .../tsconfig.json is a source comment explaining why --tsconfig-override is omitted; no such runtime error is emitted in these runs. The observable failure is the resumed Claude session exiting successfully in about 100 ms with zero turns and zero usage.

Expected

The finalization retry must either execute the allowed mcp__ladon_findings__finalize_review call and produce a complete deterministic review record, or fail with an actionable retry error. A zero-turn successful resume must not masquerade as a usable retry. Preserve the existing fail-closed behavior.

Please add a regression covering primary success + needs_finalization followed by a zero-turn resume, and ensure the recovery path can finalize or reports the underlying resume failure explicitly.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions