← Quote Unit Cost NormalizeCONTENT HISTORY

Update to Quote Unit Cost Normalize

Snapshot Nov 2, 2026 · 06:12 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 Quote Unit Cost Normalize 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:12 UTC

{"sha256":"353e3f731eb85c3b522f37c6c2d085f621162b7a2070c4473afbb8b8560aa786","size":481}

Package file

Before

Oct 24, 2026 · 13:51 UTC

Not present

After

Nov 2, 2026 · 06:12 UTC

{"sha256":"188b3f69a8998916fefac126754ba62308e7971c53365d42ae56ea52095ed915","size":481}

Package file

Before

Oct 24, 2026 · 13:51 UTC

Not present

After

Nov 2, 2026 · 06:12 UTC

{"sha256":"f641b4f679104b2cbc0dcf3e68faf97b090c9684d5d21f62f96df9221ee636a8","size":372}

Package file

Before

Oct 24, 2026 · 13:51 UTC

14764f89d539b77b78a78f92e8c75ed8da27e3d019d1be63676304968e2763a3

After

Nov 2, 2026 · 06:12 UTC

ca9e2e73448d5db764278110c005b1d2d55148dde36d5feb6f6152759fdd81cf

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-quote-unit-cost-normalization",
-  "version": "1.0.1",
-  "description": "Normalize supplied package quotes to a common base-unit price and a chosen quantity, before fees. You must provide equivalent units and one currency; no exchange rates are fetched.",
+  "version": "1.0.4",
+  "description": "Turn pack prices into a price per unit so different quotes are easier to compare.",
   "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/quote-unit-cost-normalization",
   "keywords": [
+    "compare prices per unit",
     "quote unit cost normalize",
     "quotes",
     "worksheet",
@@ -19,24 +20,27 @@
     "com.openai": {
       "interface": {
         "displayName": "Quote Unit Cost Normalize",
-        "shortDescription": "Quote Unit Cost Normalize",
-        "longDescription": "Normalize supplied package quotes to a common base-unit price and a chosen quantity, before fees. You must provide equivalent units and one currency; no exchange rates are fetched. 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": "Compare prices per unit",
+        "longDescription": "Turn pack prices into a price per unit so different quotes are easier to compare. Enter each pack's price, how much it holds and the total amount you need. See prices in the same base unit and the cost for your chosen quantity before fees. You must use units that mean the same thing and one currency. No exchange rates are fetched.",
         "developerName": "DUOPORE VENTURES PTE. LTD.",
         "category": "Productivity",
         "capabilities": [
-          "Prepare quote unit cost normalize"
+          "Compare prices per unit"
         ],
         "websiteURL": "https://duopore-public-tools.ch-kae88.workers.dev/tools/quote-unit-cost-normalization",
         "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 quote unit cost normalize.",
-          "Review my inputs for quote unit cost normalize."
+          "Compare these pack quotes by price per unit.",
+          "What does my required quantity cost at each quoted unit price?"
         ],
-        "brandColor": "#246C59",
-        "composerIcon": "./assets/icon.svg",
-        "logo": "./assets/logo.svg"
+        "brandColor": "#4A8D1B",
+        "composerIcon": "./assets/brand4-composer.svg",
+        "logo": "./assets/brand4-logo.svg",
+        "brandColorDark": "#A9EA7B",
+        "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-quote-unit-cost-normalization/"
       },
       "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": "353e3f731eb85c3b522f37c6c2d085f621162b7a2070c4473afbb8b8560aa786",
  "size": 481
}

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

BEFORE
Field was absent
AFTER
{
  "sha256": "188b3f69a8998916fefac126754ba62308e7971c53365d42ae56ea52095ed915",
  "size": 481
}

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

BEFORE
Field was absent
AFTER
{
  "sha256": "f641b4f679104b2cbc0dcf3e68faf97b090c9684d5d21f62f96df9221ee636a8",
  "size": 372
}

changed /files/plugin.json/sha256

BEFORE
"14764f89d539b77b78a78f92e8c75ed8da27e3d019d1be63676304968e2763a3"
AFTER
"ca9e2e73448d5db764278110c005b1d2d55148dde36d5feb6f6152759fdd81cf"

changed /files/plugin.json/size

BEFORE
11200
AFTER
10904
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "16e21839a51ac27b4e6bb11a73f4f3fabc519b419a2e13ebdd8880f7a5a301f2",
      "size": 129
    },
    "EXAMPLE.json": {
      "sha256": "fa0fe98aac3040d5a4a71c2fb8a71c5446c415deca31d30184c4e2c989438cee",
      "size": 1221
    },
    "PUBLICATION-STATUS.md": {
      "sha256": "7be3cc2abaece4f19ab8d77d639174820af16984594e5358adc8d13ce45d404a",
      "size": 130
    },
    "README.md": {
      "sha256": "c9496642a2e3833fb1143646964435c9d7d57e09a3b4b76eb9a5b3959385547f",
      "size": 1333
    },
    "RELEASE-NOTES.md": {
      "sha256": "2f939bff13a2bcfcfa9d8a4bedb3204f175d23261f29afbedb583a53d5cdbdd5",
      "size": 317
    },
    "REVIEW-EVIDENCE.md": {
      "sha256": "ef51794b830e8b582b80e22efb5f21f776173660135bedb074706619b43f0d70",
      "size": 495
    },
    "assets/brand4-composer-dark.svg": {
      "sha256": "353e3f731eb85c3b522f37c6c2d085f621162b7a2070c4473afbb8b8560aa786",
      "size": 481
    },
    "assets/brand4-composer.svg": {
      "sha256": "188b3f69a8998916fefac126754ba62308e7971c53365d42ae56ea52095ed915",
      "size": 481
    },
    "assets/brand4-logo.svg": {
      "sha256": "f641b4f679104b2cbc0dcf3e68faf97b090c9684d5d21f62f96df9221ee636a8",
      "size": 372
    },
    "assets/icon.svg": {
      "sha256": "52d2ee53e2ef07a05a9c28d9edd1c94ea14d9cae097cad9e14b834e16bce6746",
      "size": 391
    },
    "assets/logo.svg": {
      "sha256": "52d2ee53e2ef07a05a9c28d9edd1c94ea14d9cae097cad9e14b834e16bce6746",
      "size": 391
    },
    "mcp.json": {
      "sha256": "8624979862a4886039869b5b1c32be48ba5f893677380563ba51da073f062950",
      "size": 407
    },
    "plugin.json": {
      "sha256": "ca9e2e73448d5db764278110c005b1d2d55148dde36d5feb6f6152759fdd81cf",
      "size": 10904
    }
  }
}

SHA-256 of public snapshot: 0441ac84a24f46c377987d34fbe45004ccc3591632b86d55da0f3560fcac6060