feat(step-library): full plating workflow coverage + per-recipe configurability + audit
Implements 2026-04-29-step-library-audit-design.md. Bumps fusion_plating to 19.0.18.7.0, fusion_plating_jobs to 19.0.8.12.0, fusion_plating_reports to 19.0.10.2.0. LIBRARY EXPANSION - 8 new Step Kinds: Receiving, Electroclean, Strike, Salt Spray, Adhesion Test, Hardness Test, Packaging, Tank Replenishment - 4 new input types: photo, multi_point_thickness, bath_chemistry_panel, ph - DEFAULT_INPUTS_BY_KIND rewritten to seed audit-grade prompts on every kind (bath IDs, photos, multi-point thickness, signatures, etc.) - + Common Audit Fields one-click button on the library template form - Default Operator Instructions relabel + alert callout PER-RECIPE CONFIGURABILITY - collect (Boolean) per recipe-step input prompt — opt out without delete - collect_measurements (Boolean) master switch on recipe step — when off, wizard skips entirely - template_input_id (Many2one) traceability link from recipe to library - Recipe-step backend form view exposes the new fields with handle drag, toggle, target range, and library-source column RUNTIME WIRING - Step input wizard filters node.input_ids to step_input AND collect=True; short-circuits on collect_measurements=False - New input types: photo (image widget + ir.attachment), multi-point thickness (5 readings + auto avg, skips empty cells), bath chemistry panel (pH/conc/temp/bath bundle), pH (0-14 numeric) - Composite values JSON-serialized into value_text; photo via attachment CoC REPORT - Filters captured prompts to collect=True only - Renders new input types with appropriate format MIGRATION (post-migrate.py for 19.0.18.7.0) - Backfills collect=True on recipe-step inputs - Backfills collect_measurements=True on recipe steps - Re-runs action_seed_default_inputs on every existing template (idempotent, preserves user edits) - Backfills template_input_id by name-matching against source library template (handles JSONB vs varchar name columns) SEED DATA - 8 example templates (one per new kind) in fp_step_template_data.xml with noupdate=1 BATTLE TEST - bt_step_library_audit.py: 29 assertions all PASS on entech OWL EDITOR EXTENSION DEFERRED - The simple recipe editor's per-step Instructions/Measurements expansions were not implemented in this pass; users configure via the backend recipe-step form. Track follow-up. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -117,16 +117,28 @@
|
||||
<field name="description" widget="html"/>
|
||||
</page>
|
||||
<page string="Operator Inputs" name="inputs">
|
||||
<group>
|
||||
<field name="collect_measurements"
|
||||
widget="boolean_toggle"
|
||||
help="Master switch — when off, the operator wizard skips this step entirely."/>
|
||||
</group>
|
||||
<field name="input_ids">
|
||||
<list editable="bottom">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="collect" widget="boolean_toggle"
|
||||
string="Collect"/>
|
||||
<field name="name"/>
|
||||
<field name="input_type"/>
|
||||
<field name="kind" optional="hide"/>
|
||||
<field name="target_min" optional="hide"/>
|
||||
<field name="target_max" optional="hide"/>
|
||||
<field name="target_unit" optional="hide"/>
|
||||
<field name="required"/>
|
||||
<field name="hint"/>
|
||||
<field name="uom"/>
|
||||
<field name="selection_options"
|
||||
invisible="input_type != 'selection'"/>
|
||||
<field name="template_input_id" optional="hide"
|
||||
string="From Library"/>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
|
||||
@@ -33,6 +33,10 @@
|
||||
<button name="action_seed_default_inputs" type="object"
|
||||
string="Seed Default Inputs" class="btn-secondary"
|
||||
invisible="not default_kind"/>
|
||||
<button name="action_add_common_audit_fields" type="object"
|
||||
string="+ Common Audit Fields"
|
||||
class="btn-secondary"
|
||||
help="Append Operator Initials, Bath ID, Photo on Failure, Equipment ID"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
@@ -58,9 +62,14 @@
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Instructions" name="instructions">
|
||||
<page string="Default Operator Instructions" name="instructions">
|
||||
<div class="alert alert-info" role="alert">
|
||||
Standing instructions the office gives operators for this
|
||||
step. Snapshot-copied onto every recipe that uses this
|
||||
step. Recipe authors can override per recipe.
|
||||
</div>
|
||||
<field name="description"
|
||||
placeholder="Rich-text instructions / WI reference."/>
|
||||
placeholder="e.g. Mask threaded holes with vinyl plugs. Use Microshield for through-holes."/>
|
||||
</page>
|
||||
<page string="Operation Measurements" name="op_measurements">
|
||||
<field name="input_template_ids">
|
||||
|
||||
Reference in New Issue
Block a user