Requirements
An entity with every kind of declaration
RequirementThe system shall boot within two secondsREQ_001
The unnamed leading prose is the content section. It is ordinary RST, so it may hold anything a document may hold.
Details
| Status | in_progress |
|---|---|
| Tags | boot, safety-critical |
| Owner | platform |
Verification criteria
Measured with the boot harness on the reference board. A section's body is fully parsed, which is what lets it carry a nested directive:
Note
The two-second budget excludes firmware hand-off.
Safety comment
Declared multiple, so it may appear more than once.
Attribute defaults and a generated id
RequirementShut down cleanly on power lossREQ_req-4444f5cf
No :id: was written, so one is generated — deterministically, from the
document, the type and the source line. No :status: was written either,
so it takes the schema's declared default.
Details
| Status | open |
|---|---|
| Owner | platform |
Verification criteria
Power is cut mid-write; the filesystem must mount cleanly afterwards.
Specifications and implementations
SpecificationBoot sequenceSPEC_001
An implementation's id and :module: follow the naming conventions its
type declares as patterns — IMPL_ and three digits, and a dotted module
path. An :id: IMPL_1 would be reported, and a :module: Boot/Loader
refused.
A one-directional relation and a required one
Test caseBoot timing regression testTEST_001
Referring to entities from prose
A declared role carries a type check: The system shall boot within two seconds links to the requirement and shows its title. An explicit title overrides that, as in the boot budget.
The sphinx-needs spelling Boot sequence accepts any of the four types, and the built-in Boot timing regression test role accepts every type without being declared at all. Because every entity also registers an ordinary target, plain REQ_001 reaches one too.
Safety comment
A boot timeout is treated as a hazard.