PR: #428: [Story-1735] Add BDD quality gates by @pramaan-board-bot[bot]
View PR →
Story-1735

BDD quality gates

This walkthrough documents the two CI gates added for RFD-BDD-001 D-5 and D-6 in pramaan-app.

What changed

Feature binding gate

pnpm run check:features runs bddgen and rejects undefined, skipped, pending, or work-in-progress BDD scenarios.

Readable Gherkin gate

pnpm run check:gherkin scans feature files for implementation jargon such as selectors, URLs, SQL, IDs, internal type names, and setQueryData.

CI wiring

Both checks run in the existing quality job before TypeScript and lint.

Bad-input proof

pnpm run check:features -- --feature scripts/bdd/fixtures/unbound-step.feature
pnpm run check:gherkin -- scripts/bdd/fixtures/jargon.feature

The fixtures live outside tests/features/, so they prove the gates fail without becoming part of the required Playwright BDD suite.

Expected operator flow

Files changed

6 file(s), +420 / -0 lines

Path Role + -
.github/workflows/ci.ymlWorkflow+10-0
package.jsonConfig+2-0
scripts/bdd/check-features.tsScript+249-0
scripts/bdd/check-gherkin.tsScript+149-0
scripts/bdd/fixtures/jargon.featureScript+5-0
scripts/bdd/fixtures/unbound-step.featureScript+5-0