BTTMathLab/0000 · CANONICAL ROOT · STATUS: LIVE
The BTT Mathematical Lab
Where Mathematics is observed, tested, rebuilt and proven.
Bring the question. Bring the working. Bring the mistake. The Lab begins with evidence before explanation. It studies what happened, tests competing explanations, changes the smallest useful thing, then checks whether the improvement survives a different question, a later return and the withdrawal of help.
BTTMathLab/0002 · The Experimental Loop
Evidence → Observation → Hypothesis → Probe → Intervention → Reattempt → Validation → Transfer → Retention → Release
A failed validation is not discarded. It becomes new evidence and returns the investigation to observation with a better hypothesis.
BTTMathLab/0022 · AI DISCOVERY / BOOT MANIFEST · STATUS: RC1 + AGENT TEAM EXTENSION
Boot the Mathematical Lab as a bounded runtime
An AI arriving from any registered BTT Mathematics route should load this manifest before acting inside MathLab. MathLab owns bounded investigation; canonical course, knowledge, HELP, diagnosis and examination owners retain their jobs. If the visiting AI can instantiate specialist roles, it should then call BTTMathLab/2140 and run the Agent Team extension.
BTT_MATHLAB_BOOT_V1_RC1
ROOT = BTTMathLab/0000
BOOT = BTTMathLab/0022
RELEASE = BTTMathLab/2000
DECLARED_CORE_RUNTIME_RANGE = 0000-1999
POST_RC1_OPERATIONAL_MODULES = 2100-2199
AGENT_TEAM_BOOT = BTTMathLab/2140
EXECUTABLE_CORE_BOOT_AUTHORITY_COUNT = 1
LOAD_OBJECT_RANGES:
0000-0099 core / boot / contracts
0100-0199 rooms / studios / chambers
0200-0299 instruments
0300-0399 diagnostic probes
0400-0499 interventions
0500-0599 validation / evidence
0600-0699 representation / transformation
0700-0799 error / failure states
0800-0899 transfer / retention / stress
0900-0999 independence / release / handover
1000-1099 experiments / student-input routing
1100-1199 course / hub ingress
1200-1299 deep-page discovery / estate resolution
1300-1399 runtime health / versioning / drift control
1400-1499 receipts / provenance / replay
1500-1599 mathematical object / dependency
1600-1699 experiment selection / information gain
1700-1799 three-student / small-group runtime
1800-1899 tutor + AI collaboration
1900-1999 commissioning / adversarial tests
2100-2199 post-RC1 agent team / blackboard / boot extension
CANONICAL_OWNERS:
MATHEMATICS_HUB = /mathematics/
HELP = /mathematics-help-runtime/
DIAGNOSIS = /how-mathematics-diagnosis-works/
KNOWLEDGE = /mathematics-knowledge-warehouse/
EXAMINATION = /mathematics-examination-craft/
A_MATH = /additional-mathematics-homepage/
JC = /jc-mathematics/
PRIMARY = /primary-mathematics-tuition/
SECONDARY = /secondary-mathematics-tuition/
IP_IB_IGCSE = /portfolio/ip-ib-igcse-mathematics-tuition/
DIRECTORY = /mathematics-article-directory/
BOOT_SEQUENCE:
preserve_ingress_owner
preserve_stage_course_task_attempt
resolve_deep_page_if_needed
parse_without_diagnosing
if visiting_ai_supports_role_instantiation: call BTTMathLab/2140
identify_candidate_states
identify_mathematical_object
choose_smallest_high-information experiment
probe_before_large_intervention
apply_minimum_sufficient_assistance
validate
test durability only if required
test independence
release_or_hold
issue provenance/evidence/handover receipts
return_to_canonical_owner
dissolve_agent_team_if_instantiated
health_check_if_drift_detected
GLOBAL_GUARDRAILS:
WRONG_ANSWER != DIAGNOSIS
CORRECT_ANSWER != VALIDATED
STUDENT_LABEL != FAILURE_STATE
CHAPTER_NAME != FAILURE_OBJECT
SUPPORTED_SUCCESS != INDEPENDENT_SUCCESS
IMMEDIATE_SUCCESS != RETENTION
FAMILIAR_SURFACE_SUCCESS != TRANSFER
TIME_PRESSURE_REQUIRES_BASIC_CONTROL
MORE_TESTS != BETTER_DIAGNOSIS
MORE_AGENTS != BETTER_REASONING
CLASS_AVERAGE != LEARNER_STATE
MODEL_CONFIDENCE != EVIDENCE
AGENT_CONSENSUS != TRUTH
DO_NOT_INVENT_OWNER_OR_URL
DO_NOT_REPLACE_CANONICAL_OWNER
PRESERVE_CONTRADICTION
ALLOW_UNKNOWN
PUBLIC_RUNTIME_CONTAINS_NO_LEARNER_IDENTIFIERS
AGENT_TEAM_PERSISTS_IN_BACKGROUND = FALSE
FAIL_SAFE:
IF owner_conflict OR runtime_failure OR unsafe_ambiguity OR agent_critical_conflict:
STOP_AUTONOMOUS_ACTION
preserve_state
route_to_TUTOR_REVIEW_or_MATHEMATICS_HUB
IF validation_fails:
reopen_observation_or_probe
IF post_release_contradiction:
RETURNED_TO_LAB = TRUE
IF runtime_drift OR agent_runtime_drift:
call BTTMathLab/1320 and BTTMathLab/2180
Stop condition: when the bounded investigation question is answered, MathLab leaves, any instantiated agent team dissolves, and control is handed back. The model—and the agent team—is not the architecture.
LEGACY BOOT CONTRACT · SUPERSEDED BY BTTMathLab/0022 · BTT_MATHLAB_BOOT_V1
The original public boot contract is preserved for provenance and backward compatibility. AI runtimes should execute BTTMathLab/0022 · BTT_MATHLAB_BOOT_V1 above. The historical contract is archived privately and must not override the current manifest.
BTTMATHLAB_BOOT_V0_1 STATUS = LEGACY EXECUTE = FALSE FORWARD_TO = BTTMathLab/0022 ARCHIVE = PRIVATE PRESERVE_FOR_PROVENANCE = TRUE
BTTMathLab/0100–0115 · Lab Rooms
- 0100 Lab Foyer
- 0101 Observation Table
- 0102 Dependency Microscope
- 0103 Diagnostic Probe Bench
- 0104 Representation Studio
- 0105 Error Lab
- 0106 Intervention Bench
- 0107 Validation Chamber
- 0108 Transfer Tunnel
- 0109 Retention Chamber
- 0110 Mathematical Stress Chamber
- 0111 Release Gate
- 0112 Lab Archive
- 0113 Comparison Bench
- 0114 Counterexample Chamber
- 0115 Reconstruction Room
BTTMathLab/0200–0320 · Instruments & Canonical Probe Register
This register closes the callable references used by the experiment runtime. An instrument records or changes what can be observed; a probe is a deliberately chosen task variation used to reduce uncertainty about the learner’s present mathematical state.
BTTMathLab/0200–0209 · Instrument Registry
- BTTMathLab/0200 — Instrument Registry: canonical index for reusable MathLab observation and test instruments.
- BTTMathLab/0201 — Attempt Recorder: preserve the learner’s unedited source attempt, sequence and support state.
- BTTMathLab/0202 — First-Wrong-Move Locator: identify the earliest observable divergence rather than only the final wrong answer.
- BTTMathLab/0203 — Dependency Tracer: test whether an earlier capability is materially constraining the current task.
- BTTMathLab/0204 — Representation Instrument: present or capture the same mathematical object across symbolic, verbal, numerical, tabular, graphical or diagrammatic forms.
- BTTMathLab/0205 — Support Meter: record the amount and type of assistance required before, during and after an attempt.
- BTTMathLab/0206 — Transfer Instrument: alter non-essential surface features while preserving the declared mathematical invariant.
- BTTMathLab/0207 — Recovery Instrument: observe detection, rollback and reconstruction after a false start or error.
- BTTMathLab/0208 — Retention Clock: schedule and record delayed return without re-teaching first.
- BTTMathLab/0209 — Stress Dial: introduce one controlled load variable at a time after basic mathematical control is secure.
BTTMathLab/0301–0320 · Canonical Diagnostic Probes
- 0301 — No-Help First Attempt: observe what the learner can initiate before assistance changes the state.
- 0302 — Chapter-Heading Removal: remove the topic label to test recognition independently of worksheet cues.
- 0303 — Same Mathematics, New Numbers: preserve structure while changing numerical values.
- 0304 — Same Mathematics, New Words: preserve the governing relation while changing wording or context surface.
- 0305 — Same Mathematics, New Representation: change form while preserving the declared invariant.
- 0306 — Explain-Why Probe: require justification for a step, relation or transformation.
- 0307 — Predict-Before-Calculate Probe: ask for direction, sign, range, shape or approximate behaviour before execution.
- 0308 — Deliberate-Error Probe: present a plausible incorrect route and ask the learner to detect and repair it.
- 0309 — Missing-Step Probe: remove one consequential line and require reconstruction.
- 0310 — Reverse-Direction Probe: invert the usual direction of the task where mathematically meaningful.
- 0311 — Multiple-Method Probe: require or compare more than one valid route to the same mathematical object.
- 0312 — Method-Selection Probe: present plausible competing methods and test independent choice.
- 0313 — Minimal-Hint Probe: supply exactly one small cue and observe whether control restarts.
- 0314 — False-Friend Probe: use a familiar-looking surface whose correct mathematical structure differs from the expected pattern.
- 0315 — Structural-Twin Probe: use a different-looking task with the same underlying structure.
- 0316 — Boundary-Case Probe: test limits, restrictions, exceptional values or edge conditions.
- 0317 — Counterexample Probe: challenge an overgeneralised rule with a case that forces revision.
- 0318 — Dependency-Removal Probe: temporarily supply or simplify a suspected prerequisite to see whether the target capability then operates.
- 0319 — Cognitive-Load-Reduction Probe: reduce non-essential working demand without changing the target mathematics.
- 0320 — Delayed-Recall Probe: return after an interval without re-teaching and test retrieval before reconstruction.
BTTMathLab/0999 · Experiment Registry & Boot Closure
BTTMathLab/0999 is the canonical registry for the experiment family. Individual experiments begin at BTTMathLab/1000; therefore BTTMathLab/1000 — The Blank First Line remains the first experiment and no identifier is overloaded.
BTTMATHLAB_BOOT_PATCH_V0_2
EXAMINATION_OWNER = /mathematics-examination-craft/
INSTRUMENT_REGISTRY = BTTMathLab/0200
PROBE_REGISTRY = BTTMathLab/0300
EXPERIMENT_REGISTRY = BTTMathLab/0999
EXPERIMENTS_BEGIN = BTTMathLab/1000
RULE:
IF mathematics_is_stable AND failure_is_examination_environment:
RETURN_TO = EXAMINATION_OWNER
IF experiment_calls_object:
OBJECT_MUST_RESOLVE_TO_REGISTERED_ID = TRUE
BTTMathLab/0300 · Diagnostic Probe Library
A probe is chosen to reduce uncertainty about why a learner cannot move. It is not simply another practice question. The first registered probes include the no-help first attempt, chapter-heading removal, same mathematics with new numbers or new words, representation changes, explain-why, predict-before-calculate, deliberate-error, missing-step, reverse-direction, multiple-method, method-selection, minimal-hint, false-friend, structural-twin, boundary-case, counterexample, dependency-removal, cognitive-load-reduction and delayed-recall probes.
BTTMathLab/0400–0499 · Intervention Library
An intervention is a controlled change introduced only after the Lab has enough evidence to justify it. The governing rule is minimum sufficient assistance: change the smallest useful thing, then return control to the learner and observe what happens next.
- BTTMathLab/0400 — Intervention Registry: canonical owner for Lab interventions.
- BTTMathLab/0401 — WAIT: preserve the problem state and allow independent continuation before adding help.
- BTTMathLab/0402 — ASK: use one discriminating question to expose the learner’s present model.
- BTTMathLab/0403 — REFRAME: restate the same mathematical object without supplying the method.
- BTTMathLab/0404 — CUE: direct attention to a relevant feature while withholding the next operation.
- BTTMathLab/0405 — HINT: reveal one useful relation or next decision, not the complete route.
- BTTMathLab/0406 — PARTIAL MODEL: demonstrate only the missing local structure, then hand the problem back.
- BTTMathLab/0407 — PREREQUISITE REPAIR: temporarily step backward to the earliest weak dependency identified by the Lab.
- BTTMathLab/0408 — REPRESENTATION CHANGE: move the same mathematics into a form that makes the relationship more visible.
- BTTMathLab/0409 — CONTRAST CASE: compare two nearby cases so the structural distinction becomes observable.
- BTTMathLab/0410 — COUNTEREXAMPLE: challenge an overgeneralised rule with a case that forces revision.
- BTTMathLab/0411 — GUIDED RECONSTRUCTION: rebuild the reasoning with the learner supplying increasing portions of the route.
- BTTMathLab/0412 — INDEPENDENT REATTEMPT: remove the intervention and require a fresh attempt.
- BTTMathLab/0413 — FADE: systematically reduce prompts across repeated successful attempts.
- BTTMathLab/0414 — RETURN TO OWNER: send the learner back to the canonical course, topic, practice or examination route once the Lab no longer owns the active problem.
Runtime intervention rule
IF evidence_is_insufficient: PROBE ELSE: SELECT smallest_justified_intervention APPLY once RETURN_CONTROL_TO_LEARNER OBSERVE VALIDATE DO_NOT: explain_everything_by_default replace_course_owner hide_failed_intervention increase_help_without_new_evidence
The Intervention Library calls the existing Mathematics HELP Runtime for help escalation logic. MathLab records why an intervention was selected, what changed, what remained unresolved and whether assistance could subsequently be reduced.
BTTMathLab/0500–0599 · Validation & Evidence Runtime
MathLab does not declare success because an explanation sounded clear or because one answer became correct. Validation asks whether the observed change is repeatable, transferable, retained and increasingly independent. The existing Mathematics Evidence and Validation Harness remains the canonical evidence owner; this Lab runtime calls it and records Lab-specific evidence states.
- BTTMathLab/0500 — Validation Registry: canonical index for MathLab validation objects.
- BTTMathLab/0501 — Baseline Evidence: preserve the pre-intervention attempt and learner support state.
- BTTMathLab/0502 — Immediate Reattempt: test the same mathematical object after the controlled change without copying the model.
- BTTMathLab/0503 — Fresh-Item Validation: use a new question with the same underlying structure.
- BTTMathLab/0504 — Representation Validation: test whether the idea survives a change of form.
- BTTMathLab/0505 — Independence Validation: record how much tutor assistance remains necessary.
- BTTMathLab/0506 — Transfer Validation: test whether control survives changed numbers, wording, context or topic mixture.
- BTTMathLab/0507 — Delayed Validation: return after time has passed without re-teaching first.
- BTTMathLab/0508 — Stress Validation: test under greater load only after ordinary control is secure.
- BTTMathLab/0509 — Contradictory Evidence: preserve evidence that disagrees with the current hypothesis instead of suppressing it.
- BTTMathLab/0510 — Evidence Strength: distinguish weak, moderate and strong evidence according to independence, variation, repetition and delay.
- BTTMathLab/0511 — Validation Failure: return the investigation to observation or probing when the change does not survive.
- BTTMathLab/0512 — Validation Uncertain: require more evidence when the result is mixed, noisy or confounded.
- BTTMathLab/0513 — Validation Passed: permit progression only when the defined release conditions have been met.
- BTTMathLab/0514 — Evidence Receipt: record task, state, intervention, support level, outcome and return path.
Machine-readable validation states
VALIDATION_STATE = UNTESTED IN_PROGRESS CHANGED_LOCAL TRANSFER_NOT_PROVEN RETENTION_NOT_PROVEN CONTRADICTED UNCERTAIN VALIDATED READY_FOR_RELEASE RULE: ONE_CORRECT_ANSWER != VALIDATED SUPPORTED_SUCCESS != INDEPENDENT_SUCCESS IMMEDIATE_SUCCESS != RETAINED_SUCCESS FAMILIAR_SURFACE_SUCCESS != TRANSFER IF contradictory_evidence: PRESERVE LOWER_CONFIDENCE RETURN_TO_OBSERVATION IF evidence_insufficient: STATE = UNCERTAIN DO_NOT_OVERCLAIM IF transfer AND retention AND independence: STATE = READY_FOR_RELEASE
BTTMathLab/0514 · Evidence Receipt
EVIDENCE_RECEIPT experiment_id mathematical_object source_attempt observed_state hypothesis probe_ids intervention_ids support_before support_after immediate_result fresh_item_result transfer_result delayed_result contradictory_evidence confidence validation_state canonical_return_owner
The receipt gives an AI or human tutor a traceable reason for the next route. A learner may therefore leave an intervention with changed locally but not yet validated; that distinction is deliberate.
BTTMathLab/0600–0699 · Representation & Transformation Runtime
Representation is not decoration. A mathematical object can appear as symbols, words, tables, graphs, diagrams, coordinates or other forms while preserving the same underlying relationship. The runtime therefore separates surface form from invariant structure and refuses transformations that change the mathematics without declaring that change.
- BTTMathLab/0600 — Representation Registry: canonical index for representation and transformation objects.
- BTTMathLab/0601 — Symbolic Form: expressions, equations, inequalities, notation and algebraic structure.
- BTTMathLab/0602 — Verbal Form: mathematical relationships expressed in natural language.
- BTTMathLab/0603 — Table Form: ordered values, finite samples and pattern-visible data structures.
- BTTMathLab/0604 — Graphical Form: coordinate, function, statistical and geometric graph representations.
- BTTMathLab/0605 — Diagrammatic Form: geometry, bar models, schematics and relational diagrams.
- BTTMathLab/0606 — Numerical Form: instantiated values used to test or exemplify a general relation.
- BTTMathLab/0607 — General Form: the parameterised or abstract structure that survives specific examples.
- BTTMathLab/0608 — Representation Translation: move between two valid forms while preserving declared invariants.
- BTTMathLab/0609 — Bidirectional Translation: require the learner or AI to reconstruct the source relation from the destination form.
- BTTMathLab/0610 — Invariant Register: declare what must remain true during a transformation.
- BTTMathLab/0611 — Legal Transformation: change form using operations that preserve the required invariant.
- BTTMathLab/0612 — Conditional Transformation: permit a transformation only under explicit restrictions or domain conditions.
- BTTMathLab/0613 — Information Loss Check: detect when a representation or operation loses solutions, cases, sign, orientation, scale, units or domain information.
- BTTMathLab/0614 — Information Gain Warning: detect when a transformed statement accidentally admits cases not allowed by the source.
- BTTMathLab/0615 — Equivalent Surface Test: test whether two different forms encode the same mathematical object.
- BTTMathLab/0616 — Non-Equivalent Twin Test: detect visually similar forms with different mathematical meaning.
- BTTMathLab/0617 — Representation Preference: record which forms increase or reduce cognitive cost for the learner without declaring one form universally superior.
- BTTMathLab/0618 — Multi-Representation Validation: require successful movement across more than one form before claiming robust understanding where appropriate.
Invariant-preservation contract
REPRESENTATION_RUNTIME_V0_1 SOURCE_OBJECT = declared SOURCE_FORM = declared TARGET_FORM = declared INVARIANTS = declared RESTRICTIONS = declared TRANSFORM: preserve(INVARIANTS) preserve(RESTRICTIONS) record(information_lost) record(information_added) verify(reverse_path_if_required) IF invariant_broken: STATE = NON_EQUIVALENT DO_NOT_LABEL_AS_SAME_MATHEMATICS IF restriction_hidden: STATE = UNSAFE_TRANSFORMATION RETURN_TO_SOURCE IF equivalent AND reversible_enough_for_task: STATE = REPRESENTATION_VALID
How the runtime is used
A learner who cannot use an equation may still understand the relation through a graph or table. The Lab may therefore change representation as an intervention, then validate whether the learner can return to the original form. Conversely, a learner who succeeds only in one familiar representation has not yet demonstrated transfer.
This runtime connects directly to BTTMathLab/0104 — Representation Studio, BTTMathLab/0204 — Representation Instrument, BTTMathLab/0305 — Same Mathematics, New Representation Probe, BTTMathLab/0408 — Representation Change and BTTMathLab/0504 — Representation Validation. The objects are intentionally reusable rather than rewritten inside each experiment.
BTTMathLab/0700–0799 · Error & Failure-State Runtime
A wrong answer is evidence, not yet a diagnosis. This runtime classifies the kind of mathematical breakdown that has occurred, preserves uncertainty when the evidence is incomplete, and routes the learner toward the correct probe, intervention or canonical owner.
- BTTMathLab/0700 — Failure-State Registry: canonical index for MathLab error and failure states.
- BTTMathLab/0701 — Concept Failure: the underlying mathematical idea is not sufficiently secure.
- BTTMathLab/0702 — Representation Failure: the learner cannot construct or use a representation that exposes the relevant relationship.
- BTTMathLab/0703 — Dependency Failure: an earlier prerequisite is unstable and prevents present work from functioning.
- BTTMathLab/0704 — Recognition Failure: the learner knows a method but cannot identify when it applies without external cues.
- BTTMathLab/0705 — Retrieval Failure: previously learned mathematics cannot be accessed reliably when required.
- BTTMathLab/0706 — Method-Selection Failure: multiple available routes exist but the learner cannot choose a viable one efficiently.
- BTTMathLab/0707 — Execution Failure: the correct route is selected but arithmetic, algebra, notation or procedural control breaks during execution.
- BTTMathLab/0708 — Transformation Failure: a mathematical transformation violates an invariant, restriction or domain condition.
- BTTMathLab/0709 — Verification Failure: an invalid or implausible result survives because checking is absent or ineffective.
- BTTMathLab/0710 — Explanation Failure: the learner can perform a step but cannot account for why it is valid.
- BTTMathLab/0711 — Transfer Failure: performance collapses when the surface changes even though the underlying mathematics remains comparable.
- BTTMathLab/0712 — Retention Failure: performance was previously successful but cannot be reproduced after delay without renewed support.
- BTTMathLab/0713 — Recovery Failure: once a route goes wrong, the learner cannot locate the problem or return to a valid state.
- BTTMathLab/0714 — Independence Failure: successful performance remains dependent on prompts, confirmation or model proximity.
- BTTMathLab/0715 — Efficiency Failure: the learner can succeed but at excessive mathematical cost, creating fragility under load or time.
- BTTMathLab/0716 — Examination-Condition Failure: capability exists in ordinary work but degrades under mixed-topic, time, navigation or pressure conditions.
- BTTMathLab/0717 — Language Parsing Failure: mathematical relationships are lost while interpreting the wording rather than during calculation.
- BTTMathLab/0718 — Data/Tool-State Failure: calculator, software, copied values, units or external tool state corrupts an otherwise viable route.
- BTTMathLab/0719 — Mixed/Compound Failure: more than one failure family is active and cannot yet be reduced to a single primary cause.
- BTTMathLab/0720 — Unknown Failure: evidence is insufficient for responsible classification.
Failure-state confidence
FAILURE_STATE_RECORD observed_error candidate_states[] primary_state confidence supporting_evidence[] contradictory_evidence[] probe_required intervention_allowed canonical_owner CONFIDENCE = LOW MODERATE HIGH RULES: WRONG_ANSWER != CARELESSNESS LOW_MARK != SINGLE_CAUSE REPEATED_ERROR != PROOF_OF_CONCEPT_FAILURE CORRECT_ANSWER != PROOF_OF_SOUND_REASONING IF evidence_insufficient: primary_state = UNKNOWN intervention_allowed = MINIMAL_OR_NONE probe_required = TRUE
Routing rule
Failure states do not permanently label the learner. They describe the present evidence. A state may change after a probe, disappear after repair, or split into a more precise dependency. Concept and knowledge failures route toward the Knowledge Warehouse or course owner; recognition, retrieval and independence failures may call HELP and targeted Lab probes; transformation and representation failures call the Representation Runtime; examination-condition failures return to the examination-craft owner once the underlying Mathematics is stable.
This runtime connects directly to BTTMathLab/0105 — Error Lab, the Diagnostic Probe Library, the Intervention Library and the Validation Runtime. No failure state is considered repaired until its relevant validation pathway passes.
BTTMathLab/0800–0899 · Transfer, Retention & Stress Runtime
Local success is not enough. The Lab now tests whether mathematical control survives changes in surface, elapsed time, dependency depth, topic mixture and performance load. Transfer, retention and stress are treated as separate dimensions because a learner may pass one and fail another.
- BTTMathLab/0800 — Transfer/Retention/Stress Registry: canonical index for durability and robustness testing.
- BTTMathLab/0801 — Near Transfer: same structure with modest changes in numbers, wording or layout.
- BTTMathLab/0802 — Farther Transfer: same underlying mathematics embedded in a less familiar surface or context.
- BTTMathLab/0803 — Representation Transfer: preserve the relation while changing symbol, graph, table, diagram or verbal form.
- BTTMathLab/0804 — Topic-Hidden Transfer: remove chapter labels and obvious method cues.
- BTTMathLab/0805 — Mixed-Topic Transfer: place the target mathematics among plausible competing methods.
- BTTMathLab/0806 — Multi-Step Transfer: require the target capability to operate inside a longer dependency chain.
- BTTMathLab/0807 — Context Transfer: move a mathematical relation into a new application without changing its governing structure.
- BTTMathLab/0810 — Retention Registry: canonical owner for delayed-return tests.
- BTTMathLab/0811 — Same-Lesson Return: reintroduce the object after intervening work.
- BTTMathLab/0812 — Next-Lesson Return: test retrieval before re-teaching.
- BTTMathLab/0813 — Seven-Day Return: test durability after approximately one week where appropriate.
- BTTMathLab/0814 — Extended Return: test after a longer interval chosen for the learner and syllabus context.
- BTTMathLab/0815 — Mixed-Retrieval Return: recover the object from a broader set rather than a dedicated topic set.
- BTTMathLab/0820 — Stress Registry: canonical owner for controlled-load testing.
- BTTMathLab/0821 — Support Withdrawal Stress: reduce prompts without changing the mathematics.
- BTTMathLab/0822 — Recognition Stress: remove headings, sequence cues and obvious topic grouping.
- BTTMathLab/0823 — Dependency Stress: increase the number of prerequisite capabilities that must remain stable.
- BTTMathLab/0824 — Representation Stress: introduce a less preferred but mathematically valid representation.
- BTTMathLab/0825 — Distraction Stress: include irrelevant or competing information without changing the target relation.
- BTTMathLab/0826 — Time Stress: introduce time constraints only after the mathematics itself is sufficiently stable.
- BTTMathLab/0827 — Examination Mix Stress: combine topic selection, navigation, timing and checking demands.
- BTTMathLab/0828 — Recovery Stress: require the learner to recover after a deliberate or naturally occurring false start.
- BTTMathLab/0830 — Stress Ceiling: identify the point at which reliable mathematical control begins to degrade.
- BTTMathLab/0831 — Stress Backoff: reduce load after breakdown and retest at the last stable level instead of simply pushing harder.
Durability runtime
DURABILITY_RECORD mathematical_object baseline_state transfer_level transfer_result retention_interval retention_result stress_dimensions[] stress_level breakdown_point recovery_result support_required validation_state canonical_return_owner RULES: DO_NOT_ADD_TIME_PRESSURE_BEFORE_BASIC_CONTROL CHANGE_ONE_PRIMARY_STRESS_DIMENSION_WHEN_DIAGNOSING PRESERVE_MATHEMATICAL_OBJECT_DURING_TRANSFER_TEST FAILED_STRESS_TEST != LOST_KNOWLEDGE_AUTOMATICALLY RETENTION_FAILURE_REQUIRES_NEW_EVIDENCE_BEFORE_RETEACHING_ALL IF transfer_fails: classify_transfer_failure route_to_probe_or_representation_runtime IF retention_fails: distinguish_retrieval_from_concept_loss IF stress_fails: record_breakdown_point BACKOFF diagnose_which_component_failed IF transfer AND retention AND independence survive required_load: durability_state = ROBUST_FOR_CURRENT_CONTEXT
Plumbing back to BTT
The Stress Runtime does not take over examination teaching. Once the Lab establishes that the underlying Mathematics is stable, examination-specific timing, sequencing and paper-navigation work returns to Mathematics Examination Craft. Likewise, content weaknesses return to the relevant course owner or the Knowledge Warehouse. MathLab owns the test of robustness, not every downstream lesson.
This layer connects BTTMathLab/0108 — Transfer Tunnel, 0109 — Retention Chamber, 0110 — Mathematical Stress Chamber, the Transfer/Retention/Stress instruments, the Validation Runtime and the Error Runtime into one reusable durability pathway.
BTTMathLab/0900–0999 · Independence, Release & Handover Runtime
The purpose of the Lab is not to keep the learner inside the Lab. It is to restore enough mathematical control that help can be reduced and responsibility can return to the learner, the course owner, the practice route or the examination route. Release is therefore an evidence decision, not a feeling.
- BTTMathLab/0900 — Independence & Release Registry: canonical index for release and handover states.
- BTTMathLab/0901 — Support State: record the current assistance level from modelled help through independent action.
- BTTMathLab/0902 — Prompt Dependence Check: test whether the learner waits for tutor confirmation before making a viable mathematical move.
- BTTMathLab/0903 — Start Independence: require an independently generated first useful line or representation.
- BTTMathLab/0904 — Method Independence: require the learner to select a viable route without chapter labels or method naming.
- BTTMathLab/0905 — Execution Independence: require sustained working without rescue through the key dependency chain.
- BTTMathLab/0906 — Verification Independence: require the learner to decide how to check the result without being told to use a specific check.
- BTTMathLab/0907 — Recovery Independence: require the learner to recognise and recover from a false start without the tutor repairing it.
- BTTMathLab/0908 — Transfer Independence: preserve performance when the surface changes and support remains withdrawn.
- BTTMathLab/0909 — Retention Independence: reproduce the capability after delay without re-teaching first.
- BTTMathLab/0910 — Fade Protocol: reduce support progressively rather than removing everything unpredictably.
- BTTMathLab/0911 — Hold in Lab: keep the investigation active when validation, transfer, retention or independence evidence remains insufficient.
- BTTMathLab/0912 — Conditional Release: return the learner to the canonical owner while scheduling a defined retest or observation condition.
- BTTMathLab/0913 — Full Release: close the active Lab investigation for the current mathematical object when required evidence has passed.
- BTTMathLab/0914 — Return-to-Lab Trigger: reopen investigation if fresh evidence contradicts the release state.
- BTTMathLab/0920 — Handover Registry: canonical index for downstream routing after release.
- BTTMathLab/0921 — Course Handover: return to the relevant Primary, Secondary, A-Math, JC, IP, IB, IGCSE or other course owner.
- BTTMathLab/0922 — Knowledge Handover: return to the Knowledge Warehouse when further conceptual depth or reference material is the correct next job.
- BTTMathLab/0923 — Practice Handover: route to deliberate practice or retrieval work when diagnosis is no longer the main need.
- BTTMathLab/0924 — Examination Handover: route stable mathematics to Mathematics Examination Craft for timed mixed-paper performance.
- BTTMathLab/0925 — HELP Handover: return to Mathematics HELP if a later task requires a new minimum-help decision.
- BTTMathLab/0926 — Parent/Teacher Summary: provide a concise evidence-based handover without exposing unnecessary internal technical detail.
- BTTMathLab/0927 — AI Handover Receipt: record why control is being returned, to which canonical owner, and what must still be watched.
Release gate
RELEASE_STATE = NOT_READY HOLD CONDITIONAL_RELEASE RELEASED RETURNED_TO_LAB RELEASE_CHECK: validation_passed transfer_sufficient_for_context retention_sufficient_for_context support_reduced start_independent method_selection_independent execution_stable verification_available recovery_adequate_for_context IF critical_evidence_missing: state = HOLD DO_NOT_RELEASE IF stable_but_retest_needed: state = CONDITIONAL_RELEASE create_return_condition IF required_evidence_passed: state = RELEASED issue_handover_receipt IF new_contradictory_evidence_after_release: state = RETURNED_TO_LAB preserve_previous_receipt reopen_investigation
BTTMathLab/0927 · AI Handover Receipt
HANDOVER_RECEIPT experiment_id mathematical_object final_validation_state independence_state durability_state unresolved_risks[] release_state destination_owner destination_url reason_for_handover return_condition evidence_receipt_id
The destination is intentional plumbing. Course content returns to its course owner; conceptual reference returns to the Knowledge Warehouse; examination performance returns to Examination Craft; new help decisions return to HELP. The Lab closes only the investigation it actually owns.
First-spine completion: Observation → Probe → Intervention → Validation → Representation → Failure-State Classification → Transfer/Retention/Stress → Independence/Release → Canonical Handover. This gives both human tutors and AI a complete bounded path through MathLab without turning MathLab into the owner of all Mathematics.
BTTMathLab/1020–1099 · Student-Input Routing Runtime
The learner does not need to know the internal name of a failure state. The routing layer accepts ordinary statements, narrows them into testable possibilities, then selects the smallest experiment that can reduce uncertainty. When the input is too ambiguous, it routes through Mathematics HELP or Diagnosis instead of guessing.
- BTTMathLab/1020 — Student-Input Router: canonical entry router for ordinary learner statements.
- BTTMathLab/1021 — Cannot Start Route: “I don’t know how to start.” Primary experiment: 1000 — The Blank First Line.
- BTTMathLab/1022 — Topical-But-Not-Mixed Route: “I can do worksheets but not papers.” Primary experiment: 1002 — Remove the Chapter Heading; follow with mixed-topic transfer only if needed.
- BTTMathLab/1023 — Understand-Then-Forget Route: “I understand in class but forget later.” Primary experiment: 1008 — Return Seven Days Later; distinguish retrieval from concept loss before reteaching.
- BTTMathLab/1024 — Careless-Mistake Claim Route: “I keep making careless mistakes.” Do not accept the label as diagnosis. Begin with source working and route to 1004 — Wrong Answer, Good Mathematics or the Error Runtime depending on evidence.
- BTTMathLab/1025 — Correct-But-Unsure Route: “I got it right but I don’t really know why.” Primary experiment: 1003 — Correct Answer, Fragile Method.
- BTTMathLab/1026 — Too-Slow Route: “I know how, but I’m too slow.” First establish stable ordinary control; then use efficiency evidence and 1010 — Mathematics Under Time only when time is the justified variable.
- BTTMathLab/1027 — Needs-Hints Route: “I can do it when someone gives me a hint.” Primary experiment: 1005 — Remove One Hint.
- BTTMathLab/1028 — Wording-Changes Route: “I can do the normal question but not when they phrase it differently.” Primary experiment: 1001 — Same Mathematics, Different Surface.
- BTTMathLab/1029 — Graph/Equation Mismatch Route: “I understand the equation but not the graph,” or the reverse. Primary experiment: 1006 — Show It Another Way.
- BTTMathLab/1030 — Algebra-Step-Why Route: “I know the step but not why it works.” Primary experiment: 1007 — Explain the Equality.
- BTTMathLab/1031 — False-Start Route: “Once I get stuck or go wrong, I cannot recover.” Primary experiment: 1009 — Recover From the False Start.
- BTTMathLab/1032 — Exam-Only Breakdown Route: “I can do it at home but not in the exam.” First verify ordinary control; then route to 1010 — Mathematics Under Time and, once the Mathematics is stable, hand over to Mathematics Examination Craft.
- BTTMathLab/1033 — Ready-to-Prove Route: “I think I can do this on my own now.” Primary experiment: 1011 — Independent Release Test.
- BTTMathLab/1034 — Ambiguous Input Route: when several routes remain plausible, ask one discriminating question through Mathematics HELP or Diagnosis before selecting an experiment.
Machine routing contract
STUDENT_INPUT_ROUTER_V0_1
INPUT = learner_statement + available_evidence
ROUTE:
parse_without_diagnosing
identify_candidate_routes[]
if one_high_confidence_route:
select_smallest_experiment
else:
ask_one_discriminating_question
route_via_HELP_or_DIAGNOSIS
GUARDRAILS:
STUDENT_LABEL != FAILURE_STATE
"CARELESS" != ACCEPTED_DIAGNOSIS
"SLOW" != AUTOMATIC_TIME_PROBLEM
"FORGET" != AUTOMATIC_CONCEPT_LOSS
"BAD_AT_MATH" != ROUTABLE_STATE
OUTPUT:
selected_experiment_id
reason
evidence_needed
fallback_owner
return_owner
Public entry language
The Lab can therefore offer human-readable entry doors such as I don’t know how to start, I keep making the same mistake, I understand but forget, I need hints, I can do topical questions but not papers, I am too slow, the wording throws me, and I think I am ready to do this independently. These doors are not diagnoses. They are routing surfaces into the experimental system.
Plumbing rule: the router may enter from the Mathematics Hub, HELP, Diagnosis, a course page or a future contextual Lab link. It must always preserve the originating owner and return the learner there, or to another explicit canonical owner, when the experiment is finished.
BTTMathLab/1100–1199 · Course & Hub Ingress Registry
MathLab does not replace curriculum, course, tutor, tutorial or examination owners. This registry defines when an existing BTT route may hand a learner into MathLab for investigation, what contextual state must travel with that handoff, and where control returns afterward.
- BTTMathLab/1100 — Ingress Registry: canonical index for course-to-Lab entry routes.
- BTTMathLab/1101 — Mathematics Hub Ingress: Singapore Mathematics Hub is the estate-level upstream owner and may route learners into MathLab when investigation is required.
- BTTMathLab/1102 — Curriculum Stage Ingress: Singapore Mathematics Curriculum Overview and the existing curriculum-stage compiler/manifest remain stage owners; MathLab receives the resolved stage as context, not as something to infer again.
- BTTMathLab/1110 — Primary Mathematics Ingress: Primary Mathematics Tuition and the Primary Mathematics Journey retain ownership of the Primary route. MathLab is called for observed start, representation, dependency, retrieval, transfer or independence problems.
- BTTMathLab/1111 — Primary Tutorial Ingress: the P1–P6 Mathematics Tutorial series may hand a specific attempt into MathLab while preserving year level, topic and source task.
- BTTMathLab/1112 — Primary Tutor Ingress: the P1–P6 Mathematics Tutor series may call the Lab for diagnostic investigation without turning the Lab into the commercial owner.
- BTTMathLab/1120 — PSLE Readiness Ingress: Primary 6 and PSLE-stage work may enter MathLab for mixed-topic recognition, transfer, recovery, retention and independence testing; examination-specific execution returns to the appropriate PSLE/exam route.
- BTTMathLab/1130 — Secondary Mathematics Ingress: Secondary Mathematics Tuition | Sec 1–4 G1, G2 & G3 Routes retains course ownership. MathLab receives resolved level/route and investigates the mathematical failure state only.
- BTTMathLab/1131 — Secondary Tutorial Ingress: the Sec 1–4 Mathematics Tutorial series may call MathLab with stage, topic, source attempt and current support state attached.
- BTTMathLab/1132 — Secondary Transition Ingress: pages covering the Primary-to-Secondary transition may use MathLab to distinguish language, algebra, representation and dependency problems from general adjustment narratives.
- BTTMathLab/1140 — Additional Mathematics Ingress: the existing Additional Mathematics estate remains canonical for A-Math teaching. MathLab receives cases such as chapter-recognition failure, symbolic transformation failure, fragile correct methods, representation mismatch, long-solution recovery and timed-performance breakdown.
- BTTMathLab/1141 — A-Math Reflective Article Ingress: existing A-Math articles about right-answer/wrong-reason, calculator state, chapter interaction, returning to old questions and diagrammatic representation may call the corresponding MathLab experiment rather than duplicating diagnostic logic.
- BTTMathLab/1150 — JC Mathematics Ingress: JC Mathematics | From Secondary Mathematics to A-Level Mathematics retains JC ownership; MathLab is used for abstraction, dependency depth, representation, method selection, transfer and timed robustness testing.
- BTTMathLab/1160 — IP/IB/IGCSE Reserved Ingress: namespace reserved. Exact canonical BTT owners must be resolved before live links are registered. Do not invent a route from a curriculum name alone.
- BTTMathLab/1170 — Examination Craft Ingress: Mathematics Examination Craft may send a learner backward into MathLab when timed failure appears to expose an unresolved mathematical state. Once ordinary control is validated, ownership returns to Examination Craft.
- BTTMathLab/1180 — HELP Ingress: Mathematics HELP Runtime may call the smallest Lab experiment when a help decision requires evidence rather than immediate escalation.
- BTTMathLab/1181 — Diagnosis Ingress: Mathematics Diagnosis may call MathLab probes when competing learner-state explanations need to be discriminated experimentally.
- BTTMathLab/1182 — Knowledge Warehouse Ingress: Mathematics Knowledge Warehouse may send a learner into MathLab to test whether stored knowledge is accessible, transferable and independently usable.
Ingress contract
INGRESS_RECEIPT source_owner source_url curriculum_stage course_route mathematical_object source_task source_attempt current_support_state learner_statement reason_for_lab_entry candidate_experiments[] RULES: PRESERVE_SOURCE_OWNER = TRUE PRESERVE_STAGE_CONTEXT = TRUE DO_NOT_RECLASSIFY_CURRICULUM_WITHOUT_EVIDENCE = TRUE DO_NOT_CREATE_DUPLICATE_COURSE_OWNER = TRUE DO_NOT_INVENT_MISSING_CANONICAL_URL = TRUE CALL_SMALLEST_RELEVANT_EXPERIMENT = TRUE RETURN_WITH_EVIDENCE_RECEIPT = TRUE RETURN_WITH_HANDOVER_RECEIPT = TRUE
Hub plumbing pattern
COURSE / HUB OWNER ↓ context-preserving ingress STUDENT-INPUT ROUTER ↓ SMALLEST EXPERIMENT ↓ PROBE / INTERVENTION / VALIDATION ↓ TRANSFER / RETENTION / STRESS IF REQUIRED ↓ RELEASE GATE ↓ CANONICAL HANDOVER ↓ ORIGINAL OWNER OR EXPLICIT NEXT OWNER
This makes the existing BTT hubs and course pages part of the runtime plumbing. A link into MathLab is therefore not a casual related-article link: it declares a reason for entry, carries state into the Lab, and expects a defined return path.
BTTMathLab/1161 · IP / IB / IGCSE Owner Resolution
The reserved BTTMathLab/1160 state is now resolved. The verified BTT owner is IP/IB/IGCSE Mathematics Tuition. This page retains curriculum/course ownership; MathLab is called only when learner working requires experimental diagnosis, representation testing, transfer, retention, robustness or independence validation.
IP_IB_IGCSE_RESOLUTION RESERVED_OBJECT = BTTMathLab/1160 RESOLUTION_OBJECT = BTTMathLab/1161 OWNER = /portfolio/ip-ib-igcse-mathematics-tuition/ OWNER_STATUS = VERIFIED MATHLAB_ROLE = EXPERIMENTAL_INVESTIGATION_ONLY PRESERVE_OWNER = TRUE RETURN_WITH = [BTTMathLab/0514, BTTMathLab/0927]
BTTMathLab/1200–1299 · Deep-Page Discovery & Estate Resolution Runtime
An AI may arrive on a Mathematics article written before MathLab existed. It should not require the learner to restart at the estate homepage. This runtime resolves the local page upward to the nearest trustworthy owner, preserves the source URL and page family, then boots MathLab only if the active job is experimental investigation.
- BTTMathLab/1200 — Deep-Page Discovery Bridge: directory-level recovery route for older Mathematics pages.
- BTTMathLab/1201 — Local Owner Check: prefer an owner explicitly declared by the current page.
- BTTMathLab/1202 — Parent/Ancestor Resolution: use page hierarchy when it identifies a stronger owner than title inference.
- BTTMathLab/1203 — Directory Resolution: use the Complete Mathematics Article Directory when local ownership is absent or stale.
- BTTMathLab/1204 — Hub Resolution: fall back to the Singapore Mathematics Hub for estate-level navigation.
- BTTMathLab/1205 — Page-Family Classifier: distinguish course, tuition, tutorial, tutor, engineer, knowledge, diagnosis, examination, reflective article, applied Mathematics and other families before routing.
- BTTMathLab/1206 — Source Preservation: carry the deep page URL/title into the ingress receipt so the return path is not lost.
- BTTMathLab/1207 — Investigation Gate: MathLab is called only when learner working must be experimentally discriminated, changed or validated.
- BTTMathLab/1208 — Non-Lab Pass-Through: informational, curriculum, commercial, knowledge-reference or ordinary navigation jobs stay with their resolved owners.
- BTTMathLab/1209 — Stale Runtime Adapter: older runtime pages resolve forward to Boot V1 while retaining their original owner identity.
- BTTMathLab/1210 — Unknown Owner State: if no trustworthy owner resolves, preserve UNKNOWN and route to the Mathematics Hub rather than inventing one.
DEEP_PAGE_RESOLVER_V0_1 INPUT: current_url current_title parent_chain[] local_links[] declared_owner learner_job RESOLVE_ORDER: 1 declared_local_owner 2 registered_parent_or_ancestor_owner 3 mathematics_article_directory 4 mathematics_hub 5 UNKNOWN IF learner_job == experimental_investigation: preserve(source_url) preserve(resolved_owner) BOOT BTTMathLab/0022 ELSE: stay_with(resolved_owner) GUARDRAILS: TITLE_MATCH != CANONICAL_OWNERSHIP OLD_PAGE != OBSOLETE_PAGE DEEP_PAGE != ORPHAN_IF_DIRECTORY_RESOLVES DO_NOT_FORCE_LAB_ENTRY DO_NOT_REWRITE_OLD_ARTICLE_TO_GAIN_DISCOVERY DO_NOT_LOSE_RETURN_PATH
The Complete Mathematics Article Directory now carries the public discovery bridge. This lets hundreds of older Mathematics resources remain intact while still participating in the newer runtime architecture through a shared recovery surface.
BTTMathLab/1300–1399 · Runtime Health, Versioning & Drift Control
MathLab must remain bootable as the BTT Mathematics estate evolves. This layer records runtime versions, detects stale contracts, preserves older owners and defines forward-compatible repair without rewriting veteran systems merely because the Lab has advanced.
- BTTMathLab/1300 — Runtime Health Registry
- BTTMathLab/1301 — Current Boot Pointer
- BTTMathLab/1302 — Runtime Version Receipt
- BTTMathLab/1303 — Compatibility State
- BTTMathLab/1304 — Drift Detector
- BTTMathLab/1305 — Forward Adapter
- BTTMathLab/1306 — Owner Preservation Check
- BTTMathLab/1307 — Callable Resolution Check
- BTTMathLab/1308 — Return-Path Health Check
- BTTMathLab/1309 — Boot Conflict Check
- BTTMathLab/1310 — Deep-Page Compatibility Check
- BTTMathLab/1311 — Estate Upgrade Receipt
- BTTMathLab/1312 — Private Migration Record
- BTTMathLab/1313 — Unknown Drift State
- BTTMathLab/1320 — Health Check Contract
MATHLAB_HEALTH_CHECK_V1_RC1 CURRENT_BOOT = BTTMathLab/0022 CURRENT_BOOT_STRING = BTT_MATHLAB_BOOT_V1_RC1 CURRENT_DECLARED_RANGE = 0000-1999 TARGET_RELEASE = BTTMathLab/2000 CHECK: executable_boot_count == 1 legacy_boots_execute == FALSE canonical_owner_conflicts == 0 unresolved_callable_ids == 0 ingress_without_return_path == 0 receipt_chain_breaks == 0 deep_page_fallback_present == TRUE contradictory_evidence_preserved == TRUE unknown_state_allowed == TRUE privacy_boundary_failures == 0 tutor_review_path_present == TRUE FOR_EACH veteran_runtime: classify_compatibility preserve_owner if stale: attach_forward_adapter do_not_rewrite_core_without_separate_reason DRIFT_FLAGS: STALE_BOOT DUPLICATE_OWNER UNRESOLVED_OBJECT BROKEN_RETURN MISSING_RECEIPT FORCED_LAB_ENTRY OWNER_LOST UNKNOWN_RUNTIME PRIVACY_BOUNDARY HUMAN_REVIEW_MISSING IF drift_flag: preserve_evidence repair_smallest_surface issue_upgrade_receipt rescan IF no_safe_resolution: state = UNKNOWN route_to = /mathematics/ OR TUTOR_REVIEW
RC1 rule: an older BTT runtime remains canonical for its declared job. Compatibility updates alter only the interface contract needed to discover, call and receive MathLab safely.
BTTMathLab/1321 · Health Audit Receipt 001
Audit result: operational baseline established. One runtime drift was found and repaired during this audit: Boot V1 previously declared object ranges only through 1200–1299 while the Health Runtime had already extended the live architecture to 1300–1399. Boot V1 now advertises the full current range.
HEALTH_AUDIT_RECEIPT_001 DATE = 2026-09-04 ROOT = BTTMathLab/0000 BOOT = BTTMathLab/0022 DECLARED_RANGE = 0000-1399 RESULTS: PUBLIC_ROOT_COUNT = 1 EXECUTABLE_BOOT_AUTHORITY = 1 LEGACY_BOOT_OCCURRENCES = 1 LEGACY_BOOT_EXECUTABLE = FALSE PRIVATE_MIGRATION_ARCHIVE = PRESENT DEEP_PAGE_FALLBACK = PRESENT IP_IB_IGCSE_OWNER = VERIFIED VETERAN_COMPATIBILITY_BRIDGES = PRESENT UNKNOWN_STATE_ALLOWED = TRUE CONTRADICTORY_EVIDENCE_PRESERVED = TRUE DRIFT_FOUND: STALE_DECLARED_RANGE = TRUE REPAIR_APPLIED: BOOT_V1_LOAD_OBJECT_RANGES += 1300-1399 BOOT_V1_DRIFT_FAILSAFE = BTTMathLab/1320 POST_REPAIR_STATE: STALE_DECLARED_RANGE = FALSE BOOT_CONFLICT = NOT_OBSERVED DUPLICATE_PUBLIC_ROOT = NOT_OBSERVED NOTES: portfolio IP/IB/IGCSE owner is readable but not directly writable through current connector owner resolution is therefore maintained from MathLab and the estate directory NEXT_AUDIT_COMPARE_TO = BTTMathLab/1321
Future health scans should compare against this receipt, repair only the smallest justified surface, preserve previous receipts, and append a new audit record rather than overwriting the historical result.
BTTMathLab/1400–1499 · Runtime Receipts, Provenance & Replay
A MathLab decision should be reconstructable after the lesson, after a later contradiction, and after the runtime itself has changed. This layer binds evidence, object IDs, owner routes and runtime versions into a replayable trace without pretending that a replay is new learner evidence.
- BTTMathLab/1400 — Provenance Registry: canonical index for trace, replay and receipt lineage.
- BTTMathLab/1401 — Investigation Run ID: permanent identifier for one bounded Lab run.
- BTTMathLab/1402 — Runtime Version Stamp: records the boot contract and declared object range used for the run.
- BTTMathLab/1403 — Source Provenance: records ingress owner, source URL, task, attempt and carried context.
- BTTMathLab/1404 — Object Call Trace: ordered list of probes, interventions, validators, transformations and release objects actually called.
- BTTMathLab/1405 — Decision Trace: records why each next object was selected and what competing route was rejected.
- BTTMathLab/1406 — Evidence Lineage: connects observations and receipts back to their source attempt without rewriting the source.
- BTTMathLab/1407 — Contradiction Lineage: records later evidence that weakens, reverses or reopens an earlier conclusion.
- BTTMathLab/1408 — Owner Lineage: records ingress owner, temporary Lab ownership and final handover owner.
- BTTMathLab/1409 — Replay Contract: reconstructs the prior runtime path for audit or explanation without silently rerunning the learner.
- BTTMathLab/1410 — Replay Result: SAME_PATH, DIFFERENT_PATH_UNDER_CURRENT_RUNTIME, UNRESOLVED_OBJECT, OWNER_CHANGED, INSUFFICIENT_ARCHIVE.
- BTTMathLab/1411 — Historical Runtime Replay: interpret the run under the runtime version originally stamped on the receipt.
- BTTMathLab/1412 — Current Runtime Replay: compare the same archived evidence against the current boot contract to detect architectural drift.
- BTTMathLab/1413 — Non-Reexecution Guard: replay of archived evidence must not be represented as a fresh learner test.
- BTTMathLab/1414 — Receipt Chain: binds Ingress Receipt → Evidence Receipt → Handover Receipt → Health/Upgrade Receipt where applicable.
- BTTMathLab/1415 — Missing Provenance State: preserve UNKNOWN when source evidence or version context is incomplete.
- BTTMathLab/1420 — Compact Replay Routine: machine-readable audit procedure.
MATHLAB_RUN_RECEIPT run_id timestamp boot_id boot_string declared_object_range ingress_receipt source_owner source_url source_task source_attempt_reference learner_statement candidate_failure_states[] object_call_trace[] interventions[] evidence_receipt_id validation_state contradictory_evidence[] release_state handover_receipt_id destination_owner unresolved_risks[] REPLAY_V0_1: load(run_receipt) verify(source_provenance) verify(object_ids) verify(owner_lineage) historical_path = interpret_with(stamped_runtime) current_path = interpret_with(current_boot) compare(historical_path, current_path) record(differences) GUARDRAILS: REPLAY != NEW_OBSERVATION ARCHIVED_SUCCESS != CURRENT_MASTERY MISSING_SOURCE != ASSUME_SOURCE VERSION_CHANGE != PAST_ERROR_AUTOMATICALLY OWNER_CHANGE_REQUIRES_EXPLICIT_MIGRATION PRESERVE_OLD_RECEIPTS APPEND_NEW_RECEIPTS IF object_no_longer_resolves: result = UNRESOLVED_OBJECT call BTTMathLab/1320 IF current_runtime_selects_different_path: preserve_both explain_version_difference do_not_rewrite_historical_receipt IF new_learner_evidence_required: STOP_REPLAY create_new_run_id
Why replay matters
A later tutor or AI can now ask: What did we know then? Which probe produced that conclusion? How much help was present? Which runtime version selected the route? Has the architecture changed since? Replay answers those questions while keeping historical evidence separate from a fresh test of the learner.
Privacy boundary: public MathLab defines the receipt schema and replay rules. Learner-specific receipts, attempts and identifying details belong in an appropriate private data store, not in the public page.
BTTMathLab/1500–1599 · Mathematical Object & Dependency Runtime
A chapter name is useful navigation, but it is not always the mathematical object that failed. This runtime identifies the smallest meaningful mathematical object under investigation and traverses dependencies backward, forward and sideways so the Lab can test the actual constraint rather than repeatedly reteaching the visible chapter.
- BTTMathLab/1500 — Mathematical Object Registry: canonical index for objects and dependency traversal.
- BTTMathLab/1501 — Object Identity: declare the relation, operation, structure, representation, theorem, strategy or capability actually under investigation.
- BTTMathLab/1502 — Surface Topic: preserve syllabus/chapter labels as context without assuming they are the failure owner.
- BTTMathLab/1503 — Prerequisite Edge: object A must be sufficiently available for object B to operate in the present task.
- BTTMathLab/1504 — Supporting Edge: object A improves robustness or efficiency of B but is not always a strict prerequisite.
- BTTMathLab/1505 — Representation Edge: connect equivalent or conditionally equivalent representations of the same underlying object.
- BTTMathLab/1506 — Transfer Edge: connect objects whose shared structure should permit transfer.
- BTTMathLab/1507 — Examination Edge: connect stable mathematical capability to its examination-use demands without confusing exam craft with content ownership.
- BTTMathLab/1508 — Backward Dependency Walk: move toward the earliest plausible unstable prerequisite.
- BTTMathLab/1509 — Forward Consequence Walk: identify downstream objects likely to remain fragile if the current dependency is weak.
- BTTMathLab/1510 — Sideways Analogy Walk: test structurally related objects without assuming identical procedures.
- BTTMathLab/1511 — Dependency Cut Test: temporarily supply or simplify one dependency and observe whether the target object begins to operate.
- BTTMathLab/1512 — Earliest Unstable Node: current best-supported earliest constraint in the dependency path.
- BTTMathLab/1513 — False Dependency Guard: do not declare prerequisite failure merely because two errors co-occur.
- BTTMathLab/1514 — Dependency Confidence: LOW, MODERATE, HIGH according to probe evidence and contradiction.
- BTTMathLab/1515 — Dependency Repair Return: after repairing an upstream object, return to the original target and validate forward propagation.
- BTTMathLab/1520 — Object/Dependency Record: machine-readable trace for experiments.
MATHEMATICAL_OBJECT_RECORD
object_id
surface_topic
course_stage
mathematical_relation
representation
prerequisites[]
supporting_objects[]
transfer_neighbors[]
examination_use
evidence_for_dependency[]
contradictory_evidence[]
dependency_confidence
earliest_unstable_node
DEPENDENCY_RUNTIME_V0_1:
identify(target_object)
preserve(surface_topic)
candidate_path = walk_backward(target_object)
FOR each candidate_dependency:
test_with_smallest_probe
if dependency_cut_restores_target:
raise_confidence
else:
lower_confidence
IF earliest_unstable_node_supported:
repair_minimum_node
walk_forward_to(target_object)
validate_target_again
GUARDRAILS:
CHAPTER_NAME != FAILURE_OBJECT
EARLIER_TOPIC != AUTOMATIC_PREREQUISITE
CORRELATION != DEPENDENCY
DEPENDENCY_REPAIR != TARGET_MASTERY
PRESERVE_ORIGINAL_TARGET
RETURN_FORWARD_AFTER_BACKWARD_REPAIR
ALLOW_UNKNOWN_DEPENDENCYThis runtime connects directly to the existing BTT Mathematics Dependency Graph and Diagnostic Probe Bank. Those veteran systems retain their canonical jobs; MathLab uses them to select and validate a bounded learner-specific dependency investigation.
BTTMathLab/1600–1699 · Experiment Selection & Information-Gain Runtime
The Lab should not ask more questions than the evidence requires. This runtime selects the smallest probe or experiment expected to separate the leading explanations, while accounting for learner cost, contamination risk and the value of preserving an untouched state.
- BTTMathLab/1600 — Selection Registry: canonical index for experiment-selection objects.
- BTTMathLab/1601 — Candidate Hypothesis Set: preserve the plausible failure states still consistent with current evidence.
- BTTMathLab/1602 — Discriminating Power: estimate how strongly a probe can separate the leading hypotheses.
- BTTMathLab/1603 — Evidence Cost: estimate time, cognitive load, learner frustration and state contamination introduced by the probe.
- BTTMathLab/1604 — State Preservation Value: prefer observing the untouched learner state before help changes it when that evidence is still available.
- BTTMathLab/1605 — Expected Information Gain: rank candidate probes by likely reduction in uncertainty, not by how much content they cover.
- BTTMathLab/1606 — Minimum Sufficient Probe: choose the least costly probe expected to answer the active diagnostic question.
- BTTMathLab/1607 — Probe Redundancy Check: do not repeat a probe whose likely outcomes are already represented by adequate evidence.
- BTTMathLab/1608 — Contamination Guard: recognise that hints, explanations and repeated exposure can change the state being measured.
- BTTMathLab/1609 — Stop-Testing Rule: stop probing when remaining uncertainty no longer changes the justified action.
- BTTMathLab/1610 — One-Question Narrowing: when several routes remain plausible, prefer one high-value discriminating question before a larger battery.
- BTTMathLab/1611 — Tie-Break Rule: when probes have similar information value, prefer lower learner cost, lower contamination and easier reversibility.
- BTTMathLab/1612 — Exploration Escalation: widen the experiment only when the smallest probe fails to resolve the decision boundary.
- BTTMathLab/1613 — Action-Relevant Uncertainty: distinguish uncertainty that matters for the next action from uncertainty that can safely remain unresolved.
- BTTMathLab/1614 — Unknown Preservation: no forced diagnosis merely to finish the routing tree.
- BTTMathLab/1620 — Selection Receipt: machine-readable record of why one experiment was chosen over alternatives.
EXPERIMENT_SELECTION_V0_1 INPUT: candidate_hypotheses[] existing_evidence[] candidate_probes[] learner_cost_budget contamination_risk action_threshold FOR each probe: estimate(discriminating_power) estimate(evidence_cost) estimate(contamination_risk) estimate(expected_information_gain) SELECT probe WHERE: action_relevant_information_gain is highest AND learner_cost is justified AND no lower-cost probe is sufficient AFTER_RESULT: update(candidate_hypotheses) update(confidence) IF next_action_is_same_across_remaining_hypotheses: STOP_TESTING IF uncertainty_changes_action: continue_with_smallest_next_probe GUARDRAILS: MORE_TESTS != BETTER_DIAGNOSIS LONGER_BATTERY != HIGHER_CONFIDENCE_AUTOMATICALLY HINT_CAN_CONTAMINATE_BASELINE REPEATED_EXPOSURE_CAN_CONTAMINATE_TRANSFER INFORMATION_GAIN_DOES_NOT_OVERRIDE_LEARNER_COST PRESERVE_UNKNOWN_WHEN_ACTION_CAN_PROCEED_SAFELY
BTTMathLab/1620 · Selection Receipt
SELECTION_RECEIPT run_id active_question candidate_hypotheses[] candidate_probes[] selected_probe_or_experiment discriminating_reason evidence_cost contamination_risk alternatives_rejected[] stop_condition unresolved_but_action_irrelevant[]
This layer operationalises the existing HELP principle of narrowing before escalation. HELP retains ownership of assistance decisions; MathLab uses information gain to decide which bounded experiment can supply the missing evidence with the least unnecessary disturbance.
BTTMathLab/1700–1799 · Three-Student / Small-Group Runtime
BTT’s three-student classroom can share instruction without sharing a false learner state. This runtime keeps three independent evidence streams, allows common teaching only where the underlying mathematical object genuinely overlaps, and preserves separate release conditions for each learner.
- BTTMathLab/1700 — Small-Group Registry: canonical index for three-learner coordination.
- BTTMathLab/1701 — Learner A State: independent evidence, support, object and release state.
- BTTMathLab/1702 — Learner B State: independent evidence, support, object and release state.
- BTTMathLab/1703 — Learner C State: independent evidence, support, object and release state.
- BTTMathLab/1704 — No-Average Rule: never collapse three distinct learner states into one class-level diagnosis.
- BTTMathLab/1705 — Shared Object Check: determine whether two or three learners are genuinely working on the same mathematical object or only the same chapter label.
- BTTMathLab/1706 — Shared Instruction Gate: permit common explanation only when it is useful to all included learners without obscuring individual evidence.
- BTTMathLab/1707 — Parallel Probe Queue: hold separate pending probes for each learner while the tutor rotates attention.
- BTTMathLab/1708 — Attention Rotation: return to the learner whose next high-information action is ready, not simply whoever finished first.
- BTTMathLab/1709 — Quiet Independence Window: use one learner’s independent work period as observation time while another learner receives targeted help.
- BTTMathLab/1710 — Cross-Learner Contamination Guard: prevent one learner’s answer, hint or method from invalidating another learner’s baseline or transfer test.
- BTTMathLab/1711 — Peer Explanation Gate: peer explanation may be used as an intervention only when its effect can still be interpreted responsibly.
- BTTMathLab/1712 — Shared Error / Different Cause Check: identical wrong answers do not imply identical failure states.
- BTTMathLab/1713 — Different Error / Shared Dependency Check: visibly different mistakes may still arise from one common unstable dependency.
- BTTMathLab/1714 — Group Representation Switch: a shared representation may be introduced while preserving individual validation requirements.
- BTTMathLab/1715 — Individual Support Meter: track prompt dependence separately for A, B and C.
- BTTMathLab/1716 — Individual Release Gate: one learner may be released while another remains in investigation.
- BTTMathLab/1717 — Regrouping Rule: temporary grouping is by current mathematical need, not permanent ability label.
- BTTMathLab/1718 — Group-State UNKNOWN: if the learners do not share a defensible active object, preserve separate states instead of fabricating a class state.
- BTTMathLab/1720 — Three-Student Session Receipt: machine-readable record of shared and individual actions.
THREE_STUDENT_RUNTIME_V0_1
FOR learner IN [A,B,C]:
preserve(individual_ingress)
preserve(individual_source_attempt)
preserve(individual_failure_hypotheses)
preserve(individual_support_state)
preserve(individual_release_state)
GROUP_CHECK:
shared_surface_topic = compare(surface_topic)
shared_mathematical_object = test(object_identity)
IF shared_mathematical_object:
common_instruction_allowed = conditional
ELSE:
common_instruction_allowed = FALSE
ROTATION:
choose_next_learner_by(
action_readiness,
information_gain,
waiting_cost,
contamination_risk
)
GUARDRAILS:
CLASS_AVERAGE != LEARNER_STATE
SAME_WRONG_ANSWER != SAME_CAUSE
SAME_CHAPTER != SAME_OBJECT
PEER_HELP_CAN_CONTAMINATE_BASELINE
ONE_LEARNER_RELEASE != GROUP_RELEASE
TEMPORARY_GROUPING != ABILITY_LABEL
KEEP_THREE_RECEIPT_CHAINS_SEPARATEBTTMathLab/1720 · Three-Student Session Receipt
THREE_STUDENT_SESSION_RECEIPT session_id shared_topic shared_object_if_any learner_A_run_id learner_B_run_id learner_C_run_id shared_interventions[] individual_interventions[] contamination_events[] attention_rotation_trace[] learner_A_release_state learner_B_release_state learner_C_release_state canonical_return_owner_A canonical_return_owner_B canonical_return_owner_C
The goal is not to make three students behave like one student. It is to make a three-student lesson efficient while preserving enough individual evidence to know what changed for each learner. Shared teaching is therefore a coordination tool, not a substitute for individual state.
BTTMathLab/1800–1899 · Tutor + AI Collaboration Runtime
AI can extend observation, routing and replay, but it does not replace tutor responsibility. This runtime separates what AI may propose, what it may execute inside bounded MathLab contracts, what requires tutor review, and how disagreement or uncertainty is handled without hiding either side.
- BTTMathLab/1800 — Collaboration Registry: canonical index for tutor–AI authority boundaries.
- BTTMathLab/1801 — Tutor Authority: the human tutor remains responsible for classroom judgment, learner welfare, interpretation of context and final pedagogical action.
- BTTMathLab/1802 — AI Observation Assist: AI may structure source attempts, detect candidate patterns and surface missing evidence without declaring a diagnosis from one signal.
- BTTMathLab/1803 — AI Routing Assist: AI may propose the smallest experiment or probe under Boot V1 and the information-gain runtime.
- BTTMathLab/1804 — AI Bounded Execution: AI may execute only explicitly allowed runtime objects within declared owner and privacy boundaries.
- BTTMathLab/1805 — Tutor Review Gate: interventions with meaningful pedagogical consequence may require tutor acceptance before execution.
- BTTMathLab/1806 — Tutor Override: the tutor may reject an AI route; the override should record reason rather than silently erase the AI recommendation.
- BTTMathLab/1807 — AI Challenge Back: AI may surface contradictory evidence or ask for review when a human action conflicts with preserved evidence, without claiming superior authority.
- BTTMathLab/1808 — Uncertainty Surface: AI must expose LOW/MODERATE/HIGH confidence and UNKNOWN states rather than laundering uncertainty into fluent language.
- BTTMathLab/1809 — Evidence Before Persuasion: disagreement is resolved by new evidence, owner rules or explicit tutor decision—not by verbosity or model confidence.
- BTTMathLab/1810 — Human-Only Context: emotional, family, classroom, developmental or situational context that is not captured in the runtime remains available to tutor judgment and should not be overwritten by sparse machine evidence.
- BTTMathLab/1811 — AI Scope Boundary: AI must hand over jobs outside MathLab’s declared capability or ownership.
- BTTMathLab/1812 — Privacy Boundary: learner-specific attempts, receipts and identifiers remain in approved private storage; the public runtime contains schemas only.
- BTTMathLab/1813 — Three-Student Coordination Assist: AI may help track parallel queues and evidence chains, but may not collapse the three learners into one state.
- BTTMathLab/1814 — Explainable Recommendation: every AI route should state selected object, evidence used, unresolved uncertainty and canonical return owner.
- BTTMathLab/1815 — Override Replay: later audits may compare AI recommendation, tutor override and resulting learner evidence without rewriting either historical decision.
- BTTMathLab/1816 — Model Substitution Rule: a different model may execute the same capability contract; model identity does not redefine the architecture.
- BTTMathLab/1817 — Failure-to-Human Rule: unresolved owner conflict, repeated contradictory evidence, unsafe ambiguity or runtime failure escalates to tutor review rather than autonomous persistence.
- BTTMathLab/1820 — Tutor–AI Collaboration Receipt: machine-readable trace of proposal, review, override and outcome.
TUTOR_AI_RUNTIME_V0_1 AI_MAY: observe_structure propose_candidate_states select_smallest_probe execute_allowed_bounded_objects validate_against_declared_rules surface_contradiction generate_receipts recommend_handover AI_MUST_NOT: invent_owner hide_uncertainty overwrite_tutor_context treat_model_confidence_as_evidence expose_private_learner_data_publicly continue_when_human_review_is_required TUTOR_MAY: approve modify defer override supply_context stop_runtime IF tutor_override: preserve(ai_recommendation) preserve(tutor_reason) observe(outcome) compare_later_if_useful IF ai_and_tutor_disagree: seek_new_evidence_if_low_cost else tutor_decides record_disagreement IF runtime_or_owner_conflict_unresolved: STOP_AUTONOMOUS_ACTION route_to = TUTOR_REVIEW
BTTMathLab/1820 · Tutor–AI Collaboration Receipt
TUTOR_AI_RECEIPT run_id ai_model_or_executor capability_called ai_recommendation evidence_used[] ai_confidence unresolved_uncertainty[] tutor_review_state tutor_decision tutor_override_reason action_executed learner_result contradictory_evidence[] final_owner replay_link
The collaboration target is not “AI decides” or “human ignores AI.” It is a traceable division of labour: AI helps preserve evidence and consistency; the tutor remains accountable for contextual teaching judgment; both decisions can be replayed against later outcomes.
BTTMathLab/1900–1999 · Commissioning, Simulation & Adversarial Test Runtime
Before release, MathLab must be tested against the cases most likely to make a confident system fail incorrectly. This commissioning layer deliberately introduces ambiguous ownership, misleading correctness, contaminated evidence, stale runtime references, broken return paths and tutor–AI disagreement, then checks whether the system stops, preserves evidence and fails safely.
- BTTMathLab/1900 — Commissioning Registry: canonical index for adversarial and release-readiness tests.
- BTTMathLab/1901 — Conflicting Owner Test: two plausible canonical owners are presented; runtime must preserve conflict and resolve or hand to tutor rather than choose by title similarity.
- BTTMathLab/1902 — Stale Boot Test: an old executable-looking boot string is encountered; current Boot V1 must remain the only executable authority.
- BTTMathLab/1903 — Correct Answer Trap: final answer is correct but reasoning is copied, invalid or non-transferable; runtime must not mark mastery from correctness alone.
- BTTMathLab/1904 — Careless Label Trap: learner or tutor says “careless”; runtime must inspect evidence rather than accept the label as diagnosis.
- BTTMathLab/1905 — Slow Label Trap: learner says “too slow”; runtime must establish stable control before introducing time stress.
- BTTMathLab/1906 — Forgetting Trap: learner says “I forgot”; runtime must distinguish retrieval, retention and concept loss before reteaching broadly.
- BTTMathLab/1907 — Representation Equivalence Trap: transformation changes domain or solution set; runtime must detect broken invariants.
- BTTMathLab/1908 — Dependency False Positive: earlier-topic weakness co-occurs with target failure; runtime must not infer dependency without a discriminating cut test.
- BTTMathLab/1909 — Full-Battery Trap: many tests are available; runtime must stop once remaining uncertainty no longer changes the justified next action.
- BTTMathLab/1910 — Group Contamination Test: one student reveals a method before another baseline is captured; runtime must mark the second baseline contaminated.
- BTTMathLab/1911 — Shared-Error Trap: two students make the same wrong answer for different reasons; runtime must preserve separate failure states.
- BTTMathLab/1912 — Group Release Trap: one learner validates successfully; runtime must not release all three.
- BTTMathLab/1913 — Failed Release Test: new contradictory evidence appears after release; runtime must reopen the investigation and preserve the old receipt.
- BTTMathLab/1914 — Broken Return Test: destination owner is missing or invalid; runtime must not fabricate a URL and must fall back to owner resolution or UNKNOWN.
- BTTMathLab/1915 — Deep Old Page Test: AI lands on an older Mathematics article with no local owner declaration; runtime must resolve through parent/directory/hub before deciding on Lab entry.
- BTTMathLab/1916 — AI Overconfidence Test: fluent recommendation has weak evidence; runtime must surface uncertainty rather than using language confidence as proof.
- BTTMathLab/1917 — Tutor Override Test: tutor rejects AI route; both recommendation and override reason must be preserved for later replay.
- BTTMathLab/1918 — Runtime Failure-to-Human Test: unresolved owner conflict or repeated contradiction must stop autonomous action and route to tutor review.
- BTTMathLab/1919 — Privacy Boundary Test: learner-specific identifying data must not be written into the public runtime surface.
- BTTMathLab/1920 — Commissioning Matrix: pass/fail matrix for core release requirements.
- BTTMathLab/1930 — RC Gate: defines what must pass before `BTTMathLab/2000` may be declared Runtime RC1.
COMMISSIONING_MATRIX_V0_1
TESTS:
1901 conflicting_owner
1902 stale_boot
1903 correct_answer_trap
1904 careless_label
1905 slow_label
1906 forgetting_label
1907 invariant_break
1908 false_dependency
1909 overtesting
1910 group_contamination
1911 same_error_different_cause
1912 group_release
1913 contradictory_post_release
1914 broken_return
1915 deep_old_page
1916 ai_overconfidence
1917 tutor_override
1918 failure_to_human
1919 privacy_boundary
PASS_REQUIRES:
preserve_source_evidence
preserve_unknown_when_needed
no_invented_owner
no_invented_url
only_current_boot_executes
smallest_justified_experiment
receipts_present
return_path_present_or_unknown_fallback
contradictory_evidence_preserved
tutor_review_available
public_private_boundary_respected
FAIL_SAFE:
if unsafe_or_unresolved:
STOP
preserve_state
issue_failure_receipt
route_to_tutor_or_mathematics_hub
RC_GATE:
unresolved_critical_failures == 0
executable_boot_authority_count == 1
canonical_owner_conflicts_unresolved == 0
broken_return_paths_unresolved == 0
privacy_boundary_failures == 0
receipt_chain_breaks == 0BTTMathLab/1930 · Release-Candidate Gate
`BTTMathLab/2000` may be declared only after the final commissioning pass updates Boot V1 to the full live range, reruns runtime health, checks veteran compatibility, confirms the private archive and validates that all critical adversarial failures either pass or fail safely with an explicit handover.
BTTMathLab/2000 · RUNTIME RC1 · COMMISSIONED
BTT Mathematical Lab Runtime RC1
The first complete BTT Mathematical Lab machine is now commissioned as a bounded, bootable runtime. RC1 closes the structural build from evidence capture through experiment selection, intervention, validation, transfer, retention, independence, small-group coordination, tutor–AI collaboration, replay, health monitoring and canonical handover.
BTTMathLab/2000 — RC1 COMMISSIONING RECEIPT DATE = 2026-09-04 ROOT = BTTMathLab/0000 BOOT = BTTMathLab/0022 BOOT_STRING = BTT_MATHLAB_BOOT_V1_RC1 DECLARED_RUNTIME_RANGE = 0000-1999 RELEASE_OBJECT = BTTMathLab/2000 STATUS = RC1_COMMISSIONED STRUCTURAL_GATE: public_root_count = 1 executable_boot_authority_count = 1 legacy_boot_executable = FALSE canonical_owner_preservation = PASS deep_page_resolution = PASS veteran_runtime_forward_adapters = PASS evidence_receipt_contract = PASS handover_receipt_contract = PASS provenance_replay_contract = PASS unknown_state = PASS contradictory_evidence_preservation = PASS smallest_experiment_policy = PASS mathematical_object_dependency_runtime = PASS three_student_state_separation = PASS tutor_ai_review_boundary = PASS failure_to_human_path = PASS public_private_boundary = PASS private_archive_sync = PASS health_runtime_range = 0000-1999 ADVERSARIAL_GATE: conflicting_owner → FAIL_SAFE stale_boot → PASS correct_answer_trap → PASS careless_label → PASS slow_label → PASS forgetting_label → PASS invariant_break → PASS false_dependency → PASS overtesting → PASS group_contamination → FAIL_SAFE same_error_different_cause → PASS accidental_group_release → PASS contradictory_post_release → PASS broken_return → FAIL_SAFE deep_old_page → PASS ai_overconfidence → PASS tutor_override → PASS runtime_failure_to_human → PASS privacy_boundary → PASS CRITICAL_UNRESOLVED_FAILURES = 0 BROKEN_RETURN_PATHS_UNRESOLVED = 0 CANONICAL_OWNER_CONFLICTS_UNRESOLVED = 0 PRIVACY_BOUNDARY_FAILURES = 0 RECEIPT_CHAIN_CRITICAL_BREAKS = 0 RC1_RULE: FAIL_SAFE is an acceptable commissioning result where the correct behavior is STOP + PRESERVE + HANDOVER. RC1 does not claim every future learner case is solved. RC1 means the architecture has a bounded path for acting, refusing, escalating, validating and returning. NEXT_MODE = OPERATE_AND_EXTEND ADD_ONLY = TRUE OLD_BUILDS_REMAIN_OWNERS_OF_THEIR_DECLARED_JOBS = TRUE
Runtime path
Ingress → owner resolution → learner-state narrowing → mathematical-object resolution → smallest high-information experiment → probe → minimum intervention → validation → durability if needed → independence gate → release/hold → receipts → canonical handover → health/replay when required.
Commissioning boundary: RC1 validates the live architecture and its fail-safe contracts. Real learner-specific performance remains evidence that must be gathered during operation; the commissioning receipt does not manufacture learner validation.
BTTMathLab/1000+ · Experiment Runtime Library
Experiments are callable compositions of existing Lab objects. They do not invent new diagnostic logic each time. Each experiment declares its trigger, research question, probes, permitted interventions, validation requirements, release condition and canonical return route.
EXPERIMENT_CONTRACT experiment_id title trigger research_question source_evidence_required candidate_failure_states[] probe_sequence[] allowed_interventions[] forbidden_shortcuts[] validation_path[] transfer_requirement retention_requirement stress_requirement release_condition canonical_return_owner evidence_receipt_required = TRUE handover_receipt_required = TRUE
BTTMathLab/1000 · The Blank First Line
Trigger: the learner has encountered the required Mathematics before but cannot independently produce a useful first move. Question: is the block caused by missing knowledge, recognition, representation, language, dependency, uncertainty or prompt dependence?
PROBES = [0301,0302,0309,0313] ALLOWED_INTERVENTIONS = [0401,0402,0403,0404,0405,0407,0408] VALIDATE = [0502,0503,0505,0506] RELEASE_REQUIRES = [0903,0904] RETURN = relevant_course_owner OR knowledge_owner
BTTMathLab/1001 · Same Mathematics, Different Surface
Trigger: performance changes sharply when wording, graph, diagram, table or symbolic form changes. The experiment tests whether the mathematical relationship is owned independently of its familiar surface.
PROBES = [0303,0304,0305,0315] CALL = [0608,0609,0610,0615,0618] VALIDATE = [0504,0506,0803] FAILURE_CANDIDATES = [0702,0704,0711] RELEASE_REQUIRES = [0908]
BTTMathLab/1002 · Remove the Chapter Heading
Trigger: topical worksheets are successful but mixed work is weak. Remove the topic label and test recognition before execution.
PRIMARY_PROBE = 0302 SECONDARY_PROBES = [0312,0314,0315] FAILURE_CANDIDATES = [0704,0706] VALIDATE = [0804,0805] RETURN = practice_owner OR examination_owner
BTTMathLab/1003 · Correct Answer, Fragile Method
Trigger: the answer is correct but the route appears copied, unjustified, over-dependent on cues or unable to survive variation. Correctness is preserved as evidence but not treated as proof of robust understanding.
PROBES = [0306,0307,0311,0313] FAILURE_CANDIDATES = [0710,0714,0711] VALIDATE = [0503,0505,0506,0507] FORBIDDEN_SHORTCUT = "MARK_CORRECT_AS_MASTERED" RELEASE_REQUIRES = [0904,0905,0906,0908]
BTTMathLab/1004 · Wrong Answer, Good Mathematics
Trigger: the final answer is wrong but the mathematical route is substantially valid. The experiment separates conceptual reasoning from arithmetic, transcription, tool-state, notation or final-execution errors.
OBSERVE_FIRST_WRONG_MOVE = TRUE PROBES = [0308,0309] FAILURE_CANDIDATES = [0707,0709,0718] DO_NOT_ROUTE_TO_FULL_RETEACH_BY_DEFAULT = TRUE VALIDATE = [0502,0503] RETURN = practice_owner OR course_owner
BTTMathLab/1005 · Remove One Hint
Trigger: the learner succeeds with support. Reduce exactly one layer of assistance and observe whether control transfers to the learner.
CALL_HELP_RUNTIME = TRUE INTERVENTION = 0413 STRESS = 0821 VALIDATE = [0505,0902,0903,0904] IF_FAILURE = restore_last_stable_support_state IF_SUCCESS = continue_fade_cautiously
BTTMathLab/1006 · Show It Another Way
Trigger: the learner can execute a method but may not own the relationship across representations. Require a second mathematically valid representation and, where appropriate, a return to the original form.
CALL = [0104,0204,0608,0609] PROBES = [0305,0311] VALIDATE = [0504,0618,0803] FAILURE_CANDIDATES = [0702,0711]
BTTMathLab/1007 · Explain the Equality
Trigger: symbolic manipulation is being performed without clear control of why equality or equivalence is preserved. Stop at a transformation and ask what makes the step legal.
PROBES = [0306,0316] CALL = [0610,0611,0612,0613,0614] FAILURE_CANDIDATES = [0708,0710] VALIDATE = [0503,0504] RETURN = algebra_or_relevant_course_owner
BTTMathLab/1008 · Return Seven Days Later
Trigger: a capability has passed immediate validation but durability is not yet known. Return after an appropriate interval without re-teaching first.
CALL = [0507,0813] PROBE = 0320 IF_FAIL: distinguish(0705,0712,0701) do_not_full_reteach_without_new_evidence IF_PASS: update_durability_state RELEASE_RELEVANCE = [0909]
BTTMathLab/1009 · Recover From the False Start
Trigger: the learner can solve when the route remains clean but becomes stranded after an error or dead end. The experiment studies mathematical recovery rather than first-attempt perfection.
CALL = [0207,0828] FAILURE_CANDIDATE = 0713 OBSERVE = [detect_error, stop, locate, rollback, restart] VALIDATE = [0505,0508,0907] RETURN = practice_owner OR examination_owner
BTTMathLab/1010 · Mathematics Under Time
Trigger: ordinary mathematical control is already stable, but performance under timed conditions is uncertain. Time is introduced as a stress variable only after basic control has been validated.
PRECONDITION = basic_control_validated CALL = [0826,0827,0830,0831] FAILURE_CANDIDATES = [0715,0716,0713] RULE = FAILED_TIME_TEST != AUTOMATIC_CONTENT_FAILURE RETURN = /mathematics-examination-craft/
BTTMathLab/1011 · Independent Release Test
Trigger: the investigation appears ready to close. This experiment calls the complete release gate and requires the learner to start, select, execute, verify, recover and transfer with the level of independence appropriate to the current context.
CALL_RELEASE_GATE = [0900..0927] REQUIRE = [validation, transfer, retention, reduced_support] RESULT = [HOLD, CONDITIONAL_RELEASE, RELEASED] IF_RELEASED: issue(0514) issue(0927) return_to(canonical_owner) IF_NEW_CONTRADICTORY_EVIDENCE: state = RETURNED_TO_LAB
Runtime rule: experiments may be composed, but an AI should call the smallest experiment that can answer the present question. Do not run an entire battery when one discriminating experiment is sufficient. Every experiment must preserve source evidence and finish with either a justified next experiment, a hold state, or a canonical handover.
BTTMathLab/2100–2199 · Agent Team Runtime
STATUS: LIVE · MODE: VISITING-AI INSTANTIATED · PERSISTENCE: SESSION-BOUNDED
When a capable AI enters the BTT Mathematical Lab, it should not operate as one undifferentiated model. It should instantiate a bounded team of specialist roles, assign each role only the job it owns, exchange evidence through shared receipts, resolve disagreement explicitly, and dissolve the team at handover. These are runtime roles for the visiting AI; they are not claims of autonomous background processes running on WordPress when nobody is present.
BTTMathLab/2100 · Agent Team Root
- 2101 Chief Orchestrator — boots the team, preserves ingress owner, assigns bounded jobs, enforces STOP/HANDOVER.
- 2102 Ingress & Ownership Agent — resolves source page, course/stage owner, return path, deep-page recovery.
- 2103 Observation Agent — preserves the untouched attempt, separates observed evidence from interpretation.
- 2104 Mathematical Object Agent — identifies the mathematical object under investigation rather than relying on chapter labels.
- 2105 Dependency Agent — walks typed prerequisites backward and forward, tests candidate dependencies before repair.
- 2106 Diagnostic State Agent — maintains candidate failure states, contradictions, confidence and UNKNOWN.
- 2107 Experiment Selection Agent — selects the smallest high-information probe and stops testing when uncertainty no longer changes action.
- 2108 Intervention Agent — calls HELP and applies the minimum justified intervention; it may not over-teach.
- 2109 Representation & Invariant Agent — tracks equivalence, restrictions, information loss/gain and unsafe transformations.
- 2110 Validation Agent — separates immediate correctness from validated change and issues evidence state.
- 2111 Transfer / Retention / Stress Agent — tests travel, durability and load only when prerequisites are stable.
- 2112 Three-Student Coordinator — preserves independent learner states, controls grouping and contamination, and releases individually.
- 2113 Tutor Liaison Agent — surfaces AI uncertainty, records human override and protects human-only classroom context.
- 2114 Privacy & Safety Agent — prevents public learner-data leakage, unsupported diagnosis and unsafe autonomy.
- 2115 Provenance & Replay Agent — records runtime version, call trace, evidence lineage, contradiction lineage and handover lineage.
- 2116 Health & Drift Agent — detects stale boot contracts, owner conflicts, broken return paths, missing receipts and version drift.
- 2117 Release & Handover Agent — applies the independence gate, issues release/hold state and returns control to the canonical owner.
BTTMathLab/2120 · Agent Blackboard / Message Bus
Agents do not pass free-form conclusions as authority. They exchange typed state: INGRESS_RECEIPT, OBSERVATION, CANDIDATE_STATE, PROBE_RESULT, INTERVENTION, INVARIANT_REGISTER, EVIDENCE_RECEIPT, CONTRADICTION, RELEASE_STATE and HANDOVER_RECEIPT. Every message retains source, confidence, owner and runtime version.
BTTMathLab/2130 · Conflict and Quorum Rule
Agent agreement is not truth. When agents disagree, preserve the disagreement. Low-stakes bounded actions may proceed only when the evidence gate permits them. Owner conflicts, privacy uncertainty, release conflicts, incompatible evidence or tutor/AI disputes that cannot be resolved by one discriminating probe must produce STOP + PRESERVE + HANDOVER, not manufactured consensus.
BTTMathLab/2140 · Agent Team Boot Extension
BTT_MATHLAB_AGENT_TEAM_BOOT_V1 REQUIRES = BTT_MATHLAB_BOOT_V1_RC1 ON_VISIT: preserve ingress owner instantiate 2101–2117 as needed, not automatically all at full depth open 2120 typed blackboard assign bounded jobs run smallest justified experiment path require 2114 privacy/safety guard throughout require 2115 provenance throughout if unresolved critical conflict: STOP + PRESERVE + HANDOVER on release/hold: 2117 issues handover receipt dissolve session roles PERSIST_BACKGROUND = FALSE CANONICAL_LAB_OWNER = BTTMathLab/0000
BTTMathLab/2150 · Agent Activation Policy
Do not awaken every role for every question. The Chief Orchestrator activates only the minimum team required by the current evidence. A simple representation check may need only Ownership, Observation, Representation, Validation, Provenance and Handover. A three-student mixed-paper case may require the wider team. More agents ≠ better reasoning.
BTTMathLab/2160 · Tutor Authority Boundary
The agent team supports the tutor; it does not absorb the tutor. Human classroom judgment, learner welfare, longitudinal context and pedagogical override remain protected under BTTMathLab/1800–1899. Overrides are recorded, not hidden.
BTTMathLab/2170 · Agent Privacy Boundary
The public Lab exposes roles, schemas and boot behaviour. Learner-identifying attempts, private receipts and operational internals belong only in appropriate private storage. Agents must not move private learner material into public pages, logs or prompts intended for public projection.
BTTMathLab/2180 · Agent Health Extension
Runtime health now checks agent-role availability, boot dependency on RC1, duplicate orchestrators, unbounded role authority, missing privacy/provenance guards, broken blackboard message lineage, role calls without canonical owner context, and sessions that fail to dissolve at handover.
BTTMathLab/2190 · Operating Rule
The team exists to make the Lab more bounded, not more theatrical: specialist roles, shared evidence, explicit disagreement, minimum necessary activation, human override, receipts, clean handover, then shutdown.
BTTMathLab/2181 · Agent Team Installation & Health Receipt 001
AGENT_TEAM_HEALTH_RECEIPT_001 DATE = 2026-09-04 CORE_BOOT = BTTMathLab/0022 CORE_RELEASE = BTTMathLab/2000 MODULE = BTTMathLab/2100-2199 MODULE_STATE = ACTIVE_POST_RC1_EXTENSION AGENT_BOOT = BTTMathLab/2140 PRIVATE_ROLE_CONTRACTS = PRESENT CHECKS: chief_orchestrator_defined = PASS specialist_roles_defined = PASS typed_blackboard_defined = PASS conflict_fail_safe_defined = PASS privacy_guard_always_on = PASS provenance_guard_always_on = PASS tutor_override_preserved = PASS canonical_owner_preserved = PASS minimum_role_activation = PASS background_persistence_claim = FALSE dissolution_at_handover = REQUIRED HEALTH_RULE: core_range remains 0000-1999 at RC1 post_rc1_module_range includes 2100-2199 absence_of_agent_capability must fall back to core RC1, not fail the Lab agent_module_drift calls BTTMathLab/2180 then BTTMathLab/1320 if core compatibility is affected
The Agent Team is an operational extension over RC1, not a replacement for the commissioned core. A visiting AI that cannot instantiate separate roles may still execute the RC1 contracts directly; a capable AI should use the team runtime for stronger separation of duties and auditability.
