Files
Atomizer/optimization_engine/interview/__init__.py
Anto01 32caa5d05c feat: Implement Study Interview Mode as default study creation method
Study Interview Mode is now the DEFAULT for all study creation requests.
This intelligent Q&A system guides users through optimization setup with:

- 7-phase interview flow: introspection → objectives → constraints → design_variables → validation → review → complete
- Material-aware validation with 12 materials and fuzzy name matching
- Anti-pattern detection for 12 common mistakes (mass-no-constraint, stress-over-yield, etc.)
- Auto extractor mapping E1-E24 based on goal keywords
- State persistence with JSON serialization and backup rotation
- StudyBlueprint generation with full validation

Triggers: "create a study", "new study", "optimize this", any study creation intent
Skip with: "skip interview", "quick setup", "manual config"

Components:
- StudyInterviewEngine: Main orchestrator
- QuestionEngine: Conditional logic evaluation
- EngineeringValidator: MaterialsDatabase + AntiPatternDetector
- InterviewPresenter: Markdown formatting for Claude
- StudyBlueprint: Validated configuration output
- InterviewState: Persistent state management

All 129 tests passing.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 11:06:07 -05:00

103 lines
2.2 KiB
Python

"""
Atomizer Study Interview Mode
This module provides an intelligent interview system for gathering engineering requirements
before study generation. It systematically questions users about objectives, constraints,
and design variables to create accurate optimization configurations.
Components:
- StudyInterviewEngine: Main orchestrator
- QuestionEngine: Question flow and conditional logic
- InterviewStateManager: State persistence
- InterviewPresenter: Presentation abstraction (ClaudePresenter)
- EngineeringValidator: Engineering validation and anti-pattern detection
- InterviewIntelligence: Smart features (extractor mapping, complexity)
"""
from .interview_state import (
InterviewState,
InterviewPhase,
AnsweredQuestion,
InterviewStateManager,
LogEntry,
)
from .question_engine import (
QuestionEngine,
Question,
QuestionOption,
QuestionCondition,
ValidationRule,
)
from .interview_presenter import (
InterviewPresenter,
ClaudePresenter,
)
from .study_interview import (
StudyInterviewEngine,
InterviewSession,
NextAction,
)
from .engineering_validator import (
EngineeringValidator,
MaterialsDatabase,
AntiPatternDetector,
ValidationResult,
AntiPattern,
)
from .interview_intelligence import (
InterviewIntelligence,
ExtractorMapper,
ExtractorSelection,
)
from .study_blueprint import (
StudyBlueprint,
DesignVariable,
Objective,
Constraint,
)
__all__ = [
# State management
"InterviewState",
"InterviewPhase",
"AnsweredQuestion",
"InterviewStateManager",
"LogEntry",
# Question engine
"QuestionEngine",
"Question",
"QuestionOption",
"QuestionCondition",
"ValidationRule",
# Presentation
"InterviewPresenter",
"ClaudePresenter",
# Main engine
"StudyInterviewEngine",
"InterviewSession",
"NextAction",
# Validation
"EngineeringValidator",
"MaterialsDatabase",
"AntiPatternDetector",
"ValidationResult",
"AntiPattern",
# Intelligence
"InterviewIntelligence",
"ExtractorMapper",
"ExtractorSelection",
# Blueprint
"StudyBlueprint",
"DesignVariable",
"Objective",
"Constraint",
]
__version__ = "1.0.0"