Repository navigation
v0.6.0: Marble teaching research
Marble teaching research (#44).
Added
- Check-understanding items (#42):
data/checks/checks.txthas 106
kid-voice items for Math and Science topics, written offline from the two-tier and interpret/translate assessments,
with wrong choices taken from the misconceptions. They cover the topics closest to a learner's review
queue, spot-checks and frontier first; the rest are a follow-up.build.mjsvalidates them and attaches them to
playable topics (ck), skipping pending and hidden-region topics.- In the app: review gates and spot-checks prefer them over the kid prompt; on generator topics they're used only
to spot-check inferred skills. The "why" tier becomes the explanation, and the log recordsqtype: "check". - Progress: stored progress, medals, gate choice and quest stages are unchanged.
- Bosses: a boss may end with a two-tier "answer + why" pair (
"twoTier");npm run research -- <id> --check
prints one.
- In the app: review gates and spot-checks prefer them over the kid prompt; on generator topics they're used only
- Research in nightly authoring (#41): LESSONS.md "Researched
stages" rules for Math and Science stages whose topic has research.publish-lessons.mjswarns, but never fails, when
a researched stage has no wrong choice tagged"misconception", or when a topic the learner got stuck on has no
research re-teach prerequisite in the pack. It prints how many stages were researched. The example quest follows the
rules. - Per-wrong-choice feedback (optional
"feedback": {"<wrong choice>": "reply"}on mc, picture and blank-with-choices
questions): the app shows that reply in place of the generic hint on a first miss, and with the answer on a second.
It stays server-side like the answer. - Research briefs for the lesson author (#40):
npm run research -- <topicId>(research.mjs) prints a short brief, at most 6,000 characters, from Marble's teaching
research. It shows the learn constraints first, then the summary, misconceptions, error patterns with next moves and
prerequisite re-teach ids (with titles), the diagnostic and response levels, activities and best practices. Learn wins:
pedagogy or assess text that a learn constraint forbids is dropped and flagged. For example, assess's "Earth's shadow
points away at full Moon" is gone from the Moon-phases brief. Topics without research, such as all of English, print
"no research". Pending and hidden-region topics get a notice instead of a brief.export-progress.mjsadds a bounded
researchsection (compact briefs for the needsSupport, goDeeper, quest-refresh, stretch and nearest frontier
topics) andresearch: trueon frontier entries. A test makes sure the research stays out ofpublic/, the Worker
bundle and the Docker image. It is offline tooling only, so the app doesn't change. - Household region filter (
HIDE_REGIONS):data/regions/AU.txttags 26 topics whose content is specifically
Australian (Australian Curriculum-only, and about Australian history, government, money, symbols, literature or
First Nations Australians' Country). Every topic still plays by default. A household that setsHIDE_REGIONS="AU"
(env, Docker build arg, or[vars]inwrangler.toml) gets a build without them: they are left out like pending
topics, the prerequisite graph is reconnected around them, they leave the progress total, and medal tiers do not
change. Progress and medals already earned on them are kept and still listed.export-progress.mjsand
publish-lessons.mjscheck thatpublic/tax.jsonwas built with the configured setting and reject hidden topics. - Kid prompts for the new Marble topics (#39): 316 new
mt_id|question|right|wrong1|wrong2lines indata/kid-prompts/b11.txt, and 11 math topics made playable through the
existing generators (they fit: adding and subtracting within 20, sharing and grouping, halves/quarters/eighths, place
value to 1000). The app now plays 1,916 of the 1,930 upstream topics, linked by 4,081 prerequisite edges.- Still pending (14), each with its reason in
PENDING.txt: 6 math topics whose matching generator would ask the
wrong kind of question (fractions of time, volume with fraction edges, odd/even rules, calculator use, factor
algorithms, estimating decimal products); 6 body-safety, consent and puberty topics that belong in a conversation with
a parent rather than a 3-choice quiz; 2 topics that need local knowledge (the First Nations Country of the
learner's own school and area). - New areas: Geography (Maps & Spatial Skills, Places & Environments) and new domains in Computing, History, Life
Skills and Science (Design & Technology) get icons; coverage for a blank learner now counts 66 areas (Science 20). - Medal tiers: the ancestor-count percentiles move from gold ≥ 31 / silver ≥ 9 to gold ≥ 34 / silver ≥ 10.
Medals already earned keep their stored tier.
- Still pending (14), each with its reason in
Changed
- Marble Skill Taxonomy updated to os-taxonomy
a871973(#38):
data/marble/is the pinned upstream commit (data/marble/UPSTREAM), byte-identical, now including Marble's
teaching research (teaching-research.json,archived-teaching-research.json) as offline input for the lesson
author; it is never copied intopublic/or the Docker image. 1,590 → 1,930 topics, 3,221 → 4,102 prerequisites.- Pending topics: the 341 new topics are listed in
data/kid-prompts/PENDING.txtand left out of the app until
slice 3 (#39) writes their kid prompts or reviews a generator.
build.mjsbridges the prerequisite graph across them, so no upstream prerequisite path is lost. The app plays
1,589 topics (the 1.0.0 topics minus one merged away), linked by 3,320 prerequisite edges. - Aliases:
data/topic-aliases.jsonmaps removed ids to their replacement (mt_3XJkeIn6J6→
mt_UNzojLkNdm, an upstream merge).E.migratefolds topic state, medals, help state, the current item, focus
and requeued items forward (stronger record wins; one medal per topic, higher tier kept), idempotently. - Scope changes: records on
mt_bESTSBB0wK(now pie charts only) andmt_NSC3LT_-ch(now capacity) are kept as
they are; no credit is invented for the split-off line-graph topic. Kid prompts rewritten for those two, for
mt_H6LlpWgEYS(now line-graph problems) and formt_QhLAeAlHI0(food groups vs nutrients, matching upstream's
correction). Icons added for the three Computing domains that moved out of Artificial Intelligence. - Credits (#43):
NOTICE,LICENSING.mdand/about.html
credit the teaching research, name the upstream commit, extend the NGSS notice to the research and add the ACARA
notice for Australian Curriculum codes.
- Pending topics: the 341 new topics are listed in
- Kid prompts are keyed by topic id (#37):
data/kid-prompts/b*.txt
lines are nowmt_id|question|right|wrong1|wrong2instead ofindex|…(the topic's position in
data/marble/topics.json), so a reordered or extended taxonomy keeps every question on its own topic.build.mjs
joins by id and fails on index-style, unknown or duplicate lines. The one-time converter
migrate-kid-prompts.mjsrefuses to run on anytopics.jsonother than the release the indexes were written for.
Build output is unchanged:public/tax.jsonis byte-identical (sha256317c4a30…e45e3d1).
Docs
- BOT-SETUP.md: a setup guide addressed to an AI assistant bot that a parent points at this repo:
what to ask the parent, install and first run for each hosting option, placement and the first quest, the nightly
routine (back up, export, refresh or write a quest, validate, verify progress unchanged), the teaching rules,
privacy rules and how to report to the parent. The README has a new "Set up with an AI bot" section linking to it. - docs/ARCHITECTURE.md: "How Jane works", a friendly diagram (
docs/architecture.svg,
generated bydocs/architecture.mjs) of the daytime learning loop (no AI) and the nighttime teaching loop (the bot
writes quests offline), the deploy options and template sharing, with a Mermaid text version and a FAQ. Linked
from the README and BOT-SETUP.md. - Agent-Orchestrated Software (AOS): ARCHITECTURE.md introduces the term, with Jane as an example and a short
comparison with SaaS and traditional installed software; the README mentions it. The docs now say the agent may
host the app but doesn't have to. - Friendly guide website (
site/, published with GitHub Pages by.github/workflows/pages.yml): six hand-written
pages for parents and curious readers (home, how it works, a day for your kid, get started, privacy & safety, FAQ &
credits), with the diagram, self-hosted Kalam headings and no trackers or outside scripts. Linked from the top of
the README. - Diagram updated for AOS: the subtitle names Agent-Orchestrated Software, the bot card says it may host Jane or
not, and the deploy strip reads "on the bot's computer or anywhere you choose". The Mermaid version matches.