- I1: Add supervisor ACL row on fp.job.step.timelog. The other job-related models all have a 3-tier (operator/supervisor/ manager) pattern; timelog had been operator+manager only with no comment explaining why. Adding the supervisor row for consistency — supervisors can write timelogs the same as operators. - I2: Capture fields.Datetime.now() once in button_start and reuse for both the step's first-start audit timestamp and the new timelog's date_started. Mirrors button_finish's pattern. Eliminates microsecond drift between two related timestamps. - M6: Update stale comment in fp_job_step.py that said 'duration_actual will be sum of timelog rows once Task 1.7 lands' — Task 1.7 has landed; replace with current behaviour. Manifest 19.0.8.6.0 → 19.0.8.6.1. Part of: native job model migration (spec 2026-04-25) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
7.2 KiB
7.2 KiB
| 1 | id | name | model_id:id | group_id:id | perm_read | perm_write | perm_create | perm_unlink |
|---|---|---|---|---|---|---|---|---|
| 2 | access_fp_process_category_operator | fp.process.category.operator | model_fusion_plating_process_category | group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 3 | access_fp_process_category_manager | fp.process.category.manager | model_fusion_plating_process_category | group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 4 | access_fp_process_type_operator | fp.process.type.operator | model_fusion_plating_process_type | group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 5 | access_fp_process_type_manager | fp.process.type.manager | model_fusion_plating_process_type | group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 6 | access_fp_bath_parameter_operator | fp.bath.parameter.operator | model_fusion_plating_bath_parameter | group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 7 | access_fp_bath_parameter_manager | fp.bath.parameter.manager | model_fusion_plating_bath_parameter | group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 8 | access_fp_facility_operator | fp.facility.operator | model_fusion_plating_facility | group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 9 | access_fp_facility_supervisor | fp.facility.supervisor | model_fusion_plating_facility | group_fusion_plating_supervisor | 1 | 0 | 0 | 0 |
| 10 | access_fp_facility_manager | fp.facility.manager | model_fusion_plating_facility | group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 11 | access_fp_work_center_operator | fp.work.center.operator | model_fusion_plating_work_center | group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 12 | access_fp_work_center_supervisor | fp.work.center.supervisor | model_fusion_plating_work_center | group_fusion_plating_supervisor | 1 | 1 | 0 | 0 |
| 13 | access_fp_work_center_manager | fp.work.center.manager | model_fusion_plating_work_center | group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 14 | access_fp_tank_operator | fp.tank.operator | model_fusion_plating_tank | group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 15 | access_fp_tank_supervisor | fp.tank.supervisor | model_fusion_plating_tank | group_fusion_plating_supervisor | 1 | 1 | 0 | 0 |
| 16 | access_fp_tank_manager | fp.tank.manager | model_fusion_plating_tank | group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 17 | access_fp_bath_operator | fp.bath.operator | model_fusion_plating_bath | group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 18 | access_fp_bath_supervisor | fp.bath.supervisor | model_fusion_plating_bath | group_fusion_plating_supervisor | 1 | 1 | 1 | 0 |
| 19 | access_fp_bath_manager | fp.bath.manager | model_fusion_plating_bath | group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 20 | access_fp_bath_target_operator | fp.bath.target.operator | model_fusion_plating_bath_target | group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 21 | access_fp_bath_target_supervisor | fp.bath.target.supervisor | model_fusion_plating_bath_target | group_fusion_plating_supervisor | 1 | 1 | 1 | 0 |
| 22 | access_fp_bath_target_manager | fp.bath.target.manager | model_fusion_plating_bath_target | group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 23 | access_fp_bath_log_operator | fp.bath.log.operator | model_fusion_plating_bath_log | group_fusion_plating_operator | 1 | 1 | 1 | 0 |
| 24 | access_fp_bath_log_supervisor | fp.bath.log.supervisor | model_fusion_plating_bath_log | group_fusion_plating_supervisor | 1 | 1 | 1 | 0 |
| 25 | access_fp_bath_log_manager | fp.bath.log.manager | model_fusion_plating_bath_log | group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 26 | access_fp_bath_log_line_operator | fp.bath.log.line.operator | model_fusion_plating_bath_log_line | group_fusion_plating_operator | 1 | 1 | 1 | 0 |
| 27 | access_fp_bath_log_line_supervisor | fp.bath.log.line.supervisor | model_fusion_plating_bath_log_line | group_fusion_plating_supervisor | 1 | 1 | 1 | 0 |
| 28 | access_fp_bath_log_line_manager | fp.bath.log.line.manager | model_fusion_plating_bath_log_line | group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 29 | access_fp_process_node_operator | fp.process.node.operator | model_fusion_plating_process_node | group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 30 | access_fp_process_node_supervisor | fp.process.node.supervisor | model_fusion_plating_process_node | group_fusion_plating_supervisor | 1 | 1 | 1 | 0 |
| 31 | access_fp_process_node_manager | fp.process.node.manager | model_fusion_plating_process_node | group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 32 | access_fp_process_node_input_operator | fp.process.node.input.operator | model_fusion_plating_process_node_input | group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 33 | access_fp_process_node_input_supervisor | fp.process.node.input.supervisor | model_fusion_plating_process_node_input | group_fusion_plating_supervisor | 1 | 1 | 1 | 0 |
| 34 | access_fp_process_node_input_manager | fp.process.node.input.manager | model_fusion_plating_process_node_input | group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 35 | access_fp_rack_operator | fp.rack.operator | model_fusion_plating_rack | group_fusion_plating_operator | 1 | 1 | 0 | 0 |
| 36 | access_fp_rack_supervisor | fp.rack.supervisor | model_fusion_plating_rack | group_fusion_plating_supervisor | 1 | 1 | 1 | 0 |
| 37 | access_fp_rack_manager | fp.rack.manager | model_fusion_plating_rack | group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 38 | access_fp_replenishment_rule_operator | fp.replenishment.rule.operator | model_fusion_plating_bath_replenishment_rule | group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 39 | access_fp_replenishment_rule_supervisor | fp.replenishment.rule.supervisor | model_fusion_plating_bath_replenishment_rule | group_fusion_plating_supervisor | 1 | 1 | 1 | 0 |
| 40 | access_fp_replenishment_rule_manager | fp.replenishment.rule.manager | model_fusion_plating_bath_replenishment_rule | group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 41 | access_fp_replenishment_suggestion_operator | fp.replenishment.suggestion.operator | model_fusion_plating_bath_replenishment_suggestion | group_fusion_plating_operator | 1 | 1 | 1 | 0 |
| 42 | access_fp_replenishment_suggestion_supervisor | fp.replenishment.suggestion.supervisor | model_fusion_plating_bath_replenishment_suggestion | group_fusion_plating_supervisor | 1 | 1 | 1 | 0 |
| 43 | access_fp_replenishment_suggestion_manager | fp.replenishment.suggestion.manager | model_fusion_plating_bath_replenishment_suggestion | group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 44 | access_fp_operator_cert_operator | fp.operator.cert.operator | model_fp_operator_certification | group_fusion_plating_operator | 1 | 0 | 0 | 0 |
| 45 | access_fp_operator_cert_supervisor | fp.operator.cert.supervisor | model_fp_operator_certification | group_fusion_plating_supervisor | 1 | 1 | 1 | 0 |
| 46 | access_fp_operator_cert_manager | fp.operator.cert.manager | model_fp_operator_certification | group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 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 |
| 53 | access_fp_job_step_operator | fp.job.step.operator | model_fp_job_step | fusion_plating.group_fusion_plating_operator | 1 | 1 | 0 | 0 |
| 54 | access_fp_job_step_supervisor | fp.job.step.supervisor | model_fp_job_step | fusion_plating.group_fusion_plating_supervisor | 1 | 1 | 1 | 0 |
| 55 | access_fp_job_step_manager | fp.job.step.manager | model_fp_job_step | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |
| 56 | access_fp_job_step_timelog_operator | fp.job.step.timelog.operator | model_fp_job_step_timelog | fusion_plating.group_fusion_plating_operator | 1 | 1 | 1 | 0 |
| 57 | access_fp_job_step_timelog_supervisor | fp.job.step.timelog.supervisor | model_fp_job_step_timelog | fusion_plating.group_fusion_plating_supervisor | 1 | 1 | 1 | 0 |
| 58 | access_fp_job_step_timelog_manager | fp.job.step.timelog.manager | model_fp_job_step_timelog | fusion_plating.group_fusion_plating_manager | 1 | 1 | 1 | 1 |