Commerce Quality
Run quality inspections, track non-conformances, and place quality holds on inventory.
How It Works
- Create an inspection for incoming goods, production output, or returns.
- Inspect items and record pass/fail results with defect codes.
- Create non-conformance reports (NCRs) for failures.
- Place quality holds to prevent movement of suspect inventory.
- Resolve NCRs with root cause analysis and corrective actions.
- Release holds when items pass re-inspection.
Usage
- CLI:
stateset quality ... or stateset "create inspection for lot LOT-001"
- Writes require
--apply.
- MCP tools:
create_inspection, list_inspections, record_inspection_result, create_ncr, update_ncr, create_quality_hold, release_quality_hold.
Permissions
- Read:
list_inspections — no --apply needed.
- Write:
create_inspection, record_inspection_result, create_ncr, update_ncr, create_quality_hold, release_quality_hold — requires --apply.
Examples
stateset --db ./store.db "create inspection type=Receiving po_id=PO-100 sku=WIDGET-BLK" --apply
stateset --db ./store.db "record inspection result inspection_id=INS-001 result=Fail defect=Cosmetic" --apply
stateset --db ./store.db "create quality hold sku=WIDGET-BLK reason='Pending re-inspection'" --apply
stateset --db ./store.db "list inspections status=Fail"
Status Flows
Inspection: Pending -> InProgress -> Pass/Fail/ConditionalPass
NCR: Open -> UnderReview -> PendingDisposition -> CorrectiveAction -> PreventiveAction -> Verification -> Closed (or Cancelled)
Quality Hold: Placed -> UnderReview -> Released (or Escalated)
Inspection Types
- Incoming, Receiving, InProcess, Final, Random, Return
Severity & Disposition
- Severity: Critical, Major, Minor, Observation
- Disposition: UseAsIs, Rework, Repair, Scrap, ReturnToVendor, Downgrade, SortAndScreen
Output
{"status":"inspection_completed","inspection_id":"INS-001","result":"conditional_pass","pass_rate":0.96,"ncr_created":"NCR-2025-0012"}
Present Results to User
- Inspection result and pass rate.
- Defect codes and quantities affected.
- NCR number and required disposition.
- Active quality holds and affected SKUs.
Troubleshooting
- Cannot complete inspection: ensure all items have been inspected.
- Hold blocking shipment: release the hold or re-route to quarantine location.
- NCR stuck open: check that corrective action and verification steps are completed.
- Disposition not available: ensure the NCR severity level permits that disposition type.
Error Codes
INSPECTION_INCOMPLETE: Cannot finalize inspection until all items have been inspected.
HOLD_BLOCKING_SHIPMENT: A quality hold is preventing inventory movement; release or re-route first.
NCR_DISPOSITION_INVALID: The requested disposition is not permitted for the current NCR severity level.
Related Skills
- commerce-receiving: Trigger inspections on inbound goods during receiving.
- commerce-warehouse: Quality holds prevent inventory movement at location level.
- commerce-backorders: Failed inspections reduce available stock for backorder allocation.
References
- references/quality-inspections.md
- /home/dom/stateset-icommerce/crates/stateset-core/src/models/quality.rs
- /home/dom/stateset-icommerce/crates/stateset-embedded/src/quality.rs
1---2name: commerce-quality3description: Manage quality inspections, non-conformance reports, and quality holds. Use when inspecting received goods, production output, or customer returns for defects.4---56# Commerce Quality78Run quality inspections, track non-conformances, and place quality holds on inventory.910## How It Works11121. Create an inspection for incoming goods, production output, or returns.132. Inspect items and record pass/fail results with defect codes.143. Create non-conformance reports (NCRs) for failures.154. Place quality holds to prevent movement of suspect inventory.165. Resolve NCRs with root cause analysis and corrective actions.176. Release holds when items pass re-inspection.1819## Usage2021- CLI: `stateset quality ...` or `stateset "create inspection for lot LOT-001"`22- Writes require `--apply`.23- MCP tools: `create_inspection`, `list_inspections`, `record_inspection_result`, `create_ncr`, `update_ncr`, `create_quality_hold`, `release_quality_hold`.2425## Permissions2627- Read: `list_inspections` — no `--apply` needed.28- Write: `create_inspection`, `record_inspection_result`, `create_ncr`, `update_ncr`, `create_quality_hold`, `release_quality_hold` — requires `--apply`.2930## Examples3132```bash33stateset --db ./store.db "create inspection type=Receiving po_id=PO-100 sku=WIDGET-BLK" --apply34stateset --db ./store.db "record inspection result inspection_id=INS-001 result=Fail defect=Cosmetic" --apply35stateset --db ./store.db "create quality hold sku=WIDGET-BLK reason='Pending re-inspection'" --apply36stateset --db ./store.db "list inspections status=Fail"37```3839## Status Flows4041**Inspection:** Pending -> InProgress -> Pass/Fail/ConditionalPass42**NCR:** Open -> UnderReview -> PendingDisposition -> CorrectiveAction -> PreventiveAction -> Verification -> Closed (or Cancelled)43**Quality Hold:** Placed -> UnderReview -> Released (or Escalated)4445## Inspection Types4647- Incoming, Receiving, InProcess, Final, Random, Return4849## Severity & Disposition5051- Severity: Critical, Major, Minor, Observation52- Disposition: UseAsIs, Rework, Repair, Scrap, ReturnToVendor, Downgrade, SortAndScreen5354## Output5556```json57{"status":"inspection_completed","inspection_id":"INS-001","result":"conditional_pass","pass_rate":0.96,"ncr_created":"NCR-2025-0012"}58```5960## Present Results to User6162- Inspection result and pass rate.63- Defect codes and quantities affected.64- NCR number and required disposition.65- Active quality holds and affected SKUs.6667## Troubleshooting6869- Cannot complete inspection: ensure all items have been inspected.70- Hold blocking shipment: release the hold or re-route to quarantine location.71- NCR stuck open: check that corrective action and verification steps are completed.72- Disposition not available: ensure the NCR severity level permits that disposition type.7374## Error Codes7576- `INSPECTION_INCOMPLETE`: Cannot finalize inspection until all items have been inspected.77- `HOLD_BLOCKING_SHIPMENT`: A quality hold is preventing inventory movement; release or re-route first.78- `NCR_DISPOSITION_INVALID`: The requested disposition is not permitted for the current NCR severity level.7980## Related Skills8182- **commerce-receiving**: Trigger inspections on inbound goods during receiving.83- **commerce-warehouse**: Quality holds prevent inventory movement at location level.84- **commerce-backorders**: Failed inspections reduce available stock for backorder allocation.8586## References87- references/quality-inspections.md88- /home/dom/stateset-icommerce/crates/stateset-core/src/models/quality.rs89- /home/dom/stateset-icommerce/crates/stateset-embedded/src/quality.rs