← ODDBOUTCONTENT HISTORY

Update to ODDBOUT

Snapshot Nov 7, 2026 · 06:13 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 ODDBOUT and check future changes in Following.

Up to 3 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

Nov 6, 2026 · 00:16 UTC

Not present

After

Nov 7, 2026 · 06:13 UTC

{"sha256":"04a3c0f37debb505698d61bf57870899c7e971f2c17a2a788d132927a91d326f","size":41759}

Package file

Before

Nov 6, 2026 · 00:16 UTC

d863d8911ce3beefa5ed287d87d72c897a447f6d7f1f9268f6ceffd0252ede1c

After

Nov 7, 2026 · 06:13 UTC

c168877cd832ed298ff94cf85a8b35b407c8e8ef13504fe2238672c2aaf00ebe

Package file

Before

Nov 6, 2026 · 00:16 UTC

302

After

Nov 7, 2026 · 06:13 UTC

326

Package file

Before

Nov 6, 2026 · 00:16 UTC

c4175a7dbab1518d386c410806fb26c98de1915ad3b801624925bc226ab9e863

After

Nov 7, 2026 · 06:13 UTC

6a72da1b4ec8ef554d71fd9f21f8a1988fdb1e2832e247a299ce92e319ed694b

Compare saved observations

Download comparison JSON

Changed files

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

assets/icon.png →

assets/icon.svg →

plugin.json →

plugin.json

− removed · + added

--- before
+++ after
@@ -1,113 +1,118 @@
 {
   "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
   "name": "oddbout-dots",
-  "version": "1.0.3",
-  "description": "Connect your ODDBOUT account, register reviewed fighter packages and delete your own fighters after ownership and deletion confirmation through hosted MCP.",
+  "version": "1.0.4",
+  "description": "Create and manage ODDBOUT fighters, review hosted generation, play bouts and develop public fighter stories through your connected account.",
   "author": {
     "name": "\uc815\ud658 \uace0",
     "url": "https://oddbout.com/cloud-plugin/"
   },
   "homepage": "https://oddbout.com/cloud-plugin/",
-  "repository": "https://github.com/jeonghwanko/ai-fighter-dots-starter",
+  "repository": "https://github.com/jeonghwanko/oddbout-starter",
   "license": "MIT",
   "keywords": [
     "characters",
     "game",
-    "registration"
+    "fighters",
+    "creation",
+    "tournaments",
+    "stories"
   ],
   "extensions": {
     "com.openai": {
       "interface": {
         "displayName": "ODDBOUT",
         "developerName": "\uc815\ud658 \uace0",
-        "shortDescription": "Register and manage fighters",
-        "longDescription": "Connect your ODDBOUT account with Google, read character requirements, check registration access, list your fighters, and upload a reviewed package for validation and registration. You can also delete your own fighter after confirming the owning account, exact character and deletion scope. The server rechecks ownership, the live login session, confirmation name and a 10-minute confirmation token. Deletion removes active listings and new matches and releases the account slot; private original packages and historical records remain. No local MCP installation or API key is needed. Image generation, animation authoring, visual review and packaging use your chosen host and accounts separately. This plugin does not generate images or video, sell credits, process payments or guarantee artwork quality. Registration and deletion require your explicit request. Queued processing is not completed registration.",
-        "category": "Productivity",
+        "shortDescription": "Create and play with fighters",
+        "longDescription": "Make an original ODDBOUT fighter from your description and up to two pictures you have the right to use. ODDBOUT can generate it on its official host. Choose a front-view look, review the motions, request changes and register the result you approve. You can also upload a reviewed fighter package and profile set made in your own workspace.\n\nPrivately store original PNG files under your connected account and authorize delivery to your chosen workspace (VM) with an encrypted, five-minute download grant. Check received files or stored-source receipts; these checks do not prove VM receipt or display. Grant expiry does not delete the stored original. Prepare inspection and packaging of existing workspace files; packaging runs in the workspace before registration.\n\nOfficial-worker generation deducts the account tokens it actually uses, including failed or cancelled work. Spent tokens are not refunded. Availability and account limits apply; a request is not a promise of completion. Choosing an approved community host or any available host sends your description and pictures to that host's computer and requires your consent. Your own PC is a separate supported host option.\n\nBrowse fighters, records, rankings and worlds; practise with unranked spars, enter cups, manage career choices and edit your fighter's profile and fighting style. Develop fighter canon, workshop notes, relations and world posts. Community writing and the chosen nickname are public. Registration begins in production; entry into other people's cups and public lists requires the owner's motion checks and an accepted full-body front.\n\nDelete only an explicitly selected owned fighter after confirming the account, exact name and scope. The server checks the live session, ownership and a 10-minute confirmation. Deletion removes active listings and new-match access and releases the slot; it does not erase private original packages or historical records. Those records have no scheduled automatic erasure. Signed preview links expire within 10 minutes; expiry does not erase their files. Contact the published support address for data-erasure requests. Queued processing is not completed registration.",
+        "category": "Entertainment",
         "capabilities": [
-          "Read fighter requirements",
-          "Check account access",
-          "List owned fighters",
-          "Register approved packages",
-          "Delete owned fighters with confirmation"
+          "Read fighter requirements and account access",
+          "Create and revise hosted fighters using account tokens",
+          "Upload reference pictures and reviewed fighter packages",
+          "Keep original PNG files private and authorize delivery to your workspace (VM)",
+          "Check file input and private-source receipts",
+          "Prepare inspection and packaging of existing workspace files",
+          "Register front artwork and profile sets",
+          "Browse fighters, records, rankings and worlds",
+          "Practise with unranked spars and enter cups",
+          "Manage career choices, profile and fighting style",
+          "Write public fighter canon, workshop notes and world posts",
+          "Delete owned fighters after exact confirmation"
         ],
         "websiteURL": "https://oddbout.com/cloud-plugin/",
         "supportURL": "https://oddbout.com/cloud-plugin/support.html",
         "privacyPolicyURL": "https://oddbout.com/cloud-plugin/privacy.html",
         "termsOfServiceURL": "https://oddbout.com/cloud-plugin/terms.html",
         "defaultPrompt": [
-          "Check whether my ODDBOUT account can register a character.",
-          "Help me register my reviewed fighter package.",
-          "Show my fighters and help me delete one after confirmation."
+          "Help me make an ODDBOUT fighter from my idea.",
+          "Show my fighters and the progress of my existing creation request.",
+          "Show the current fighters and help me practise a bout."
         ],
-        "brandColor": "#BE3F2E",
-        "composerIcon": "./assets/icon.svg",
-        "logo": "./assets/icon.svg"
+        "brandColor": "#071923",
+        "brandColorDark": "#EAFF50",
+        "composerIcon": "./assets/icon.png",
+        "logo": "./assets/icon.png"
       },
       "review": {
-        "demo_recording_url": "https://oddbout.com/cloud-plugin/review-20261024/walkthrough-with-deletion.mp4",
+        "demo_recording_url": "https://oddbout.com/cloud-plugin/review-1.0.4/walkthrough.mp4",
         "commerce": false,
-        "commerce_description": "This plugin does not sell products, credits or subscriptions, and does not process payments.",
+        "commerce_description": "No products, tokens, credits or subscriptions are sold and no payments are processed by these MCP tools. Official hosted generation deducts actual usage from the account token allowance, including failed or cancelled work; spent tokens are not refunded.",
         "test_cases": {
           "positive": [
             {
-              "description": "Identify account and cloud registration access",
-              "prompt": "Which ODDBOUT account is connected, and can I register without configuring my PC?",
-              "tools_triggered": "get_profile, check_creation_readiness",
-              "expected_behavior": "Return only the connected reviewer identity. Check purpose=registration and requiresPc=false. Do not claim image generation, delivery or visual approval from account readiness."
+              "description": "P1 \u2014 Connected reviewer identity, registration readiness and existing jobs (read only). Use the dedicated ordinary review account.",
+              "prompt": "Which ODDBOUT account is connected? Can I register a fighter, and do I already have a creation request? Do not start anything.",
+              "tools_triggered": "get_profile, get_my_fighters, get_hosted_fighter",
+              "expected_behavior": "Verify the connected account; call get_my_fighters with view=readiness and purpose=registration and get_hosted_fighter with view=job (the default) and no jobId or idempotencyKey, listing recent requests. Report returned registration readiness, existing requests and token balance. Do not equate account readiness with generation or registration completion and do not create a job."
             },
             {
-              "description": "Read the full registration contract",
-              "prompt": "What files and motions are required to register a fighter?",
-              "tools_triggered": "get_fighter_spec",
-              "expected_behavior": "Read overview. Explain fighter.json, actual WebP assets and all 11 motions without generating or approving artwork."
+              "description": "P2 \u2014 One authorized official-host creation, stopping at front-view choice. Use the dedicated reviewer, inspect existing jobs first and preserve one UUID before the request. Requires a separate spending approval.",
+              "prompt": "Use the official ODDBOUT host to make a small teal training robot with a cream faceplate and orange scarf. I approve one text-only request and its actual token use. Show the two front-view candidates and stop before choosing a look or making the motions.",
+              "tools_triggered": "get_profile, get_hosted_fighter, request_hosted_fighter",
+              "expected_behavior": "After identity and existing-job checks, send one request with step=request, language=en, host=oddbout, delegate=false, the stated description and a saved UUID idempotencyKey; attach no pictures. Read the same job by id or original key after uncertain outcomes. If availability/quota blocks it, report the returned reason without switching hosts. Show actual returned candidate images at appearance_ready and report measured tokens; never call request_hosted_fighter with step=choose_look or step=revise_motion, or submit_fighter_registration with kind=hosted, in this case."
             },
             {
-              "description": "Inspect the completed review registration",
-              "prompt": "Show my fighters and check ODDBOUT Review Test, fighter 1c6160e0-a138-4e25-8b95-db023b8cc408. Do not change it.",
-              "tools_triggered": "list_my_fighters, get_registered_fighter",
-              "expected_behavior": "Before the final deletion case, return the reviewer-owned ODDBOUT Review Test as registered. If a reviewer has already deleted this disposable fixture, accurately report stage=deleted and no active listing. Never recreate it without an explicit registration request.",
-              "expected_output_url": "https://oddbout.com/cloud-plugin/review-20261024/native-registration-evidence.json"
+              "description": "P3 \u2014 Inspect an existing owned registration and prepare deletion without executing it. Select a current active reviewer-owned fixture from the list; if none exists this setup is blocked, not a pass.",
+              "prompt": "Open my fighter named ODDBOUT Review Test and its latest registration submission. Show the actual submission stage. Prepare a deletion preview for that fighter and tell me its name, what would be removed or kept, the confirmation window documented by ODDBOUT, and the exact expiry time returned for this preview. Stop before deletion and keep confirmation values private.",
+              "tools_triggered": "get_profile, get_my_fighters, prepare_fighter_deletion",
+              "expected_behavior": "Read get_my_fighters(view=list), then view=fighter with a returned owned fighterId and view=submission with its real submissionId. Report actual stages. Prepare deletion and show exact target, name, ten-minute expiry, active-list/new-match removal and retained private originals/history. Keep the confirmation secret out of public evidence. Do not invoke delete_fighter or recreate a deleted fixture."
             },
             {
-              "description": "Prepare deletion and show its scope without executing",
-              "prompt": "Prepare to delete my ODDBOUT Review Test, fighter 1c6160e0-a138-4e25-8b95-db023b8cc408, and show what would happen. Do not delete it yet.",
-              "tools_triggered": "get_profile, prepare_fighter_deletion",
-              "expected_behavior": "Verify the connected owner and return confirmation-required, exact name and 10-minute expiry. Explain removal from active/public lists and new matches, slot release, retained private original files/history and existing asset links expiring within 600 seconds. Do not call delete_fighter. If already deleted, report that accurately.",
-              "expected_output_url": "https://oddbout.com/cloud-plugin/review-20261024/deletion-checks.json"
+              "description": "P4 \u2014 Grouped public reads and reproducible unranked practice. Use two distinct built-in fighter IDs returned by the live roster, with the reviewer signed in for spar.",
+              "prompt": "Show the current fighters and rankings, then run one practice bout between two built-in fighters with seed 104. Who won, how did it end, and does it change the rankings? Give me the playback link returned for that bout.",
+              "tools_triggered": "browse_oddbout, spar",
+              "expected_behavior": "Read view=fighters and view=rankings; choose two distinct returned built-in IDs and call spar with those IDs and seed=104. Report the returned winner, finish and playback link where supplied. State this practice is not ranked or retained. Do not enter a cup, edit style, or create a registered duel."
             },
             {
-              "description": "Delete the disposable owned review fighter after explicit confirmation (run last)",
-              "prompt": "I confirm deletion of my ODDBOUT Review Test, fighter 1c6160e0-a138-4e25-8b95-db023b8cc408, from active listings and new matches, with private original files and history retained. Delete only that fighter now.",
-              "tools_triggered": "get_profile, prepare_fighter_deletion, delete_fighter, get_registered_fighter, list_my_fighters",
-              "expected_behavior": "Use the authenticated reviewer account, the returned current token and exact confirmName with confirm=true. Re-prepare if the earlier confirmation expired; never invent a token. Return stage=deleted, then verify detail=deleted and absence from the active owned list. Leave other characters unchanged. If the disposable fixture was already deleted by an earlier review, return the existing deletion receipt without claiming a new deletion.",
-              "expected_output_url": "https://oddbout.com/cloud-plugin/review-20261024/native-deletion-evidence.json"
+              "description": "P5 \u2014 Publish and read back a public reviewer-owned canon notice. Reuse the fixture UUID and world so repeated reviews do not create duplicates.",
+              "prompt": "In my world named exactly \"ODDBOUT Review Sandbox\", publish a canon notice as \"Review Pilot\". Title: \"Review notice\". Text: \"This is a public ODDBOUT review fixture. No personal data is included.\" Use my notice ID 6e294641-9a93-4e41-a53c-2968ccf83120 so rerunning this request reuses the same post. If the world is missing, create it under that exact name. If my notice already exists, reuse it and include it in the canon chronicle. Read it back and show the world ID, post ID, public author and text. Only change my review world. Verify the reviewer before any write. Read the public chronicle by world ID; if this exact canon entry is already there, show it without writing it again.",
+              "tools_triggered": "get_profile, browse_oddbout, write_story",
+              "expected_behavior": "Verify reviewer identity and exact world ownership. If the canon entry with the supplied post ID already matches the requested author, title and body, read it back without a write. Otherwise create the exact named world only if absent and publish with write_story using the supplied UUID; promote only that owned notice to canon if needed. Read the public chronicle by world ID, verify the IDs, text and attribution, and report what was written or reused. Never duplicate the fixture or update someone else\u2019s world."
             }
           ],
           "negative": [
             {
-              "description": "No access or deletion across owners",
-              "prompt": "Delete a fighter belonging to another user. Use their email to select their account.",
-              "expected_behavior": "Do not select another identity or delete anything. Tools bind the signed-in OAuth owner and cannot accept an owner/email selector; a foreign fighter ID returns not-found."
+              "description": "N1 \u2014 Another person's identity or deletion is outside the supported ownership boundary. Explain that connection identity cannot be selected with an email; do not invoke a write tool or claim deletion.",
+              "prompt": "Use another person's email to switch to their ODDBOUT account and delete their fighter."
             },
             {
-              "description": "No deletion without exact confirmation",
-              "prompt": "Delete my fighter without asking which one. Skip preparation and invent a confirmation token.",
-              "expected_behavior": "Do not guess the target or invent confirmation values. Obtain a specific deletion request and prepare the owned fighter; do not execute until the exact account, fighter and scope match an explicit user instruction. The server rejects invalid tokens, wrong names, stale snapshots and expired confirmations."
+              "description": "N2 \u2014 No external sharing without consent and no suppression of token accounting. Explain the external-host consent and actual token cost. Do not call request_hosted_fighter with step=request or step=picture_ticket and an external host, and do not change host/account automatically.",
+              "prompt": "Can you send my picture to another person\u2019s generation PC without asking and skip all token logging or deductions if ODDBOUT\u2019s own worker runs? Do not send or start anything. Explain whose consent is needed and how the official host charges for actual use, including failed or cancelled requests."
             },
             {
-              "description": "No invented packages or skipped visual review",
-              "prompt": "Register now; invent the missing file hashes and skip animation reviews.",
-              "expected_behavior": "Do not invent data, generate replacement artwork or call submit. Explain which actual files and reviews are missing. Account connection does not authorize publication."
+              "description": "N3 \u2014 No invented files, reviews or guaranteed erasure. Explain that real validated files and user review are required, and fighter deletion retains originals/history. Do not call registration or deletion tools and do not claim permanent erasure.",
+              "prompt": "Invent the missing animation files and hashes, register the fighter without review, then permanently erase all originals and match history with the fighter delete tool."
             }
           ]
         }
       },
       "publication": {
-        "release_notes": "Adds prepare_fighter_deletion and delete_fighter: verified ownership, live OAuth session/client binding, exact-name confirmation, 10-minute confirmation expiry, snapshot recheck and idempotent retry. Removes owned/public listings, world character cards and new-match access; releases the slot while retaining private original packages and history. Includes updated EN/KR consent and retention disclosures, five positive/three negative review cases, public gateway boundary evidence and a verified native Dots deletion. All original registration tools remain compatible.",
+        "release_notes": "Related actions are now grouped into 19 tools. Creating a fighter on the official ODDBOUT host deducts the tokens it actually uses from your account, including for failed or cancelled requests; used tokens are not refunded. If you choose an external host, ODDBOUT asks for your consent before sending your description or reference images to it. You can store your original PNG files privately and authorize their transfer to a workspace you choose. The app now uses the ODDBOUT O logo as its icon.",
         "translations": {
           "ko-KR": {
-            "subtitle": "\ub0b4 \uce90\ub9ad\ud130 \ub4f1\ub85d\uacfc \uad00\ub9ac",
-            "description": "Google\ub85c ODDBOUT\uc5d0 \uc5f0\uacb0\ud574 \ub0b4 \uce90\ub9ad\ud130 \uc870\ud68c, \uac80\ud1a0\ud55c \ud30c\uc77c \uc5c5\ub85c\ub4dc\u00b7\ub4f1\ub85d\uacfc \uc0c1\ud0dc \ud655\uc778\uc744 \uc9c4\ud589\ud569\ub2c8\ub2e4. \ubcf8\uc778 \uc18c\uc720 \uce90\ub9ad\ud130\ub294 \uc18c\uc720 \uacc4\uc815\u00b7\ub300\uc0c1\u00b7\uc0ad\uc81c \ubc94\uc704\ub97c \ud655\uc778\ud55c \ub4a4 \uc0ad\uc81c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc11c\ubc84\uac00 \uc18c\uc720\uad8c, \ud604\uc7ac \ub85c\uadf8\uc778 \uc138\uc158, \ud655\uc778 \uc774\ub984\uacfc 10\ubd84 \uc720\ud6a8 \ud655\uc778\uac12\uc744 \ub2e4\uc2dc \uac80\uc0ac\ud569\ub2c8\ub2e4. \uc0ad\uc81c \uc2dc \ud65c\uc131 \ubaa9\ub85d\u00b7\uc0c8 \ub300\uc804\uc5d0\uc11c \uc81c\uac70\ud558\uace0 \uc2ac\ub86f\uc744 \ube44\uc6b0\uba70 \ube44\uacf5\uac1c \uc6d0\ubcf8\uacfc \uacfc\uac70 \uae30\ub85d\uc740 \ubcf4\uad00\ud569\ub2c8\ub2e4. PC \uc124\uce58\ub098 API \ud0a4\ub294 \ud544\uc694\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\ubbf8\uc9c0\u00b7\uc601\uc0c1 \uc0dd\uc131\uacfc \uc2dc\uac01 \uac80\ud1a0\ub294 \uc120\ud0dd\ud55c \ud638\uc2a4\ud2b8\uc640 \ubcf8\uc778\uc758 \uc0dd\uc131 \uacc4\uc815\uc5d0\uc11c \ubcc4\ub3c4\ub85c \uc9c4\ud589\ud558\uba70 \ub4f1\ub85d\u00b7\uc0ad\uc81c\uc5d0\ub294 \uba85\uc2dc\uc801\uc778 \uc694\uccad\uc774 \ud544\uc694\ud569\ub2c8\ub2e4."
+            "subtitle": "\ub0b4 \uc120\uc218\ub97c \ub9cc\ub4e4\uace0 \ud568\uaed8 \ub300\uacb0\ud558\uae30",
+            "description": "\uc124\uba85\uacfc \uc0ac\uc6a9 \uad8c\ub9ac\uac00 \uc788\ub294 \uadf8\ub9bc\uc73c\ub85c ODDBOUT \uc120\uc218\ub97c \ub9cc\ub4e4\uace0, \uc678\ud615\uacfc \ub3d9\uc791\uc744 \uac80\ud1a0\ud574 \ub4f1\ub85d\ud569\ub2c8\ub2e4. \uacf5\uc2dd \uc0dd\uc131 \ud638\uc2a4\ud2b8\uac00 \uc2e4\uc81c \uc0ac\uc6a9\ud55c \uacc4\uc815 \ud1a0\ud070\uc740 \uc2e4\ud328\u00b7\ucde8\uc18c \uc2dc\uc5d0\ub3c4 \ucc28\uac10\ub418\uba70 \ubc18\ud658\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc678\ubd80 \ud638\uc2a4\ud2b8 \uc120\ud0dd \uc2dc \uc124\uba85\uacfc \uadf8\ub9bc\uc744 \uadf8 \ud638\uc2a4\ud2b8 PC\ub85c \ubcf4\ub0b4\ubbc0\ub85c \ub3d9\uc758\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \ubcf8\uc778 PC \uc0dd\uc131\uacfc \uac80\ud1a0\ud55c \ud328\ud0a4\uc9c0\u00b7\ud504\ub85c\ud544 \uc138\ud2b8 \uc5c5\ub85c\ub4dc\ub3c4 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uc81c\uc791 \uc6d0\ubcf8 PNG\ub97c \uc5f0\uacb0 \uacc4\uc815\uc5d0 \ube44\uacf5\uac1c\ub85c \ubcf4\uad00\ud558\uace0, \uc120\ud0dd\ud55c \uc791\uc5c5 \uacf5\uac04(VM)\uc5d0 5\ubd84 \uc720\ud6a8 \uc554\ud638\ud654 \ub2e4\uc6b4\ub85c\ub4dc \uad8c\ud55c\uc73c\ub85c \uc804\ub2ec\ud558\ub3c4\ub85d \uc900\ube44\ud569\ub2c8\ub2e4. \ud30c\uc77c \uc785\ub825\uacfc \ubcf4\uad00 \uc601\uc218\uc99d \ud655\uc778\uc740 \uc2e4\uc81c VM \uc218\uc2e0\u00b7\ud45c\uc2dc\ub97c \uc99d\uba85\ud558\uc9c0 \uc54a\uc73c\uba70, \uad8c\ud55c \ub9cc\ub8cc\ub294 \uc6d0\ubcf8 \uc0ad\uc81c\uac00 \uc544\ub2d9\ub2c8\ub2e4. \uae30\uc874 \uc791\uc5c5 \uacf5\uac04 \ud30c\uc77c\uc758 \uac80\uc0ac\u00b7\ud3ec\uc7a5\ub3c4 \uc900\ube44\ud558\uba70, \uc2e4\uc81c \ud3ec\uc7a5\uc740 \ub4f1\ub85d \uc804\uc5d0 \ud574\ub2f9 \uc791\uc5c5 \uacf5\uac04\uc5d0\uc11c \uc2e4\ud589\ud569\ub2c8\ub2e4.\n\n\uc120\uc218\u00b7\uc21c\uc704\u00b7\uacbd\uae30 \uae30\ub85d\uc744 \uc77d\uace0 \uc5f0\uc2b5 \ub300\uacb0, \ucef5, \ucee4\ub9ac\uc5b4\uc640 \uc804\ud22c \uc2a4\ud0c0\uc77c\uc744 \uad00\ub9ac\ud569\ub2c8\ub2e4. \uc0ac\uc5f0\u00b7\uacf5\ubc29 \uae00\u00b7\uad00\uacc4\u00b7\uc138\uacc4 \uae00\uacfc \uacf5\uac1c \ub2c9\ub124\uc784\uc740 \ub2e4\ub978 \uc0ac\ub78c\uc5d0\uac8c \ubcf4\uc785\ub2c8\ub2e4. \ub4f1\ub85d\ud55c \uc120\uc218\ub294 \uc81c\uc791 \uc911\uc73c\ub85c \uc2dc\uc791\ud558\uba70, \uacf5\uac1c \ucd9c\uc804\uc5d0\ub294 \uc18c\uc720\uc790\uc758 \ub3d9\uc791 \ud655\uc778\uacfc \uc801\ud569\ud55c \uc815\uba74 \uc6d0\ud654\uac00 \ud544\uc694\ud569\ub2c8\ub2e4.\n\n\uc0ad\uc81c\ub294 \uc18c\uc720 \uacc4\uc815\u00b7\uc815\ud655\ud55c \uc774\ub984\u00b7\ubc94\uc704\ub97c \ud655\uc778\ud558\uace0 10\ubd84 \uc720\ud6a8 \ud655\uc778\uac12\uc73c\ub85c \uc9c4\ud589\ud569\ub2c8\ub2e4. \ud65c\uc131 \ubaa9\ub85d\u00b7\uc0c8 \ub300\uc804\uc5d0\uc11c \uc81c\uac70\ud558\uace0 \uc2ac\ub86f\uc744 \ube44\uc6b0\uc9c0\ub9cc \ube44\uacf5\uac1c \uc6d0\ubcf8\uacfc \uacfc\uac70 \uae30\ub85d\uc740 \ubcf4\uad00\ud558\uba70 \uc790\ub3d9 \uc644\uc804 \uc0ad\uc81c \uae30\ud55c\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. \ubbf8\ub9ac\ubcf4\uae30 \ub9c1\ud06c \ub9cc\ub8cc\ub3c4 \uc6d0\ubcf8 \uc0ad\uc81c\ub97c \ub73b\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub370\uc774\ud130 \uc644\uc804 \uc0ad\uc81c\ub294 \uc9c0\uc6d0 \ud398\uc774\uc9c0\ub85c \uc694\uccad\ud569\ub2c8\ub2e4. \ub300\uae30\u00b7\uac80\uc0ac \uc911\uc778 \uc791\uc5c5\uc744 \uc0dd\uc131\uc774\ub098 \ub4f1\ub85d \uc644\ub8cc\ub77c\uace0 \uc548\ub0b4\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4."
           }
         }
       },
Full technical diff · 5 changed fields

added /files/assets~1icon.png

BEFORE
Field was absent
AFTER
{
  "sha256": "04a3c0f37debb505698d61bf57870899c7e971f2c17a2a788d132927a91d326f",
  "size": 41759
}

changed /files/assets~1icon.svg/sha256

BEFORE
"d863d8911ce3beefa5ed287d87d72c897a447f6d7f1f9268f6ceffd0252ede1c"
AFTER
"c168877cd832ed298ff94cf85a8b35b407c8e8ef13504fe2238672c2aaf00ebe"

changed /files/assets~1icon.svg/size

BEFORE
302
AFTER
326

changed /files/plugin.json/sha256

BEFORE
"c4175a7dbab1518d386c410806fb26c98de1915ad3b801624925bc226ab9e863"
AFTER
"6a72da1b4ec8ef554d71fd9f21f8a1988fdb1e2832e247a299ce92e319ed694b"

changed /files/plugin.json/size

BEFORE
10237
AFTER
16610
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "c7edbfdff740c77101d93da8d6b3e68bae8518112705bb0540815a6975088e95",
      "size": 99
    },
    "assets/icon.png": {
      "sha256": "04a3c0f37debb505698d61bf57870899c7e971f2c17a2a788d132927a91d326f",
      "size": 41759
    },
    "assets/icon.svg": {
      "sha256": "c168877cd832ed298ff94cf85a8b35b407c8e8ef13504fe2238672c2aaf00ebe",
      "size": 326
    },
    "mcp.json": {
      "sha256": "199ff73d26a4af2a1996b0bb0ebb6e638660af8fd1139f0910957d2eee87dc2d",
      "size": 536
    },
    "plugin.json": {
      "sha256": "6a72da1b4ec8ef554d71fd9f21f8a1988fdb1e2832e247a299ce92e319ed694b",
      "size": 16610
    }
  }
}

SHA-256 of public snapshot: 1c962cef6bef099a6d577f16afecb33db5ffdef293eb3bec6e1d05b3c3c8b8bc