Skip to content

--ci ignores failUnder from .vcqa.json and always uses 60 #108

Closed

Description

@serge-ivo

Problem

src/cli.ts:699 resolves the exit threshold as flags.failUnder ?? (ciMode ? 60 : config.failUnder ?? 0). Under --ci, a failUnder in .vcqa.json / package.json#vcqa is ignored and 60 is used instead, contradicting the config docs at src/config.ts:11.

Effect: a project that sets failUnder: 80 in config and runs vcqa --ci passes at 61; a project that sets failUnder: 40 fails at 59.

Scope

  • Precedence: --fail-under flag → config failUnder → --ci default 60 → 0.
  • Print the effective threshold and its source (flag / config / ci default) in the CI summary line.

Acceptance criteria

  • --ci with config failUnder: 80 and score 70 exits 1; with config failUnder: 40 and score 50 exits 0.
  • --fail-under still overrides both.
  • Docs PR on vibecodeqa/vibecodeqa if docs/docs/configuration.md or docs/docs/ci.md state the precedence.

Related

#101 (gate-integrity flags failUnder being lowered; the threshold has to be honoured for that to matter).


🤖 Filed with Claude Code

Activity

  1. serge-ivo commented on Oct 5, 2026

    @serge-ivo
    ContributorAuthor

    Delivered in #109 (branch fix/108-ci-fail-under, commit b4503a7). Precedence is now --fail-under → config failUnder → --ci 60 → 0, resolved in a pure src/fail-under.ts. CI output names the source, e.g. Passing: score 72 ≥ 80 (config).

    Verified: pnpm build is clean; pnpm lint has 0 errors (62 warnings, same as main); pnpm test passes 748/748. The new end-to-end tests cover config above 60 failing under --ci on a score the old code passed, config below 60 passing, and --fail-under overriding config.
    Docs: vibecodeqa/vibecodeqa#57. Merge it after this ships in a release.
    This stays open until #109 is merged.

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 working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions