Skip to content

[bug] empty verify_command silently passes nodes with no deterministic evidence #56

Closed

Description

@smota

Split from #50 (item 5).

Summary

With verify_command = [], the deterministic check is skipped without any message (crates/meshloop-engine/src/run_loop.rs:1301, if !self.verify_command.is_empty()), and the node advances to AwaitingReview as if it had passed.

ADR 0007 says deterministic checks are "always required, produced by real local tools". Today an empty command means a node has no deterministic evidence beyond the git diff, and no output says so.

Observed

Run issues-44-45 (PR #49), node 2: the worker added tests that didn't compile, because a non-Sync test double was passed into a Sync harness interface. The run config had verify_command = []. The node reached AwaitingReview. The problem surfaced only after integrating, when the origin agent ran cargo test itself.

Expected

  • An empty verify_command writes an evidence row kind = "verify", outcome = "skipped", not nothing.
  • doctor --config and run warn when verify_command is empty.
  • Open question for the maintainer: should an empty verify_command block run unless --allow-no-verify is passed, to match ADR 0007 strictly? Warning-only is the minimum.

Acceptance criteria

  • Test: empty verify_command → the attempt has a verify: skipped evidence row.
  • Test: doctor --config reports a warning naming verify_command.
  • A non-empty verify_command behaves as today.

🤖 Generated with Claude Code

Activity

  1. added
    bugSomething isn't working
    drafted-by:claudeIssue, plan, or spec drafted by Claude in the current session
    on Oct 7, 2026
  2. smota commented on Oct 7, 2026

    @smota
    OwnerAuthor

    Workflow status: delivered. PR #63 merged by smota as d058307 (2026-10-07).

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

    bugSomething isn't workingdrafted-by:claudeIssue, plan, or spec drafted by Claude in the current sessionfor-implementation:claudeImplementation routed to Claude

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions