The pieces

What each thing in a workspace holds, and the rules it follows. The figure on the first page shows how they connect. Status explains the statuses.

Requirement lists

A list is a named set of requirements, such as everything about the hardware. It has:

Code
A short id, such as HW, that starts every requirement's cite in the list. See Ids and names for the rules.
Title
A display name, such as Hardware.
Description
Optional. What the list covers and what it leaves out. On the list's page it shows on one line under the header; hover over it to read the rest. It can be formatted, except that cites in it stay as text.

Requirements

A requirement belongs to one list and stays in it. It has:

Cite
The list's code and a number: HW-18. Numbers count up from 1 in the order requirements are created. They say nothing about where a requirement sits in the tree: HW-40 can sit above HW-5.
Title
A short label, such as 3V3 rail tolerance, for where there is room for only a few words. Required.
Statement
The requirement itself: The 3V3 rail shall stay within 3% of nominal from 0 to 2 A. It may be empty, which suits a requirement whose children carry the detail.
Body
Optional. The detail the statement depends on: a table of limits, a register layout, sub-clauses. The body is part of the requirement and binds as the statement does: a pass covers both. Up to 16 KiB.

A requirement has one status however much its body holds. When the rows of a table are checked by different tests, or some pass and some fail, give each its own child requirement, so the tree shows which.

Each saved change to the title, statement or body is kept, however small, and can be read under History in the requirement pane, along with the runs that recorded a result against each version. Moving a requirement in the tree is not a change to it.

The tree

The requirements in a list form a tree. Any requirement can have children that break it down; there is no separate heading type.

  • HW-1Power supply no statement; its children carry it
    • HW-23V3 rail tolerance
    • HW-33V3 ripple
      • HW-5Ripple at full load
    • HW-4Inrush current

Verifications

A verification is a procedure that checks requirements: a bench test, an analysis, an inspection. BreezeBlock does not record which kind. It has:

Short id
An id you choose, such as VERIF-PWR. VERIF- is only a convention, and VERIF-HW is not tied to the list HW in any way.
Name
A display name, such as Power rail test. Changing it does not make a new version.
Description
The procedure: what to set up, what to measure, what counts as a pass. It is kept in versions.

Verifications appear in the sidebar below the lists, in their own order, which you set by dragging.

Versions

A verification's description is never edited in place. Each change is committed as a new version, numbered 1, 2, 3 and so on, and each run records the version it used.

  1. Version 1

    Committed. RUN-1 to RUN-4 used it, and RUN-4 still sets the statuses.

  2. Version 2

    Committed, the latest. Not yet run; the next run will use it.

  3. Draft

    Saved but not committed. No run can use it.

On the edit pageDoes
Save (as new version)Commits the description as the next version. Refused if it is empty, or the same as the version before (ignoring spaces and blank lines at either end).
Save draftKeeps your changes without committing them. There is at most one draft; saving again replaces it.
Discard draftThrows the draft away and keeps the last committed version. Not offered before the first commit; delete the verification instead.

Mappings

A mapping says that a verification covers a requirement. A requirement can be mapped to any number of verifications, and a verification to any number of requirements, in any lists.

Runs

A run is one occasion on which a verification was carried out, cited as VERIF-PWR:RUN-3, or RUN-3 on the verification's own page. Runs are numbered in each verification.

  1. In progress

    RUN-3

    Set each row, edit the details. Red as soon as a row fails.

  2. Completed

    RUN-3

    Frozen except for run notes. Its rows now count towards statuses.

  3. Replaced

    RUN-3

    A later run completed. Kept, faded, and no longer counted.

Opening a run

The button on a verification's page that starts one is named for the run it makes, such as Start RUN-4. It needs a committed version and at least one mapping, and only one run per verification can be in progress.

The run takes the latest committed version and one row for each requirement mapped at that moment. That is fixed for the life of the run: later mappings, closed mappings and new versions do not change it. A requirement deleted during the run keeps its row, marked deleted, and still counts towards the result.

Recording results

Each row starts unset. While the run is in progress, choose one of three; the choice is saved at once. It can be changed, but not cleared.

ChoiceMeans
PassedChecked and met
Didn't coverNot checked this run, perhaps because its fixture was not ready. The requirement counts it as untested.
FailedChecked and not met
not setNothing chosen yet

Each row can also have notes: Ripple 41 mV at 2 A, limit 30 mV. The run itself has three more fields, saved together with Save details:

FieldHoldsAfter completing
Carried out atWhen the test was done. Starts as the time the run was opened; cannot be in the future.Frozen
ContentThe steps carried out, or a link to the document that has themFrozen
Run notesComments on the run as a whole. Shown only in their edit box, so never formatted.Still editable

Completing a run

Later runs

Each completed run replaces the one before it: a requirement's status uses only the latest completed run of each verification. The older run stays, faded, and its page says A later completed run replaces this one.

A run can be deleted. It no longer counts, and the latest completed run before it counts again. Reviews of the deleted run stop counting too; the confirmation says, for each requirement whose result changes, what it will show instead.

Ids and names

ExampleCan be changedUnique among
List codeHWNoList codes and verification ids, for ever
Verification idVERIF-PWRNoList codes and verification ids, for ever
Requirement citeHW-18NoIts list, for ever
Run numberRUN-3NoIts verification, for ever
List title, verification nameHardwareYesList titles and verification names in use
Requirement title3V3 rippleYesTitles in use in its list

How long a field can be

Anything longer than its limit is refused. Notes on a mapping or a run row say how many bytes are left once you are close, and a requirement's body shows its size from 12 KiB.

FieldLimit
List code, verification id32 characters
Titles and names256 characters
List description2,048 bytes
Requirement statement; notes on a mapping, a run or a run row1,024 bytes
Requirement body, verification description, run content16,384 bytes