diff --git a/AGRARIAN_DEVELOPMENT_ROADMAP.md b/AGRARIAN_DEVELOPMENT_ROADMAP.md index 255bbc1..5fa1060 100644 --- a/AGRARIAN_DEVELOPMENT_ROADMAP.md +++ b/AGRARIAN_DEVELOPMENT_ROADMAP.md @@ -887,7 +887,7 @@ Target deliverable: A small group can join a server, spawn into one biome, gathe - [x] Define accessibility rules for the learning system: hints, retries, readable wording, no hard lockout from basic survival, and non-punitive practice paths. Added learning accessibility rules to `Docs/KnowledgeAndSkillFoundation.md`, covering reusable hints, retries, readable wording, non-color-only warnings, no lockout from basic survival, safer practice paths, and diminishing returns to prevent exploit loops. - [x] Define the first subject content format: topic, concepts, difficulty tier, prerequisite concepts, in-game effect, practice action, and source note. Added a compact subject content schema to `Docs/KnowledgeAndSkillFoundation.md` with `topic`, `concepts`, `difficulty_tier`, `prerequisite_concepts`, `in_game_effect`, `practice_action`, and `source_note`, plus a fire-clearance example suitable for later data assets. - [x] Add a small MVP question bank for elementary survival knowledge. Added six elementary survival question records to `Docs/KnowledgeAndSkillFoundation.md` for fire clearance, potable water, cold exposure, shelter drainage, bleeding care, and fiber identification, each with answer options, correct answer, and practical feedback. -- [ ] Define when deeper questions should matter: quality improvements, safer work, complex crafting, teaching others, and advanced branches. +- [x] Define when deeper questions should matter: quality improvements, safer work, complex crafting, teaching others, and advanced branches. Added deeper-question timing rules to `Docs/KnowledgeAndSkillFoundation.md`, keeping advanced checks out of the first survival loop while tying them to quality improvements, safer work, complex crafting, teaching others, and advanced branches. - [ ] Add design notes for avoiding exploit farming and rote memorization. - [ ] Add persistence requirements for knowledge, skill experience, learned concepts, failed attempts, and tutorial state. - [ ] Add multiplayer rules for teaching, observation, shared work, and group skill benefits. diff --git a/Docs/KnowledgeAndSkillFoundation.md b/Docs/KnowledgeAndSkillFoundation.md index bc7e2fb..c8f48ee 100644 --- a/Docs/KnowledgeAndSkillFoundation.md +++ b/Docs/KnowledgeAndSkillFoundation.md @@ -473,3 +473,39 @@ feedback: Fiber is a basic binding material for primitive crafting and shelter. Question-bank rule: elementary questions should be short, practical, and tied to actions the player can immediately recognize in the MVP. + +## When Deeper Questions Matter + +Deeper questions should not decide whether a new player can survive the first +night. They should matter when the player is trying to do better, teach others, +or enter more complex branches. + +Quality improvements: + +- Use deeper checks when the player wants better yield, stronger construction, + more durable tools, safer food, better medicine, or more efficient work. + +Safer work: + +- Use deeper checks when incorrect assumptions could create fire spread, injury, + sickness, structural failure, bad weather exposure, or wasted scarce supplies. + +Complex crafting: + +- Use deeper checks for multi-stage recipes, material substitutions, tool + maintenance, preserved food, medicines, buildings, and later machinery. + +Teaching others: + +- Use deeper checks when a player or NPC attempts to teach a concept, create a + lesson note, train family/community members, or evaluate whether someone + understood a dangerous task. + +Advanced branches: + +- Use deeper checks for farming, animal care, medicine, engineering, trade, + navigation, governance, science, and future advanced technology. + +Depth rule: deeper questions should improve mastery and responsibility. They +should not be busywork for actions the character has already demonstrated +through repeated safe practice. diff --git a/Scripts/verify_deeper_question_timing.py b/Scripts/verify_deeper_question_timing.py new file mode 100644 index 0000000..a27849a --- /dev/null +++ b/Scripts/verify_deeper_question_timing.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 +"""Verify deeper-question timing rules are documented.""" + +from pathlib import Path + + +ROOT = Path(__file__).resolve().parents[1] +DOC = ROOT / "Docs" / "KnowledgeAndSkillFoundation.md" +ROADMAP = ROOT / "AGRARIAN_DEVELOPMENT_ROADMAP.md" + +REQUIRED = { + DOC: [ + "## When Deeper Questions Matter", + "Quality improvements:", + "Safer work:", + "Complex crafting:", + "Teaching others:", + "Advanced branches:", + "Depth rule:", + ], + ROADMAP: [ + "[x] Define when deeper questions should matter: quality improvements, safer work, complex crafting, teaching others, and advanced branches.", + ], +} + + +def main() -> None: + missing: list[str] = [] + for path, snippets in REQUIRED.items(): + text = path.read_text(encoding="utf-8") + for snippet in snippets: + if snippet not in text: + missing.append(f"{path.relative_to(ROOT)} missing {snippet!r}") + if missing: + raise SystemExit("FAILED: " + "; ".join(missing)) + print("OK: deeper-question timing rules are documented.") + + +if __name__ == "__main__": + main()