Can We Defend the Inspection Service Design?
Bring the requirements back to the complete service. Check fault misses and queue capacity separately, then identify what the prototype still has not demonstrated.
15 sections · 5 questions · 1 coding challenge
The arrow keys move between sections too.
Meeting a Specification and Solving the Problem Need Different Checks
BOTIE
Our capstone verifies two numerical requirements on invented inspection and workload fixtures. It then asks what evidence would validate the service for the maintenance team. Passing the arithmetic is useful, but it cannot demonstrate fewer real breakdowns or an acceptable review workload.
Sources for this history
Botie Is Ready for a Trial. What Evidence Is Still Missing?
We began with a team that needed useful pump inspections. Now we have a model proposal, resource estimates, and a fallback route. Before calling the design ready, let’s return to the original decision and check what our evidence actually establishes.
A model can catch the required faults while its queue overflows. A service can stay responsive while missing too many faults. Our review will keep those failures separate and then ask which other claims still need a real trial.
Fault records and request-arrival traces are separate fixtures. Their array lengths do not need to match.
Step 1 of 2
Put the requirement beside its test
The first check needs known fault outcomes. The second needs a workload trace and a service model.
| Requirement | Evidence | Failure means |
|---|---|---|
| At most 1 missed fault | Aligned fault labels and inspection decisions | Policy quality requirement failed |
| Backlog never above 3 requests | Arrivals and completion capacities per interval | Queue budget failed |
At most 1 missed fault
- Evidence
- Aligned fault labels and inspection decisions
- Failure means
- Policy quality requirement failed
Backlog never above 3 requests
- Evidence
- Arrivals and completion capacities per interval
- Failure means
- Queue budget failed
Step 2 of 2
Compare two failure modes
These are outcomes from separate invented review cases.
| Candidate case | Misses | Peak backlog | Result |
|---|---|---|---|
| Balanced trial | 1 | 3 | Passes these checks |
| Busy shift | 0 | 5 | Queue check fails |
| Quiet but inaccurate | 2 | 0 | Miss check fails |
Balanced trial
- Misses
- 1
- Peak backlog
- 3
- Result
- Passes these checks
Busy shift
- Misses
- 0
- Peak backlog
- 5
- Result
- Queue check fails
Quiet but inaccurate
- Misses
- 2
- Peak backlog
- 0
- Result
- Miss check fails
Trace each claim back to its evidence
Separate branches preserve the meaning of each requirement. The final AND passes only after both measured quantities meet their limits.
Does this candidate pass both checks?
Change the decisions or workload trace. The design passes this toy review only when both the miss limit and maximum backlog limit hold.
BOTIE
Review result: 1 = both numerical checks pass
1
Follow the operations
1. Maximum missed faults
1
2. Fault labels in evaluation order
- 01
- 10
- 21
- 31
3. Set a constant
1
4. Inspection decisions in evaluation order
- 01
- 10
- 20
- 31
5. Subtract
- 00
- 11
- 21
- 30
6. Multiply
- 00
- 10
- 21
- 30
7. Add a list
1
8. Threshold gate
1
9. Maximum permitted backlog
3
10. Request arrivals per interval
- 02
- 17
- 21
11. Service capacities per interval
- 04
- 14
- 24
12. Queue over time
- 00
- 13
- 20
13. Largest value
3
14. Threshold gate
1
15. Multiply
1
16. Result
1
This verifies two toy requirements. Field usefulness, inspection capacity, label coverage, memory, response deadlines, and fallback behaviour still need their own evidence.
1. Restate the promise in terms of the maintenance team
The service should help schedule timely inspections within available resources. Its model score is evidence about one part of that promise. The inspection team’s capacity, the usefulness of a warning, and the time available to act all remain relevant.
For a software support service, the same review asks whether useful answers or routing decisions arrive in time and whether unresolved cases reach a workable fallback. Start with the person’s decision in both settings.
A design review returns to the original need so it does not become a celebration of an impressive component.
2. Attach a test to each numerical requirement
For this capstone, we require at most one missed fault on the stated evaluation fixture and a maximum backlog of three requests on the stated arrival trace. These are toy acceptance criteria, not universal limits.
The quality test and load test use different data. Fault labels align with inspection decisions. Arrivals align with service capacities. There is no reason for the two pairs to have the same number of entries.
A test specification needs units, timing conventions, and boundary behaviour. Both limits here are inclusive.
3. Calculate the misses from decisions and outcomes
The model proposes inspection decisions, and the fixture supplies confirmed faults. A fault that was deferred contributes one miss. Count those cases without confusing them with inspections of healthy pumps.
Fault labels = [1, 0, 1, 1]
Inspect decisions = [1, 0, 0, 1]
Miss indicators = labels × (1 − decisions) = [0, 0, 1, 0]
Missed faults = 1
Miss limit = 1: passesFalse alarms still matter to the wider design, but this particular requirement concerns misses. Add their inspection burden to a separate capacity check when reviewing a real policy.
4. Replay the workload instead of looking only at its average
Use the queue recurrence from the earlier lesson. Requests arrive before service in each interval, and the queue starts empty. Inspect the maximum backlog across the whole trace.
A final backlog of zero can hide an earlier overflow. The service must have enough room at every point covered by this model.
Arrivals = [2, 7, 1]
Service capacities = [4, 4, 4]
End backlogs = [0, 3, 0]
Peak backlog = 3
Backlog limit = 3: passesThis is a queue-capacity check. It does not certify a request-latency percentile.
Check yourself
Questions on Parts 1 to 4
Question 1 of 2
Which record contributes the miss?
Use the information below.
Fault labels are [1,0,1,1], decisions are [1,0,0,1], and the miss limit is 1.5. Report each check before the overall decision
An overall boolean is convenient for automation, but a person needs the measured values and failed requirements. Return a small report with missed faults, peak backlog, and whether both pass.
Keep an all-pass decision strict: one failed hard requirement means this review does not pass. Do not average the flags or let one excellent metric compensate for another.
A Python dictionary gives the outputs names. That makes later review clearer than a list of unexplained numbers.
Give review results meaningful names
This example assembles a report from already calculated values. The challenge must calculate those values from the underlying fixtures.
missed = 2
peak = 1
report = {"missed_faults": missed, "peak_backlog": peak, "passed": missed <= 1 and peak <= 3}
print(report){'missed_faults': 2, 'peak_backlog': 1, 'passed': False}The dictionary keys explain the values. The overall result is False because the miss requirement fails.
6. Distinguish a verified calculation from a validated service
Passing these fixtures verifies the stated calculations and acceptance rule. It does not establish that the evaluation represents tomorrow’s pumps, that inspections actually prevent failures, or that a human can use the interface without confusion.
Validation needs evidence from intended use. A limited trial can reveal whether warnings are understandable and timely, whether the review route is overloaded, and which conditions the dataset missed. Define the trial’s limits and observation plan before using it to make broader claims.
A successful unit test, a representative model evaluation, and an operational trial answer different questions. Record which claim each one supports.
7. Test the ways the design could fail
Change one part deliberately: miss another fault, add a burst, remove service capacity, or make a sensor record stale. The relevant check should detect the change. If everything still passes, inspect whether the test is observing the right output.
Also test valid boundaries and recovery. A service that rejects malformed records but cannot resume when valid data returns is still incomplete. Keep failures understandable so Botie can point to the component that needs attention.
The workshop fixtures include a quality failure and an overload failure. The Python tests also use new values so a memorised answer cannot satisfy the review.
8. Leave a record someone else can question
Record the chosen design, assumptions, alternatives, and evidence behind the decision. Preserve model and data versions, and identify the conditions that would trigger another review. A new camera or changed workload can invalidate an old estimate without changing the model code.
End with unresolved questions where they remain. If the model only wins under an uncertain miss-cost estimate, state that dependence and the measurement needed next. A useful design review makes those uncertainties easier to investigate.
Botie’s workshop combines the operations you have already built. The challenge is to connect them to the correct evidence and explain what a passing result does and does not mean.
Check yourself
Questions on Parts 1 to 8
Question 1 of 3
Which conclusion is supported?
Use the information below.
A candidate passes both numerical fixtures. No maintenance team has used it and no representative field trial has run.Try it with Botie
Build with Botie
Write and run Python