{
  "slug": "orbit-pairs",
  "publisher": "Donatello (first-party demonstration, not an independent review)",
  "date": "2026-09-24",
  "agentVersion": "0.9.87",
  "storeVersion": "1.9.87.0",
  "edition": "Microsoft Store",
  "model": "OpenCode Free · space-bunny-free",
  "creditsUsed": 0,
  "accountConnected": false,
  "mode": "Automatic free AI",
  "prompt": "Create two additional public demonstrations in this same project; do not change website/index.html. (1) game/index.html: a polished, self-contained vanilla HTML/CSS/JS 4x4 memory-pairs game called ORBIT PAIRS, with eight pairs of space-themed symbols, move counter, elapsed timer, matched count, win message, restart, keyboard-operable cards, and reduced-motion support. No packages, downloads, external assets, network calls, storage, credits or deployment. (2) A controlled bug-repair exercise, not a real production incident: preserve bugfix/before.js exactly as: export function totalCents(items) { return items.reduce((sum, item) => sum + Math.round(item.price * 100), 0); } . The defect is that it ignores quantity. Create bugfix/after.js correcting quantity; reject non-integer or negative quantities and negative or non-finite prices; quantity zero is allowed; empty cart totals zero. Provide bugfix/index.html showing the before/after code and a working demo of totals. Provide a README.md inside each folder with limitations and an honest account of checks. Only write these files. Do not launch browsers or execute commands; I will perform independent tests. End when files are written.",
  "artifacts": [
    {
      "file": "index.html",
      "bytes": 27653,
      "sha256": "a245bfcd7c835c5bbee5c26f3ccb404a01398bf291dd9731409c0e9aafeb6a32",
      "sourceModifiedAt": "2026-09-24T11:39:31.523Z"
    },
    {
      "file": "README.md",
      "bytes": 1820,
      "sha256": "2d4c2c2cf0c81a9c0397eaf010f0204122403da75d67db1c91f8772ad8a88a05",
      "sourceModifiedAt": "2026-09-24T11:39:25.841Z"
    }
  ],
  "checks": {
    "inlineJavaScriptParses": true,
    "noExternalAssetDependencies": true,
    "noNetworkOrStorageAPIsInInlineScript": true
  },
  "verification": [
    "Operator check: embedded JavaScript parses.",
    "Operator check: no external asset dependencies or network/storage API calls in the inline script.",
    "Operator browser checks: keyboard selection, unmatched cards hiding again, move/timer updates, all eight pairs matched, victory message and restart resetting counters.",
    "Operator accessibility inspection: hidden cards no longer reveal symbols in their accessible names. This is not a full assistive-technology audit."
  ],
  "manualInterventions": [
    "Codex supplied the brief and operated Agent.",
    "Codex exported and tested the files without modifying the generated code.",
    "Both additional cases were requested in the same project and conversation after the website.",
    "Operator QA found hidden-card labels leaking symbols and an unnamed mobile restart control; Agent was asked to repair both. The operator did not rewrite game code."
  ],
  "limitations": [
    "A small browser prototype, not a production game.",
    "Randomized decks; progress is not saved.",
    "The Agent was instructed not to execute checks; all published checks are subsequent operator checks."
  ],
  "durationSeconds": null,
  "durationNote": "No validated end-to-end timing or general performance claim is made.",
  "followUpPrompts": [
    "Independent QA found one accessibility defect in game/index.html: hidden cards currently expose their symbol names in aria-label, revealing all pairs to a screen reader. Change only the game so hidden cards are labeled Card N, hidden, with no symbol until revealed or matched. Preserve keyboard controls, counters and restart. Update game/README.md to disclose this follow-up. Do not run commands or browsers; stop after editing.",
    "One final accessibility follow-up in game/index.html: the header restart button loses its accessible name on narrow screens when its text is hidden. Give that button a persistent descriptive accessible name such as New orbit. Change no game logic. Record this in game/README.md. Do not run commands or browsers."
  ]
}
