docs(upgrades): align Upgrades page with feature spec#186
Conversation
Rewrite EN and ES Upgrades pages against the customer-facing scope of the migrations spec (sections 3-8). The previous version misrepresented cancellation (claimed yes, actually out of scope), claimed customers schedule new upgrades (they don't — SleakOps creates them), invented a "control plane first then node groups" sequence, and said the listing was filtered by account when it is cross-account by design. The rewrite adds the State column and the four real states (Pending / Running / Completed / Error), the drawer's Details and Instructions tabs, the Execute Now + Schedule popover, the prerequisites alert flow, the cross-type ordering rules for rescheduling, the [now + 1h, limit_date] scheduling window, the sidebar red badge for Admin/Editor, the Admin/Editor/Viewer permissions table, retry-on-Error, and the explicit "no automatic rollback" caveat. URL updated from /migrations/ to /upgrades/ to match the main-branch rebrand in console. Screenshots recaptured against the live local stack: list with state pills and Pending-row red tint, drawer Details tab, Execute popover. Instructions tab and Execute-confirmation modal left as TODO comments since they require a MigrationType with prerequisites set. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
WalkthroughSe reescribió completamente la documentación de upgrades en inglés y español. Se clarifica que SleakOps crea los upgrades y que los clientes solo pueden revisar, ejecutar o reprogramarlos. Se documenta la navegación, estados, flujos de ejecución, reprogramación, permisos por rol, manejo de errores y un nuevo conjunto de FAQs específicas. Ambos idiomas reciben la misma estructura y contenido. ChangesDocumentación de Upgrades
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint skipped: no ESLint configuration detected in root package.json. To enable, add Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@content/docs/en/upgrades.mdx`:
- Line 151: The FAQ sentence that currently uses the window “[now, deadline]” is
inconsistent with the Rescheduling section which defines the allowed reschedule
window as “[now + 1 hour, deadline]”; update the FAQ paragraph (the one starting
“SleakOps defines and schedules upgrades centrally...”) to use “[now + 1 hour,
deadline]” so both sections match exactly.
In `@content/docs/es/upgrades.mdx`:
- Line 151: The sentence that currently reads "[hoy, deadline]" is inconsistent
with the "Reprogramar" section which requires a minimum of "ahora + 1 hora";
replace "[hoy, deadline]" with "[ahora + 1 hora, deadline]" and change any use
of "hoy" in that sentence to "ahora" so terminology matches the rest of the doc
(see the paragraph describing SleakOps and the Reprogramar section).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 1373d869-d9c9-42b7-a98c-6e8368272532
⛔ Files ignored due to path filters (6)
content/docs/en/upgrades/upgrades-drawer.pngis excluded by!**/*.pngcontent/docs/en/upgrades/upgrades-execute-popover.pngis excluded by!**/*.pngcontent/docs/en/upgrades/upgrades-list.pngis excluded by!**/*.pngcontent/docs/es/upgrades/upgrades-drawer.pngis excluded by!**/*.pngcontent/docs/es/upgrades/upgrades-execute-popover.pngis excluded by!**/*.pngcontent/docs/es/upgrades/upgrades-list.pngis excluded by!**/*.png
📒 Files selected for processing (2)
content/docs/en/upgrades.mdxcontent/docs/es/upgrades.mdx
| Upgrades is accessible directly from the main sidebar under **Upgrades** (`/migrations/`). It is also reachable from **Settings → Upgrades**. | ||
|
|
||
| The page shows a table with all scheduled and completed upgrades, filtered by account. | ||
| SleakOps defines and schedules upgrades centrally. You see the upgrades the platform queues for your accounts and decide **when** within the allowed window — execute immediately or push the date inside `[now, deadline]`. Creating upgrade types is reserved for the SleakOps team. |
There was a problem hiding this comment.
Inconsistencia en la ventana de tiempo.
En la línea 96 especificás que la ventana de reprogramación es [now + 1 hour, deadline], pero acá en el FAQ decís [now, deadline]. Falta la hora de margen. Alineá con lo que dice la sección de Rescheduling para que no haya piñas entre las dos explicaciones.
🔧 Fix propuesto
-SleakOps defines and schedules upgrades centrally. You see the upgrades the platform queues for your accounts and decide **when** within the allowed window — execute immediately or push the date inside `[now, deadline]`. Creating upgrade types is reserved for the SleakOps team.
+SleakOps defines and schedules upgrades centrally. You see the upgrades the platform queues for your accounts and decide **when** within the allowed window — execute immediately or push the date inside `[now + 1 hour, deadline]`. Creating upgrade types is reserved for the SleakOps team.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| SleakOps defines and schedules upgrades centrally. You see the upgrades the platform queues for your accounts and decide **when** within the allowed window — execute immediately or push the date inside `[now, deadline]`. Creating upgrade types is reserved for the SleakOps team. | |
| SleakOps defines and schedules upgrades centrally. You see the upgrades the platform queues for your accounts and decide **when** within the allowed window — execute immediately or push the date inside `[now + 1 hour, deadline]`. Creating upgrade types is reserved for the SleakOps team. |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/docs/en/upgrades.mdx` at line 151, The FAQ sentence that currently
uses the window “[now, deadline]” is inconsistent with the Rescheduling section
which defines the allowed reschedule window as “[now + 1 hour, deadline]”;
update the FAQ paragraph (the one starting “SleakOps defines and schedules
upgrades centrally...”) to use “[now + 1 hour, deadline]” so both sections match
exactly.
| Upgrades es accesible directamente desde la barra lateral principal bajo **Upgrades** (`/migrations/`). También es accesible desde **Settings → Upgrades**. | ||
|
|
||
| La página muestra una tabla con todos los upgrades programados y completados, filtrados por cuenta. | ||
| SleakOps define y agenda los upgrades de forma centralizada. Vos ves los upgrades que la plataforma encola para tus cuentas y decidís **cuándo** dentro de la ventana permitida — ejecutar ya o mover la fecha dentro de `[hoy, deadline]`. La creación de tipos de upgrade queda reservada al equipo de SleakOps. |
There was a problem hiding this comment.
Piña directa: inconsistencia en la ventana de tiempo.
En la línea 96 decís que la ventana es [ahora + 1 hora, deadline], pero acá escribiste [hoy, deadline]. "Hoy" es cualquier momento del día, pero el constraint real es "ahora + 1 hora". Además, usaste "hoy" cuando el resto del doc usa "ahora" para referirse al momento actual. Arreglalo para que coincida con la sección de Reprogramar.
🔧 Fix propuesto
-SleakOps define y agenda los upgrades de forma centralizada. Vos ves los upgrades que la plataforma encola para tus cuentas y decidís **cuándo** dentro de la ventana permitida — ejecutar ya o mover la fecha dentro de `[hoy, deadline]`. La creación de tipos de upgrade queda reservada al equipo de SleakOps.
+SleakOps define y agenda los upgrades de forma centralizada. Vos ves los upgrades que la plataforma encola para tus cuentas y decidís **cuándo** dentro de la ventana permitida — ejecutar ya o mover la fecha dentro de `[ahora + 1 hora, deadline]`. La creación de tipos de upgrade queda reservada al equipo de SleakOps.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| SleakOps define y agenda los upgrades de forma centralizada. Vos ves los upgrades que la plataforma encola para tus cuentas y decidís **cuándo** dentro de la ventana permitida — ejecutar ya o mover la fecha dentro de `[hoy, deadline]`. La creación de tipos de upgrade queda reservada al equipo de SleakOps. | |
| SleakOps define y agenda los upgrades de forma centralizada. Vos ves los upgrades que la plataforma encola para tus cuentas y decidís **cuándo** dentro de la ventana permitida — ejecutar ya o mover la fecha dentro de `[ahora + 1 hora, deadline]`. La creación de tipos de upgrade queda reservada al equipo de SleakOps. |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/docs/es/upgrades.mdx` at line 151, The sentence that currently reads
"[hoy, deadline]" is inconsistent with the "Reprogramar" section which requires
a minimum of "ahora + 1 hora"; replace "[hoy, deadline]" with "[ahora + 1 hora,
deadline]" and change any use of "hoy" in that sentence to "ahora" so
terminology matches the rest of the doc (see the paragraph describing SleakOps
and the Reprogramar section).
|
|
||
| ## Where to find Upgrades | ||
|
|
||
| Upgrades live at `/upgrades/` and have a dedicated entry in the sidebar footer, next to the notifications button. The entry is visible to **Admin** and **Editor** users; Viewers can still reach the page directly via URL when their company has the feature enabled. |
There was a problem hiding this comment.
"Viewers can still reach the page directly via URL when their company has the feature enabled." saquemos este hack (?
| | **Execution Date** | Relative time — **scheduled date** while the upgrade is Pending, **actual execution time** for every other state. Hover the value to see the exact timestamp. | | ||
| | **Actions** | View details, Execute, and (when applicable) Review instructions. | | ||
|
|
||
| Pending rows are tinted a subtle red to make outstanding work easier to scan at a glance. The same red is reused on the state pill and the sidebar badge — it's the single visual cue SleakOps uses for "deadline-bound action required". |
There was a problem hiding this comment.
Esto no hay que cambiarlo pero son cosas que quizas no deberian aparecer, mucho texto
"Pending rows are tinted a subtle red to make outstanding work easier to scan at a glance. The same red is reused on the state pill and the sidebar badge — it's the single visual cue SleakOps uses for "deadline-bound action required"."
There was a problem hiding this comment.
mal, nada q ver. Aih le digo a la ia que vea de sacar estas cosa srandoms, tambien dice algo de los roles que bueno, no se si iria la verdad
Summary
/migrations/to/upgrades/(matches thehotfix: rename migrations to upgrades in uirebrand onconsole:main).What was wrong in the previous version
?all=true); the account filter lives inside the page, not the global header (§6.3, §8.1)shipped; the live page no longer shows a Beta badgeWhat was added
initial → Pending,creating → Running,created → Completed).[now + 1h, limit_date], cross-type ordering (older-different-type blocks before, newer-different-type blocks after).Screenshots
Captured live from
http://localhost:3000onconsole:main:upgrades-list.png— list with the State pill column, Pending-row red tint, Account badges, and entity-name subline for Completed migrations targeting a specific resource.upgrades-drawer.png— Details tab (Basic Info, Schedule, Metadata, Activity Logs).upgrades-execute-popover.png— header popover showing Execute Now + Schedule (with the deadline indicator below the datepicker).Two screenshots intentionally left as
{/* TODO: screenshot - ... */}:Both require a
MigrationTypewithprerequisites/postrequisitespopulated in the seed fixture. Easy follow-up — happy to land that as a separate PR once one of the seeded types carries instructions.Test plan
cd projects/docs && npm run build(oryarn build) succeeds — verifies allrequire("./upgrades/...")paths resolve./docs/upgradesrenders all three Zoom screenshots./docs/es/upgradesrenders the same three images.react-medium-image-zoomwarnings in the build log about missing assets.🤖 Generated with Claude Code
Summary by CodeRabbit
Documentación