{
  "schemaVersion": 1,
  "generator": {
    "name": "Interactive xAPI Designer",
    "version": "0.3.3"
  },
  "authoringEnvironment": {
    "platform": "codex",
    "model": "not-reported",
    "effort": "not-reported",
    "effortKind": "provider-specific reasoning effort or thinking budget",
    "captureNote": "Exact runtime labels or author-reported settings; the packager does not infer them."
  },
  "package": {
    "filename": "iwant2study.moe.edu.sg_scorable_reaction-rate-investigation.zip",
    "title": "Reaction Rate Investigation",
    "kind": "scorable",
    "authoringMode": "integrate-and-improve",
    "createdAtUTC": "2026-10-06T00:15:35Z",
    "sourceType": "folder",
    "entryPoint": "index.html"
  },
  "prompt": "Improve the supplied Reaction Rate Modulator into a meaningful science investigation while preserving its simulation and xAPI transport. The user selected controlled-comparison marks: award one mark each for completed comparisons of temperature, X concentration and Y concentration while holding the other two settings constant (3 marks total). Retain every recorded experiment and committed action with no latest-20/latest-100 truncation. Include full SLS feedback, a complete data export, and updated prompt and chronological iteration metadata in a named ZIP.",
  "iterations": [
    "1. Inspected original HTML and recorded its SHA-256. Identified an unscored reaction model with no xAPI transport; selected integrate-only scope.",
    "2. Added unchanged verified SLS transport, model-aware event hooks, bounded investigation evidence, authored teacher feedback and compatible state restoration. Localised original fonts and included their licences to preserve offline typography.",
    "3. Verified structural checks, transport checksums and model/glue paths in an emulated DOM. Confirmed original and integrated completed-run output match. Browser downloads failed; recorded browser, HTTP mock-LRS and live SLS verification as incomplete.",
    "4. User confirmed the earlier unscored report appeared in SLS and requested meaningful science experiments plus removal of history truncation. User selected controlled comparisons over one point for each arbitrary combination.",
    "5. Added a transparent 3-mark method rubric, one criterion per variable, with nonadjacent-pair recognition and no duplicate credit. Preserved the original controls/model and placed the task guidance after the controls.",
    "6. Removed all application record-count truncation; retained completed and interrupted experiments with stable run IDs, available curves, initial rates and full actions. Added complete feedback/data export and compatible migration of earlier saved records without inventing previously discarded data.",
    "7. Model/glue tests passed with 28 experiments and 182 retained actions, including 0→1→2→3 scoring, nonadjacent comparisons, no duplicate marks, interrupted-run retention and legacy migration. Chromium became available through an alternate package; real-browser and same-origin HTTP mock-LRS tests passed for score statements, automatic completion, export, restore, failures and 127 retained actions. Desktop/mobile frame inspection confirmed unchanged control positions and no horizontal page overflow. Live SLS verification of the revised scored version remains outstanding."
  ],
  "verification": {
    "status": "partial",
    "notes": [
      "Local real-browser, model, preserved transport and same-origin HTTP mock-LRS checks passed; automatic 3/3 completion and matching score statements verified.",
      "All 28 model-test experiments and 182 actions retained. Browser test retained 127 actions and verified full export, restore, reset, nonfatal delivery failure and desktop/mobile iframe layouts.",
      "User confirmed prior unscored SLS feedback. Live SLS attribution and rendering of this revised scored version are not yet verified."
    ]
  },
  "sourceFiles": [
    {
      "path": "fonts/-F63fjptAgt5VM-kVkqdyU8n5ig.ttf",
      "sha256": "a7fdc993f9f0387caedba4e42521136fa97e4c0837ae6239bf0413ccf8af00c2"
    },
    {
      "path": "fonts/-F6qfjptAgt5VM-kVkqdyU8n3twJ8lc.ttf",
      "sha256": "4fc14a73ca53ba9d32fd759ae1ca1a3133326035d0dd337862b3ee1633cc156e"
    },
    {
      "path": "fonts/-F6qfjptAgt5VM-kVkqdyU8n3vAO8lc.ttf",
      "sha256": "754dfc9d50cf7aabfb6b108d2c2f7d20a3f1f2cc6f6c01640c6728091272cec0"
    },
    {
      "path": "fonts/fonts.css",
      "sha256": "f33ccbf540acc86418ad084c06de1a70a33a298396432bfcdf4d304546b4ca59"
    },
    {
      "path": "fonts/Gg8gN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHY4S7Yvr.ttf",
      "sha256": "49d5fc23172be07357a4d8c8a898298f78de9176f69d0f6492beb137f8740c6d"
    },
    {
      "path": "fonts/Gg8gN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHY527Ivr.ttf",
      "sha256": "c6ee08345b19b2d183a4863aadc62c451181fe28327bb910132cb2a108d47ada"
    },
    {
      "path": "fonts/Gg8gN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHY5a64vr.ttf",
      "sha256": "812c900e302d1d751dd0d8a4a3183fc8a87ae547d3a136cd8e359ed5e9ed818e"
    },
    {
      "path": "fonts/ibmplexmono-OFL.txt",
      "sha256": "7e6b2818edbd8f6a01ae80641cc8f16a51080d08fb4e532be3a0b6f74adb07da"
    },
    {
      "path": "fonts/ibmplexsans-OFL.txt",
      "sha256": "7e6b2818edbd8f6a01ae80641cc8f16a51080d08fb4e532be3a0b6f74adb07da"
    },
    {
      "path": "fonts/ibmplexsanscondensed-OFL.txt",
      "sha256": "7e6b2818edbd8f6a01ae80641cc8f16a51080d08fb4e532be3a0b6f74adb07da"
    },
    {
      "path": "fonts/zYXGKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1swZSAXcomDVmadSD2FlzAA.ttf",
      "sha256": "6f7a8c4219e021ff7c9131bc5f1f7af97bcd1436a59578d444a8cb92e9791742"
    },
    {
      "path": "fonts/zYXGKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1swZSAXcomDVmadSD6llzAA.ttf",
      "sha256": "6dbe082463cf749cfa057d45c3048c90f4df031496498e5b5bdfd0b6babb9d16"
    },
    {
      "path": "fonts/zYXGKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1swZSAXcomDVmadSDNF5zAA.ttf",
      "sha256": "5311c66fd6d04ae45671236f7eae667b671c06c1dc7e88d52c206e5fadd0fb21"
    },
    {
      "path": "index.html",
      "sha256": "50d25a58cd1e897ee798a68e087c50ae1d1ae331994561ddf1dce1ee05025426"
    },
    {
      "path": "INTEGRATION-NOTES.txt",
      "sha256": "ec7c0b9486effdb3e02fe3c0d1db2accb4e520c233596234fed2a85b8cc79134"
    },
    {
      "path": "lib/xAPI.js",
      "sha256": "ba353b8d33f9bfe6e2a93e797e821a3989390186708c58e984812182c951e030"
    },
    {
      "path": "lib/xapiwrapper.min.js",
      "sha256": "ca1955f8387cc9167b3bf3f3813a0a7ed33279f9c7282b5c122f079e51632ac5"
    },
    {
      "path": "ORIGINAL-SOURCE-HASHES.json",
      "sha256": "a5645e3dc54ed350614f46e4a458185e666a6a948758babdfe74d692ed796cf4"
    },
    {
      "path": "reactor-xapi.js",
      "sha256": "df19d5f619f0a9e0e19063c0a6351a46db8c38619f819af073d9aba7b92bd597"
    },
    {
      "path": "SLS-BASELINE.json",
      "sha256": "3565cdd532a854191ea071086084c30f59ecef6d50dbfde5253df6223c4b0d37"
    },
    {
      "path": "VERIFICATION.json",
      "sha256": "e338df7605ab9e7b0cd0685d2bd41d744390471842cb21ef2ae56502c4d2ec6b"
    }
  ],
  "privacy": {
    "included": "Reviewed activity prompt/brief, concise iteration notes, file hashes and verification notes.",
    "excluded": "Hidden model reasoning, learner identity or responses, launch credentials, and unrelated conversation.",
    "reviewBeforeSharing": true
  }
}
