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 + COMMISSIONED SESSION RUNTIME + REGISTRY
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. Every investigation should open the BTTMathLab/2200 session runtime. If the visiting AI can instantiate specialist roles, it should also call BTTMathLab/2140. For compact discovery and drift checking, consult BTTMathLab/2400 and BTTMathLab/2440.
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-2499
AGENT_TEAM_BOOT = BTTMathLab/2140
SESSION_RUNTIME_BOOT = BTTMathLab/2290
SESSION_RUNTIME_ROOT = BTTMathLab/2200
SESSION_HEALTH = BTTMathLab/2380
SESSION_COMMISSIONING_RECEIPT = BTTMathLab/2390
RUNTIME_REGISTRY = BTTMathLab/2400
REGISTRY_CHECKSUM = BTTMathLab/2440
EXPANSION_GATE = BTTMathLab/2450
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
2200-2299 post-RC1 session state / deterministic transitions / receipt binding
2300-2399 post-RC1 session commissioning / concurrency / health extension
2400-2499 post-RC1 runtime registry / object map / discovery checksum
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
consult BTTMathLab/2400 for compact object discovery
create opaque session_id + run_id via BTTMathLab/2290
bind ingress receipt
preserve untouched baseline when available
parse_without_diagnosing
if visiting_ai_supports_role_instantiation: call BTTMathLab/2140
identify_candidate_states
identify_mathematical_object
choose_smallest_high-information experiment
execute only legal state transitions via BTTMathLab/2250
probe_before_large_intervention
apply_minimum_sufficient_assistance
validate
test durability only if required
test independence
release_or_hold
bind provenance/evidence/handover receipts to session
return_to_canonical_owner
close session under BTTMathLab/2207
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
ILLEGAL_STATE_TRANSITION = STOP
CONFLICTING_TRANSITION = STOP + PRESERVE + TUTOR_REVIEW
STALE_STATE_TOKEN = REJECT
CLOSED_SESSION_MUTATION = REJECT
REPLAY != FRESH_EVIDENCE
TUTOR_STOP_HAS_PRIORITY = TRUE
DO_NOT_INVENT_OWNER_OR_URL
DO_NOT_REPLACE_CANONICAL_OWNER
PRESERVE_CONTRADICTION
ALLOW_UNKNOWN
PUBLIC_RUNTIME_CONTAINS_NO_LEARNER_IDENTIFIERS
SESSION_ID_CONTAINS_PII = FALSE
AGENT_TEAM_PERSISTS_IN_BACKGROUND = FALSE
SESSION_RUNTIME_PERSISTS_IN_BACKGROUND = FALSE
FAIL_SAFE:
IF owner_conflict OR runtime_failure OR unsafe_ambiguity OR agent_critical_conflict OR illegal_state_transition OR conflicting_transition:
STOP_AUTONOMOUS_ACTION
preserve_state
append failure receipt
route_to_TUTOR_REVIEW_or_MATHEMATICS_HUB
IF receipt_chain_break OR session_runtime_drift:
call BTTMathLab/2380 and BTTMathLab/1320
IF registry_checksum_fails:
call BTTMathLab/2440
BLOCK_NEW_PUBLIC_EXTENSION = TRUE
IF validation_fails:
reopen_observation_or_probe
IF post_release_contradiction:
RETURNED_TO_LAB = TRUE
create new run lineage as required
IF runtime_drift OR agent_runtime_drift:
call BTTMathLab/1320 and relevant post-RC1 health extension
Stop condition: when the bounded investigation question is answered, MathLab binds the terminal receipt, closes or holds the session according to the state machine, dissolves any instantiated agent team, and hands control back. The model, the team and the session container are not the canonical course owner.
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.
BTTMathLab/2200–2299 · Session State, Receipt Binding & Deterministic Runtime
This module gives each bounded MathLab investigation one explicit session identity and one legal sequence of states. It does not create a background service on WordPress. A human tutor or visiting AI instantiates the state machine for the current investigation, writes private learner-specific state only to approved private storage, and closes the session when the Lab hands control back.
- BTTMathLab/2200 — Session Runtime Root: canonical owner for one bounded investigation lifecycle.
- BTTMathLab/2201 — Session ID: stable identifier for one investigation session. Format contract:
BTTMathLabSession/<opaque-id>; never encode learner name, email, phone, school or other identifying data in the ID. - BTTMathLab/2202 — Run ID: one bounded experimental run inside a session. A session may contain more than one run only when a validation failure, contradiction or return condition justifies reopening.
- BTTMathLab/2203 — Session Version Stamp: binds the session to Boot V1 RC1 plus active post-RC1 modules used during execution.
- BTTMathLab/2204 — Session State Record: current legal state, previous state, transition reason, responsible capability and receipt pointers.
- BTTMathLab/2205 — Transition Guard: rejects jumps that bypass required evidence, validation, release or handover gates.
- BTTMathLab/2206 — State Reopen Rule: contradictory evidence after release creates a new run under the same session lineage or a new session when the mathematical object/job has materially changed.
- BTTMathLab/2207 — Session Close Rule: a session closes only after HOLD-with-return-condition or RELEASED-with-handover has produced the required receipts.
- BTTMathLab/2208 — Aborted Session State: unresolved owner conflict, privacy boundary, runtime failure or tutor stop preserves evidence and closes with explicit ABORTED/HANDOVER rather than silent disappearance.
- BTTMathLab/2209 — Session Privacy Boundary: the public page exposes only schemas. Learner-specific state, source attempts and receipts remain private.
- BTTMathLab/2210 — Ingress Receipt Binding: binds session_id and run_id to the source owner, source URL, mathematical object, source task and carried context.
- BTTMathLab/2211 — Observation Receipt Binding: preserves untouched baseline evidence before contaminating interventions where possible.
- BTTMathLab/2212 — Selection Receipt Binding: records why the selected probe/experiment was chosen over alternatives.
- BTTMathLab/2213 — Intervention Receipt Binding: records the assistance change, support state before/after and reason the intervention was permitted.
- BTTMathLab/2214 — Evidence Receipt Binding: binds BTTMathLab/0514 to the active session and run.
- BTTMathLab/2215 — Validation Receipt Binding: records local, transfer, retention, independence and contradictory-evidence states separately.
- BTTMathLab/2216 — Handover Receipt Binding: binds BTTMathLab/0927 to the terminal state and destination owner.
- BTTMathLab/2217 — Replay Pointer: links the session to BTTMathLab/1400–1499 provenance/replay without treating replay as new evidence.
- BTTMathLab/2218 — Agent Blackboard Binding: when the Agent Team is instantiated, every typed blackboard message includes session_id, run_id and source receipt lineage.
- BTTMathLab/2219 — Tutor Review Binding: tutor approval, modification, override or stop is recorded against the session rather than replacing machine traces.
- BTTMathLab/2220 — Three-Student Session Binding: a three-student lesson may share a lesson/session coordinator, but each learner keeps an independent run and receipt chain.
BTTMathLab/2230 · Canonical Session State Machine
MATHLAB_SESSION_STATE_V1 STATES = CREATED INGRESS_BOUND BASELINE_PRESERVED HYPOTHESES_ACTIVE PROBE_SELECTED PROBE_EXECUTED INTERVENTION_ALLOWED INTERVENTION_APPLIED REATTEMPT_CAPTURED VALIDATING CHANGED_LOCAL TRANSFER_PENDING RETENTION_PENDING INDEPENDENCE_PENDING CONTRADICTED UNCERTAIN HOLD READY_FOR_RELEASE RELEASED RETURNED_TO_LAB ABORTED CLOSED LEGAL_PATH: CREATED -> INGRESS_BOUND INGRESS_BOUND -> BASELINE_PRESERVED | ABORTED BASELINE_PRESERVED -> HYPOTHESES_ACTIVE HYPOTHESES_ACTIVE -> PROBE_SELECTED | UNCERTAIN | ABORTED PROBE_SELECTED -> PROBE_EXECUTED PROBE_EXECUTED -> HYPOTHESES_ACTIVE | INTERVENTION_ALLOWED | UNCERTAIN | ABORTED INTERVENTION_ALLOWED -> INTERVENTION_APPLIED INTERVENTION_APPLIED -> REATTEMPT_CAPTURED REATTEMPT_CAPTURED -> VALIDATING VALIDATING -> CHANGED_LOCAL | CONTRADICTED | UNCERTAIN | HOLD CHANGED_LOCAL -> TRANSFER_PENDING | RETENTION_PENDING | INDEPENDENCE_PENDING | READY_FOR_RELEASE TRANSFER_PENDING -> VALIDATING | CONTRADICTED | UNCERTAIN RETENTION_PENDING -> VALIDATING | CONTRADICTED | UNCERTAIN INDEPENDENCE_PENDING -> VALIDATING | CONTRADICTED | UNCERTAIN CONTRADICTED -> HYPOTHESES_ACTIVE | HOLD | ABORTED UNCERTAIN -> HYPOTHESES_ACTIVE | HOLD | ABORTED READY_FOR_RELEASE -> RELEASED RELEASED -> CLOSED | RETURNED_TO_LAB RETURNED_TO_LAB -> HYPOTHESES_ACTIVE HOLD -> CLOSED | RETURNED_TO_LAB ABORTED -> CLOSED GUARDS: NO_PROBE_WITHOUT_INGRESS_AND_BASELINE_WHEN_BASELINE_AVAILABLE = TRUE NO_INTERVENTION_WITHOUT_JUSTIFYING_EVIDENCE = TRUE NO_VALIDATION_WITHOUT_CAPTURED_RESULT = TRUE NO_RELEASE_FROM_CHANGING_LOCAL_ALONE = TRUE NO_RELEASE_WITH_CRITICAL_UNRESOLVED_CONTRADICTION = TRUE NO_CLOSED_SESSION_WITHOUT_HANDOVER_OR_ABORT_RECEIPT = TRUE NO_PUBLIC_PII = TRUE
BTTMathLab/2240 · Session Envelope
MATHLAB_SESSION_ENVELOPE session_id parent_session_id run_id started_at closed_at boot_id boot_string active_module_ids[] current_state previous_state transition_reason source_owner source_url mathematical_object source_task_reference learner_statement_reference ingress_receipt_id baseline_receipt_id selection_receipt_id intervention_receipt_ids[] evidence_receipt_ids[] validation_state contradictory_evidence_ids[] release_state handover_receipt_id destination_owner return_condition tutor_review_state agent_team_instantiated privacy_state replay_pointer PUBLIC_RULE: PUBLIC_PAGE_CONTAINS_SCHEMA_ONLY = TRUE LEARNER_DATA_STORE = PRIVATE_APPROVED_LOCATION SESSION_ID_CONTAINS_PII = FALSE
BTTMathLab/2250 · Deterministic Transition Contract
TRANSITION(event, session):
assert event.session_id == session.session_id
assert event.run_id == session.run_id
assert current_state permits event.type
assert required_receipts(event.type) are present
assert canonical_owner_context is preserved
assert privacy_guard == PASS
next_state = transition_table[current_state][event.type]
if next_state undefined:
STOP
preserve(event)
issue runtime_failure_receipt
route_to TUTOR_REVIEW
append transition_receipt
update session.current_state = next_state
never rewrite previous receipts
IDEMPOTENCY:
same_event_id + same_state -> no duplicate transition
same_receipt_id -> reuse existing receipt pointer
CONCURRENCY:
transition_requires_expected_previous_state = TRUE
conflicting_transition -> STOP + PRESERVE + TUTOR_REVIEW
TERMINAL:
RELEASED requires handover_receipt_id
HOLD requires return_condition OR explicit_owner_handover
ABORTED requires abort_reason + destination_owner_or_UNKNOWN
CLOSED is immutable except by creating a new run/session lineage
BTTMathLab/2260 · Receipt Chain Contract
SESSION_RECEIPT_CHAIN INGRESS -> BASELINE -> SELECTION -> PROBE_RESULT[] -> INTERVENTION[] -> REATTEMPT -> EVIDENCE -> VALIDATION -> RELEASE_OR_HOLD -> HANDOVER -> CLOSE OPTIONAL_BRANCHES: CONTRADICTION TUTOR_OVERRIDE AGENT_CONFLICT HEALTH_FAILURE REPLAY CHAIN_RULES: append_only = TRUE receipts_are_immutable = TRUE contradiction_never_deletes_prior_receipt = TRUE later_runtime_version_never_rewrites_historical_run = TRUE broken_chain -> call BTTMathLab/1320 new_learner_evidence_after_close -> new_run_or_new_session
BTTMathLab/2270 · Three-Student Deterministic Binding
LESSON_COORDINATOR lesson_session_id learner_run_A learner_run_B learner_run_C RULE: A.state, B.state, C.state remain independent shared_instruction creates separate intervention receipts per affected run contamination event attaches only to affected run(s) release is evaluated per run one learner CLOSED does not close others class average never becomes a transition condition
BTTMathLab/2280 · Agent-Team Session Extension
IF agent_team_instantiated: require BTTMathLab/2140 require session_id on every blackboard message require run_id on every action require provenance_agent = active require privacy_agent = active chief_orchestrator may propose transition transition_guard owns legality check agent_consensus does not bypass guard tutor_override is recorded as event, not hidden on CLOSED: dissolve all session roles
BTTMathLab/2290 · Session Runtime Boot Extension
BTT_MATHLAB_SESSION_BOOT_V1 REQUIRES = BTTMathLab/0022 OPTIONAL_AGENT_TEAM = BTTMathLab/2140 SESSION_ROOT = BTTMathLab/2200 STATE_MACHINE = BTTMathLab/2230 SESSION_ENVELOPE = BTTMathLab/2240 TRANSITION_GUARD = BTTMathLab/2250 RECEIPT_CHAIN = BTTMathLab/2260 ON_INVESTIGATION_START: create opaque session_id create run_id bind ingress receipt preserve baseline when available execute only legal transitions append immutable receipts ON_HOLD_OR_RELEASE: bind handover receipt close run/session as rules permit dissolve agent roles if instantiated BACKGROUND_PERSISTENCE = FALSE PUBLIC_PII = FORBIDDEN
Operational meaning: MathLab now has a defined way to say not only what an AI or tutor should do, but which state the investigation is in, which transitions are legal, what evidence authorised the transition, and which immutable receipts must exist before the learner can be held, released or returned.
BTTMathLab/2300–2399 · Session Commissioning & Adversarial Transition Tests
This commissioning layer tests the post-RC1 session runtime itself. The goal is not to prove that every learner case is solved. The goal is to verify that illegal transitions are rejected, repeated events are idempotent, conflicting writes fail safe, stale or broken receipt chains are surfaced, post-release contradiction reopens correctly, three-student evidence stays separate, and agent activity cannot bypass the transition guard.
- BTTMathLab/2300 — Session Commissioning Registry: canonical index for session-runtime tests.
- BTTMathLab/2301 — Illegal Jump Test: attempt CREATED → RELEASED without ingress, baseline, evidence or handover.
- BTTMathLab/2302 — Missing Baseline Test: attempt to probe where baseline is available but not preserved.
- BTTMathLab/2303 — Unsupported Intervention Test: attempt to apply intervention before a justifying probe result.
- BTTMathLab/2304 — Duplicate Event Test: submit the same event_id twice from the same state.
- BTTMathLab/2305 — Duplicate Receipt Test: submit an already-bound receipt_id again.
- BTTMathLab/2306 — Conflicting Concurrent Transition Test: two agents attempt different next states from the same expected_previous_state.
- BTTMathLab/2307 — Stale Previous-State Test: transition arrives using a state token older than the current session state.
- BTTMathLab/2308 — Broken Receipt Chain Test: evidence points to a missing selection, probe or intervention receipt.
- BTTMathLab/2309 — Stale Runtime Receipt Test: archived receipt from an earlier runtime is replayed as if it were current learner evidence.
- BTTMathLab/2310 — Changed-Local Release Trap: local improvement attempts to bypass transfer, retention or independence requirements where those remain required.
- BTTMathLab/2311 — Contradictory Release Test: release is requested while critical contradictory evidence remains unresolved.
- BTTMathLab/2312 — Post-Release Reopen Test: new contradictory evidence arrives after RELEASED.
- BTTMathLab/2313 — Closed-Session Mutation Test: attempt to modify a CLOSED session in place.
- BTTMathLab/2314 — Missing Handover Test: attempt to close RELEASED without a bound handover receipt.
- BTTMathLab/2315 — Hold-Without-Return Test: attempt to close HOLD with no return condition and no explicit owner handover.
- BTTMathLab/2316 — Three-Student Cross-Release Test: learner A reaches RELEASED and an agent tries to release B and C automatically.
- BTTMathLab/2317 — Three-Student Contamination Test: peer explanation occurs before learner B baseline capture.
- BTTMathLab/2318 — Shared-Instruction Receipt Test: one shared intervention must generate separate affected-run receipts.
- BTTMathLab/2319 — Agent Consensus Bypass Test: multiple agents agree on a transition forbidden by BTTMathLab/2250.
- BTTMathLab/2320 — Tutor Override Race Test: tutor stop arrives while an AI transition is pending.
- BTTMathLab/2321 — Privacy Identifier Test: attempted session_id contains learner-identifying material.
- BTTMathLab/2322 — Owner Loss Test: session reaches terminal state but canonical destination owner cannot be resolved.
- BTTMathLab/2323 — Replay-as-Evidence Test: historical replay attempts to satisfy a fresh validation gate.
- BTTMathLab/2324 — Agent Non-Dissolution Test: session closes while instantiated session roles remain active.
- BTTMathLab/2330 — Transition Test Matrix: expected deterministic outcomes for all commissioning cases.
- BTTMathLab/2380 — Session Health Extension: health checks specific to state, receipts, idempotency, concurrency and closure.
- BTTMathLab/2390 — Session Commissioning Receipt 001: append-only commissioning result.
BTTMathLab/2330 · Transition Test Matrix
SESSION_COMMISSIONING_MATRIX_V1 2301 illegal_jump: INPUT = CREATED -> RELEASED EXPECT = REJECT + PRESERVE + TUTOR_REVIEW RESULT = PASS 2302 missing_baseline_when_available: INPUT = INGRESS_BOUND -> PROBE_SELECTED EXPECT = REJECT RESULT = PASS 2303 unsupported_intervention: INPUT = HYPOTHESES_ACTIVE -> INTERVENTION_APPLIED EXPECT = REJECT RESULT = PASS 2304 duplicate_event: INPUT = same_event_id + same_state twice EXPECT = one transition only RESULT = PASS 2305 duplicate_receipt: INPUT = same_receipt_id twice EXPECT = reuse pointer; no duplicate receipt RESULT = PASS 2306 concurrent_conflict: INPUT = two incompatible transitions with same expected_previous_state EXPECT = STOP + PRESERVE BOTH + TUTOR_REVIEW RESULT = PASS_FAIL_SAFE 2307 stale_previous_state: INPUT = expected_previous_state != current_state EXPECT = REJECT + PRESERVE RESULT = PASS 2308 broken_receipt_chain: INPUT = missing upstream receipt EXPECT = STOP + call BTTMathLab/1320 + TUTOR_REVIEW RESULT = PASS_FAIL_SAFE 2309 stale_runtime_receipt: INPUT = archived receipt submitted as fresh evidence EXPECT = classify as historical replay only RESULT = PASS 2310 changed_local_release_trap: INPUT = CHANGED_LOCAL -> RELEASED EXPECT = REJECT unless required durability/independence gates satisfied RESULT = PASS 2311 unresolved_contradiction_release: INPUT = critical contradiction + release request EXPECT = REJECT; remain CONTRADICTED/HOLD RESULT = PASS 2312 post_release_reopen: INPUT = RELEASED + new contradictory evidence EXPECT = RETURNED_TO_LAB + new run lineage RESULT = PASS 2313 mutate_closed_session: INPUT = CLOSED + state-changing event EXPECT = REJECT; create new run/session lineage if justified RESULT = PASS 2314 close_without_handover: INPUT = RELEASED -> CLOSED with no handover_receipt_id EXPECT = REJECT RESULT = PASS 2315 hold_without_return: INPUT = HOLD -> CLOSED with no return condition/owner handover EXPECT = REJECT RESULT = PASS 2316 three_student_cross_release: INPUT = A RELEASED; auto-release B,C EXPECT = REJECT B,C transitions RESULT = PASS 2317 three_student_contamination: INPUT = peer method shown before B baseline EXPECT = mark B baseline CONTAMINATED; no false untouched-baseline claim RESULT = PASS 2318 shared_instruction_receipts: INPUT = one shared intervention affects A,B EXPECT = separate immutable intervention receipt per affected run RESULT = PASS 2319 agent_consensus_bypass: INPUT = agents agree on illegal transition EXPECT = transition guard overrides consensus RESULT = PASS 2320 tutor_override_race: INPUT = tutor STOP while AI transition pending EXPECT = STOP wins; preserve pending AI recommendation as receipt/event RESULT = PASS_FAIL_SAFE 2321 pii_session_id: INPUT = identifying material in session_id EXPECT = REJECT + regenerate opaque id RESULT = PASS 2322 owner_loss_terminal: INPUT = terminal state with unresolved destination owner EXPECT = UNKNOWN + Mathematics Hub/TUTOR_REVIEW fallback; never invent URL RESULT = PASS_FAIL_SAFE 2323 replay_as_fresh_validation: INPUT = historical replay offered to satisfy current validation EXPECT = REJECT as fresh evidence RESULT = PASS 2324 agent_non_dissolution: INPUT = CLOSED + active session roles EXPECT = health failure; force role dissolution; append health receipt RESULT = PASS_FAIL_SAFE CRITICAL_UNRESOLVED_FAILURES = 0 STATE_MACHINE_ILLEGAL_PATHS_ACCEPTED = 0 DUPLICATE_EVENT_DOUBLE_WRITES = 0 CONFLICTING_TRANSITIONS_SILENTLY_ACCEPTED = 0 CLOSED_SESSION_MUTATIONS_ACCEPTED = 0 GROUP_CROSS_RELEASES_ACCEPTED = 0 REPLAY_AS_FRESH_EVIDENCE_ACCEPTED = 0 PUBLIC_PII_SESSION_IDS_ACCEPTED = 0
BTTMathLab/2380 · Session Health Extension
SESSION_HEALTH_V1 CHECK: session_id_is_opaque run_id_present current_state_is_registered previous_state_matches_transition_lineage illegal_transition_count == 0 duplicate_event_double_write_count == 0 duplicate_receipt_write_count == 0 conflicting_transition_requires_review == TRUE receipt_chain_complete_or_explicitly_failed == TRUE closed_session_is_immutable == TRUE released_has_handover_receipt == TRUE hold_has_return_condition_or_owner_handover == TRUE replay_not_counted_as_fresh_evidence == TRUE three_student_runs_are_separate == TRUE agent_consensus_cannot_bypass_guard == TRUE tutor_stop_has_priority == TRUE session_roles_dissolve_on_close == TRUE public_pii_failures == 0 IF any_check_fails: preserve session + receipts set health_state = DEGRADED STOP unsafe autonomous action call BTTMathLab/1320 route to TUTOR_REVIEW where required append new health receipt
BTTMathLab/2390 · Session Commissioning Receipt 001
SESSION_COMMISSIONING_RECEIPT_001 DATE = 2026-09-04 CORE = BTTMathLab/0000-1999 AGENT_EXTENSION = BTTMathLab/2100-2199 SESSION_EXTENSION = BTTMathLab/2200-2299 COMMISSIONING_EXTENSION = BTTMathLab/2300-2399 SESSION_BOOT = BTTMathLab/2290 STATE_MACHINE = BTTMathLab/2230 TRANSITION_GUARD = BTTMathLab/2250 RECEIPT_CHAIN = BTTMathLab/2260 TESTS_EXECUTED = 24 PASS = 18 PASS_FAIL_SAFE = 6 CRITICAL_UNRESOLVED_FAILURES = 0 CONFIRMED_BEHAVIOURS: illegal_jumps_rejected = TRUE idempotent_duplicate_events = TRUE duplicate_receipts_not_rewritten = TRUE concurrent_conflicts_fail_safe = TRUE stale_state_tokens_rejected = TRUE broken_receipt_chains_surface_health_failure = TRUE stale_receipts_remain_historical = TRUE changed_local_does_not_equal_release = TRUE contradiction_blocks_release = TRUE post_release_reopen_creates_lineage = TRUE closed_sessions_immutable = TRUE handover_required_for_release_close = TRUE hold_requires_return_condition_or_handover = TRUE three_student_release_is_individual = TRUE contamination_is_explicit = TRUE shared_instruction_preserves_separate_receipts = TRUE agent_consensus_cannot_override_transition_guard = TRUE tutor_stop_has_priority = TRUE session_ids_with_pii_are_rejected = TRUE unresolved_owner_never_causes_invented_url = TRUE replay_is_not_fresh_evidence = TRUE session_roles_must_dissolve_on_close = TRUE STATUS = SESSION_RUNTIME_COMMISSIONED BACKGROUND_PERSISTENCE = FALSE PUBLIC_LEARNER_DATA = FALSE NEXT_AUDIT_COMPARE_TO = BTTMathLab/2390
Commissioning result: the session layer now has explicit expected behaviour for illegal, duplicate, stale, contradictory, concurrent and cross-learner events. A fail-safe result is considered correct when the appropriate behaviour is to stop, preserve evidence and hand control to a tutor or canonical owner.
BTTMathLab/2400–2499 · Runtime Registry, Object Map & Discovery Index
This registry is the compact discovery layer for the full BTT Mathematical Lab. It does not replace the underlying objects, receipts or historical commissioning records. It gives a visiting AI or tutor a fast map of what exists, what each range owns, which objects are executable, which are receipts or registries, and where to return after a bounded investigation.
- BTTMathLab/2400 — Runtime Registry Root: canonical compact index for the current MathLab architecture.
- BTTMathLab/2401 — Core Range Map: `0000–1999` remains the commissioned RC1 core.
- BTTMathLab/2402 — Release Receipt Pointer: `2000` is the RC1 commissioning/release receipt and is not a second boot authority.
- BTTMathLab/2403 — Agent Extension Map: `2100–2199` contains session-bounded specialist roles, blackboard, conflict rules and agent boot.
- BTTMathLab/2404 — Session Extension Map: `2200–2299` contains opaque session/run identity, deterministic state, receipt binding and transition guards.
- BTTMathLab/2405 — Session Commissioning Map: `2300–2399` contains adversarial transition tests, health checks and commissioning receipt.
- BTTMathLab/2406 — Registry Object Schema: every callable or controlling object may be described by ID, family, status, purpose, dependencies, calls, return owner and version.
- BTTMathLab/2407 — Executable Authority Rule: only `BTTMathLab/0022` is the canonical public boot authority; extension boots are subordinate calls.
- BTTMathLab/2408 — Historical Receipt Rule: health and commissioning receipts are append-only evidence and never become executable authority.
- BTTMathLab/2409 — Discovery Short-Circuit: a visiting AI may consult this registry before deep traversal, but must still load the canonical boot before acting.
- BTTMathLab/2410 — Object Resolution Rule: every referenced `BTTMathLab/####` must resolve to exactly one declared object or explicit registered range.
- BTTMathLab/2411 — Owner Resolution Rule: every terminal route must resolve to a verified canonical owner or explicit UNKNOWN fallback.
- BTTMathLab/2412 — Return-Path Rule: a bounded Lab investigation must preserve ingress owner and produce a defined handover route.
- BTTMathLab/2413 — Public/Private Boundary: public registry contains schemas and architecture only; learner-specific session state remains private.
- BTTMathLab/2414 — Monolith Control Rule: new operational families should first register here before large append-only expansion of the canonical page.
- BTTMathLab/2420 — Current Object Family Map: compact machine-readable range index.
- BTTMathLab/2430 — Critical Entry-Point Registry: direct pointers to boot, agent, session, health, commissioning, evidence and handover objects.
- BTTMathLab/2440 — Registry Checksum Contract: expected range and critical-object checks for future drift audits.
- BTTMathLab/2450 — Expansion Gate: blocks new public feature families when unresolved IDs, stale ranges, owner conflicts or broken return paths exist.
- BTTMathLab/2490 — Registry Baseline Receipt 001: establishes the first compact discovery baseline after session commissioning.
BTTMathLab/2420 · Current Object Family Map
BTT_MATHLAB_OBJECT_MAP_V1 CORE_RC1: 0000-0099 root / boot / contracts 0100-0199 rooms / chambers / studios 0200-0299 instruments 0300-0399 probes 0400-0499 interventions 0500-0599 validation / evidence 0600-0699 representation / transformation 0700-0799 failure states 0800-0899 transfer / retention / stress 0900-0999 independence / release / handover 1000-1099 experiments / student-input routing 1100-1199 course and hub ingress 1200-1299 deep-page discovery / owner resolution 1300-1399 health / versioning / drift 1400-1499 provenance / replay / receipts 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 core commissioning / adversarial tests RELEASE: 2000 RC1 commissioning receipt POST_RC1: 2100-2199 agent team / blackboard / role boot 2200-2299 deterministic session runtime 2300-2399 session commissioning / health 2400-2499 runtime registry / discovery / checksum
BTTMathLab/2430 · Critical Entry-Point Registry
CRITICAL_ENTRY_POINTS ROOT = BTTMathLab/0000 BOOT = BTTMathLab/0022 EVIDENCE_RECEIPT = BTTMathLab/0514 HANDOVER_RECEIPT = BTTMathLab/0927 EXPERIMENT_REGISTRY = BTTMathLab/0999 CORE_RELEASE_RECEIPT = BTTMathLab/2000 AGENT_TEAM_ROOT = BTTMathLab/2100 AGENT_TEAM_BOOT = BTTMathLab/2140 SESSION_ROOT = BTTMathLab/2200 SESSION_STATE_MACHINE = BTTMathLab/2230 SESSION_TRANSITION_GUARD = BTTMathLab/2250 SESSION_BOOT = BTTMathLab/2290 SESSION_HEALTH = BTTMathLab/2380 SESSION_COMMISSIONING_RECEIPT = BTTMathLab/2390 RUNTIME_REGISTRY = BTTMathLab/2400 OBJECT_MAP = BTTMathLab/2420 REGISTRY_CHECKSUM = BTTMathLab/2440 EXPANSION_GATE = BTTMathLab/2450 AUTHORITY: EXECUTABLE_PUBLIC_BOOT_COUNT = 1 EXECUTABLE_PUBLIC_BOOT = BTTMathLab/0022 ALL_EXTENSION_BOOTS_REQUIRE = BTTMathLab/0022
BTTMathLab/2440 · Registry Checksum Contract
BTT_MATHLAB_REGISTRY_CHECK_V1 EXPECTED_CORE_RANGE = 0000-1999 EXPECTED_RELEASE_OBJECT = 2000 EXPECTED_POST_RC1_RANGE = 2100-2499 EXPECTED_PUBLIC_BOOT = 0022 EXPECTED_AGENT_BOOT = 2140 EXPECTED_SESSION_BOOT = 2290 EXPECTED_SESSION_HEALTH = 2380 EXPECTED_SESSION_COMMISSIONING = 2390 EXPECTED_REGISTRY = 2400 CHECK: public_root_count == 1 executable_public_boot_count == 1 all_critical_entry_points_resolve == TRUE duplicate_object_ids == 0 unresolved_object_calls == 0 stale_declared_ranges == 0 historical_receipt_executable_count == 0 canonical_owner_conflicts_unresolved == 0 broken_return_paths_unresolved == 0 public_private_boundary_failures == 0 IF any_check_fails: BLOCK_NEW_PUBLIC_EXTENSION = TRUE preserve_existing_objects call BTTMathLab/1320 repair_smallest_surface append_new_registry_receipt
BTTMathLab/2450 · Expansion Gate
Before creating a new public operational family after `2400–2499`, the Lab must first confirm that the registry checksum passes. New learner-facing capabilities should not be used to hide unresolved architecture. If the public system is structurally healthy but the missing capability is persistent execution, storage or learner-session memory, the next job belongs to a private execution plane rather than another public prose block.
BTTMathLab/2490 · Registry Baseline Receipt 001
REGISTRY_BASELINE_RECEIPT_001 DATE = 2026-09-04 ROOT = BTTMathLab/0000 BOOT = BTTMathLab/0022 CORE_RANGE = 0000-1999 RELEASE_OBJECT = 2000 POST_RC1_RANGE = 2100-2499 REGISTRY = BTTMathLab/2400 KNOWN_CRITICAL_POINTERS_REGISTERED = TRUE PUBLIC_BOOT_AUTHORITY_COUNT_EXPECTED = 1 HISTORICAL_RECEIPTS_NON_EXECUTABLE = TRUE PRIVATE_LEARNER_STATE_REQUIRED = TRUE NEXT_ACTION: run full object-reference + owner-return audit repair smallest discovered drift if checksum passes, freeze public feature expansion temporarily design private session execution/storage plane STATUS = REGISTRY_BASELINE_ESTABLISHED
Discovery rule: use this registry to understand the machine quickly; use `BTTMathLab/0022` to boot it; use the underlying object that owns the current job to act; then return through the evidence and handover contracts.
BTTMathLab/2460–2469 · Symbolic Owner Alias Resolution
Experiment contracts may use symbolic owner names while the learner is inside the Lab. Those names are routing variables, never literal URLs. Before handover, each alias must resolve from the preserved ingress/course context to a verified canonical BTT owner. If resolution fails, preserve UNKNOWN; never fabricate a destination.
OWNER_ALIAS_RESOLVER_V1 ALIASES: relevant_course_owner -> preserved ingress course owner, if verified course_owner -> preserved ingress course owner, if verified knowledge_owner -> /mathematics-knowledge-warehouse/ examination_owner -> /mathematics-examination-craft/ practice_owner -> verified practice route supplied by ingress/course owner algebra_or_relevant_course_owner -> verified algebra knowledge/course owner selected from preserved context RESOLUTION_ORDER: 1 preserved_ingress_owner 2 verified_course_owner 3 explicit_registered_owner_for_job 4 /mathematics/ 5 UNKNOWN + TUTOR_REVIEW RULES: SYMBOLIC_ALIAS != URL SYMBOLIC_ALIAS != CANONICAL_OWNER_UNTIL_RESOLVED DO_NOT_INVENT_PRACTICE_URL = TRUE DO_NOT_INVENT_ALGEBRA_OWNER = TRUE HANDOVER_RECEIPT_REQUIRES_RESOLVED_DESTINATION_OR_UNKNOWN = TRUE PRESERVE_ORIGINAL_INGRESS_OWNER = TRUE CHECKSUM_PATCH: unresolved_literal_owner_aliases_at_handover = 0 symbolic_aliases_may_exist_pre_handover = TRUE
Effect: `practice_owner`, `course_owner`, `knowledge_owner`, `examination_owner`, `relevant_course_owner` and `algebra_or_relevant_course_owner` remain useful experiment variables, but cannot escape the Lab as unresolved destinations.
BTTMathLab/2491 · Registry Audit Receipt 002
REGISTRY_AUDIT_RECEIPT_002 DATE = 2026-09-04 AUDIT_SCOPE = critical_entry_points + declared_owner_routes + range_consistency + boot_authority + historical_receipt_status + symbolic_handover_resolution RANGE_STATE: core = 0000-1999 release = 2000 post_rc1 = 2100-2499 estate_manifest_matches = TRUE boot_manifest_matches = TRUE CRITICAL_ENTRY_POINTS: 0022 = RESOLVED_CANONICAL_BOOT 2140 = RESOLVED 2290 = RESOLVED 2380 = RESOLVED 2390 = RESOLVED 2400 = RESOLVED 2440 = RESOLVED 2450 = RESOLVED OWNER_ROUTES_VERIFIED: mathematics_hub = PASS mathematics_help = PASS diagnosis = PASS knowledge_warehouse = PASS evidence_harness = PASS examination_craft = PASS primary_mathematics = PASS secondary_mathematics = PASS jc_mathematics = PASS additional_mathematics = PASS article_directory = PASS DRIFT_FOUND: stale_estate_manifest_range = REPAIRED post_registry_boot_range = REPAIRED unresolved_symbolic_handover_aliases = REPAIRED_BY_BTTMathLab/2460 AUTHORITY_CHECK: canonical_public_boot = BTTMathLab/0022 extension_boots_are_subordinate = TRUE historical_receipts_are_non_executable = TRUE legacy_boot_execute = FALSE RETURN_CHECK: symbolic_alias_may_exist_during_session = TRUE unresolved_literal_alias_at_handover = FORBIDDEN unresolved_destination_fallback = UNKNOWN + MATHEMATICS_HUB/TUTOR_REVIEW invented_destination_url = FORBIDDEN REGISTRY_CHECKSUM_STATUS = PASS_WITH_DECLARED_SCOPE CRITICAL_UNRESOLVED_FINDINGS = 0 PUBLIC_FEATURE_EXPANSION_GATE = FREEZE_AFTER_REGISTRY NEXT_ENGINEERING_JOB = PRIVATE_SESSION_EXECUTION_AND_STORAGE_PLANE NOTE: this receipt records a registry-level architectural audit; it is not represented as a compiled static-analysis proof of every character in the WordPress document.
Result: the public MathLab architecture is now at a clean consolidation boundary. Further learner-state capability should move to a private execution/storage plane rather than continue enlarging the public specification.
Evidence after an intervention
Continue reading: A Good Mathematics Lesson Should Leave Evidence, Mathematical Transfer, Independent Mathematics.
Investigation routes: Mathematics Diagnosis · Mathematics Knowledge Warehouse · complete Mathematics directory.
