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>
This commit is contained in:
102
optimization_engine/interview/__init__.py
Normal file
102
optimization_engine/interview/__init__.py
Normal file
@@ -0,0 +1,102 @@
|
||||
"""
|
||||
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"
|
||||
Reference in New Issue
Block a user