Update to Record Join Reconciliation
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":"d290cbdc6030e5aaf3c758fbe917dec161780dec91f62cadc515d1627bb1a769","size":548}
Package file
Oct 24, 2026 · 13:50 UTC
Not present
Nov 2, 2026 · 06:11 UTC
{"sha256":"ad3ba1cada6709b23a36427416ecffe75eaef60112c181b90d491a2397641fc0","size":548}
Package file
Oct 24, 2026 · 13:50 UTC
Not present
Nov 2, 2026 · 06:11 UTC
{"sha256":"6d347718e93118fe8d74240af0623bfd66ea28a0fc7953563133501f7617f4f2","size":439}
Package file
Oct 24, 2026 · 13:50 UTC
26c38288d377d45443f7c9f5a5891c27afc449c8255b566edb3d25fb47b13932
Nov 2, 2026 · 06:11 UTC
bfb957328c50f3d465496499e132fae1c12d6019b4746671c627282df9d7ba4e
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-record-join-reconcile", - "version": "1.0.1", - "description": "Joins two supplied record lists by exact reference and flags unmatched references or differing labels and values. Rejects duplicate join keys. Values must have the same meaning and unit in both lists.", + "version": "1.0.4", + "description": "Match two lists by reference and spot missing rows or values that disagree.", "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/record-join-reconcile", "keywords": [ + "match two record lists", "record join reconciliation", "document and record tools", "worksheet", @@ -19,24 +20,27 @@ "com.openai": { "interface": { "displayName": "Record Join Reconciliation", - "shortDescription": "Record Join Reconciliation", - "longDescription": "Joins two supplied record lists by exact reference and flags unmatched references or differing labels and values. Rejects duplicate join keys. Values must have the same meaning and unit in both lists. 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": "Match two record lists", + "longDescription": "Match two lists by reference and spot missing rows or values that disagree. Share both lists with a unique reference for each row. See which records match, which appear on only one side, and which labels or values differ. Both lists must use the same units and meaning for the values. Repeated join references need fixing first.", "developerName": "DUOPORE VENTURES PTE. LTD.", "category": "Productivity", "capabilities": [ - "Prepare record join reconciliation" + "Match two record lists" ], "websiteURL": "https://duopore-public-tools.ch-kae88.workers.dev/tools/record-join-reconcile", "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 record join reconciliation.", - "Review my inputs for record join reconciliation." + "Match these two lists by reference and show the gaps.", + "Which values disagree between these two record lists?" ], - "brandColor": "#1463EC", - "composerIcon": "./assets/icon.svg", - "logo": "./assets/logo.svg" + "brandColor": "#8D7E1B", + "composerIcon": "./assets/brand4-composer.svg", + "logo": "./assets/brand4-logo.svg", + "brandColorDark": "#EADB7B", + "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-record-join-reconcile/" }, "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": "d290cbdc6030e5aaf3c758fbe917dec161780dec91f62cadc515d1627bb1a769",
"size": 548
}added /files/assets~1brand4-composer.svg
Field was absent
{
"sha256": "ad3ba1cada6709b23a36427416ecffe75eaef60112c181b90d491a2397641fc0",
"size": 548
}added /files/assets~1brand4-logo.svg
Field was absent
{
"sha256": "6d347718e93118fe8d74240af0623bfd66ea28a0fc7953563133501f7617f4f2",
"size": 439
}changed /files/plugin.json/sha256
"26c38288d377d45443f7c9f5a5891c27afc449c8255b566edb3d25fb47b13932"
"bfb957328c50f3d465496499e132fae1c12d6019b4746671c627282df9d7ba4e"
changed /files/plugin.json/size
10997
10644
Full snapshot data
{
"files": {
".app.json": {
"sha256": "148a570aee0745ccc16a5af1176b2e7283fc2514fe1155088fee682b1b637eb5",
"size": 121
},
"EXAMPLE.json": {
"sha256": "8941b215e0e3543a94a76d0e4c7f21d0cdcf75c0f81fba14e19110fcc5b609bc",
"size": 1277
},
"PUBLICATION-STATUS.md": {
"sha256": "7be3cc2abaece4f19ab8d77d639174820af16984594e5358adc8d13ce45d404a",
"size": 130
},
"README.md": {
"sha256": "cf8dc381dee3901ef3572095698ec418777f08258fc14b0747dcb497e5cbe813",
"size": 1338
},
"RELEASE-NOTES.md": {
"sha256": "2f939bff13a2bcfcfa9d8a4bedb3204f175d23261f29afbedb583a53d5cdbdd5",
"size": 317
},
"REVIEW-EVIDENCE.md": {
"sha256": "9f7c8ffb8fd6eea25c0973f43dcd0198cd7391c0266b256f30a99dafdab55632",
"size": 488
},
"assets/brand4-composer-dark.svg": {
"sha256": "d290cbdc6030e5aaf3c758fbe917dec161780dec91f62cadc515d1627bb1a769",
"size": 548
},
"assets/brand4-composer.svg": {
"sha256": "ad3ba1cada6709b23a36427416ecffe75eaef60112c181b90d491a2397641fc0",
"size": 548
},
"assets/brand4-logo.svg": {
"sha256": "6d347718e93118fe8d74240af0623bfd66ea28a0fc7953563133501f7617f4f2",
"size": 439
},
"assets/icon.svg": {
"sha256": "29cc1405035bffee4a1180861888d75d0f21e927e281c9698e3f46693b07cdc4",
"size": 360
},
"assets/logo.svg": {
"sha256": "29cc1405035bffee4a1180861888d75d0f21e927e281c9698e3f46693b07cdc4",
"size": 360
},
"mcp.json": {
"sha256": "6fcc1f0af8b04fb83708fa85b41b99af327e57502e6f497d93a109e26c561768",
"size": 391
},
"plugin.json": {
"sha256": "bfb957328c50f3d465496499e132fae1c12d6019b4746671c627282df9d7ba4e",
"size": 10644
}
}
}SHA-256 of public snapshot: a231426fd9ca671562dffbdf6e03e969e67b8cfa703f906742dcc2f4ba25afc1