# Legacy compatibility and pilot contract ## Required user-facing behavior | Legacy behavior | Preserve in Next | Pilot status | |---|---|---| | Product/project selection workflow | preserve after separate UX analysis | not implemented | | Plant 3D version discovery | preserve through adapter/override | foundation adapter | | Local corporate plugin availability | preserve through valid local cache | designed/tested locally | | P_Rec commands and Ribbon | preserve through one managed entry assembly | plugin-owned, not launched here | | Immediate legacy return | preserve `LauncherMode=Legacy` | designed | | Other legacy plugins | retain existing chain until individually migrated | required | ## Can be removed only for migrated P_Rec_Annot - OrthoLoader configuration fan-out and twenty sequential `NETLOAD` calls. - Generated LISP/BAT as the package-loading mechanism, once explicit Next startup is runtime-proven. - Per-file legacy copy replacing an active module directory. They remain necessary for other legacy corporate plugins until those plugins have their own migration and acceptance evidence. ## Duplicated or avoidable work The source shows installer recursive copy/delete, updater hash/copy work, generated LISP generation and twenty sequential module loads. The precise overlap and cost require measurement. Next reduces avoidable work by comparing manifests, reusing a valid local version, staging only a new version and loading one entry assembly. It must not claim that legacy runs these actions on every AutoCAD startup without runtime evidence. ## P_Rec_Annot pilot The pilot is a dry-run contract only: ```text discover Plant 3D 2026 -> validate fixture manifest -> local test-source staging -> activate version pointer -> build one startup NETLOAD script -> construct ProcessStartInfo -> do not start process ``` It uses a fixture manifest with a synthetic SHA-256 and a test-created placeholder file. No real bundle, Plant assembly, package cache or production catalog is included.