CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/intent-integrity-kit

Closing the intent-to-code chasm - specification-driven development with BDD verification chain

86

1.82x
Quality

92%

Does it follow best practices?

Impact

86%

1.82x

Average score across 14 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

task.mdevals/scenario-4/

Bug Report: Payment Processing Failure on Retry

Problem/Feature Description

The payments team at an e-commerce platform has discovered a bug in their checkout flow. When a payment fails due to a temporary network issue, the retry mechanism sometimes charges customers twice. This has been reported by 3 customers in the past week and the support team has confirmed the root cause points to the payment state machine not checking for existing pending charges before submitting a new one.

The team needs a formal bug record created and the appropriate fix tasks added to their existing tasks.md file, so the engineering team can pick it up in the next sprint.

Output Specification

Produce the following files:

  • specs/003-payments/bugs.md — the structured bug report entry (create the file since none exists yet)
  • Updated specs/003-payments/tasks.md — with the fix tasks appended (do not modify existing entries)

Also produce a bugfix-report.md at the root summarizing the bug ID assigned, the tasks created, and the approach taken.

Input Files

The following files are provided as inputs. Extract them before beginning.

=============== FILE: specs/003-payments/tasks.md ===============

Tasks: payments

Phase 1: Setup

  • T001 Create project structure and pyproject.toml
  • T002 Initialize database migrations directory

Phase 2: Foundational

  • T003 [P] Create Payment model in src/models/payment.py
  • T004 [P] Create PaymentState enum in src/models/payment.py

Phase 3: User Story 1 - Process Payment

  • T005 [US1] Implement payment submission in src/services/payment_service.py
  • T006 [US1] Implement payment state machine in src/services/payment_service.py
  • T007 [P] [US1] Create POST /payments endpoint in src/routers/payments.py
  • T008 [P] [US1] Create GET /payments/{id} endpoint in src/routers/payments.py

=============== FILE: CONSTITUTION.md ===============

Project Constitution v1.0.0

Principles

P1: Test-Driven Development

Test-first development MUST be used for all features. Test specifications MUST be written before implementation begins. Modifying test assertions to make failing tests pass is PROHIBITED.

P2: Payment Integrity

All payment state transitions MUST be idempotent. Duplicate charge prevention MUST be enforced at the service layer.

P3: Auditability

All payment events MUST be logged with full transaction context for dispute resolution.

Amendment Procedure

Amendments require engineering lead approval and version increment. P1 and P2 are immutable.

=============== FILE: .specify/context.json =============== { "tdd_determination": "mandatory", "active_feature": "003-payments", "checklist_reviewed_at": "2026-02-15T10:30:00Z" }

=============== FILE: specs/003-payments/tests/features/process_payment.feature ===============

DO NOT MODIFY SCENARIOS

These .feature files define expected behavior derived from requirements.

During implementation:

- Write step definitions to match these scenarios

- Fix code to pass tests, don't modify .feature files

- If requirements change, re-run /iikit-04-testify

@US-001 Feature: Process Payment

@TS-001 @FR-001 @SC-001 @US-001 @P1 @acceptance Scenario: Successful payment processing Given a customer with a valid payment method When they submit a payment of $50.00 Then the payment is processed and status is "completed"

@TS-002 @FR-002 @SC-002 @US-001 @P1 @acceptance Scenario: Retry after network failure Given a payment that failed due to a network error When the system retries the payment Then only one charge is applied to the customer's account

evals

README.md

tile.json