Extracted from ../../other/migration-benchmark.md.
Resolved:
- ✅ Code dimensionality — Locked. Benchmark
activity→ oxFlow Workcentre (on Items). Benchmarkcost_code→ oxFlow Activity Code (on Resources). Two separate Code dimensions, named to align with Workbench. - ✅ Rate history — Locked. Migrated into oxFlow as archived Price Books with date-range scopes; queryable by Anomaly Review historical comparison (Release milestone).
- ✅ Monte Carlo ranges — Locked. Not carried forward. Consciously dropped from scope.
- ✅ Output Unit — Locked. Sourced directly from Benchmark’s item unit field (typically defined).
Still open:
- 🔴 Custom fields — Benchmark has 10 custom_* tables; oxFlow v1 has no custom field framework. Decision: drop, preserve as notes, or flag for post-launch implementation?
- 🟡 Unit normalization — Full Benchmark unit → oxFlow Unit mapping needed; test on live data to catch edge cases.
- 🟡 Duplicate resource resolution — Criteria for selecting canonical resource when merging duplicates (e.g., most recent rate vs. highest usage). Need policy per resource category.
- 🟡 Rollback window duration — Proposed 7 days; confirm with Oxcon risk tolerance and business continuity requirements.
- 🟡 Subcontract package inference — Benchmark has subcontractor_quote; oxFlow has explicit Subcontract Package concept. Heuristic for inferring packages from quotes?
- 🟡 Reference Rate seeding — No Benchmark equivalent; admin must define post-migration. Could archived Price Books seed an initial set (e.g., derive min/max from historical rate ranges)?