Skip to main content

Verification ledger: admin chapters 04 to 09

Scope: every > Not confirmed by code: block in admin/04 to admin/09. Static reading only.

Result: 24 blocks. 16 CONFIRMED, 7 CORRECTED, 1 UNRESOLVED (partly resolved).

Checked again on 2026-10-11 against main (f351a1d1f): row 04 cites 900-dev-seed.sql:244-253, and those lines are unchanged. The fix F-07 (48086a858) removed two grants of the same file at later lines (about 569 and 580), which no row here cites. The rows that name receive-line/ReceiveLine.tsx still point at an existing file.

fileoriginal claimoutcomeevidence (file:line)action taken
04Meaning of Rec, Con, Man, Dst, Brk; type filter of Ship To pickerCONFIRMEDcrates/libs/wms-lib-sql/sql/dev_only/install-db/900-dev-seed.sql:244-253 (code list OWNER_TYPES: Receiver, Consignee, Manufacturer, Distributor, Broker); wms-meta-ui/migrations/001_baseline.sql:3342 (owner_customer filter owner_type = Cus, used by shipment_order_customer_list); enum wms-lib-core/src/model/owners/owner.rs:25-35Table rows added for the five types; block replaced by the Cus filter fact
04Is an owner settings row created for a new owner?CONFIRMED (no)services/app-server/src/web/rpcs/owner_rpc.rs:260-320 (config created only if let Some(cfg)); wms-meta-ui/migrations/061_owner_and_sku_use_save_graph.sql:36-56 (config node optional: true); update path owner_rpc.rs:~400-412 creates it if missingBlock replaced with a plain bullet: no automatic row, Save All creates it
04Which owner default policies a new SKU copiesCORRECTEDDefaults are not copied; they are a run-time fallback: wms-lib-core/src/model/sku.rs:874,915,957 (COALESCE(s.x_policy_id, oc.default_x_policy_id)); wms-inbound/.../validation_service.rs:43-48; replenishment and lot defaults only in owner_config_rpc.rs:73-75, owner_rpc.rs:180-182Guide said "fill in new SKUs"; text fixed, block removed
04A screen or command that adds a uom_class rowCONFIRMED (none)wms-lib-core/src/model/policies/uom_class.rs has only validate_* and read fns (lines 70, 83, 207, 248); rows come from wms-app/migrations/001_baseline.sql:10069Block replaced with plain bullet
04Old note describes parent_pack_item_id; code uses child_pack_item_idCONFIRMEDwms-app/migrations/001_baseline.sql:3642,13261,17325 (child_pack_item_id); docs-obsidian/domain/pack-hierarchy.md:26,52 still says parent_pack_item_idBlock replaced with plain statement; note flagged out of date
04What Industry Profile enforcesCONFIRMED (nothing)wms-app/migrations/001_baseline.sql:6024 ("Soft hint"); only references are model structs wms-lib-core/src/model/sku_serial_config.rs:146,197,232,280,302; values 001_baseline.sql:8053-8054Block replaced: stored hint, no rule reads it
04Allowed values of Default Usage Policy and Owned ByCONFIRMEDwms-enterprise/migrations/012_handling_unit_type.sql:5 (OwnOnly, WarehouseShared); wms-meta-ui/migrations/080_handling_unit_screens.sql:424 (ThisWarehouse = "This warehouse", Owner = "Client"); wms-inventory/.../handling_unit/register.rs:166-167 (owner refused with ThisWarehouse)Values listed
05Can a web user create a receipt line with no Pack?CORRECTEDwms-app/migrations/001_baseline.sql:2048,2067 (receipt_detail.pack_id bigint NOT NULL, no default); wms-lib-core/src/model/receipt/receipt_detail.rs:1136 (create validates pack only if present); other writers take sku.pack_id (wms-inbound/.../receive_line_resolver.rs:127)Block replaced: a manual line needs a Pack; DB refuses otherwise
05Does the web Receive window apply RF quantity checks?CORRECTEDWeb calls receipt_receive_against_asn: wms-meta-ui/migrations/001_baseline.sql:5999-6000,6276; RF calls it too: clients/rf-go/internal/app/receiving_loop_flow_test.go; web handles excess/shortage questions: ui/wms-component/components/receive-line/ReceiveLine.tsx:30-37Tab-title bullet fixed ("RF only" was wrong)
05Web button for damage dispositionsCORRECTEDNo hit in wms-meta-ui migrations, ui/wms-component, or clients/ for receipt_set_damage_disposition, receipt_write_off_damage, receipt_move_damage_to_rtv; only services/app-server/src/web/rpcs/receipt_commands_rpc.rsGuide said "(and RF)"; wrong. Now says API only
05Exact English text of putaway editor refusalsCORRECTEDTexts are rows putaway_step.* in wms-meta-ui/migrations/001_baseline.sql:21441-21448,21492,21618,21627; server errors wms-inventory/src/putaway/policy.rs:21,37Fixed cannot save — {0}, closed by step N (S), the long mixed-lot text, em dash in "No conditions" text
06No Close button for shipment orderCONFIRMEDNo metadata or client use of shipment_order_close; wms-outbound/src/domain/shipment_order/aggregate.rs:246-271 (close rules); wms-outbound/src/service/order/close.rs:1-18 (only cancellation makes a line finished); shipment_order_commands_rpc.rs:52 (Admin, Manager)Block replaced with fact
06Wave policy has no seedCONFIRMEDNo INSERT INTO wave_policy in any migration or dev seed (wms-app/migrations/078,081,082)Block replaced
06Full runtime order of pick-short actionsCONFIRMEDwms-outbound/src/picking/remediation.rs:1-30 (fixed order), :165-215, :440-520; picking/commands/short.rs:1-29,392Order written as five steps
06Web packing queue?CONFIRMED (none)Migration 110_packing_station_queue.sql only inserts message narration.flow.station_unknown; query packing_queue_list at app-server/src/web/rpcs/packing_rpc.rs:54; used by RF screen wms-lib-sql/sql/rf-screens/103_uc_pack_verify.sql:72,111Block replaced
07No web screen for printers or label designCORRECTEDLabel designer exists: button Label designer in the Reports page for Studio admins, web-ui-server/src/components/pages/reports_iframe.rs:973-974,950-955,1039-1045; it edits label_definitions and label_templates (ui/reports-designer/src/bridge.ts:41-47; host API reports_iframe.rs:592-703). Printer configurations: no web formTable rows and text fixed; printers stay API only
07Link of zone Default Label Printer / Default Report Printer to printer_configurationsCORRECTEDZone fields are plain text, mapped only in app-server/src/web/rpcs/putawayzone_rpc.rs:55-56; printer is chosen only from printer_assignments (wms-lib-core/src/model/printer_assignments.rs:170-211, Zone scope_id = putawayzone.id); zone_code/is_default of a printer configuration are not read (reports/printer_configuration.rs:27-28)Block replaced; "What this affects later" bullet fixed
07How an admin reaches printer_assignments_list_formCONFIRMED (cannot)web-ui-server/src/meta/surface_census.rs:154-163 (form listed as having no door); no menu item, tab item or navigation targets form 220 (wms-meta-ui/migrations/001_baseline.sql:5899, only nav rows 1220, 1224 target form 221)Block replaced
07How a barcode format is chosen for a scanCONFIRMEDwms-inventory/src/barcode_scan.rs:223-270 (claimant: prefix = barcode_identifier, auto_detect_identifier on, longest identifier, then lowest id; empty identifier claims nothing)Block replaced
08Web screen to add or edit report definitionsCONFIRMEDreport_def_menu inactive: wms-meta-ui/migrations/001_baseline.sql:21067, retirement test web-ui-server/src/services/studio/reports_retirement_tests.rs:50,103; import-catalog: quark-reports/src/main.rs:31; designer button reports_iframe.rs:973, claim reports_iframe.rs:852-865Block replaced with two ways to add definitions
08Dashboard layout and how users reach itCONFIRMEDTab item dashboard, form 1: wms-meta-ui/migrations/001_baseline.sql:5784,23066; toolbar and panels web-ui-server/src/components/pages/dashboard/mod.rs:40-120,151-170Block replaced
09Which ERP connectors ship ready-madeCONFIRMEDintegration-platform/src/templates/connectors.rs (16 connectors, e.g. one_c_http line 247, sap_rfc line 264); templates/flows.rs (29 flows); seeded at start: src/main.rs:58, templates/seeder.rs:10-60List added
09Web field for event_filter / warehouse_filterCONFIRMED (none, not even API)No hit in wms-meta-ui migrations; wms-lib-core/src/model/integration/integration_subscriber.rs has no filter field; worker reads them: app-server/src/services/integration_delivery.rs:421-460; default wms-enterprise/migrations/001_baseline.sql:709-710Block replaced
09IPaaS login model and rolesUNRESOLVED (login resolved, roles not)Login: integration-platform/src/middleware.rs:35-60, server.rs:191-198, web-ui-server/.../integration_platform.rs:26; menu item ipaas: wms-meta-ui/migrations/001_baseline.sql:21042. Role grants are runtime data; no seed names themLogin written as fact. Residual block kept: which roles see IPaaS, with verify steps

Product findings​

  • crates/services/web-ui-server/src/meta/surface_census.rs:158: the screen printer_assignments_list_form has no door. Admins cannot manage printer assignments in the UI. Same for four other forms listed there.
  • crates/services/app-server/src/web/rpcs/putawayzone_rpc.rs:55-56 and crates/libs/wms-lib-core/src/model/printer_assignments.rs:170-211: the zone fields Default Label Printer, Default Report Printer, Auto Print Addr Label and Auto Print Carton Label are shown on the zone form but no printing code reads them. They look like they work.
  • crates/libs/wms-lib-core/src/model/reports/printer_configuration.rs:27-28: zone_code and is_default of a printer are stored and never used by the printer lookup.
  • crates/services/app-server/src/web/rpcs/receipt_commands_rpc.rs: receipt_set_damage_disposition, receipt_write_off_damage, receipt_move_damage_to_rtv have no web button and no RF screen. A damage record can stay pending, and a receipt with pending damage cannot close (code 77).
  • crates/libs/wms-lib-sql/sql/wms-app/migrations/001_baseline.sql:2067 with the receipt line form: receipt_detail.pack_id is NOT NULL, but the form does not mark Pack as required. The operator gets a database error. Fixed (F-20): ReceiptDetailBmc::create takes the SKU's pack when none is given.
  • crates/services/web-ui-server/src/components/pages/integration_platform.rs:26, crates/services/integration-platform/src/server.rs:197, crates/services/integration-platform/src/middleware.rs:35-60: the IPaaS frame uses a fixed address http://localhost:8085, the CORS list is fixed to localhost origins, and the UI sends no X-Api-Key while CORS does not allow it. With IP_API_KEY set, the embedded IPaaS cannot log in. It only works in dev mode.
  • crates/libs/wms-lib-sql/sql/wms-app/migrations/001_baseline.sql (owner_config.default_replenishment_policy_id, default_lot_policy_id; app-server/.../owner_config_rpc.rs:73-75): both defaults are stored and shown but no Rust code reads them.
  • crates/services/web-ui-server/src/components/pages/reports_iframe.rs:852-865: the report and label designer right is the Studio-admin right. There is no separate right for editing reports (the code comment says it is temporary). Also reports=["*"] lets every user run every report (reports_iframe.rs:798-807).
  • crates/libs/wms-outbound/src/service/order/close.rs:1-18: the code comment says a shipment order can close only when all lines are cancelled, because nothing ships yet. Check whether the comment is current.
  • docs-obsidian/domain/pack-hierarchy.md:26,52: the design note still describes parent_pack_item_id. The database uses child_pack_item_id.
  • crates/services/web-ui-server/src/components/pages/dashboard/dock.rs and labour.rs: the dock schedule and labour panels have no data source. They show demo figures or say so.