# How AI-DLC Adapts Requirements Analysis Depth: The Complete Guide

> Explore how AI-DLC adapts requirements analysis depth across Minimal Standard and Comprehensive tiers. Optimize documentation without over-engineering.

- Repository: [Amazon Web Services - Labs/aidlc-workflows](https://github.com/awslabs/aidlc-workflows)
- Tags: deep-dive
- Published: 2026-05-09

---

**AI-DLC automatically scales the detail level of requirements analysis across three tiers—Minimal, Standard, and Comprehensive—based on factors like problem complexity, risk level, and request clarity to ensure optimal documentation without over-engineering.**

The AI-Driven Development Life Cycle (AI-DLC) framework from `awslabs/aidlc-workflows` implements an adaptive requirements analysis stage that dynamically adjusts documentation depth to match project needs. Unlike static approaches that apply uniform rigor to every task, AI-DLC selects the appropriate **requirements analysis depth** during the inception stage, ensuring complex system migrations receive thorough specification while simple bug fixes remain concise.

## Understanding Adaptive Depth in AI-DLC

The adaptive logic is defined in [`aidlc-rules/aws-aidlc-rule-details/inception/requirements-analysis.md`](https://github.com/awslabs/aidlc-workflows/blob/main/aidlc-rules/aws-aidlc-rule-details/inception/requirements-analysis.md) and [`aidlc-rules/aws-aidlc-rule-details/common/depth-levels.md`](https://github.com/awslabs/aidlc-workflows/blob/main/aidlc-rules/aws-aidlc-rule-details/common/depth-levels.md). These documents establish that while every project generates identical artifacts—[`requirement-verification-questions.md`](https://github.com/awslabs/aidlc-workflows/blob/main/requirement-verification-questions.md) and [`requirements.md`](https://github.com/awslabs/aidlc-workflows/blob/main/requirements.md)—the **detail density** varies automatically based on contextual evaluation.

During **Step 3** of the Requirements Analysis workflow (specified in the *Intent Analysis* section), the model evaluates the incoming request and selects one of three depth levels. This decision is **model-driven** rather than hard-coded, allowing the AI to apply judgment based on specific project characteristics recorded in [`aidlc-docs/aidlc-state.md`](https://github.com/awslabs/aidlc-workflows/blob/main/aidlc-docs/aidlc-state.md).

## Six Factors That Drive Depth Selection

The framework evaluates six primary factors to determine appropriate **AI-DLC requirements analysis depth**:

- **Request Clarity**: Vague or incomplete requests trigger **Standard** or **Comprehensive** depth to enable clarifying questions, while explicit intents may qualify for **Minimal** depth.
- **Problem Complexity**: Simple bug fixes warrant **Minimal** depth (concise functional statements), whereas system migrations require **Comprehensive** depth (full functional and non-functional specifications with traceability).
- **Scope**: Single-file changes typically use **Minimal** depth, while component or whole-system scope pushes toward **Standard** or **Comprehensive**.
- **Risk Level**: High-impact or critical systems automatically select **Comprehensive** depth to ensure thorough coverage.
- **Context Availability**: Brownfield projects loading reverse-engineering artifacts often default to **Standard** or **Comprehensive** depth, while greenfield projects vary based on other factors.
- **User Preferences**: Explicit requests for brevity or detail can override the default automatic selection.

## The Three Requirements Analysis Depth Levels

AI-DLC implements three distinct depth tiers that determine the granularity of generated artifacts in `aidlc-docs/inception/requirements/`.

### Minimal Depth

Applied when requests are crystal-clear, low-risk, and simple. The generated [`requirements.md`](https://github.com/awslabs/aidlc-workflows/blob/main/requirements.md) contains only a high-level functional statement and a brief non-functional note. The companion [`requirement-verification-questions.md`](https://github.com/awslabs/aidlc-workflows/blob/main/requirement-verification-questions.md) holds minimal or no clarifying questions, streamlining the path to implementation.

### Standard Depth

The default for most scenarios. The model generates a focused set of clarification questions and produces a balanced requirements document with distinct functional and non-functional sections. This depth handles moderate complexity without the overhead of full traceability matrices.

### Comprehensive Depth

Reserved for complex, multi-stakeholder, or high-risk projects. The model may conduct multiple rounds of questioning, generating extensive clarification items in [`requirement-verification-questions.md`](https://github.com/awslabs/aidlc-workflows/blob/main/requirement-verification-questions.md). The resulting [`requirements.md`](https://github.com/awslabs/aidlc-workflows/blob/main/requirements.md) includes traceability links, detailed acceptance criteria, and comprehensive quality attributes.

## Reading Depth from Generated Artifacts

Downstream automation can detect the selected depth by inspecting the generated files. The depth selection is tracked in [`aidlc-docs/aidlc-state.md`](https://github.com/awslabs/aidlc-workflows/blob/main/aidlc-docs/aidlc-state.md) as part of the workflow state.

Here is a Python example that extracts the depth level from the requirements document:

```python
import yaml, pathlib

def load_requirements():
    # Path to the generated requirements document

    req_path = pathlib.Path("aidlc-docs/inception/requirements/requirements.md")
    # Simple heuristic: look for a top-level heading that mentions depth

    for line in req_path.read_text().splitlines():
        if line.startswith("# Requirements ("):

            # Extract depth word between parentheses

            depth = line.split("(")[1].split(")")[0].lower()
            return depth
    return "standard"   # fallback

depth = load_requirements()
print(f"Requirements were generated with {depth} depth")

```

For quick shell-based detection, count the clarification questions to infer depth:

```bash

# Bash one-liner that counts the number of clarification questions

grep -c '^##' aidlc-docs/inception/requirements/requirement-verification-questions.md

# A high count (≥10) typically indicates Comprehensive depth

```

## Summary

- AI-DLC adapts **requirements analysis depth** automatically across three levels: Minimal, Standard, and Comprehensive.
- The selection occurs during **Step 3** of the Requirements Analysis workflow based on six factors including complexity, risk, and clarity.
- All projects generate identical artifact filenames ([`requirements.md`](https://github.com/awslabs/aidlc-workflows/blob/main/requirements.md) and [`requirement-verification-questions.md`](https://github.com/awslabs/aidlc-workflows/blob/main/requirement-verification-questions.md)), but content density varies by depth.
- High-risk, complex, or vague projects trigger **Comprehensive** depth with full traceability, while simple, clear requests use **Minimal** depth.
- The selected depth is tracked in [`aidlc-docs/aidlc-state.md`](https://github.com/awslabs/aidlc-workflows/blob/main/aidlc-docs/aidlc-state.md) and can be extracted programmatically from generated documents.

## Frequently Asked Questions

### What triggers Comprehensive depth in AI-DLC?

Comprehensive depth activates when the model detects high problem complexity, large scope (whole-system changes), critical risk levels, or vague initial requests requiring extensive clarification. According to [`aidlc-rules/aws-aidlc-rule-details/common/depth-levels.md`](https://github.com/awslabs/aidlc-workflows/blob/main/aidlc-rules/aws-aidlc-rule-details/common/depth-levels.md), brownfield projects with existing architecture also default to this tier to ensure thorough specification coverage and prevent critical gaps in demanding scenarios.

### How does AI-DLC handle vague requirements?

When request clarity is low, the framework automatically elevates the analysis to **Standard** or **Comprehensive** depth. The model generates clarifying questions in [`requirement-verification-questions.md`](https://github.com/awslabs/aidlc-workflows/blob/main/requirement-verification-questions.md) to resolve ambiguities before finalizing requirements. This prevents under-specification while ensuring all stakeholder questions are addressed before implementation begins.

### Can users override the automatic depth selection?

Yes. While the default selection is model-driven based on the six evaluation factors, explicit user preferences for brevity or detail can override the automatic choice. This override mechanism ensures that experienced teams can force Minimal depth for familiar patterns or Comprehensive depth for compliance-heavy scenarios regardless of initial request characteristics.

### Where is the selected depth level recorded?

The depth selection is persisted in [`aidlc-docs/aidlc-state.md`](https://github.com/awslabs/aidlc-workflows/blob/main/aidlc-docs/aidlc-state.md) as part of the workflow state tracking. Additionally, the generated [`requirements.md`](https://github.com/awslabs/aidlc-workflows/blob/main/requirements.md) typically encodes the depth level in its header structure, allowing downstream automation to adapt behavior based on the analysis intensity used during the inception stage.