Migration & provenanceChecklist de retrait du Studio legacy

Migration — Checklist de retrait du Studio legacy

Porte de suppression ou d’archivage de l’ancien dépôt Studio.

This document is the deletion/archival gate for the legacy Studio repository named in source-baseline.md.

Current migration position

The frozen source baseline is commit 94d051cfd02e5ef0c7b721a56df700e50481de4c.

The Orbit rebuild intentionally uses:

  • (dashboard) instead of the old (studio) route group;
  • Orbit as the product/brand;
  • Brain as the context/memory core;
  • Creative Studio as the native creation tool;
  • orbit.easyconnector.app and docs.easyconnector.app as product-facing domains;
  • @orbit/* packages and the __ORBIT_CINEMA__ capture contract.

A path-level comparison after mapping (studio) -> (dashboard) leaves 214 source paths without a 1:1 target path. The exhaustive list is in legacy-studio-unmigrated-paths.md.

Intentionally not imported into active Orbit

Legacy product-specific Remotion film

The old packages/remotion/film/boostecom/** film, partner/logo media, old agent portraits, and its product-specific release metadata are not part of the Orbit runtime.

Reason: they describe and visually reproduce the previous product/marketing surface. Importing them would reintroduce stale branding and product claims.

The generic Remotion/Creative Studio engine WAS migrated: compositions, render/capture pipeline needed by Orbit, Cinema contract, codecs, QC and real-media tests are covered by the current remotion CI job.

Action before deleting the legacy repo: only preserve these media in a separate cold archive if you want the historical marketing film for legal/brand/history reasons. Do not move them back into active Orbit.

Vendored Remotion learning material

The old packages/remotion/skills/** tree is a vendored knowledge/reference corpus, not runtime code.

Action: no migration is required for Orbit. If it has internal training value, archive it as documentation outside the production codebase.

Historical Studio documentation and ADRs

Initially, the old docs/architecture/**, docs/decisions/**, runbooks and migration plans were deliberately not copied verbatim, because many describe the old repository split, old domains, old route grouping, old product naming or migration states that are no longer true.

Update (2026-10): the engineering docs were migrated, then moved to the documentation repository. They were first rewritten for Orbit at the same paths (architecture, runbooks, ADRs, roadmap, development guide, migration records), because Orbit code comments, error messages and guard tests cited them by path. They now live only in docs.easyconnector.app (this repository, protected pages), and the application repository carries no docs/ folder. The guards that read those files were ported: structural checks run in scripts/audit-docs.mjs, checks against the application tree in scripts/audit-orbit-claims.mjs, and the code-side invariants stayed in Vitest (see the StudioHost contract and Roadmap). The former application ADRs 0001 to 0010 are now ADR-0011 to ADR-0020.

Each page states that the former parent platform is not Orbit's parent, that its bridges (B1–B10) are retired or optional external integrations, that the product registry holds only the orbit demo product, and uses the ORBIT_* variable names (the old STUDIO_* names are read-only aliases).

Still not migrated (archive only): the old migration plans (carte-de-migration.md, orbit-context-os.md, plan-final-migration-studio.md), packages/remotion/docs/README.plateforme.md and packages/remotion/references/hume-exit.md.

Old product design corpus

products/boostecom/** and apps/web/public/assets/hub/boostecom.png are intentionally excluded.

Orbit has its own products/orbit/design/orbit.DESIGN.json snapshot and demo product data.

Action: preserve the old corpus only if the old brand itself still needs an archive. It is not required to run Brain or Creative Studio.

Old design-drift workflow

.github/workflows/design-drift.yml was tied to the old derived product design corpus and is intentionally not active in Orbit.

Action: no migration required unless a future Orbit token-deriver is introduced. If that happens, create an Orbit-specific drift check rather than restoring the old workflow.

Historical test files without a 1:1 copy

A number of old web-layer test files do not exist under the exact same path in Orbit.

Reason: the rebuild changed architectural contracts (public home, (dashboard) route group, tenant boundary, Orbit naming) and moved substantial coverage into the Engine/DB/Connectors/Cinema packages plus the restored E2E suite. Blindly copying old assertions would test obsolete behavior.

The two old products/src/*.test.ts files were reviewed separately: their still-relevant contracts have now been restored as Orbit-native tests (catalog semantics and the Orbit-only seed registry), without reintroducing the retired BoostEcom multi-product demo.

Action: do NOT copy the remaining old web-layer tests wholesale after merge. The current green package/unit/integration/E2E gates are the source of truth. Keep the old repository archived if you want test archaeology.

Legacy branches that are not migration inputs

At the time of the retirement audit, the old repository still had four non-main branches:

BranchAhead of old mainBehind old mainDecision
app/academy-docs-brand-assets23657Historical Academy/Brain experiment; superseded by the migrated main snapshot.
feat/pre-v1-orbit-brain-cleanup71657Pre-v1 Orbit/Brain cleanup; current Brain is newer.
fix/brain-canonical-html-parity12652Older Brain parity experiment; current Brain/landing/runtime are newer and independently tested.
foundation/61-saas-project-memory26667Earlier SaaS/project-memory prototype; current tenant/project/Brain model supersedes it.

These branches are massively behind the frozen main baseline. They should not be merged into Orbit now.

Action before hard deletion: if preserving development history matters, archive the legacy repository rather than deleting it. If you insist on deletion, export those branch refs first as a Git bundle or separate cold archive.

GitHub Actions configuration that cannot be recovered from Git history

Secret VALUES are not readable through GitHub's repository API and are not preserved by copying files.

The current Orbit render workflow requires these repository secrets:

  • BLOB_READ_WRITE_TOKEN
  • CREATIVE_RENDER_CALLBACK_SECRET
  • CREATIVE_RENDER_CALLBACK_URL

Verify them in the NEW repository before deleting the old repository. The names alone in workflow YAML are not proof that the values exist.

The Orbit web runtime also needs these Vercel/runtime values for GitHub render dispatch:

  • CREATIVE_RENDER_REPO = the current Orbit GitHub repository in owner/name form;
  • ORBIT_RENDER_DISPATCH_TOKEN = a token that can dispatch Actions on that repository.

The old STUDIO_RENDER_DISPATCH_TOKEN, STUDIO_SPEND_ALERT_USD and STUDIO_PROVIDERS names are accepted only as temporary compatibility aliases; new configuration must use the ORBIT_* names.

Also verify any repository/environment variables, deploy keys, webhooks and environment protection rules manually if the old repo used them.

Repository history that deletion would destroy

The old repository currently has no GitHub Releases detected by this audit, but deletion would still remove:

  • pull-request and issue history;
  • comments/reviews;
  • non-main branch history;
  • Actions run history and artifacts;
  • repository settings, webhooks, deploy keys, secrets/variables and environment configuration;
  • any tags not independently exported.

For this reason, the preferred retirement operation is archive the old repository read-only first, not immediate deletion.

Safe deletion gate

Do not hard-delete the legacy repository until ALL are true:

  1. PR #2 is merged into Orbit.
  2. Latest Orbit GitHub CI is green for build, quality, Remotion and E2E.
  3. Latest Vercel deployment is green.
  4. Production domains point to the intended Orbit deployment.
  5. Production auth/onboarding has been smoke-tested.
  6. Brain create/read/import behavior has been smoke-tested.
  7. Creative Studio image/video/render flow has been smoke-tested.
  8. MCP/API OAuth discovery has been smoke-tested.
  9. Production database migrations and seed behavior have been reviewed.
  10. Required GitHub Actions secrets above exist in the new repo.
  11. Any wanted historical branches/media/docs have been exported or consciously abandoned.
  12. The old repository has first been archived/read-only long enough for you to be comfortable that no hidden operational dependency still calls it.

Only after that should hard deletion be considered.