b46e87ff76
This commit completes Issue #18 (Purpose Classifier), adds Intake Agent and CLI integration: 1. PURPOSE CLASSIFIER (Issue #18 - DONE earlier) - Keyword-based classification into 6 ReaderPurposes - LLM-enhanced classification for nuanced cases 2. INTAKE AGENT (NEW - addresses Issue #20, #23) - Created opus_orchestrator/nonfiction/intake.py - Intelligent agent that combines: * Explicit flags (--purpose, --category) * Keyword classification (auto-detect) * Conversational questions (when ambiguous) - IntakeAgent class with process() method - determine_intake() convenience function - get_questions() for conversational mode - Source tracking: explicit | classifier | intake | hybrid 3. CLI INTEGRATION (Issue #23) - Added --purpose flag: learn, understand, transform, decide, reference, inspire - Added --category flag: business, leadership, memoir, etc. - Both passed to orchestrator Usage: # Explicit opus generate --book-type nonfiction --purpose transform --category self_help # Auto-classify opus generate --book-type nonfiction --concept "How to build a startup" # Programmatic result = await determine_intake( concept="Leadership for introverts", purpose="transform", # or None for auto category="leadership", mode="auto" # or "conversational" )