Questions for the contractor — project DemoBoiler
An acceptance checklist: what to ask the party handing the site over. No code and no line numbers — plain-language questions you can attach to the acceptance act and get a written answer to.
Project: DemoBoiler · blocks: 4 · score 0/100 · date 2026-08-03
Answer required before signing
1. A division where the divisor can be zero (3). What happens to the controller if that occurs on site?
Contractor's answer:
2. The diagram has a division with zero on the divisor input (1). Is that deliberate?
Contractor's answer:
3. Runtime check functions exist but their protective logic is empty (1). Do we still consider the protection to be in place?
Contractor's answer:
4. The code references a global variable that is not in the global list (1). Is this a typo, or was the variable supposed to exist?
Contractor's answer:
5. An access beyond the array bounds (1). What limits it at runtime?
Contractor's answer:
6. A loop with no exit condition (1). What stops the task scan from hanging?
Contractor's answer:
Clarify during acceptance
1. Runtime check functions are not activated (3). Who catches an out-of-bounds access or a division by zero?
Contractor's answer:
2. Integer division that discards the fraction (1). Does precision matter here?
Contractor's answer:
3. A timer preset is set to zero (1). Is that delay needed at all?
Contractor's answer:
4. A variable is assigned to itself (1). What was meant?
Contractor's answer:
5. Empty conditional branches (1). Unfinished logic, or a leftover construct?
Contractor's answer:
6. A state machine without an “else” branch (1). What does the system do if the state is unknown?
Contractor's answer:
Notes for maintenance
1. Single-character variable names (4). Is that readable during maintenance?
Contractor's answer:
2. Program blocks nothing ever calls (3). Leftovers from earlier versions, or a renamed call?
Contractor's answer:
Disclaimer. This is static analysis of exported code: it catches classes of mistakes, it does not verify the project against the specification. It does not replace commissioning, testing or a logic review against the spec. An empty protocol does not mean the plant works correctly.