sample_spec.txt · Oct 22 2026 12:01 · gemma4 · 199s (review 199s), all local
20requirements found
18flagged
8with a high-severity hit
2look clean
Most common problems
vague term5
non-binding verb2
escape clause2
open-ended list2
passive voice2
open item1
compound requirement1
unclear subject1
Verification methods (model)
Test14
Inspection4
Analysis1
Demonstration1
SPF-003score 6
The SPF shall dispense food quickly and quietly.
vague term Subjective word with no measurable threshold. Two testers would grade it differently.
vague term Subjective word with no measurable threshold. Two testers would grade it differently.
rewriteTest
The requirement lacks measurable criteria for 'quickly' and 'quietly'.
Verify by: Measure the time taken for a full dispense cycle and measure the noise level during operation.
Suggested rewrite
The SPF shall dispense food within <<max dispense time>>. The SPF shall operate with a noise level not exceeding <<max noise level>> dB.
SPF-008score 5
It shall support multiple pets as appropriate.
escape clause Gives the developer an out. Whoever decides 'possible' decides whether it's met.
unclear subject Starts with a pronoun. Out of context, nobody knows what 'it' is.
rewriteTest
The subject 'It' is unclear; specify the system component that shall support pets.
The qualifier 'as appropriate' is subjective and non-verifiable.
Verify by: Configure the system to handle <<N>> pets and verify successful operation.
Suggested rewrite
The <<System Component>> shall support a minimum of <<N>> pets.
SPF-022score 5
The SPF shall be robust to tampering by pets, including but not limited to pawing, tipping, and chewing.
vague term Subjective word with no measurable threshold. Two testers would grade it differently.
open-ended list Unbounded scope. Enumerate the full set or reference a table.
rewriteTest
The term 'robust' is not measurable.
The scope of tampering is too broad and not quantifiable.
Verify by: Subject the SPF to specified physical stresses (pawing, tipping, chewing) and verify that its functionality remains within specified operational limits.
Suggested rewrite
The SPF shall withstand pawing forces up to <<max force, N>> without functional degradation. The SPF shall withstand tipping forces up to <<max force, N>> without functional degradation. The SPF shall withstand chewing forces from <<pet type>> without functional degradation.
SPF-011score 4
The mobile app will display feeding history, hopper level, device status, etc.
non-binding verb No 'shall'. 'Will' reads as a statement of fact and 'should' as a goal, so nobody is on the hook to verify it.
open-ended list Unbounded scope. Enumerate the full set or reference a table.
rewriteInspection
The requirement lists multiple distinct functions without specifying the required behavior for each.
Verify by: Inspect the mobile application interface to confirm the presence and display of the specified data points.
Suggested rewrite
The mobile app shall display feeding history. The mobile app shall display hopper level. The mobile app shall display device status.
SPF-024score 4
All exterior surfaces in contact with food shall be made of food-safe materials and/or BPA-free plastic.
and/or Ambiguous: is one enough, or are both required?
absolute Absolutes are hard to verify. Confirm it's really meant to be unbounded.
passive voice Passive with no actor. Say which system/element does it.
needs workInspection
The requirement bundles two distinct material requirements (food-safe AND BPA-free) using 'and/or', which needs clarification on the required state.
Verify by: Inspect the material composition of all exterior surfaces in contact with food to confirm compliance with material specifications.
Suggested rewrite
Exterior surfaces in contact with food shall be made of food-safe materials. Exterior surfaces in contact with food shall be made of BPA-free plastic.
SPF-005score 3
The SPF shall store TBD days of food.
open item Placeholder value. Can't be verified until it's closed out.
needs workAnalysis
TBD days must be replaced with a specific numerical value.
Verify by: Review the system design documentation to confirm the specified storage duration.
Suggested rewrite
The SPF shall store <<number>> days of food.
SPF-006score 3
The SPF shall detect jams and shall attempt to clear them and shall notify the owner if the jam persists.
compound requirement More than one thing being required. Split it so each piece can pass or fail on its own.
needs workTest
The requirement bundles three distinct actions (detect, attempt to clear, notify) and lacks measurable criteria for 'detect,' 'attempt to clear,' and 'persists'.
Verify by: Induce a jam condition and verify the SPF detects it, attempts clearance, and notifies the owner if the jam remains.
Suggested rewrite
The SPF shall detect a jam within <<time>>, and shall attempt to clear the jam using <<method>>; if the jam persists after <<attempts>>, the SPF shall notify the owner.
SPF-007score 3
The hopper shall be easy to clean.
vague term Subjective word with no measurable threshold. Two testers would grade it differently.
rewriteDemonstration
The term 'easy to clean' is not measurable.
Verify by: A tester shall clean the hopper using the specified method and measure the time taken against the defined limit.
Suggested rewrite
The hopper shall allow cleaning using a <<cleaning method>> within <<time limit>>.
SPF-012score 3
The SPF shall send notifications in near real-time.
vague term Subjective word with no measurable threshold. Two testers would grade it differently.
rewriteTest
The term 'near real-time' is not measurable.
Verify by: Measure the time elapsed between an event occurring and the corresponding notification being received by the recipient.
Suggested rewrite
The SPF shall send notifications within <<max latency, ms>> of the event occurrence.
SPF-023score 3
The SPF shall operate on battery backup for 48 hours if possible.
escape clause Gives the developer an out. Whoever decides 'possible' decides whether it's met.
needs workTest
The phrase 'if possible' makes the requirement non-verifiable.
Verify by: Connect the SPF to battery power and monitor operation for 48 hours.
Suggested rewrite
The SPF shall operate on battery backup for 48 hours.
SPF-004score 2
The SPF should notify the owner when the hopper is low.
non-binding verb No 'shall'. 'Will' reads as a statement of fact and 'should' as a goal, so nobody is on the hook to verify it.
needs workTest
Replace 'should' with a mandatory verb like 'shall'.
Verify by: Simulate the hopper level dropping below the specified threshold and verify the owner notification is generated.
Suggested rewrite
The SPF shall notify the owner when the hopper level is below <<low threshold>>.
SPF-015score 2
The SPF shall minimize power consumption.
optimization goal Minimize/maximize has no pass line. Give a threshold value.
rewriteTest
The term 'minimize' is not measurable.
Verify by: Measure the power consumption of the SPF while operating under the specified conditions and confirm it does not exceed the defined limit.
Suggested rewrite
The SPF shall maintain power consumption at or below <<max power consumption, W>> under <<operating condition>>.
SPF-025score 2
The SPF shall withstand a drop of 1 onto a hard floor.
number without unit Value with no unit or tolerance.
needs workTest
The drop height is missing a unit.
Verify by: Drop the SPF from the specified height onto a hard floor and inspect for damage.
Suggested rewrite
The SPF shall withstand a drop of <<drop height, unit>> onto a hard floor.
SPF-014score 1
Firmware updates shall be applied.
passive voice Passive with no actor. Say which system/element does it.
rewriteInspection
The requirement lacks specificity regarding the update mechanism, success criteria, or scope.
Verify by: Inspect the system documentation to confirm the supported update mechanism.
Suggested rewrite
The system shall support firmware updates via <<update mechanism>>.
SPF-020score 1
The SPF shall not dispense more than 3 portions within any 60 minute period.
negative requirement Proving something never happens is hard. Bound it (conditions, duration, probability).
goodTest
Verify by: Operate the SPF for 60 minutes and count the total number of portions dispensed.
Suggested rewrite
The SPF shall not dispense more than 3 portions within any 60 minute period.
SPF-001score 0
The SPF shall dispense food at scheduled times.
No pattern hits.
needs workInspection
The term 'scheduled times' is too vague; a specific time or schedule must be defined.
Verify by: Inspect the system logs or configuration to confirm dispensing occurred at the specified time.
Suggested rewrite
The SPF shall dispense food at <<specific time/schedule>>.
SPF-002score 0
The SPF shall dispense a portion of 20 to 200 grams, adjustable in 5 gram increments.
No pattern hits.
goodTest
Verify by: Set the SPF to various target weights within the range and verify the dispensed mass using a calibrated scale.
Suggested rewrite
The SPF shall dispense a portion of 20 to 200 grams, adjustable in 5 gram increments.
SPF-010score 0
The SPF shall connect to the owner's home Wi-Fi network using WPA2 or WPA3.
No pattern hits.
needs workTest
The requirement lacks specification on the connection success criteria (e.g., connection time, required signal strength).
Verify by: Attempt to connect the SPF to the specified Wi-Fi network and measure the time until a successful connection is established.
Suggested rewrite
The SPF shall connect to the owner's home Wi-Fi network using WPA2 or WPA3 within <<max connection time>>.
SPF-013score 0
The SPF shall continue dispensing on schedule during a loss of network connectivity of up to 72 hours.
No pattern hits.
needs workTest
The term 'on schedule' is not defined; it needs a measurable criterion for dispensing rate or timing.
Verify by: Simulate a network loss for 72 hours and measure the dispensed volume against the expected rate.
Suggested rewrite
The SPF shall continue dispensing at a rate of <<dispensing rate>> during a loss of network connectivity of up to 72 hours.
SPF-021score 0
The SPF shall operate in ambient temperatures from 0 °C to 40 °C.
No pattern hits.
goodTest
Verify by: Place the SPF in an environmental chamber set to 0 °C and 40 °C and verify normal operation.
Suggested rewrite
The SPF shall operate in ambient temperatures from 0 °C to 40 °C.