Skip to content

feat: add NFR compensation extension#213

Closed
aymanyaq wants to merge 1 commit intoawslabs:mainfrom
aymanyaq:feat/nfr-compensation-extension
Closed

feat: add NFR compensation extension#213
aymanyaq wants to merge 1 commit intoawslabs:mainfrom
aymanyaq:feat/nfr-compensation-extension

Conversation

@aymanyaq
Copy link
Copy Markdown

@aymanyaq aymanyaq commented Apr 24, 2026

Summary

Added new optional extension to the AI-DLC rules that ensures domain-specific, unit-level non-functional requirements are captured during Functional Design — particularly for units whose global NFR stages are skipped.

For full context and discussion, please see the RFC: #218

Changes

  • NFR Compensation: Adds two rules that inject lightweight, domain-specific NFR coverage into the Functional Design phase:
    • NFR-COMP-001 (Mandatory Performance Section): When a unit's NFR stages are skipped (e.g., handled by a foundation unit), its Functional Design must include a "Performance & Behavioral Considerations" section covering latency budgets, timeout strategies, resource constraints, edge-case behavior at system boundaries, and testable acceptance criteria specific to that unit.
    • NFR-COMP-002 (Cross-Reference with Global NFR): Requires the unit's performance section to explicitly reference inherited global NFR decisions, identify gaps where global NFR doesn't cover this unit's specific needs, and flag conflicts for resolution before Code Generation.

Core Principle

A global NFR pass covers system-wide concerns (database choice, caching layer, retry framework). It cannot anticipate unit-specific performance characteristics — how a particular unit handles slow dependencies, what its latency budget is, or what happens at its specific system boundaries. This extension ensures those concerns are captured where they are best understood: during the functional design of each domain unit.

User experience

This extension is opt-in. When a user is in the Requirements Analysis phase, they will be prompted with an opt-in question to enable NFR compensation for units that skip dedicated NFR stages.

Checklist

  • I have reviewed the contributing guidelines
  • I have performed a self-review of this change
  • Changes have been tested
  • Changes are documented

Test Plan

  • Load the extension during the Requirements Analysis phase and verify the opt-in prompt appears.
  • Verify that when NFR stages are skipped for a unit, the Functional Design output includes the mandatory Performance & Behavioral Considerations section.
  • All markdown files have passed markdownlint-cli2.

Acknowledgment

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the project license.

@Kalindi-Dev
Copy link
Copy Markdown
Contributor

@aymanyaq
Thank you for you interest and your PR!
As @scottschreckengaust mentioned in the previous PR:
Please consider posting a detailed request for comments (RFC) with extensive background and details for us to consider including in the official extensions. Thank you for your patience

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants