← Revenue ConcentrationCONTENT HISTORY

Update to Revenue Concentration

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 Revenue Concentration 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:50 UTC

Not present

After

Nov 2, 2026 · 06:11 UTC

{"sha256":"5360651bedb7eb9843cafb8f818335b167c8d307b1ffe54328042e8db349cb4e","size":598}

Package file

Before

Oct 24, 2026 · 13:50 UTC

Not present

After

Nov 2, 2026 · 06:11 UTC

{"sha256":"ffcb61a8c98e2f524a9ab44c4f534cfbe86f8c46a9de1cf78d4ed9abd3c5e09c","size":598}

Package file

Before

Oct 24, 2026 · 13:50 UTC

Not present

After

Nov 2, 2026 · 06:11 UTC

{"sha256":"2dd030cdc32505d18c12dc500a2485d5f10ec4dcba917b7086d03bac211c38c7","size":489}

Package file

Before

Oct 24, 2026 · 13:50 UTC

2c1d63ea25b64fc9ed5f9eeecbbe9b714e0bc70d027a2b758c663a038a759c8f

After

Nov 2, 2026 · 06:11 UTC

4589284d29a5a1499c303c05683f75a23f21bac94386bc952e2f08c94f25c312

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-customer-revenue-concentration",
-  "version": "1.0.1",
-  "description": "Aggregates nonnegative supplied revenue by customer label and computes customer shares, top-one/top-three share and a concentration index. Assumes one period and currency; excludes refunds and does not predict business risk.",
+  "version": "1.0.4",
+  "description": "See how much of your revenue comes from each customer, including your largest customers.",
   "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/customer-revenue-concentration",
   "keywords": [
+    "see revenue by customer",
     "revenue concentration",
     "small business operations",
     "worksheet",
@@ -19,24 +20,27 @@
     "com.openai": {
       "interface": {
         "displayName": "Revenue Concentration",
-        "shortDescription": "Revenue Concentration",
-        "longDescription": "Aggregates nonnegative supplied revenue by customer label and computes customer shares, top-one/top-three share and a concentration index. Assumes one period and currency; excludes refunds and does not predict business risk. 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": "See revenue by customer",
+        "longDescription": "See how much of your revenue comes from each customer, including your largest customers. Share customer labels and revenue figures for one period and currency. Get each customer's share and the share from your top one and top three customers. This helps you see the mix in your figures. Refunds are not included, and the app does not predict business risk.",
         "developerName": "DUOPORE VENTURES PTE. LTD.",
         "category": "Productivity",
         "capabilities": [
-          "Prepare revenue concentration"
+          "See revenue by customer"
         ],
         "websiteURL": "https://duopore-public-tools.ch-kae88.workers.dev/tools/customer-revenue-concentration",
         "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 revenue concentration.",
-          "Review my inputs for revenue concentration."
+          "What share of my revenue comes from my biggest customers?",
+          "Group these revenue figures by customer label."
         ],
-        "brandColor": "#1463EC",
-        "composerIcon": "./assets/icon.svg",
-        "logo": "./assets/logo.svg"
+        "brandColor": "#1B8D4A",
+        "composerIcon": "./assets/brand4-composer.svg",
+        "logo": "./assets/brand4-logo.svg",
+        "brandColorDark": "#7BEAA9",
+        "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-customer-revenue-concentration/"
       },
       "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": "5360651bedb7eb9843cafb8f818335b167c8d307b1ffe54328042e8db349cb4e",
  "size": 598
}

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

BEFORE
Field was absent
AFTER
{
  "sha256": "ffcb61a8c98e2f524a9ab44c4f534cfbe86f8c46a9de1cf78d4ed9abd3c5e09c",
  "size": 598
}

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

BEFORE
Field was absent
AFTER
{
  "sha256": "2dd030cdc32505d18c12dc500a2485d5f10ec4dcba917b7086d03bac211c38c7",
  "size": 489
}

changed /files/plugin.json/sha256

BEFORE
"2c1d63ea25b64fc9ed5f9eeecbbe9b714e0bc70d027a2b758c663a038a759c8f"
AFTER
"4589284d29a5a1499c303c05683f75a23f21bac94386bc952e2f08c94f25c312"

changed /files/plugin.json/size

BEFORE
10521
AFTER
10181
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "8ba20fb262e31d1d7d6e963de7c6b99ee9162c5936f952f7f92ebe893503c4b8",
      "size": 130
    },
    "EXAMPLE.json": {
      "sha256": "ca5017a1ac30f7bf66c7daccb8e033d47037192861d994851205cacf34251618",
      "size": 1184
    },
    "PUBLICATION-STATUS.md": {
      "sha256": "7be3cc2abaece4f19ab8d77d639174820af16984594e5358adc8d13ce45d404a",
      "size": 130
    },
    "README.md": {
      "sha256": "469faaad5b8e6939268ff108b45a4d3a79b94bf23e30d7197ea9838618a7d569",
      "size": 1375
    },
    "RELEASE-NOTES.md": {
      "sha256": "2f939bff13a2bcfcfa9d8a4bedb3204f175d23261f29afbedb583a53d5cdbdd5",
      "size": 317
    },
    "REVIEW-EVIDENCE.md": {
      "sha256": "098f22c62493f058e116e29e2caa72304fa38fb888a822ca130d3edf3fd45d4a",
      "size": 492
    },
    "assets/brand4-composer-dark.svg": {
      "sha256": "5360651bedb7eb9843cafb8f818335b167c8d307b1ffe54328042e8db349cb4e",
      "size": 598
    },
    "assets/brand4-composer.svg": {
      "sha256": "ffcb61a8c98e2f524a9ab44c4f534cfbe86f8c46a9de1cf78d4ed9abd3c5e09c",
      "size": 598
    },
    "assets/brand4-logo.svg": {
      "sha256": "2dd030cdc32505d18c12dc500a2485d5f10ec4dcba917b7086d03bac211c38c7",
      "size": 489
    },
    "assets/icon.svg": {
      "sha256": "2e1e83d2b72c328fe30302a849eee9a50e3eb3796c6988dda894551349269f8e",
      "size": 351
    },
    "assets/logo.svg": {
      "sha256": "2e1e83d2b72c328fe30302a849eee9a50e3eb3796c6988dda894551349269f8e",
      "size": 351
    },
    "mcp.json": {
      "sha256": "a5c42558e86ffb7aa449326a4dcfc13cf707b8561395f6f73fe8b9a480aa1a9e",
      "size": 409
    },
    "plugin.json": {
      "sha256": "4589284d29a5a1499c303c05683f75a23f21bac94386bc952e2f08c94f25c312",
      "size": 10181
    }
  }
}

SHA-256 of public snapshot: 7e81b8672d051c11db88f8d4d40da6b74e66a83f174ec9381e3fa8593388e5ae