Skip to content

criticality: internal + assume: ["true"] silently skips check execution #513

@buger

Description

@buger

Bug Description

When a check is configured with criticality: internal and assume: ["true"], the check execution is silently skipped. Instead of running the workflow and returning real results, Visor returns empty/assumed results immediately (~0.1s instead of normal 5-30s for AI workflows).

Steps to Reproduce

checks:
  chat:
    type: workflow
    workflow: assistant
    criticality: internal
    assume: ["true"]
    args:
      question: "{{ conversation.current.text }}"

Run with --no-mocks against a real AI provider. The workflow completes in ~0.1s with empty text output instead of actually executing the AI steps.

Expected Behavior

The check should execute the workflow normally. assume: ["true"] should serve as a precondition guard (as documented for critical steps), not cause the check to be skipped entirely.

Actual Behavior

  • Check returns immediately with empty results
  • No AI API calls are made
  • intent-router outputs are all null
  • generate-response output is {"text": ""}
  • No trace files are generated

Workaround

Use criticality: policy (default) instead, which executes normally and supports on_fail.retry for auto-retries on all failure types.

Environment

  • Visor v0.1.175
  • Model: gemini-3-flash-preview
  • Node.js v22.14.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingexternal

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions