Skip to content

Requirements

This page as Markdown/docs/schema/requirements.mdView .md

requirements is where the design says what it is for. It is the direct output of the authoring pack’s interview and the direct input to the validator, and it is what makes “why did you do it that way?” answerable months later.

requirements:
knock_down: true
max_part_length: 2100
max_assembled_load: 300
deflection_limit: span/360
tools: [table_saw, drill, router, circular_saw]
finish: oil
budget_hint: mid
must_satisfy:
- standards.bed.slat_gap_max
- standards.bed.centre_rail_required
notes:
- The rails must come off without disturbing the headboard panel.

Every key is optional. Each one that is present is something the report can check and, when it fails, name.

Key
knock_down boolean The piece must come apart without breaking a glue joint.
max_part_length mm The longest part that can be carried in.
max_assembled_load kg Distributed load the piece must carry.
deflection_limit span/360 style, or an absolute mm figure.
max_envelope { length, width, height } the finished piece must fit inside.
tools list What the builder actually has.
finish Free text — oil, lacquer, none.
budget_hint low, mid or high.
must_satisfy list Catalogue standard ids this design promises to meet.
notes list Prose constraints, for the humans.
knock_down: true

Checked against the joints: every joint on the disassembly path has to be removable: true, with hardware that can be undone. A glued dowel joint in a piece that claims to be knock-down is a finding, not an oversight to be noticed later.

This is normally the constraint that picks the hardware. A bed that has to come apart wants bed bolts and threaded inserts; one that does not can be glued and will be stiffer for it.

max_part_length: 2100

“Has to get up my stairs.” Compared against every part’s blank length — the size the timber yard cuts, not the finished dimension — because that is the board that has to come through the door.

It is worth stating even when you think nothing is close to it. A 2032 mm queen rail and a 2100 mm stairwell is a fact you want checked, not remembered.

max_assembled_load: 300 # kg, distributed
deflection_limit: span/360 # or an absolute mm figure

These drive the deflection checks. The span divisor is the convention: span/360 is structural practice and stricter than furniture needs; span/200 is where sag becomes visible and is the usual figure for a shelf.

The check reads the resolved material’s modulus of elasticity, so a pine shelf and a maple one of the same size get different answers, and the finding carries a computed suggestion — a thickness, or a span, that would pass.

max_envelope:
length: 2200
width: 1700
height: 1000

The box the finished piece must fit inside. Different from max_part_length, which is about getting the parts in; this is about the room it ends up in.

tools: [table_saw, drill, router, circular_saw]

What the builder has. A design that needs a mortiser when the list says otherwise is worth saying out loud, and it changes which joinery is a reasonable suggestion in a repair.

Common values: table_saw, circular_saw, mitre_saw, bandsaw, router, drill, drill_press, planer, jointer, domino, pocket_hole_jig, chisel, hand_tools.

must_satisfy:
- standards.bed.slat_gap_max
- standards.bed.centre_rail_required

Catalogue standard ids the design promises to meet. Listing one turns its check from advisory into a requirement of this design, and the finding cites the source — who says so, not just that something is wrong:

DOM-002 A 1636 mm bed needs a centre support rail with at least one leg to the
floor. Mattress warranty conditions for queen and larger sizes require
one above 1370 mm width.

Every standard carries a citation, because an uncited number is an opinion and the value of this validator is that it is not giving you opinions. The full list is in Standards.

notes:
- The rails must come off without disturbing the headboard panel.
- Matching the existing bedside tables — walnut, oiled.

Prose, for the people. Nothing checks these, and they are still worth writing: they are the constraints that explain the design to whoever reads it next, including the model asked to change it.

Requirements are what a repair reads. When the validator raises a finding and you paste the report back, the model fixing it can see that the piece has to come apart, that nothing may exceed 2100 mm, and that the slat gap is a promise rather than a preference. Without that, a plausible fix — glue the cleat, lengthen the rail, spread the slats — can satisfy the finding and break the design.