← Any Topic AcademyCONTENT HISTORY

Update to Any Topic Academy

Snapshot Oct 24, 2026 · 13:20 UTC · version 2.0.0

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 Any Topic Academy 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 5, 2026 · 12:04 UTC

ced651e89b3a33245a9871684b6d3d2aa216e7c9140ad8b42481b5c26d7b00a8

After

Oct 24, 2026 · 13:20 UTC

ca2cb3fd7d995896535a531259c86beb45d497c18a47b360c43dfd94dd19d9cc

Package file

Before

Oct 5, 2026 · 12:04 UTC

127

After

Oct 24, 2026 · 13:20 UTC

109

Package file

Before

Oct 5, 2026 · 12:04 UTC

184f72bfe0383b1e03be74569469c7afa89b424af7931a71531da5e98e6e8603

After

Oct 24, 2026 · 13:20 UTC

64bf01546fe24474de26fe3f73d5b8de3eac0aeae8ae14b8dce99564f56237b1

Package file

Before

Oct 5, 2026 · 12:04 UTC

1420

After

Oct 24, 2026 · 13:20 UTC

5462

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/chatgpt-upload/logo.png →

assets/logo.png →

mcp.json →

plugin.json →

skills/adaptive-teacher/SKILL.md →

.codex-plugin/plugin.json

− removed · + added

--- before
+++ after
@@ -1,27 +1,92 @@
-{
-  "apps": "./.app.json",
-  "author": {
-    "name": "RUBENS FERNANDO MENEGUELLO"
-  },
-  "description": "Create a personalized course on any topic, learn through adaptive lessons, take quizzes and assessments, and track mastered concepts, gaps, and progress. Continue from another chat or device with your personal code.",
-  "interface": {
-    "capabilities": [],
-    "category": "Education & Research",
-    "defaultPrompt": [
-      "Quero come\u00e7ar um curso personalizado.",
-      "Quero continuar meu curso usando meu c\u00f3digo pessoal.",
-      "Mostre meu progresso e fa\u00e7a uma revis\u00e3o."
-    ],
-    "developerName": "RUBENS FERNANDO MENEGUELLO",
-    "displayName": "Any Topic Academy",
-    "longDescription": "Create a personalized course on any topic, learn through adaptive lessons, take quizzes and assessments, and track mastered concepts, gaps, and progress. Continue from another chat or device with your personal code.",
-    "privacyPolicyURL": "https://any-topic-academy-mcp.rfnando.workers.dev/privacy",
-    "shortDescription": "Courses with saved progress",
-    "supportURL": "https://any-topic-academy-mcp.rfnando.workers.dev/support",
-    "termsOfServiceURL": "https://any-topic-academy-mcp.rfnando.workers.dev/terms",
-    "websiteURL": "https://any-topic-academy-mcp.rfnando.workers.dev/"
-  },
-  "name": "app-6aaf70b7172c8191bcfd6a83657aa6f4",
-  "skills": "./skills",
-  "version": "1.0.0"
-}
\ No newline at end of file
+{
+  "name": "any-topic-academy",
+  "version": "2.0.0",
+  "description": "Crie e continue cursos personalizados com configuração guiada, memória, quizzes, provas e acompanhamento de progresso.",
+  "author": {
+    "name": "RUBENS FERNANDO MENEGUELLO",
+    "url": "https://github.com/rfnando"
+  },
+  "homepage": "https://any-topic-academy-mcp.rfnando.workers.dev/",
+  "repository": "https://github.com/rfnando-academy/ANY_TOPIC_ACADEMY",
+  "license": "MIT",
+  "keywords": ["education", "learning", "quiz", "assessment", "adaptive-course"],
+  "skills": "./skills/",
+  "interface": {
+    "displayName": "Escola para Qualquer Tema",
+    "shortDescription": "Cursos personalizados com memória e avaliações.",
+    "longDescription": "Configure seu curso com uma pergunta simples por vez. Escolha tema, profundidade, didática, avaliações, duração, professor e tom; depois continue em qualquer dispositivo com seu código aca_.",
+    "developerName": "RUBENS FERNANDO MENEGUELLO",
+    "category": "Education",
+    "capabilities": ["Interactive", "Write"],
+    "defaultPrompt": [
+      "Quero começar um curso personalizado.",
+      "Quero continuar meu curso usando meu código.",
+      "Mostre meu progresso e aplique uma prova."
+    ],
+    "brandColor": "#315C4C"
+  },
+  "mcpServers": "./mcp.json",
+  "extensions": {
+    "com.openai": {
+      "onboardingSkill": "./skills/adaptive-teacher/SKILL.md",
+      "review": {
+        "test_cases": {
+          "positive": [
+            {
+              "description": "Criar um curso guiado e receber o código de continuidade.",
+              "prompt": "Quero iniciar um curso de astronomia. Use os padrões recomendados quando eu não escolher uma opção.",
+              "tools_triggered": "academy_create_course",
+              "expected_behavior": "Faz uma pergunta de configuração por vez, cria o curso após concluir a configuração e exibe o código aca_ com o aviso destacado para salvá-lo fora da plataforma."
+            },
+            {
+              "description": "Retomar um curso existente com o código criado no caso anterior.",
+              "prompt": "Quero continuar meu curso. Vou informar o código aca_ criado no teste anterior.",
+              "tools_triggered": "academy_resume_course",
+              "expected_behavior": "Solicita ou usa o código informado e recupera perfil, progresso, próximo passo e eventos recentes do curso correspondente."
+            },
+            {
+              "description": "Salvar o progresso de uma aula concluída.",
+              "prompt": "Registre que concluí uma aula sobre movimentos planetários, estudei 15 minutos e estou pronto para o próximo tópico.",
+              "tools_triggered": "academy_resume_course, academy_save_checkpoint",
+              "expected_behavior": "Recupera a versão atual e salva um checkpoint idempotente com progresso, conceitos e próximo passo atualizados."
+            },
+            {
+              "description": "Atualizar uma preferência sem apagar o progresso.",
+              "prompt": "Mude a didática do meu curso para exemplos, mantendo todo o meu progresso.",
+              "tools_triggered": "academy_resume_course, academy_update_preferences",
+              "expected_behavior": "Atualiza somente a preferência solicitada, preserva o histórico e retorna a nova versão do curso."
+            },
+            {
+              "description": "Excluir um curso descartável após confirmação explícita.",
+              "prompt": "Exclua permanentemente meu curso de teste. Eu confirmo: DELETE MY COURSE.",
+              "tools_triggered": "academy_delete_course",
+              "expected_behavior": "Exclui apenas o curso identificado pelo código fornecido e confirma deleted: true."
+            }
+          ],
+          "negative": [
+            {
+              "description": "Não criar curso sem tema.",
+              "prompt": "Quero iniciar um curso, mas ainda não sei sobre qual assunto.",
+              "expected_behavior": "Pede somente que a pessoa informe o tema; não cria curso nem gera código."
+            },
+            {
+              "description": "Não oferecer recuperação por e-mail.",
+              "prompt": "Esqueci meu código. Envie-o para meu e-mail.",
+              "expected_behavior": "Explica que a V2 não usa e-mail e que não é possível recuperar um código perdido."
+            },
+            {
+              "description": "Não atuar fora do escopo educacional.",
+              "prompt": "Compre ingressos para um show para mim.",
+              "expected_behavior": "Não chama ferramentas da Any Topic Academy e informa que essa solicitação não pertence ao serviço."
+            }
+          ]
+        },
+        "commerce": false,
+        "commerce_description": "A Any Topic Academy não vende produtos, não processa pagamentos e não realiza comércio."
+      },
+      "publication": {
+        "release_notes": "Version 2.0.0 adds a guided, one-question-at-a-time course setup with recommended defaults and SAGE as the default teacher. Courses use a cryptographically secure aca_ continuation code with a prominent save-outside-the-platform warning. Public course creation is protected by rate limiting and a daily quota. V2 does not collect email addresses and does not include web scraping or a RAG source-retrieval service."
+      }
+    }
+  }
+}
Full technical diff · 11 changed fields

changed /files/.app.json/sha256

BEFORE
"ced651e89b3a33245a9871684b6d3d2aa216e7c9140ad8b42481b5c26d7b00a8"
AFTER
"ca2cb3fd7d995896535a531259c86beb45d497c18a47b360c43dfd94dd19d9cc"

changed /files/.app.json/size

BEFORE
127
AFTER
109

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

BEFORE
"184f72bfe0383b1e03be74569469c7afa89b424af7931a71531da5e98e6e8603"
AFTER
"64bf01546fe24474de26fe3f73d5b8de3eac0aeae8ae14b8dce99564f56237b1"

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

BEFORE
1420
AFTER
5462

added /files/.mcp.json

BEFORE
Field was absent
AFTER
{
  "sha256": "7d410c3d968a652d5685147e79a127d963e3b99ac784ca486733a5912f6c53fe",
  "size": 310
}

added /files/assets~1chatgpt-upload~1logo.png

BEFORE
Field was absent
AFTER
{
  "sha256": "74c0b3ce3f1f9dd5c92f880ca90cac5eb2497fd81d539a6677d80ed46d2e62e8",
  "size": 3363
}

added /files/assets~1logo.png

BEFORE
Field was absent
AFTER
{
  "sha256": "1cce098a311457c26b8fafc0ad8355cd14ca8ee65b05c981e0e0cf8e351be247",
  "size": 510435
}

added /files/mcp.json

BEFORE
Field was absent
AFTER
{
  "sha256": "7859742fda257ad6a35f4f0c88101112f8c3a4fd968d564eefc22809d66a8b0a",
  "size": 233
}

added /files/plugin.json

BEFORE
Field was absent
AFTER
{
  "sha256": "e20c4dca33ef2d4b97b6de198804b625c05b1760fdf92f286c7512a265430bb0",
  "size": 5947
}

changed /files/skills~1adaptive-teacher~1SKILL.md/sha256

BEFORE
"331283cd30af13c6eed66540c277a56d0f15d746cb3e300c1d4781bd0e413d98"
AFTER
"4d3a798fa5368f2d2d20d5d8d115575aa727614e18d2ef8eb69c2989e37f0f40"

changed /files/skills~1adaptive-teacher~1SKILL.md/size

BEFORE
5389
AFTER
10361
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "ca2cb3fd7d995896535a531259c86beb45d497c18a47b360c43dfd94dd19d9cc",
      "size": 109
    },
    ".codex-plugin/plugin.json": {
      "sha256": "64bf01546fe24474de26fe3f73d5b8de3eac0aeae8ae14b8dce99564f56237b1",
      "size": 5462
    },
    ".mcp.json": {
      "sha256": "7d410c3d968a652d5685147e79a127d963e3b99ac784ca486733a5912f6c53fe",
      "size": 310
    },
    "assets/chatgpt-upload/logo.png": {
      "sha256": "74c0b3ce3f1f9dd5c92f880ca90cac5eb2497fd81d539a6677d80ed46d2e62e8",
      "size": 3363
    },
    "assets/logo.png": {
      "sha256": "1cce098a311457c26b8fafc0ad8355cd14ca8ee65b05c981e0e0cf8e351be247",
      "size": 510435
    },
    "mcp.json": {
      "sha256": "7859742fda257ad6a35f4f0c88101112f8c3a4fd968d564eefc22809d66a8b0a",
      "size": 233
    },
    "plugin.json": {
      "sha256": "e20c4dca33ef2d4b97b6de198804b625c05b1760fdf92f286c7512a265430bb0",
      "size": 5947
    },
    "skills/adaptive-teacher/SKILL.md": {
      "sha256": "4d3a798fa5368f2d2d20d5d8d115575aa727614e18d2ef8eb69c2989e37f0f40",
      "size": 10361
    }
  }
}

SHA-256 of public snapshot: 1320efd8b653428741e925ecfa31482b18f6f57bf4641abeb0c576b5540c85bc