Gemini AI
13bce7500c
feat: Full code review, bug fixes, and philosophy book generation
...
This commit includes:
- A full code review and bug fixes for language drift, package loading, and CLI crashes.
- The generated 15,000-word philosophy manuscript.
- CODE_REVIEW.md and CHANGELOG.md documenting the process.
2026-05-20 21:15:11 +00:00
Gemini AI
dddf5c4a80
Add final audit report
2026-05-18 00:22:34 +00:00
Gemini AI
f7d0aee148
Audit, bug fixes, and coherence enhancements by Gemini AI
2026-05-18 00:22:26 +00:00
Solaria
5d45451121
Update README with all features: Scrivener, LaTeX, templates, deployment
2026-03-14 23:45:27 +00:00
Solaria
e821c0fe55
Add Docker Compose and Dockerfile
2026-03-14 23:42:30 +00:00
Solaria
1b94a71f02
Add k3s Helm charts for Opus API and TeX Live API
2026-03-14 23:32:38 +00:00
Solaria
1a627dc099
Add TeX Live API client and deployment configs
2026-03-14 23:29:13 +00:00
Solaria
a9d10583bd
Add more templates: romance, thriller, koma, cookbook
2026-03-14 19:52:56 +00:00
Solaria
4d3255c9aa
Add more templates: tufte, sci-fi, business, minimal
2026-03-14 17:39:38 +00:00
Solaria
d8047bdd2f
Add established templates: classicthesis, legrand, cleanthesis, university-press
2026-03-14 17:29:48 +00:00
Solaria
ada022709a
Add RPG templates: rulebook, adventure, CYOA
2026-03-14 17:19:25 +00:00
Solaria
7fdc8d8948
Add 8 more LaTeX templates: kdp sizes, hardcover, screenplay, journal
2026-03-14 17:15:15 +00:00
Solaria
35d7b1ff08
Add LaTeX templates: novel, kdp-trade, poetry, textbook, childrens
2026-03-14 17:10:11 +00:00
Solaria
b809713a52
Add HTML export - browser-based PDF, no LaTeX deps
2026-03-14 15:04:50 +00:00
Solaria
8693d2ffa9
Add LaTeX compile support with templates (memoir, academic)
2026-03-14 13:16:09 +00:00
Solaria
c42556d147
Add ExportOptions and auto-branch push to Scrivener export
2026-03-14 12:52:32 +00:00
Solaria
0ebf662d59
Add Scrivener-style export with chapter splitting and binder.json
2026-03-14 12:06:12 +00:00
Solaria
134b74d690
Update default model to MiniMax-M2.5
2026-03-14 11:24:36 +00:00
Solaria
01806579c3
Remove OpenAI fallback - MiniMax only
2026-03-14 11:23:49 +00:00
Solaria
fe6dcf4124
Make MiniMax primary provider (default, cost-effective)
2026-03-14 11:23:04 +00:00
Solaria
b417626778
Add comprehensive test suite: GitHub, S3, Generation, Output, E2E
...
- tests/test_github_ingest.py - GitHub repository ingestion
- tests/test_s3_ingest.py - S3/Backblaze ingestion
- tests/test_generation.py - Document generation
- tests/test_output_push.py - Output file and push handling
- tests/test_e2e.py - End-to-end integration tests
Closes #58
2026-03-14 10:54:37 +00:00
Solaria
e73969cc63
Merge fix/fake-streaming into fix/hardcoded-timeout
2026-03-14 09:30:13 +00:00
Solaria
51fe18323f
Fix CRITICAL issues: timeout config, request validation, streaming ( #37 , #38 , #39 )
2026-03-14 09:30:01 +00:00
Solaria
585e9a4713
Make LLM timeout configurable via AgentConfig ( #37 )
2026-03-14 09:29:01 +00:00
mrhavens
919f6b9e42
Remove unused load_dotenv import ( #36 )
2026-03-14 09:24:45 +00:00
mrhavens
0f62267806
Fix circular import in __init__.py ( #35 )
2026-03-14 09:24:31 +00:00
mrhavens
1b116108a6
Merge: fix-docs - Add module docstrings
2026-03-14 05:37:34 +00:00
mrhavens
2716dab0dc
Merge: fix-logging - Add structured logging
2026-03-14 05:37:34 +00:00
mrhavens
31def1a70b
Merge: fix-validation - Add Pydantic validation
2026-03-14 05:37:34 +00:00
mrhavens
9a2e429378
fix(docs): Add module docstrings
2026-03-14 05:37:27 +00:00
mrhavens
b52739ca5c
fix(logging): Add structured logging module
...
- Created logging.py with:
- setup_logging() function
- Configurable levels
- Console and file handlers
- Structured format
This addresses the logging gap.
2026-03-14 05:37:19 +00:00
mrhavens
1f4e7bea6b
fix(validation): Add Pydantic request validation
...
- Created schemas/requests.py with validated models:
- GenerateRequest
- IngestRequest
- ConfigRequest
- Validates: concept length, repo format, numeric ranges
- Prevents invalid input from reaching handlers
This addresses input validation concern.
2026-03-14 05:36:51 +00:00
mrhavens
9148ebaad5
Merge: fix-reliability - Add retry logic and circuit breaker
2026-03-14 05:25:43 +00:00
mrhavens
5b68459e12
Merge: fix-testing - Add comprehensive tests
2026-03-14 05:25:43 +00:00
mrhavens
b5da8d272c
fix(reliability): Add retry logic and circuit breaker
...
- Created utils/retry.py with:
- RetryHandler with exponential backoff
- CircuitBreaker pattern
- Config for max attempts, delays
- Graceful degradation
- Updated LLM client to use retry logic
- API failures now retry with backoff
- Circuit breaker prevents cascade failures
- Graceful degradation on prolonged failures
This addresses the reliability gap identified in code review.
2026-03-14 05:24:09 +00:00
mrhavens
d4abe70a79
fix(testing): Add comprehensive test suite
...
- test_nonfiction.py with 100+ test cases
- Tests for PurposeClassifier
- Tests for taxonomy/frameworks
- Tests for critique criteria
- Tests for all framework types
- Tests for intake agent
- Tests for multi-source ingest
This addresses the testing gap identified in code review.
2026-03-14 05:22:45 +00:00
mrhavens
16cf8cd5ef
feat: Add Code Review Crew
...
Created code_review_crew.py - 5 expert agents:
- SecurityExpert
- PerformanceExpert
- ArchitectureExpert
- TestingExpert
- ErrorHandlingExpert
Each audits specific domain and reports issues.
Also creates initial code review findings as issues.
2026-03-14 05:13:54 +00:00
mrhavens
cfbb701284
feat: Add Agent-Driven Web Crawler
...
Created agent_crawler.py:
AgentWebCrawler - AI-powered crawling that:
1. Analyzes site structure (LLM)
2. Decides what to crawl based on purpose
3. Scores relevance dynamically
4. Adapts as it learns more
5. Knows when it has enough
Purpose types:
- DOCUMENTATION - Technical docs, guides
- TRAINING - Learning materials
- KNOWLEDGE - General knowledge base
- RESEARCH - Research papers
- REFERENCE - Reference material
Usage:
Features:
- Content extraction (not HTML dump)
- Relevance scoring
- Rate limiting
- Configurable depth/pages
- Integration with multi-source ingest
2026-03-14 05:00:44 +00:00
mrhavens
750d30b4de
feat: Add Multi-Source Ingestion
...
Created multi_source_ingest.py:
- MultiSourceIngestor class
- Supports: GitHub repos, S3 buckets, local files, URLs
- Merge strategies: append, smart (deduplicate), priority
Usage:
Features:
- Deduplicates overlapping content
- Tracks source attribution
- Builds summary of ingested content
- Multiple merge strategies
- Hash-based content tracking
2026-03-14 04:22:07 +00:00
mrhavens
039faa660e
docs: Update README and add comprehensive framework documentation
...
- Rewrote README with all 100+ frameworks organized by category
- Added Nonfiction Framework Library docs (docs/NONFICTION_FRAMEWORKS.md)
- Documented all purposes: learn, understand, transform, decide, reference, inspire
- Added framework tables by category
- Documented new categories: Textbook, Academic, Creative, RPG
- Added CLI usage examples
- Added programmatic usage examples
2026-03-14 01:17:51 +00:00
mrhavens
110aab6ce9
feat: Add RPG & Tabletop Gaming Frameworks
...
Created rpg_frameworks.py with 15 RPG content types:
CORE RULEBOOKS:
1. Core Rulebook - Main game system (300-500 pages)
2. Quickstart - Condensed intro (16-32 pages)
GAME MASTER GUIDES:
3. Game Master Guide - Running games, worldbuilding
4. Adventure Module - Ready-to-run adventure
5. Campaign Setting - Complete world sourcebook
SUPPLEMENTS:
6. Player's Companion - New races/classes/options
7. Monster Manual - Creatures catalog
8. Thematic Sourcebook - Deep dive on theme
ADVENTURE TYPES:
9. Dungeon Crawl - Classic dungeon delve
10. Hex Crawl - Open world sandbox
11. Dungeon World Style - Narrative-forward
SPECIALTY:
12. Worldbuilding Guide - How to build worlds
13. Props and Handouts - Physical/digital props
14. Solo Adventure - Single player RPG
15. LARP Document - Live action roleplaying
Each includes detailed stages, prompt templates, tone guidance, typical length.
Functions:
- get_rpg_frameworks()
- suggest_rpg_framework()
2026-03-14 01:10:11 +00:00
mrhavens
2be17c5e85
feat: Add Creative and Interactive Frameworks
...
Created creative_frameworks.py with 14 creative formats:
INTERACTIVE/BRANCHING:
1. Choose Your Own Adventure - Branching narrative
2. Gamebook - RPG-style fighting fantasy
3. Visual Novel - Anime/VN script style
EPISTOLARY/DOCUMENTS:
4. Epistolary Novel - Letters, emails, texts
5. Found Documents - Discovered artifacts
MANIFESTO/CALL TO ACTION:
6. Manifesto - Revolutionary call to action
7. Open Letter - Public letter
EXPERIMENTAL:
8. Infinite Story - Serial/neverending
9. Fractal Narrative - Self-similar structure
10. Scrapbook - Non-linear fragments
AUDIO/PERFORMANCE:
11. Podcast Script - Spoken audio content
12. Screenplay - Hollywood film script
13. Stage Play - Theatrical script
Each includes detailed stages, prompt templates, tone guidance.
2026-03-14 01:04:40 +00:00
mrhavens
2778d98e0d
feat: Add Academic Paper Frameworks
...
Created academic_papers.py with 12 established academic paper types:
RESEARCH PAPERS:
1. Empirical Paper - experiments, data collection
2. Theoretical Paper - concepts, models, proofs
3. Methodology Paper - new methods/techniques
4. Case Study Paper - in-depth single case
5. Survey Paper - comprehensive field overview
ARGUMENTATIVE:
6. Position Paper - argue for a stance
7. Policy Brief - recommendations to decision-makers
CRITICAL ANALYSIS:
8. Critical Review - evaluate existing work
9. Meta-Analysis - statistical synthesis
SHORT FORMS:
10. Short Communication - brief findings report
11. Conference Proposal - conference abstract
12. Thesis Proposal - graduate research proposal
Each includes:
- Detailed stages
- Prompt templates
- Tone guidance
- Typical length
- Audience
Functions:
- get_academic_paper_types()
- suggest_academic_paper()
2026-03-14 00:51:12 +00:00
mrhavens
2c7f5a7fca
feat: Add Textbook & Academic Frameworks
...
Created textbook_frameworks.py with 10 educational frameworks:
TEXTBOOK & ACADEMIC (10):
1. Comprehensive Textbook - Complete academic textbook
2. Textbook Chapter - Single modular chapter
3. Online Course / MOOC - Video-friendly course structure
4. Curriculum / Syllabus - Course planning document
5. Study Guide - Exam prep with practice
6. Academic Research Paper - IMRAD format
7. Literature Review - Systematic synthesis
8. Thesis / Dissertation - Graduate research
9. Workbook / Practice Book - Interactive exercises
10. Quick Reference Guide - Cheat sheet / scannable
11. Knowledge Base / Wiki - Organized articles
Each includes:
- Detailed stages
- Purpose mapping
- Prompt templates
- Tone guidance
- Typical length
- Target audience
Functions:
- get_textbook_frameworks()
- suggest_textbook_framework()
These are the foundational 'Field Anchors' for structured learning.
2026-03-14 00:10:17 +00:00
mrhavens
ef932973cd
feat: Add --thread-id and --resume flags for checkpointing
...
- Add --thread-id flag to CLI for checkpointing
- Add --resume flag to resume from checkpoint
- Generate UUID if no thread_id provided
- Display thread_id for user to save for resume
Usage:
opus generate --concept "My book" --thread-id abc123
# If fails:
opus generate --concept "My book" --thread-id abc123 --resume
2026-03-13 23:24:41 +00:00
mrhavens
14b22fc8f6
feat: Issue #15 - Research Agent Integration
...
Created research_integration.py to connect research agent to pipeline:
ResearchIntegrator class:
- research_for_book(): Research for entire book
- research_chapter(): Research specific chapter
- should_use_research(): Determine if purpose needs research
- get_research_stages(): When to integrate research
Research stages:
- Pre-writing: Gather research before writing
- Per-chapter: Research each chapter
- Verification: Check facts post-writing
- Enhancement: Strengthen content with research
Purpose-specific research config:
- UNDERSTAND: Deep research, include academic
- DECIDE: Deep, studies, data, comparisons
- TRANSFORM: Case studies, success stories
- LEARN_HANDS_ON: Best practices, methods
- REFERENCE: Comprehensive documentation
- BE_INSPIRED: Stories, journeys, examples
Functions:
- get_research_config_for_purpose()
The research agent is now integrated into the nonfiction pipeline.
2026-03-13 23:09:57 +00:00
mrhavens
f1a5a24504
feat: Issue #22 - Expand Framework Library (35+ Expert Frameworks)
...
Created expanded_frameworks.py with 35+ top-tier frameworks:
**BUSINESS & LEADERSHIP (8)**
- Big Idea (Jim Collins)
- The One Thing (Gary Keller)
- Blue Ocean Strategy
- Four Disciplines of Execution
- Good to Great
**MEMOIR & PERSONAL NARRATIVE (5)**
- Mountain Structure Memoir
- Loss and Gain
- Scene-Driven Memoir
- Single-Moment Pivot
- Addiction & Recovery
**PHILOSOPHY & IDEAS (3)**
- Socratic Method
- Argumentative Essay
- Danish Philosopher (Kierkegaard)
**SCIENCE & EXPLANATION (4)**
- Discovery Narrative
- Personal Experiment
- Explainer (Pinker style)
- Mental Models
**HISTORY (4)**
- Chronological Narrative
- Thematic History
- Comparative History
- Cause-and-Effect Chain
**HOW-TO NON-TECHNICAL (4)**
- Problem-Agitation-Solution
- Reverse Engineering
- Minimalist How-To
- Challenge-Response
**THOUGHT LEADERSHIP (3)**
- Contrarian + Proof
- Future + Now
- Mistake → Learning
**SPIRITUALITY & WELLNESS (2)**
- Spiritual Journey
- Healing Narrative
**RELATIONSHIPS (2)**
- Relationship Blueprint
- Communication Mastery
Each framework includes:
- Detailed description
- Purpose mapping
- Structure pattern
- 6-9 stage breakdown
- Prompt template
- Tone guidance
- Typical length
- Target audience
Functions:
- get_frameworks_by_category()
- suggest_framework_for_book()
- get_total_framework_count()
2026-03-13 23:04:32 +00:00
mrhavens
d3bc43daca
feat: Issue #21 - Purpose-Based Critique Criteria
...
Created critique_criteria.py with purpose-specific evaluation:
TUTORIAL:
- Clarity (30%), Completeness (25%), Progressiveness (20%)
- Actionability (15%), Error Prevention (10%)
EXPLAINER:
- Analogy Quality (25%), Examples (25%), Mental Model (20%)
- Depth (15%), Misconceptions (15%)
TRANSFORMATION:
- Emotional Honesty (30%), Relatability (25%), Hope (20%)
- Specificity (15%), Actionability (10%)
DECIDE:
- Evidence Quality (30%), Balance (25%), Credibility (20%)
- Clarity (15%), Completeness (10%)
REFERENCE:
- Accuracy (35%), Completeness (30%), Organization (20%)
- Examples (15%)
INSPIRED:
- Emotional Impact (30%), Vision (25%), Authenticity (25%)
- Story Quality (20%)
Each criterion has:
- Weight
- Description
- Evaluation questions
- Pass threshold
Functions:
- get_critique_criteria(purpose) → CritiqueCriteriaSet
- evaluate_chapter(content, purpose) → scores
- get_evaluation_prompt(content, purpose) → LLM prompt
- list_all_criteria() → overview
2026-03-13 22:30:26 +00:00
mrhavens
be64111515
feat: Issue #20 - Purpose-Based Agent Selection
...
Created purpose-specific writing agents:
- purpose_writers.py with 6 specialized agents:
- TutorialWriter: Hands-on learning (steps, exercises, encouragement)
- ExplainerWriter: Conceptual understanding (analogies, mental models)
- TransformationWriter: Personal change (emotional honesty, journey)
- EvidenceWriter: Data-driven decisions (evidence, tradeoffs)
- ReferenceWriter: Comprehensive reference (completeness, accuracy)
- VisionaryWriter: Inspirational content (emotion, vision)
Each agent has:
- 100+ line specialized system prompt
- Purpose-specific writing rules
- Structure guidance
- Tone guidance
- Example phrases
Factory functions:
- get_writer_for_purpose(purpose) → BaseAgent
- select_writer_agent(purpose) → str
- list_available_writers() → dict
This completes Issue #20 .
2026-03-13 22:26:24 +00:00
mrhavens
8cf833c729
feat: Content-Based Purpose Inference
...
Added content_infer.py - analyzes existing content to infer purpose:
- ContentPurposeInferer class
- Analyzes blog posts, articles, text
- Detects signals: tutorials, explainers, transformation stories, etc.
- Returns purpose, confidence, reasoning
Updated intake.py to weight all signals:
1. Explicit flags (weight: 1.0)
2. Content inference (weight: 0.4) - NEW
3. Keyword classification (weight: 0.3)
4. Conversational (weight: 0.5)
Now if you point at a blog:
- Tutorial posts → LEARN_HANDS_ON
- Explainers → UNDERSTAND
- Transformation stories → TRANSFORM
- Reviews/Comparisons → DECIDE
- Reference docs → REFERENCE
- Journey/Biography → BE_INSPIRED
2026-03-13 20:50:36 +00:00