feat(sub12b): fp.job.step.move + fp.job.step.move.input.value

Chain-of-custody log: one row per Move Parts / Move Rack commit.
FP/MOVE/YYYY/NNNN sequence (5-digit). Carries from/to step + tank,
transfer type, qty, location, photo, rack, operator, datetime.

Child model captures recorded transition-input values (Sub 12a's
fp.step.template.transition.input snapshots → fp.job.step.move.
input.value rows). Each row carries 5 typed value columns; the
controller (Task 8) picks the right one based on input_type.

Operators get read+write+create — they generate moves at runtime —
but no unlink. Manager-only deletes for audit safety.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-04-27 21:04:41 -04:00
parent d9ae45ce9b
commit 4187842d30
4 changed files with 119 additions and 0 deletions

View File

@@ -73,3 +73,9 @@ access_fp_step_template_transition_input_manager,fp.step.template.transition.inp
access_fp_rack_tag_operator,fp.rack.tag.operator,model_fp_rack_tag,group_fusion_plating_operator,1,0,0,0
access_fp_rack_tag_supervisor,fp.rack.tag.supervisor,model_fp_rack_tag,group_fusion_plating_supervisor,1,1,1,1
access_fp_rack_tag_manager,fp.rack.tag.manager,model_fp_rack_tag,group_fusion_plating_manager,1,1,1,1
access_fp_job_step_move_operator,fp.job.step.move.operator,model_fp_job_step_move,group_fusion_plating_operator,1,1,1,0
access_fp_job_step_move_supervisor,fp.job.step.move.supervisor,model_fp_job_step_move,group_fusion_plating_supervisor,1,1,1,0
access_fp_job_step_move_manager,fp.job.step.move.manager,model_fp_job_step_move,group_fusion_plating_manager,1,1,1,1
access_fp_job_step_move_input_value_operator,fp.job.step.move.input.value.operator,model_fp_job_step_move_input_value,group_fusion_plating_operator,1,1,1,0
access_fp_job_step_move_input_value_supervisor,fp.job.step.move.input.value.supervisor,model_fp_job_step_move_input_value,group_fusion_plating_supervisor,1,1,1,0
access_fp_job_step_move_input_value_manager,fp.job.step.move.input.value.manager,model_fp_job_step_move_input_value,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
73 access_fp_rack_tag_operator fp.rack.tag.operator model_fp_rack_tag group_fusion_plating_operator 1 0 0 0
74 access_fp_rack_tag_supervisor fp.rack.tag.supervisor model_fp_rack_tag group_fusion_plating_supervisor 1 1 1 1
75 access_fp_rack_tag_manager fp.rack.tag.manager model_fp_rack_tag group_fusion_plating_manager 1 1 1 1
76 access_fp_job_step_move_operator fp.job.step.move.operator model_fp_job_step_move group_fusion_plating_operator 1 1 1 0
77 access_fp_job_step_move_supervisor fp.job.step.move.supervisor model_fp_job_step_move group_fusion_plating_supervisor 1 1 1 0
78 access_fp_job_step_move_manager fp.job.step.move.manager model_fp_job_step_move group_fusion_plating_manager 1 1 1 1
79 access_fp_job_step_move_input_value_operator fp.job.step.move.input.value.operator model_fp_job_step_move_input_value group_fusion_plating_operator 1 1 1 0
80 access_fp_job_step_move_input_value_supervisor fp.job.step.move.input.value.supervisor model_fp_job_step_move_input_value group_fusion_plating_supervisor 1 1 1 0
81 access_fp_job_step_move_input_value_manager fp.job.step.move.input.value.manager model_fp_job_step_move_input_value group_fusion_plating_manager 1 1 1 1