Didactctopus is a multi-talented AI system to assist autodidacts in gaining mastery of a chosen topic. Want to learn and get an assist doing it? Didactopus fits the bill.
Go to file
welsberr 0656f7bbe8 Added cross-course merger. 2026-03-13 06:36:27 -04:00
.github/workflows Initial ChatGPT sources 2026-03-12 19:59:59 -04:00
artwork Added dependency graph checks, artwork. 2026-03-12 21:12:53 -04:00
configs Added cross-course merger. 2026-03-13 06:36:27 -04:00
docs Added cross-course merger. 2026-03-13 06:36:27 -04:00
domain-packs Concept graph and learner updates. 2026-03-13 04:12:12 -04:00
examples Added cross-course merger. 2026-03-13 06:36:27 -04:00
src/didactopus Added cross-course merger. 2026-03-13 06:36:27 -04:00
tests Added cross-course merger. 2026-03-13 06:36:27 -04:00
.gitignore Initial ChatGPT sources 2026-03-12 19:59:59 -04:00
Dockerfile Initial ChatGPT sources 2026-03-12 19:59:59 -04:00
LICENSE Initial ChatGPT sources 2026-03-12 19:59:59 -04:00
Makefile Initial ChatGPT sources 2026-03-12 19:59:59 -04:00
README.md Added cross-course merger. 2026-03-13 06:36:27 -04:00
docker-compose.yml Initial ChatGPT sources 2026-03-12 19:59:59 -04:00
pyproject.toml Added cross-course merger. 2026-03-13 06:36:27 -04:00

README.md

Didactopus

Didactopus mascot

Didactopus is a local-first AI-assisted autodidactic mastery platform for building genuine expertise through concept graphs, adaptive curriculum planning, evidence-driven mastery, Socratic mentoring, and project-based learning.

Tagline: Many arms, one goal — mastery.

Recent revisions

Course-to-course merger

This revision adds two major capabilities:

  • real document adapter scaffolds for PDF, DOCX, PPTX, and HTML
  • a cross-course merger for combining multiple course-derived packs into one stronger domain draft

These additions extend the earlier multi-source ingestion layer from "multiple files for one course" to "multiple courses or course-like sources for one topic domain."

What is included

  • adapter registry for:
    • PDF
    • DOCX
    • PPTX
    • HTML
    • Markdown
    • text
  • normalized document extraction interface
  • course bundle ingestion across multiple source documents
  • cross-course terminology and overlap analysis
  • merged topic-pack emitter
  • cross-course conflict report
  • example source files and example merged output

Design stance

This is still scaffold-level extraction. The purpose is to define stable interfaces and emitted artifacts, not to claim perfect semantic parsing of every teaching document.

The implementation is designed so stronger parsers can later replace the stub extractors without changing the surrounding pipeline.

Multi-Source Course Ingestion

This revision adds a Multi-Source Course Ingestion Layer.

The pipeline can now accept multiple source files representing the same course or topic domain, normalize them into a shared intermediate representation, merge them, and emit a single draft Didactopus pack plus a conflict report.

Supported scaffold source types

Current scaffold adapters:

  • Markdown (.md)
  • Plain text (.txt)
  • HTML-ish text (.html, .htm)
  • Transcript text (.transcript.txt)
  • Syllabus text (.syllabus.txt)

This revision is intentionally adapter-oriented, so future PDF, slide, and DOCX adapters can be added behind the same interface.

What is included

  • multi-source adapter dispatch
  • normalized source records
  • source merge logic
  • cross-source terminology conflict report
  • duplicate lesson/title detection
  • merged draft pack emission
  • merged attribution manifest
  • sample multi-source inputs
  • sample merged output pack

Course Ingestion Pipeline

This revision adds a Course-to-Pack Ingestion Pipeline plus a stable rule-policy adapter layer.

The design goal is to turn open or user-supplied course materials into draft Didactopus domain packs without introducing a brittle external rule-engine dependency.

Why no third-party rule engine here?

To minimize dependency risk, this scaffold uses a small declarative rule-policy adapter implemented in pure Python and standard-library data structures.

That gives Didactopus:

  • portable rules
  • inspectable rule definitions
  • deterministic behavior
  • zero extra runtime dependency for policy evaluation

If a stronger rule engine is needed later, this adapter can remain the stable API surface.

What is included

  • normalized course schema
  • Markdown/HTML-ish text ingestion adapter
  • module / lesson / objective extraction
  • concept candidate extraction
  • prerequisite guess generation
  • rule-policy adapter
  • draft pack emitter
  • review report generation
  • sample course input
  • sample generated pack outputs

Mastery Ledger

This revision adds a Mastery Ledger + Capability Export layer.

The main purpose is to let Didactopus turn accumulated learner state into portable, inspectable artifacts that can support downstream deployment, review, orchestration, or certification-like workflows.

What is new

  • mastery ledger data model
  • capability profile export
  • JSON export of mastered concepts and evaluator summaries
  • Markdown export of a readable capability report
  • artifact manifest for produced deliverables
  • demo CLI for generating exports for an AI student or human learner
  • FAQ covering how learned mastery is represented and put to work

Why this matters

Didactopus can now do more than guide learning. It can also emit a structured statement of what a learner appears able to do, based on explicit concepts, evidence, and artifacts.

That makes it easier to use Didactopus as:

  • a mastery tracker
  • a portfolio generator
  • a deployment-readiness aid
  • an orchestration input for agent routing

Mastery representation

A learner's mastery is represented as structured operational state, including:

  • mastered concepts
  • evaluator results
  • evidence summaries
  • weak dimensions
  • attempt history
  • produced artifacts
  • capability export

This is stricter than a normal chat transcript or self-description.

Future direction

A later revision should connect the capability export with:

  • formal evaluator outputs
  • signed evidence ledgers
  • domain-specific capability schemas
  • deployment policies for agent routing

Evaluator Pipeline

This revision introduces a pluggable evaluator pipeline that converts learner attempts into structured mastery evidence.

Agentic Learner Loop

This revision adds an agentic learner loop that turns Didactopus into a closed-loop mastery system prototype.

The loop can now:

  • choose the next concept via the graph-aware planner
  • generate a synthetic learner attempt
  • score the attempt into evidence
  • update mastery state
  • repeat toward a target concept

This is still scaffold-level, but it is the first explicit implementation of the idea that Didactopus can supervise not only human learners, but also AI student agents.

Complete overview to this point

Didactopus currently includes:

  • Domain packs for concepts, projects, rubrics, mastery profiles, templates, and cross-pack links
  • Dependency resolution across packs
  • Merged learning graph generation
  • Concept graph engine for cross-pack prerequisite reasoning, linking, pathfinding, and export
  • Adaptive learner engine for ready, blocked, and mastered concepts
  • Evidence engine with weighted, recency-aware, multi-dimensional mastery inference
  • Concept-specific mastery profiles with template inheritance
  • Graph-aware planner for utility-ranked next-step recommendations
  • Agentic learner loop for iterative goal-directed mastery acquisition

Agentic AI students

An AI student under Didactopus is modeled as an agent that accumulates evidence against concept mastery criteria.

It does not “learn” in the same sense that model weights are retrained inside Didactopus. Instead, its learned mastery is represented as:

  • current mastered concept set
  • evidence history
  • dimension-level competence summaries
  • concept-specific weak dimensions
  • adaptive plan state
  • optional artifacts, explanations, project outputs, and critiques it has produced

In other words, Didactopus represents mastery as a structured operational state, not merely a chat transcript.

That state can be put to work by:

  • selecting tasks the agent is now qualified to attempt
  • routing domain-relevant problems to the agent
  • exposing mastered concept profiles to orchestration logic
  • using evidence summaries to decide whether the agent should act, defer, or review
  • exporting a mastery portfolio for downstream use

FAQ

See:

  • docs/faq.md

Correctness and formal knowledge components

See:

  • docs/correctness-and-knowledge-engine.md

Short version: yes, there is a strong argument that Didactopus will eventually benefit from a more formal knowledge-engine layer, especially for domains where correctness can be stated in symbolic, logical, computational, or rule-governed terms.

A good future architecture is likely hybrid:

  • LLM/agentic layer for explanation, synthesis, critique, and exploration
  • formal knowledge engine for rule checking, constraint satisfaction, proof support, symbolic validation, and executable correctness checks

Repository structure

didactopus/
├── README.md
├── artwork/
├── configs/
├── docs/
├── domain-packs/
├── src/didactopus/
└── tests/