Observed on a real upgrade: HotCRM 17.4.0 → 17.5.0, 2026-09-29
os migrate meta --from 17 printed 874 lines for HotCRM. It ended with "Migrated stack does not yet pass schema validation". The output contained:
- 41 refusals (the actionable part);
- 57 mechanical edits;
- 240 "manual change" notices. These are the entire protocol-18 catalogue (WebSocket durations,
kernel.advancedPluginLifecycle, …). None of them applies to this stack.
Three problems for an upgrader:
- Noise. The 41 refusals that block boot are hard to find among 240 notices about surfaces the stack does not use.
- Default-flip conversions are presented as edits to apply. The 13
flow-decision-mode-inclusive-explicit edits appear as "Applied". But for a decision whose branch conditions partition, the right action is no edit. Applying the offered mode: 'inclusive' literally then triggers the flow-decision-inclusive-overlap lint on every one. All 13 of HotCRM's decisions partition.
- No write-back. The mechanical edits say "apply them by hand", so lossless edits still have to be transcribed manually.
Asks
- Filter the notices to the surfaces the stack actually uses, or at least group them after the actionable findings.
- Mark semantic default flips as review items, not "Applied".
- Offer a source-writing mode for lossless mechanical edits.
Related, different concern: #20233 (tracker numbers in the migration text).
Generated by Claude Code
Observed on a real upgrade: HotCRM 17.4.0 → 17.5.0, 2026-09-29
os migrate meta --from 17printed 874 lines for HotCRM. It ended with "Migrated stack does not yet pass schema validation". The output contained:kernel.advancedPluginLifecycle, …). None of them applies to this stack.Three problems for an upgrader:
flow-decision-mode-inclusive-explicitedits appear as "Applied". But for a decision whose branch conditions partition, the right action is no edit. Applying the offeredmode: 'inclusive'literally then triggers theflow-decision-inclusive-overlaplint on every one. All 13 of HotCRM's decisions partition.Asks
Related, different concern: #20233 (tracker numbers in the migration text).
Generated by Claude Code