← All showcases
full attribute grammarHardware / manufacturing
attributesextensibility

Attributes as a domain dialect

Flags, negated flags, block values, nested lists — arbitrary @keys without changing the grammar.

The language stays small. Your domain vocabulary rides on @attributes.

hardware/valve.rq

valve_control {
    fail-closed on loss of air
    @owner process-team
    @priority P1
    @sil 2
    @required
    @dfm!
    @plan {
        steps (
            - lockout tagout procedure signed
            - stroke test recorded
        )
    }
    @tags (
        safety
        plc
        pneumatic
    )
    @bom (
        actuator {
            part AV-440
        }
        solenoid {
            part SV-12 24V
        }
    )
    @status verified
}

forms in play

  • @required — bare flag
  • @dfm! — negated flag (design-for-manufacture waived)
  • @plan { ... } — block value
  • @bom ( name { ... } ) — named nested lists
  • @sil 2 — scalar domain metadata