Files
Profa 2253d05618 feat: flatten project structure — archive v2, promote v3 to root
Remove the nested v3/ subdirectory by moving all active source code,
tests, configs, and assets directly to the project root. Archive v2/
(dead code, 847MB) to v2-archive.tar.gz.

Key changes:
- Move v3/src/ → src/, v3/tests/ → tests/, v3/packages/ → packages/
- Move v3/tsconfig.json, v3/vitest.config.ts to root
- Merge v3/package.json into root package.json (ESM, scripts, deps, exports)
- Merge v3/scripts/ into scripts/, v3/implementation/ into docs/implementation/
- Update all CI workflows to remove "cd v3 &&" and v3/ path prefixes
- Fix all init installer path resolution (3-level-up → 2-level-up)
- Fix hooks to use "node ./dist/cli/bundle.js" instead of bare "aqe"
- Update settings.json ADR/DDD directories to docs/implementation/
- Fix helper scripts (statusline, adr-compliance, ddd-tracker, guidance-hooks)
- Update 58 agent definitions: aqe/v3/ → aqe/ memory namespaces
- Update 15 guidance shards: v3/src/ → src/ path references
- Fix sync interfaces: remove v3/ and v2/ path references
- Fix test path calculations (process.cwd() + '..' no longer needed)
- Fix flaky perf test threshold (500ms → 1000ms for CI environments)
- Fix complexity-analyzer test to match ADR-051 keyword-based eligibility

Build passes, 17,901 tests pass, CLI and MCP bundles verified.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 11:35:41 +00:00

6.3 KiB

Test Generation Domain

Bounded Context Overview

Domain: Test Generation Responsibility: AI-powered test creation and pattern learning Location: src/domains/test-generation/

The Test Generation domain is responsible for automatically generating high-quality tests using AI, AST analysis, and learned patterns from existing codebases.

Ubiquitous Language

Term Definition
Generated Test An automatically created test file with assertions
Test Framework Target testing framework (jest, vitest, mocha, pytest)
Test Type Category of test: unit, integration, or e2e
TDD Phase Red-Green-Refactor workflow phase
Property Test Test that validates properties hold for generated inputs
Pattern Learned testing approach extracted from existing tests
Code Analysis AST-based extraction of functions and classes
Test Generator Strategy implementation for framework-specific test output

Domain Model

Aggregates

GeneratedTests (Aggregate Root)

Represents the output of a test generation request.

interface IGeneratedTests {
  tests: IGeneratedTest[];      // Collection of generated tests
  coverageEstimate: number;     // Estimated coverage percentage
  patternsUsed: string[];       // Patterns applied during generation
}

Entities

GeneratedTest

Individual generated test with metadata.

interface IGeneratedTest {
  id: string;                   // Unique identifier
  name: string;                 // Test suite/describe name
  sourceFile: string;           // File being tested
  testFile: string;             // Generated test file path
  testCode: string;             // Generated test source code
  type: TestType;               // unit | integration | e2e
  assertions: number;           // Number of assertions
  llmEnhanced?: boolean;        // Whether LLM improved the test
}

Value Objects

FunctionInfo

Immutable representation of a function from AST analysis.

interface IFunctionInfo {
  readonly name: string;
  readonly parameters: IParameterInfo[];
  readonly returnType: string | undefined;
  readonly isAsync: boolean;
  readonly isExported: boolean;
  readonly complexity: number;
  readonly startLine: number;
  readonly endLine: number;
}

ClassInfo

Immutable representation of a class from AST analysis.

interface IClassInfo {
  readonly name: string;
  readonly methods: IFunctionInfo[];
  readonly properties: IPropertyInfo[];
  readonly isExported: boolean;
  readonly hasConstructor: boolean;
  readonly constructorParams?: IParameterInfo[];
}

Pattern

Learned testing pattern with applicability scoring.

interface IPattern {
  readonly id: string;
  readonly name: string;
  readonly structure: string;       // Template structure
  readonly examples: number;        // Number of examples seen
  readonly applicability: number;   // 0-1 applicability score
}

TestCase

Test case definition for generation.

interface ITestCase {
  readonly description: string;
  readonly type: 'happy-path' | 'edge-case' | 'error-handling' | 'boundary';
  readonly setup?: string;
  readonly action: string;
  readonly assertion: string;
}

Domain Services

ITestGenerationAPI

Primary API for the domain.

interface ITestGenerationAPI {
  generateTests(request: IGenerateTestsRequest): Promise<Result<IGeneratedTests, Error>>;
  generateTDDTests(request: ITDDRequest): Promise<Result<ITDDResult, Error>>;
  generatePropertyTests(request: IPropertyTestRequest): Promise<Result<IPropertyTests, Error>>;
  generateTestData(request: ITestDataRequest): Promise<Result<ITestData, Error>>;
  learnPatterns(request: ILearnPatternsRequest): Promise<Result<ILearnedPatterns, Error>>;
}

ITestGenerator (Strategy Pattern)

Framework-specific test generation strategy.

interface ITestGenerator {
  readonly framework: TestFramework;
  generateTests(context: ITestGenerationContext): string;
  generateFunctionTests(fn: IFunctionInfo, testType: TestType): string;
  generateClassTests(cls: IClassInfo, testType: TestType): string;
  generateStubTests(context: ITestGenerationContext): string;
  generateCoverageTests(moduleName: string, importPath: string, lines: number[]): string;
}

ITestGeneratorFactory

Factory for creating framework-specific generators.

interface ITestGeneratorFactory {
  create(framework: TestFramework): ITestGenerator;
  supports(framework: string): framework is TestFramework;
  getDefault(): TestFramework;
}

Domain Events

Event Trigger Payload
TestsGeneratedEvent Tests successfully generated { testIds, sourceFiles, coverage }
TDDPhaseCompletedEvent TDD phase completed { phase, testCode?, implementationCode? }
PatternsLearnedEvent New patterns extracted { patternIds, confidence }

Context Integration

Upstream Dependencies

  • Code Intelligence: AST analysis, import resolution
  • Learning Optimization: Pattern storage and retrieval

Downstream Consumers

  • Test Execution: Executes generated tests
  • Coverage Analysis: Measures coverage of generated tests

Anti-Corruption Layer

The domain uses the ITestGeneratorFactory to isolate framework-specific code generation from the core domain logic.

Task Handlers

Task types handled by this domain for Queen coordination:

Task Type Handler Description
generate-tests generateTests() Generate tests for source files
generate-tdd generateTDDTests() TDD workflow generation
generate-property generatePropertyTests() Property-based test generation
learn-patterns learnPatterns() Extract patterns from tests

Configuration

const TEST_GENERATION_DEFAULTS = {
  framework: 'vitest',
  testType: 'unit',
  coverageTarget: 80,
  maxTestsPerFunction: 5,
  includeEdgeCases: true,
  includeBoundaryTests: true
};

ADR References

  • ADR-051: LLM-powered test enhancement
  • ADR-001: Integration with agentic-flow patterns