335dc2488eb65c1a27bdf9de94cf41ea0d70fb58
Scope was reduced from spec's full §5.1 list because 6 of the 10 plating-specific fields point to models in dependent modules (configurator, quality, portal, logistics, bridge_mrp). Adding those Many2ones in core would invert the dependency graph. They move to their owning modules via _inherit = 'fp.job' and get re-bundled by fusion_plating_jobs in Phase 2. This commit lands the core-safe subset: - sale_order_line_ids (sale_management is in core depends) - recipe_id, start_at_node_id (process.node is in core) - invoice_ids (account is reachable via sale_management → sale) - Cost rollup: quoted_revenue / actual_cost / margin / margin_pct with placeholder compute (actual_cost = 0 until Task 1.5 wires fp.job.step.cost_total) - current_location stub (full Bath/Oven rendering in Task 1.6) Tests cover the cost-rollup math and the current_location stub. Spec §5.1 has been re-tabulated with explicit 'Module' column. Manifest 19.0.8.2.1 → 19.0.8.3.0. Part of: native job model migration (spec 2026-04-25) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
Odoo 19 custom modules
Languages
Python
55.9%
HTML
26.1%
JavaScript
14.9%
SCSS
1.8%
CSS
0.8%
Other
0.4%