← Exam Practice RoutineCONTENT HISTORY

Update to Exam Practice Routine

Snapshot Nov 2, 2026 · 06:11 UTC · version 1.0.4

WHAT CHANGED

Package or technical metadata updated

Package or technical metadata updated

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Save Exam Practice Routine and check future changes in Following.

Up to 10 plugins free · no card required.

All fields and original values.

These are saved file metadata. Open a changed file to read its text edits.

Package file

Before

Oct 24, 2026 · 13:51 UTC

Not present

After

Nov 2, 2026 · 06:11 UTC

{"sha256":"875903ae80ba099e92a567bd441f7115930475c69c50b86410cfaaed94ca6650","size":501}

Package file

Before

Oct 24, 2026 · 13:51 UTC

Not present

After

Nov 2, 2026 · 06:11 UTC

{"sha256":"91093d01cd5a110a62cbc174710372f5602132b5344a08e9fc4385588fc3c828","size":501}

Package file

Before

Oct 24, 2026 · 13:51 UTC

Not present

After

Nov 2, 2026 · 06:11 UTC

{"sha256":"bf92e0c79225b225563f9e4672c12b9bbe01154348ba8e7481a421bdbd85fa93","size":392}

Package file

Before

Oct 24, 2026 · 13:51 UTC

d6d805cb7f6a16c6a13cd4aa1661b0c538b1c51fb0bef2ca5a13fcf132acebd7

After

Nov 2, 2026 · 06:11 UTC

2b2a996029e46a767337b74669dbfe5292d362d71947ad85e16eb6d1136ce6b5

Compare saved observations

Download comparison JSON

Changed files

Choose a file to see its text changes. Binary or large files show metadata only.

assets/brand4-composer-dark.svg →

assets/brand4-composer.svg →

assets/brand4-logo.svg →

plugin.json →

plugin.json

− removed · + added

--- before
+++ after
@@ -1,8 +1,8 @@
 {
   "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
   "name": "duopore-public-exam-practice-routine",
-  "version": "1.0.1",
-  "description": "Fits whole user-chosen attempt-and-review blocks into explicit study-date minute budgets before a supplied exam date. Uses your priorities and repeat counts, keeps review time separate, and reports unplanned repetitions. It does not predict grades or mastery. Uses only adult user-controlled facts; review the result. No external lookup, storage or sending.",
+  "version": "1.0.4",
+  "description": "Build an exam practice plan that leaves time to check your answers.",
   "author": {
     "name": "DUOPORE VENTURES PTE. LTD.",
     "email": "ch.kae88@gmail.com",
@@ -10,6 +10,7 @@
   },
   "homepage": "https://duopore-public-tools.ch-kae88.workers.dev/tools/exam-practice-routine",
   "keywords": [
+    "fit exam practice into time",
     "exam practice routine",
     "routines and focus",
     "worksheet",
@@ -19,24 +20,27 @@
     "com.openai": {
       "interface": {
         "displayName": "Exam Practice Routine",
-        "shortDescription": "Exam Practice Routine",
-        "longDescription": "Fits whole user-chosen attempt-and-review blocks into explicit study-date minute budgets before a supplied exam date. Uses your priorities and repeat counts, keeps review time separate, and reports unplanned repetitions. It does not predict grades or mastery. Uses only adult user-controlled facts; review the result. No external lookup, storage or sending. Uses explicitly supplied structured inputs. Server computations are transient; the standalone website computes locally in your browser. Review the output before exporting it. No persistent account records, external source retrieval, sending, transactions or paid model calls. CSV/JSON review and export are available on the standalone website. MCP requests are capped at 128 KiB and computed responses at 256 KiB; individual field and record limits also apply.",
+        "shortDescription": "Fit exam practice into time",
+        "longDescription": "Build an exam practice plan that leaves time to check your answers. Enter study dates, available minutes, task priorities and how many practice-and-review rounds you want. See whole rounds that fit and those still unplanned. For adults planning their own study. The app keeps answer review time separate and does not predict grades or mastery.",
         "developerName": "DUOPORE VENTURES PTE. LTD.",
         "category": "Productivity",
         "capabilities": [
-          "Prepare exam practice routine"
+          "Fit exam practice into time"
         ],
         "websiteURL": "https://duopore-public-tools.ch-kae88.workers.dev/tools/exam-practice-routine",
         "supportURL": "https://duopore-public-tools.ch-kae88.workers.dev/support",
         "privacyPolicyURL": "https://duopore-public-tools.ch-kae88.workers.dev/privacy",
         "termsOfServiceURL": "https://duopore-public-tools.ch-kae88.workers.dev/terms",
         "defaultPrompt": [
-          "Help me prepare a exam practice routine.",
-          "Review my inputs for exam practice routine."
+          "Fit these practice questions and review rounds into my study dates.",
+          "How many complete practice-and-review blocks fit before my exam?"
         ],
-        "brandColor": "#246BB4",
-        "composerIcon": "./assets/icon.svg",
-        "logo": "./assets/logo.svg"
+        "brandColor": "#8D1B7A",
+        "composerIcon": "./assets/brand4-composer.svg",
+        "logo": "./assets/brand4-logo.svg",
+        "brandColorDark": "#EA7BD7",
+        "composerIconDark": "./assets/brand4-composer-dark.svg",
+        "logoDark": "./assets/brand4-logo.svg"
       },
       "review": {
         "test_cases": {
@@ -95,7 +99,7 @@
         "demo_recording_url": "https://duopore-review-evidence.ch-kae88.workers.dev/duopore-exam-practice-routine/"
       },
       "publication": {
-        "release_notes": "Initial public review candidate. Five recorded positive endpoint cases and malformed-input guards accompany the review walkthrough. The evidence page clearly separates API checks from native ChatGPT evaluation. No public approval or publication is claimed."
+        "release_notes": "Clear benefit-first descriptions and original bold geometric branding with light/dark icon variants. App behavior, privacy, connections and review evidence unchanged."
       },
       "apps": "./.app.json"
     }
Full technical diff · 5 changed fields

added /files/assets~1brand4-composer-dark.svg

BEFORE
Field was absent
AFTER
{
  "sha256": "875903ae80ba099e92a567bd441f7115930475c69c50b86410cfaaed94ca6650",
  "size": 501
}

added /files/assets~1brand4-composer.svg

BEFORE
Field was absent
AFTER
{
  "sha256": "91093d01cd5a110a62cbc174710372f5602132b5344a08e9fc4385588fc3c828",
  "size": 501
}

added /files/assets~1brand4-logo.svg

BEFORE
Field was absent
AFTER
{
  "sha256": "bf92e0c79225b225563f9e4672c12b9bbe01154348ba8e7481a421bdbd85fa93",
  "size": 392
}

changed /files/plugin.json/sha256

BEFORE
"d6d805cb7f6a16c6a13cd4aa1661b0c538b1c51fb0bef2ca5a13fcf132acebd7"
AFTER
"2b2a996029e46a767337b74669dbfe5292d362d71947ad85e16eb6d1136ce6b5"

changed /files/plugin.json/size

BEFORE
12382
AFTER
11782
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "6c220e2f14fa07cbdf5e28e88dee488574affb17b1a54c58c4f49298cd1dfc44",
      "size": 121
    },
    "EXAMPLE.json": {
      "sha256": "011d43ff9cd620c63640a8aae380c11087d7009312b317fd9960269968848ecf",
      "size": 1632
    },
    "PUBLICATION-STATUS.md": {
      "sha256": "7be3cc2abaece4f19ab8d77d639174820af16984594e5358adc8d13ce45d404a",
      "size": 130
    },
    "README.md": {
      "sha256": "98c7b34c8888de50c5ae479057cd4f4d9aec3bdfd5a6d804c3cbff09b1fbe943",
      "size": 1490
    },
    "RELEASE-NOTES.md": {
      "sha256": "2f939bff13a2bcfcfa9d8a4bedb3204f175d23261f29afbedb583a53d5cdbdd5",
      "size": 317
    },
    "REVIEW-EVIDENCE.md": {
      "sha256": "51d9823be6c2bc4328ab924fc6f630237d028cef5b1005ba6afa0ff2c3e0f2e1",
      "size": 483
    },
    "assets/brand4-composer-dark.svg": {
      "sha256": "875903ae80ba099e92a567bd441f7115930475c69c50b86410cfaaed94ca6650",
      "size": 501
    },
    "assets/brand4-composer.svg": {
      "sha256": "91093d01cd5a110a62cbc174710372f5602132b5344a08e9fc4385588fc3c828",
      "size": 501
    },
    "assets/brand4-logo.svg": {
      "sha256": "bf92e0c79225b225563f9e4672c12b9bbe01154348ba8e7481a421bdbd85fa93",
      "size": 392
    },
    "assets/icon.svg": {
      "sha256": "08f4219b16958e57313d18d907ea721733b200c6f33e4a8947ce93373d15ffe0",
      "size": 366
    },
    "assets/logo.svg": {
      "sha256": "08f4219b16958e57313d18d907ea721733b200c6f33e4a8947ce93373d15ffe0",
      "size": 366
    },
    "mcp.json": {
      "sha256": "9cd7b6d88dc42ad514c3064e4299f82aadc85302fb7b1e83a4e90ddabc1470a4",
      "size": 391
    },
    "plugin.json": {
      "sha256": "2b2a996029e46a767337b74669dbfe5292d362d71947ad85e16eb6d1136ce6b5",
      "size": 11782
    }
  }
}

SHA-256 of public snapshot: 3e4d7f6ee1611e3c5a208cdaa914c14e1b07a47325a492ee6666ecfb2f818737