Update to Revenue Concentration
Snapshot Nov 2, 2026 · 06:11 UTC · version 1.0.4
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.
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
Oct 24, 2026 · 13:50 UTC
Not present
Nov 2, 2026 · 06:11 UTC
{"sha256":"5360651bedb7eb9843cafb8f818335b167c8d307b1ffe54328042e8db349cb4e","size":598}
Package file
Oct 24, 2026 · 13:50 UTC
Not present
Nov 2, 2026 · 06:11 UTC
{"sha256":"ffcb61a8c98e2f524a9ab44c4f534cfbe86f8c46a9de1cf78d4ed9abd3c5e09c","size":598}
Package file
Oct 24, 2026 · 13:50 UTC
Not present
Nov 2, 2026 · 06:11 UTC
{"sha256":"2dd030cdc32505d18c12dc500a2485d5f10ec4dcba917b7086d03bac211c38c7","size":489}
Package file
Oct 24, 2026 · 13:50 UTC
2c1d63ea25b64fc9ed5f9eeecbbe9b714e0bc70d027a2b758c663a038a759c8f
Nov 2, 2026 · 06:11 UTC
4589284d29a5a1499c303c05683f75a23f21bac94386bc952e2f08c94f25c312
Compare saved observations
Download comparison JSONChanged files
Choose a file to see its text changes. Binary or large files show metadata only.
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
Field was absent
{
"sha256": "5360651bedb7eb9843cafb8f818335b167c8d307b1ffe54328042e8db349cb4e",
"size": 598
}added /files/assets~1brand4-composer.svg
Field was absent
{
"sha256": "ffcb61a8c98e2f524a9ab44c4f534cfbe86f8c46a9de1cf78d4ed9abd3c5e09c",
"size": 598
}added /files/assets~1brand4-logo.svg
Field was absent
{
"sha256": "2dd030cdc32505d18c12dc500a2485d5f10ec4dcba917b7086d03bac211c38c7",
"size": 489
}changed /files/plugin.json/sha256
"2c1d63ea25b64fc9ed5f9eeecbbe9b714e0bc70d027a2b758c663a038a759c8f"
"4589284d29a5a1499c303c05683f75a23f21bac94386bc952e2f08c94f25c312"
changed /files/plugin.json/size
10521
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