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-2/

Technical Design for Notification Service Feature

Problem/Feature Description

A SaaS platform team is building a notification delivery service to replace their current ad-hoc email logic scattered across multiple services. The product manager has already written a feature specification describing what the service needs to do: deliver multi-channel notifications (email, SMS, push), support priority queuing, allow retry policies, and track delivery status.

Your task is to take the existing feature spec and produce a complete technical design for this feature.

Output Specification

Produce the technical design artifacts in specs/001-notification-service/.

Input Files

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

=============== FILE: specs/001-notification-service/spec.md ===============

Feature Spec: Notification Service

Branch: 001-notification-service | Date: 2026-01-15 | Status: specified

User Stories

US1: Send notification

As a platform service, I want to send a notification to a user so that they receive timely updates about relevant events.

Acceptance Scenarios:

  • Given a valid notification request with recipient and message, when submitted to the service, then a notification record is created with status "queued"
  • Given a notification with high priority, when submitted, then it is placed ahead of standard-priority notifications in the queue
  • Given a notification request with invalid recipient, when submitted, then the service returns a validation error

US2: Track delivery status

As an operations engineer, I want to check the delivery status of any notification so that I can debug delivery failures.

Acceptance Scenarios:

  • Given a notification ID, when queried, then the current status (queued/sending/delivered/failed) is returned
  • Given a failed notification, when queried, then the failure reason and attempt count are included in the response

US3: Configure retry policy

As a developer, I want to configure how many times failed notifications are retried so that transient failures are handled automatically.

Acceptance Scenarios:

  • Given a notification channel with a retry policy of 3 attempts, when the first two sends fail, then the notification is retried up to 2 more times
  • Given a notification that has exhausted its retry attempts, when another failure occurs, then the notification is marked "failed" permanently

Functional Requirements

  • FR-001: The system MUST support at least three notification channels: email, SMS, and push notification
  • FR-002: The system MUST queue notifications and process them asynchronously
  • FR-003: Each notification MUST have a trackable status: queued, sending, delivered, or failed
  • FR-004: The system MUST support configurable retry policies per channel, with a maximum of 10 retry attempts
  • FR-005: Notifications MUST be delivered within 30 seconds of being queued under normal load (< 1000 notifications/min)
  • FR-006: The system MUST expose an API for submitting notifications and querying their status
  • FR-007: Failed notifications MUST record the failure reason and attempt count

Success Criteria

  • SC-001: End-to-end notification delivery (queued → delivered) completes in under 30 seconds at < 1000 notifications/minute load
  • SC-002: Retry logic triggers correctly after transient failures, respecting the configured maximum attempts
  • SC-003: API endpoints return appropriate HTTP status codes (200, 201, 400, 404, 500)
  • SC-004: Notification status transitions follow the defined state machine (queued → sending → delivered/failed)

evals

README.md

tile.json