# Didactopus **Didactopus** is a local-first AI-assisted autodidactic mastery platform designed to help motivated learners achieve genuine mastery through Socratic mentoring, structured practice, project work, verification, and competency-based evaluation. **Tagline:** *Many arms, one goal — mastery.* ## Vision Didactopus treats AI as a **mentor, curriculum planner, critic, evaluator, and project guide** rather than an answer vending machine. The design goal is to produce capable practitioners who can explain, apply, test, and extend knowledge in real settings. The platform is meant to support **AI-assisted autodidacts**: learners who pursue real expertise outside, alongside, or beyond traditional institutions. ## Core principles - Active learning over passive consumption - Socratic questioning over direct answer dumping - Verification culture over uncritical acceptance - Competency gates over time-based progression - Project-based evidence of mastery - Local-first model use when available - Portable, shareable domain plans and learning artifacts ## Initial architecture The initial prototype is organized around six core services: 1. **Domain Mapping Engine** Builds a concept graph for a target field, including prerequisites, competencies, canonical problem types, and artifact templates. 2. **Curriculum Generator** Produces a staged learning roadmap adapted to learner goals and prior knowledge. 3. **Mentor Agent** Conducts Socratic dialogue, reviews reasoning, and offers targeted critique. 4. **Practice Generator** Produces exercises aimed at specific concepts and skill gaps. 5. **Project Advisor** Proposes and scaffolds real projects that demonstrate competence. 6. **Evaluation System** Scores explanations, problem solutions, project outputs, and transfer tasks against explicit rubrics. ## Distribution model for contributed learning content Didactopus is designed to support distribution of contributed artifacts, including: - domain plans - concept maps - curriculum templates - exercise sets - project blueprints - evaluation rubrics - benchmark packs - exemplar portfolios These should be shareable as versioned packages or repositories so that contributors can publish reusable mastery paths for particular domains. See: - `docs/artifact-distribution.md` - `docs/domain-pack-format.md` ## Local model strategy The codebase is designed to support a provider abstraction: - **Local-first**: Ollama, llama.cpp server, vLLM, LM Studio, or other on-prem inference endpoints - **Remote optional**: API-backed models only when configured - **Hybrid mode**: local models for routine mentoring, remote models only for heavier synthesis or evaluation if explicitly allowed ## Repository layout ```text didactopus/ ├── README.md ├── LICENSE ├── pyproject.toml ├── Makefile ├── docker-compose.yml ├── Dockerfile ├── .gitignore ├── .github/workflows/ci.yml ├── configs/ │ └── config.example.yaml ├── docs/ │ ├── architecture.md │ ├── repository-plan.md │ ├── component-specs.md │ ├── prototype-roadmap.md │ ├── artifact-distribution.md │ └── domain-pack-format.md ├── domain-packs/ │ └── example-statistics/ │ ├── pack.yaml │ ├── concepts.yaml │ ├── roadmap.yaml │ ├── projects.yaml │ └── rubrics.yaml ├── src/didactopus/ │ ├── __init__.py │ ├── main.py │ ├── config.py │ ├── model_provider.py │ ├── domain_map.py │ ├── curriculum.py │ ├── mentor.py │ ├── practice.py │ ├── project_advisor.py │ ├── evaluation.py │ └── artifact_registry.py └── tests/ ├── test_config.py ├── test_domain_map.py └── test_artifact_registry.py ``` ## Quick start ```bash python -m venv .venv source .venv/bin/activate pip install -e .[dev] cp configs/config.example.yaml configs/config.yaml python -m didactopus.main --domain "statistics" --goal "reach practical mastery" pytest ``` ## Prototype capabilities in this scaffold The current scaffold provides: - a configuration model for local/remote provider selection - a concept graph data structure for domain maps - stubs for curriculum, mentor, practice, project, and evaluation services - a simple artifact registry for local domain-pack discovery - an example domain pack layout - a CLI entry point to demonstrate end-to-end flow - tests to validate configuration and artifact behavior ## Suggested first implementation milestones ### Milestone 1: Learner and domain modeling - learner profile schema - concept graph generation - prerequisite traversal - domain-pack schema validation - local artifact discovery ### Milestone 2: Guided study loop - Socratic mentor prompts - explanation checking - exercise generation by competency target - evidence capture for learner work ### Milestone 3: Project-centered learning - capstone generator - milestone planning - artifact review rubrics - distributed project pack ingestion ### Milestone 4: Mastery evidence - explanation scoring - transfer tasks - benchmark alignment - progress dashboard - artifact publication workflow ## Notes on evaluation design A key design choice is that the assessment layer should look for: - correct explanations in the learner's own words - ability to solve novel problems - detection of flawed reasoning - evidence of successful project execution - transfer across adjacent contexts ## Naming rationale **Didactopus** combines *didactic* / *didact* with *octopus*: a central intelligence coordinating many arms of learning support. ## License MIT