Reaction Rate Modulator — controlled science investigation (revision 2) Authorised scope: targeted improvement to the existing integrated simulation. The user selected controlled-comparison marks and requested that experiment/action history no longer stop at the latest 20/100 records. Scientific task and rubric (3 marks): 1. Complete two experiments with different initial temperature, holding both concentrations constant: 1 mark. 2. Complete two experiments with different X concentration, holding Y and initial temperature constant: 1 mark. 3. Complete two experiments with different Y concentration, holding X and initial temperature constant: 1 mark. Any two completed experiments can supply the evidence, including nonadjacent runs. Each criterion earns at most one mark. Repeats, slider changes and interrupted runs alone do not earn marks. A fourth run can complete the three criteria using a baseline and successive one-variable changes. These marks assess evidence of the investigation method, not collision-theory explanations or conceptual mastery. Pending criteria are not diagnosed as misconceptions. Preservation and changes: - Original simulation equations, animation, apparatus, controls, styling rules, model run numbers and four-curve graph remain intact. - The original control positions are retained; a task checklist and optional suggested method follow the controls. An optional full report and JSON download follow the original content. - xAPI.js and xapiwrapper.min.js remain byte-identical to the verified working baseline. Launch, identity, caching and delivery code are unchanged. Original fonts remain bundled with OFL licences. - Changed application files: index.html (targeted task/report UI, interruption/initial-rate hooks), reactor-xapi.js (rubric, complete retention, reporting and schema migration), integration/verification/provenance documents. Analytics and retention: - Every committed setting, run start, natural completion, interruption, reset, graph clear and suggested-method view is retained chronologically. - Every started experiment has a stable consecutive experiment number independent of the action sequence and the original graph's resettable run count. - Completed/interrupted experiments retain their available time-volume curve samples, initial rate, final gas, reaction time, final temperature, remaining amounts and method-view context. - No latest-N experiment, action, comparison, report-row or restore count cap remains in the application. Reset flask and Clear runs preserve the whole record and earned marks. The four-curve display is only a visual limit, not a data retention limit. - Full human-readable feedback contains every experiment and action. Full evidence also appears in structured xAPI state and statement extensions. The unchanged vendor library retains its short result.response preview; it does not replace the complete state feedback or full extensions. No claim is made that SLS/browser storage can accept arbitrarily large records. The full JSON download contains all application evidence, without copied launch credentials or learner identity. - Only meaningful committed events and the original model's sampled curves are recorded; raw keystrokes, every animation frame and unrelated browser data are not collected. - Automatic scoring and completion happen when a reaction finishes, before visiting the report. Payload score/max, quiz items, hidden marks, feedback and UI use one rubric. Completion means all three comparison tasks achieved. Further exploration remains available and continues accumulating. Scientific interpretation: Use initial gas rate/initial slope for reaction-rate comparisons. Time to approximately 99% conversion is not by itself a fair rate measure when final gas amount changes. Compare plateaus separately to investigate limiting amounts. Model temperature rises exothermically; a 10-degree increase in initial temperature doubles initial rate at fixed concentrations. The simulation is deterministic and does not model experimental uncertainty. Explanations remain teacher-discussion prompts; they are not silently graded. Restore and migration: Compatible version-2 state restores the full investigation, method-view count, marks (recomputed), controls, flask and latest four displayed curves without adding attempts. Running work resumes at the saved checkpoint. Version-1 records migrate with original event IDs preserved and consecutive experiment IDs; its already-discarded records cannot be reconstructed. Older experiments without saved curves/initial rates are explicitly incomplete historical evidence rather than fabricated data. Verification: See VERIFICATION.json for actual checks. User supplied evidence confirms receipt/display of the earlier unscored report in live SLS. This revised scored package still requires live SLS confirmation; local mock-LRS results are separate from SLS learner attribution and teacher rendering.