← UptimelyCONTENT HISTORY

Update to Uptimely

Snapshot Oct 27, 2026 · 06:07 UTC · version 1.0.1

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 Uptimely 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

Oct 9, 2026 · 06:04 UTC

8dd5df798d6970cc10eb855e97bb30075729af447180114daa5ae8ec95d94f5c

After

Oct 27, 2026 · 06:07 UTC

9f47970a2361d4b868fd262c404d1dcc3f68f6f2ad0aadec56d364971766ea3c

Package file

Before

Oct 9, 2026 · 06:04 UTC

127

After

Oct 27, 2026 · 06:07 UTC

100

Package file

Before

Oct 9, 2026 · 06:04 UTC

13cc647b03de304288b9ce4c76f5751037f5c71d6a6e877f33a6047d19ff6e7f

After

Oct 27, 2026 · 06:07 UTC

8f135811e8bcf553366b7bb92fd87a19061b469ecf23628fed174681c7c539d7

Package file

Before

Oct 9, 2026 · 06:04 UTC

3895

After

Oct 27, 2026 · 06:07 UTC

9527

Compare saved observations

Download comparison JSON

Changed files

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

.app.json →

.codex-plugin/plugin.json →

.mcp.json →

assets/icon-dark.png →

assets/icon.png →

assets/logo-dark.png →

assets/logo.png →

.codex-plugin/plugin.json

− removed · + added

--- before
+++ after
@@ -1,5 +1,4 @@
 {
-  "apps": "./.app.json",
   "author": {
     "name": "14930398 Canada Inc."
   },
@@ -19,8 +18,78 @@
     "shortDescription": "Uptime monitors and incidents",
     "supportURL": "https://app.getuptimely.com/support",
     "termsOfServiceURL": "https://getuptimely.com/terms",
-    "websiteURL": "https://getuptimely.com/"
+    "websiteURL": "https://getuptimely.com/",
+    "logo": "./assets/logo.png",
+    "logoDark": "./assets/logo-dark.png",
+    "composerIcon": "./assets/icon.png",
+    "composerIconDark": "./assets/icon-dark.png"
   },
   "name": "app-6a7ae32b93b48191906fd8f304ad45ff",
-  "version": "1.0.0"
-}
\ No newline at end of file
+  "version": "1.0.1",
+  "mcpServers": "./.mcp.json",
+  "extensions": {
+    "com.openai": {
+      "review": {
+        "test_cases": {
+          "positive": [
+            {
+              "description": "Project overview after connecting",
+              "prompt": "Give me an overview of my Uptimely project 26130816-e28a-4ce4-86b8-ac8321ed4929.",
+              "tools_triggered": "search_tools, then execute_typescript calling external_uptimely_project_overview",
+              "expected_behavior": "A project summary for Skylark Ops: monitorCount 5, activeIncidentCount 1, activeAlertCount 2, statusPageCount 1 and overallHealth down, because Uptimely rates a project by its worst open signal and one incident is open. The monitors are live and re-checked every minute, so counts and history keep accumulating and may differ slightly from these seeded figures."
+            },
+            {
+              "description": "Monitors and status history",
+              "prompt": "List the monitors on project 26130816-e28a-4ce4-86b8-ac8321ed4929, then show me the status history for the API \u2014 core monitor.",
+              "tools_triggered": "search_tools, then execute_typescript calling external_uptimely_monitor_list, external_uptimely_monitor_get and external_uptimely_monitor_status_history",
+              "expected_behavior": "Five Website-type monitors named Web \u2014 landing, Web \u2014 app, API \u2014 core, Docs and Edge \u2014 EU, each with its current status and colour, all normally Operational. Then that monitor's configuration and its recorded Operational and Offline transitions with durations, drawn from more than 900 real history segments going back weeks."
+            },
+            {
+              "description": "Open incident detail",
+              "prompt": "What incidents are open on that project, and what is the full story on the open one?",
+              "tools_triggered": "search_tools, then execute_typescript calling external_uptimely_incident_list and external_uptimely_incident_get",
+              "expected_behavior": "One open incident, Elevated 5xx on API \u2014 core after the 13:40 rollout, id c1000000-0001-4a01-9e77-2b1c9a7f3001, in state Acknowledged at Major severity, with a connection-pool root cause, remediation notes, an internal note and a two-entry state timeline of Identified then Acknowledged. It sits alongside roughly 456 resolved incidents from thirteen months of operating history, the most recent of which carries a saved postmortem."
+            },
+            {
+              "description": "On-call rotation and status pages",
+              "prompt": "Who is on call right now on that project, and what status pages do we publish?",
+              "tools_triggered": "search_tools, then execute_typescript calling external_uptimely_on_call_current and external_uptimely_status_page_list",
+              "expected_behavior": "One schedule, Primary On-Call \u2014 Platform, with a live-computed currentUser and nextUser from the three-person rotation of Skye Moran, Rhea Calder and Milo Ferrand, plus a rosterHandoffAt on the next Monday at 09:00 UTC. The roster is computed on read rather than cached, so the names shift as the week rolls over. One public status page, Skylark Status, with zero subscribers."
+            },
+            {
+              "description": "Write path: declare then resolve an incident",
+              "prompt": "Declare an incident titled Reviewer smoke test on the API \u2014 core monitor d05c7555-4b32-4456-b42b-c222c8799713 in that project, then move it to resolved.",
+              "tools_triggered": "search_tools, then execute_typescript calling external_uptimely_incident_declare and external_uptimely_incident_state_change",
+              "expected_behavior": "The incident is created and then resolved, each call returning the incident id, its new state and a new state-timeline entry. Both tools are annotated openWorldHint true, so the client prompts for confirmation before each call. Nothing is emailed to anyone: the seeded status page has zero subscribers and seeded records carry subscriber notification pre-set to Skipped. If a project owner turns Allow AI write operations off, these same calls return a structured AI_WRITE_OPS_DISABLED result with a settings deep link and write nothing."
+            }
+          ],
+          "negative": [
+            {
+              "description": "Local network or device troubleshooting",
+              "prompt": "My home wifi keeps dropping every evening \u2014 can you work out why?",
+              "expected_behavior": ""
+            },
+            {
+              "description": "Third-party outage status not registered as a monitor",
+              "prompt": "Is Cloudflare having an outage right now?",
+              "expected_behavior": ""
+            },
+            {
+              "description": "Operating the infrastructure itself",
+              "prompt": "The API is throwing 5xx \u2014 restart the service and roll back the last deploy.",
+              "expected_behavior": ""
+            }
+          ]
+        },
+        "demo_recording_url": "https://drive.google.com/file/d/11O1jkJLbVCf7hQs1X84ixHi_f-XHE9__/view",
+        "commerce": false,
+        "commerce_description": ""
+      },
+      "publication": {
+        "countries": [],
+        "release_notes": "Logo refresh: the listing icons are replaced with the official 1024px brand logo. No change to the MCP server, tools, OAuth or test account."
+      }
+    }
+  },
+  "apps": "./.app.json"
+}
Full technical diff · 9 changed fields

changed /files/.app.json/sha256

BEFORE
"8dd5df798d6970cc10eb855e97bb30075729af447180114daa5ae8ec95d94f5c"
AFTER
"9f47970a2361d4b868fd262c404d1dcc3f68f6f2ad0aadec56d364971766ea3c"

changed /files/.app.json/size

BEFORE
127
AFTER
100

changed /files/.codex-plugin~1plugin.json/sha256

BEFORE
"13cc647b03de304288b9ce4c76f5751037f5c71d6a6e877f33a6047d19ff6e7f"
AFTER
"8f135811e8bcf553366b7bb92fd87a19061b469ecf23628fed174681c7c539d7"

changed /files/.codex-plugin~1plugin.json/size

BEFORE
3895
AFTER
9527

added /files/.mcp.json

BEFORE
Field was absent
AFTER
{
  "sha256": "a50b843dbb9db60bb6cd1711cdce61f8344a91c0d3cf07546cab79a6c4d47cf9",
  "size": 106
}

added /files/assets~1icon-dark.png

BEFORE
Field was absent
AFTER
{
  "sha256": "c44a52ce353d0c7f4d358dca26d0df715fda21993e03a159555f785e7e727dc6",
  "size": 75256
}

added /files/assets~1icon.png

BEFORE
Field was absent
AFTER
{
  "sha256": "c44a52ce353d0c7f4d358dca26d0df715fda21993e03a159555f785e7e727dc6",
  "size": 75256
}

added /files/assets~1logo-dark.png

BEFORE
Field was absent
AFTER
{
  "sha256": "c44a52ce353d0c7f4d358dca26d0df715fda21993e03a159555f785e7e727dc6",
  "size": 75256
}

added /files/assets~1logo.png

BEFORE
Field was absent
AFTER
{
  "sha256": "c44a52ce353d0c7f4d358dca26d0df715fda21993e03a159555f785e7e727dc6",
  "size": 75256
}
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "9f47970a2361d4b868fd262c404d1dcc3f68f6f2ad0aadec56d364971766ea3c",
      "size": 100
    },
    ".codex-plugin/plugin.json": {
      "sha256": "8f135811e8bcf553366b7bb92fd87a19061b469ecf23628fed174681c7c539d7",
      "size": 9527
    },
    ".mcp.json": {
      "sha256": "a50b843dbb9db60bb6cd1711cdce61f8344a91c0d3cf07546cab79a6c4d47cf9",
      "size": 106
    },
    "assets/icon-dark.png": {
      "sha256": "c44a52ce353d0c7f4d358dca26d0df715fda21993e03a159555f785e7e727dc6",
      "size": 75256
    },
    "assets/icon.png": {
      "sha256": "c44a52ce353d0c7f4d358dca26d0df715fda21993e03a159555f785e7e727dc6",
      "size": 75256
    },
    "assets/logo-dark.png": {
      "sha256": "c44a52ce353d0c7f4d358dca26d0df715fda21993e03a159555f785e7e727dc6",
      "size": 75256
    },
    "assets/logo.png": {
      "sha256": "c44a52ce353d0c7f4d358dca26d0df715fda21993e03a159555f785e7e727dc6",
      "size": 75256
    }
  }
}

SHA-256 of public snapshot: 38faa1220baacbd89b15a329e25fb534af1b3dbe87817c0a35349f4432638110