feat(jobs): add fp.job native model with state machine

Header model replacing mrp.production. mail.thread for chatter,
priority/state/deadline tracking, sequence WH/JOB/00001+. Tests
cover create, confirm, cancel, and forbidden double-confirm.

State machine:
  draft -> confirmed -> in_progress -> done
              v                          ^
          cancelled              (rework reverts here)
  on_hold can be entered from confirmed or in_progress.

Step relations come in Task 1.5; SO/recipe/portal/cost extension
fields come in Task 1.4.

Part of: native job model migration (spec 2026-04-25)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-04-24 21:29:36 -04:00
parent 5970dfe57b
commit 26928713d5
7 changed files with 175 additions and 1 deletions

View File

@@ -47,3 +47,6 @@ access_fp_operator_cert_manager,fp.operator.cert.manager,model_fp_operator_certi
access_fp_work_centre_operator,fp.work.centre.operator,model_fp_work_centre,fusion_plating.group_fusion_plating_operator,1,0,0,0
access_fp_work_centre_supervisor,fp.work.centre.supervisor,model_fp_work_centre,fusion_plating.group_fusion_plating_supervisor,1,1,1,0
access_fp_work_centre_manager,fp.work.centre.manager,model_fp_work_centre,fusion_plating.group_fusion_plating_manager,1,1,1,1
access_fp_job_operator,fp.job.operator,model_fp_job,fusion_plating.group_fusion_plating_operator,1,1,0,0
access_fp_job_supervisor,fp.job.supervisor,model_fp_job,fusion_plating.group_fusion_plating_supervisor,1,1,1,0
access_fp_job_manager,fp.job.manager,model_fp_job,fusion_plating.group_fusion_plating_manager,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
47 access_fp_work_centre_operator fp.work.centre.operator model_fp_work_centre fusion_plating.group_fusion_plating_operator 1 0 0 0
48 access_fp_work_centre_supervisor fp.work.centre.supervisor model_fp_work_centre fusion_plating.group_fusion_plating_supervisor 1 1 1 0
49 access_fp_work_centre_manager fp.work.centre.manager model_fp_work_centre fusion_plating.group_fusion_plating_manager 1 1 1 1
50 access_fp_job_operator fp.job.operator model_fp_job fusion_plating.group_fusion_plating_operator 1 1 0 0
51 access_fp_job_supervisor fp.job.supervisor model_fp_job fusion_plating.group_fusion_plating_supervisor 1 1 1 0
52 access_fp_job_manager fp.job.manager model_fp_job fusion_plating.group_fusion_plating_manager 1 1 1 1