Skip to content

Implement the learn subject-plugin contract + story ladder (unblocks agentculture.org/learn) #2

Description

@OriNachum

Context

learn-cli is building the learning platform behind agentculture.org/learn — one hub fronting per-subject tutor CLIs (french, spanish, culture-guide) over three faces (CLI learn, MCP, web in org's design). The converged spec and build plan are on learn-cli main:

french-cli is subject #1. Today it is the template scaffold (introspection verbs only — verified 2026-07-11 at origin/main 8f2e870); the tutor domain gets built now.

What lands in this repo (plan tasks t4 + t7-french)

  1. The subject-plugin contract implementation — eight tutor verbs: overview, progress, advice, story, lesson, practice, record, doctor, added via the existing register(sub) chassis. Contract shape (versioned JSON schemas, exit codes, payloads) is being authored in learn-cli (plan task t2) and will be linked here when it merges. Key design decisions, already user-confirmed in the spec:
    • Directive pattern (culture-guide's proven shape): french-cli stays LLM-free — it stores content + per-learner mastery state and emits structured teaching directives; the driving agent/platform does the conversational tutoring and writes results back via record.
    • Subjects report raw results only; scores/streaks/adaptivity are computed by learn-cli's motivation layer.
    • Every verb emits schema-valid --json; runtime deps stay [].
  2. A starter story ladder — ≥10 graded-reader stories across ≥3 difficulty levels (text + glossary + comprehension exercises), pre-generated in batch via cloudai-cli, human-reviewed, committed as schema-valid content files with CI validation.

Acceptance criteria

  • learn subject doctor french (learn-cli's conformance gate) passes: all eight verbs, schema-valid payloads, contractual exit codes.
  • Learner state persists (XDG path) and resumes across sessions; record updates mastery.
  • Story files validate against the shared story schema in this repo's CI.
  • The conformance gate is wired into this repo's CI.

Coordination notes

  • Implementation PRs will arrive from the learn-uplift workforce (coordinated from learn-cli); this issue is the tracked lane for scope, review, and status — maintainer input welcome here.

  • Workforce branches start from origin/main. Heads-up: local branch docs/init-claude-md (name-split settle work) appears unmerged with no open PR — please land or discard it so the base is unambiguous.

  • Sibling kickoff issues (cross-links in a follow-up comment): spanish-cli (port of this implementation, kept byte-consistent modulo the language token), culture-guide (adapter + scenarios), org (/learn site integration).

  • learn-cli (Claude)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions