feat(plating): Sub 4 — Contract Review (optional, QA-005 1:1 PDF)

Per-part contract review record (fp.contract.review) gated by a
customer-level toggle, signed in two sections (QA Assistant → QA
Manager), settings-based signer rosters (no new res.groups), banner on
the part form that auto-dismisses once the first MO for the part hits
confirmed. QA-005 Rev. 0 paper form reproduced 1:1 in a QWeb PDF.

Never blocks MO/SO/WO — review is purely an audit artefact.

Smoke test run on entech: 12 assertions pass including the 25-cell
risk matrix parity with the paper form and 22 KB PDF render.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-04-22 21:43:06 -04:00
parent 98a8bc234b
commit 21da526aa7
17 changed files with 1472 additions and 2 deletions

View File

@@ -29,3 +29,6 @@ access_fp_doc_control_manager,fp.doc.control.manager,model_fusion_plating_doc_co
access_fp_quality_hold_operator,fp.quality.hold.operator,model_fusion_plating_quality_hold,fusion_plating.group_fusion_plating_operator,1,0,1,0
access_fp_quality_hold_supervisor,fp.quality.hold.supervisor,model_fusion_plating_quality_hold,fusion_plating.group_fusion_plating_supervisor,1,1,1,0
access_fp_quality_hold_manager,fp.quality.hold.manager,model_fusion_plating_quality_hold,fusion_plating.group_fusion_plating_manager,1,1,1,1
access_fp_contract_review_operator,fp.contract.review.operator,model_fp_contract_review,fusion_plating.group_fusion_plating_operator,1,0,0,0
access_fp_contract_review_supervisor,fp.contract.review.supervisor,model_fp_contract_review,fusion_plating.group_fusion_plating_supervisor,1,1,1,0
access_fp_contract_review_manager,fp.contract.review.manager,model_fp_contract_review,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
29 access_fp_quality_hold_operator fp.quality.hold.operator model_fusion_plating_quality_hold fusion_plating.group_fusion_plating_operator 1 0 1 0
30 access_fp_quality_hold_supervisor fp.quality.hold.supervisor model_fusion_plating_quality_hold fusion_plating.group_fusion_plating_supervisor 1 1 1 0
31 access_fp_quality_hold_manager fp.quality.hold.manager model_fusion_plating_quality_hold fusion_plating.group_fusion_plating_manager 1 1 1 1
32 access_fp_contract_review_operator fp.contract.review.operator model_fp_contract_review fusion_plating.group_fusion_plating_operator 1 0 0 0
33 access_fp_contract_review_supervisor fp.contract.review.supervisor model_fp_contract_review fusion_plating.group_fusion_plating_supervisor 1 1 1 0
34 access_fp_contract_review_manager fp.contract.review.manager model_fp_contract_review fusion_plating.group_fusion_plating_manager 1 1 1 1