Update to Any Topic Academy
Snapshot Oct 24, 2026 · 13:20 UTC · version 2.0.0
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 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
Oct 5, 2026 · 12:04 UTC
ced651e89b3a33245a9871684b6d3d2aa216e7c9140ad8b42481b5c26d7b00a8
Oct 24, 2026 · 13:20 UTC
ca2cb3fd7d995896535a531259c86beb45d497c18a47b360c43dfd94dd19d9cc
Package file
Oct 5, 2026 · 12:04 UTC
127
Oct 24, 2026 · 13:20 UTC
109
Package file
Oct 5, 2026 · 12:04 UTC
184f72bfe0383b1e03be74569469c7afa89b424af7931a71531da5e98e6e8603
Oct 24, 2026 · 13:20 UTC
64bf01546fe24474de26fe3f73d5b8de3eac0aeae8ae14b8dce99564f56237b1
Package file
Oct 5, 2026 · 12:04 UTC
1420
Oct 24, 2026 · 13:20 UTC
5462
Compare saved observations
Download comparison JSONChanged files
Choose a file to see its text changes. Binary or large files show metadata only.
assets/chatgpt-upload/logo.png →
mcp.json →
.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
"ced651e89b3a33245a9871684b6d3d2aa216e7c9140ad8b42481b5c26d7b00a8"
"ca2cb3fd7d995896535a531259c86beb45d497c18a47b360c43dfd94dd19d9cc"
changed /files/.app.json/size
127
109
changed /files/.codex-plugin~1plugin.json/sha256
"184f72bfe0383b1e03be74569469c7afa89b424af7931a71531da5e98e6e8603"
"64bf01546fe24474de26fe3f73d5b8de3eac0aeae8ae14b8dce99564f56237b1"
changed /files/.codex-plugin~1plugin.json/size
1420
5462
added /files/.mcp.json
Field was absent
{
"sha256": "7d410c3d968a652d5685147e79a127d963e3b99ac784ca486733a5912f6c53fe",
"size": 310
}added /files/assets~1chatgpt-upload~1logo.png
Field was absent
{
"sha256": "74c0b3ce3f1f9dd5c92f880ca90cac5eb2497fd81d539a6677d80ed46d2e62e8",
"size": 3363
}added /files/assets~1logo.png
Field was absent
{
"sha256": "1cce098a311457c26b8fafc0ad8355cd14ca8ee65b05c981e0e0cf8e351be247",
"size": 510435
}added /files/mcp.json
Field was absent
{
"sha256": "7859742fda257ad6a35f4f0c88101112f8c3a4fd968d564eefc22809d66a8b0a",
"size": 233
}added /files/plugin.json
Field was absent
{
"sha256": "e20c4dca33ef2d4b97b6de198804b625c05b1760fdf92f286c7512a265430bb0",
"size": 5947
}changed /files/skills~1adaptive-teacher~1SKILL.md/sha256
"331283cd30af13c6eed66540c277a56d0f15d746cb3e300c1d4781bd0e413d98"
"4d3a798fa5368f2d2d20d5d8d115575aa727614e18d2ef8eb69c2989e37f0f40"
changed /files/skills~1adaptive-teacher~1SKILL.md/size
5389
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