Extracted from ../../other/migration-benchmark.md.


Resolved:

  • Code dimensionality — Locked. Benchmark activity → oxFlow Workcentre (on Items). Benchmark cost_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)?