# Describe a FactorySpec constraint in plain English

Type a product configuration rule in plain English, answer the AI's question about the details it needs, inspect the complete proposed constraint, save it deliberately as a draft and request the native engineering review.

Source: https://help.smartfact.ai/automation/guides/factoryspec-assistance

Audience: Author

Type a product configuration rule in plain English, answer the AI's question about the details it needs, inspect the complete proposed constraint, save it deliberately as a draft and request the native engineering review.

## Plain English to a checked draft

1. **Load the FA-300 family draft**

   Load the FA-300 family draft

   Load the frame assembly FA-300 draft from FactorySpec. Its expected results, worked out by hand from drawing FA-300, say a black frame with a clear panel must be blocked, but the model has no constraint for it yet.

2. **Choose Add constraints entry**

   Choose Add constraints entry

   Choose Add constraints entry. A constraint blocks a combination of options that cannot be built.

3. **Load the constraint controls**

   Load the constraint controls

   Load the controls for a new constraint. This reads FactorySpec and does not save anything.

4. **Choose the new constraint to describe**

   Choose the new constraint to describe

   Choose Add constraints entry under Change to describe, so the proposal covers the whole constraint: when it blocks a configuration and the message people see.

5. **Type the requirement in plain English**

   Type the requirement in plain English

   Type the requirement as the team wrote it: block a selected clear panel with a black finish.

6. **Ask for a proposal**

   Ask for a proposal

   Ask for a proposal. The AI replies with a question instead of guessing: a constraint needs its own key and the message people see when it blocks a configuration.

7. **Add the details the AI asked for**

   Add the details the AI asked for

   Keep the requirement and add the missing details: call the constraint incompatible_panel and show the message "The black frame does not take a clear panel. Choose opaque or remove the panel."

8. **Ask for the complete proposal**

   Ask for the complete proposal

   Ask again. The AI now returns a complete constraint. Nothing is saved until you choose to save it.

9. **Read the restatement of the change**

   Read the restatement of the change

   Read the restatement. It says in plain words that the proposal adds the constraint incompatible_panel to the FA-300 model: it blocks a configuration that includes a panel when the frame finish is black and the panel type is clear, and shows its message. Every value it saves is listed next.

10. **Check what will be saved**

   Check what will be saved

   Read what the constraint will save, field by field: its key, when it applies and its message. Each option is shown by its name in the model.

11. **Check when the constraint applies**

   Check when the constraint applies

   Check when the constraint applies, read from the labels the model gives each field: Include a panel equals Yes, Frame finish equals black and Panel type equals clear.

12. **Check the key and the message**

   Check the key and the message

   Check the key incompatible_panel and the message people will see: "The black frame does not take a clear panel. Choose opaque or remove the panel."

13. **Confirm you checked the whole proposal**

   Confirm you checked the whole proposal

   Confirm that you checked every value. FactorySpec still validates the whole model and checks it against the expected results when it saves.

14. **Save the proposal as a draft**

   Save the proposal as a draft

   Save the proposal as a draft. Saving does not approve, release or apply the constraint: a separate engineering expert, the expected results, the proof and an independent review come next.

15. **Request the native engineering review**

   Request the native engineering review

   Prepare the native engineering review of the saved draft. A separate engineering expert must approve the model in FactorySpec before it can be selected here.

[Watch or practise this chapter](https://help.smartfact.ai/automation/demo?guide=factoryspec-assistance&chapter=assisted-rule&audience=office)

Only a draft was saved and its engineering review requested. A separate expert, the expected results, the proof and an independent review come next.
