Skip to content

Gates and Evidence

VibePro gates are readiness requirements. A gate can require verification output, review evidence, a decision record, a waiver, or a specific artifact.

Why gates are risk-adaptive

Not every change needs the same proof. A typo fix should not require the same process as a workflow-heavy release change. VibePro classifies the change and expands the Gate DAG when the blast radius is larger.

Examples of risk signals:

  • UI interaction changes
  • API contract changes
  • authentication or security-sensitive paths
  • database or persistence behavior
  • runtime and deployment behavior
  • cross-surface workflow changes
  • design system changes
  • agent-review orchestration changes

Common gate outcomes

  • passed: evidence satisfies the gate.
  • needs_evidence: the required artifact or verification record is missing.
  • needs_review: a human or agent review decision is required.
  • blocked: the gate found a condition that must be fixed or waived.
  • waived: a recorded decision accepts the risk.

Evidence quality

Good evidence is current-bound, specific, and reproducible.

Prefer:

bash
vibepro verify record /path/to/repo \
  --id story-checkout-flow \
  --kind e2e \
  --status pass \
  --command "npm run test:e2e -- checkout.spec.ts" \
  --artifact test-results/checkout/index.html

Avoid:

text
Tests should pass later.

Waivers

Use waivers when the team intentionally accepts an unresolved gate.

bash
vibepro decision record /path/to/repo \
  --id <story-id> \
  --type waiver \
  --source <gate-id> \
  --summary "<what is being waived>" \
  --reason "<why this is acceptable>"

Waivers are not hidden. They become part of the PR evidence and should be readable by reviewers.

Reading the Gate DAG

Start from .vibepro/pr/<story-id>/gate-dag.html. The DAG shows which gates are blocking PR creation and which evidence would unblock them.

Then read:

  1. .vibepro/pr/<story-id>/review-cockpit.html
  2. .vibepro/pr/<story-id>/pr-body.md
  3. .vibepro/pr/<story-id>/pr-prepare.json

Released under the Apache-2.0 License.