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>
103 lines
2.2 KiB
Python
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"
|