Closing the intent-to-code chasm - specification-driven development with BDD verification chain
86
92%
Does it follow best practices?
Impact
86%
1.82xAverage score across 14 eval scenarios
Advisory
Suggest reviewing before use
A fintech startup is building a user notifications service that will alert customers about account events (new transactions, low balance, login from new device). The backend team has finished writing up the requirements in their specification format and now needs executable test scenarios before any implementation begins. They follow a test-first approach and need proper BDD-style test files that can be wired up to their testing framework.
The product owner has provided a completed specification file and technical plan (see below) and wants the QA engineer to translate the requirements into Gherkin .feature files.
Produce one or more .feature files in a tests/features/ directory. Each file should contain Gherkin scenarios derived from the acceptance criteria in the spec. Output a brief generation-report.md summarizing how many scenarios were generated, how they are organized, and any traceability notes.
The following files are provided as inputs. Extract them before beginning.
=============== FILE: specs/001-notifications/spec.md ===============
Allow users to receive real-time and email notifications for important account events.
As a bank customer, I want to receive a notification when a transaction occurs on my account so I can monitor my finances in real time.
Acceptance Scenarios:
Functional Requirements:
Success Criteria:
As a bank customer, I want to be alerted when my account balance falls below a threshold I configure so I can avoid overdrafts.
Acceptance Scenarios:
Functional Requirements:
Success Criteria:
As a bank customer, I want to be notified immediately when a login occurs from an unrecognized device so I can take action if my account is compromised.
Acceptance Scenarios:
Functional Requirements:
Success Criteria:
=============== FILE: specs/001-notifications/plan.md ===============
src/
models/notification.py # Notification domain model
models/preference.py # User notification preferences
models/device.py # Registered device tracking
services/dispatcher.py # Notification dispatch orchestrator
services/channels/email.py # Email channel handler
services/channels/sms.py # SMS channel handler
services/channels/inapp.py # In-app channel handler
services/detector.py # Transaction and device event detection
routes/notifications.py # API endpoints
routes/preferences.py # User preference management
tests/
features/ # BDD .feature files (to be generated)
integration/
test_dispatch.py
test_preferences.py=============== FILE: CONSTITUTION.md ===============
Test-first development MUST be used for all features. Test specifications MUST be written before implementation begins.
User notification preferences and device data MUST be encrypted at rest.
Notification delivery failures MUST be retried with exponential backoff. Failed deliveries MUST be logged.
Amendments require team lead approval and version increment.
=============== FILE: .specify/context.json =============== { "tdd_determination": "mandatory", "active_feature": "001-notifications" }
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
rules
skills
iikit-00-constitution
scripts
dashboard
iikit-01-specify
iikit-02-plan
iikit-03-checklist
scripts
bash
dashboard
iikit-04-testify
iikit-05-tasks
iikit-06-analyze
iikit-07-implement
iikit-08-taskstoissues
iikit-bugfix
scripts
dashboard
iikit-clarify
iikit-core
references
scripts
bash
dashboard
powershell
templates