Saved filter file
A named filter saved as YAML in the repository (D-056, SR-070): a *.yaml file directly in the filters folder of the workspace file. The same condition language is the where of every command that takes a selection, so a saved filter gives the same elements in app, CLI, API and MCP (SR-070 AK3). Element references may take any form (resolveRef); filter.save writes UUIDs.
Fields
Section titled “Fields”| Field | Type | Required | Description |
|---|---|---|---|
reqseq-filter |
1 |
yes | |
name |
name |
yes | Name of a saved filter, unique in the workspace ignoring case (spec-frage #363); used to call it (selection.filter). Saving under an existing name replaces that filter. |
description |
string |
no | |
view |
view |
no | Elements that apply in this view; also the view of its verification conditions without variant. |
where |
condition |
yes | Combinable condition (SR-069). Exactly one operator per object. all: every condition holds ([] holds), any: some holds ([] does not), not: it does not hold. |
sort |
array of sortKey |
no | Order of element.list when its input gives no sort. |
Definitions
Section titled “Definitions”Name of a saved filter, unique in the workspace ignoring case (spec-frage #363); used to call it (selection.filter). Saving under an existing name replaces that filter.
Type: string.
condition
Section titled “condition”Combinable condition (SR-069). Exactly one operator per object. all: every condition holds ([] holds), any: some holds ([] does not), not: it does not hold.
Type: object or object or object or object or object or object or object or object or object or object or object or object or object or propertyCondition or relationCondition.
Type: array of key.
propertyCondition
Section titled “propertyCondition”Condition on the values of any property: none when it is absent, null or [], else the items of a list or the one value. exists: some value, missing: none (both without value). eq: some value equals value (1 is not “1”), ne: not eq, in: some value equals an item of the list value. contains: some text contains value, ignoring case. lt, le, gt, ge: numbers with numbers, texts with texts by code units (ISO dates compare as dates). matches: some text matches the JavaScript regular expression value (flag u). A choice may be given by its display name. A key that holds relations takes element references, with eq, ne, in, exists and missing only.
Type: object.
| Field | Type | Required | Description |
|---|---|---|---|
property |
key |
yes | Fixed metamodel key of a type, property, relation kind or status value. Readable English, lower case, dashes (D-043, SR-010 AK2). |
op |
one of "eq", "ne", "in", "contains", "lt", "le", "gt", "ge", "exists", "missing", "matches" |
yes | |
value |
any |
no |
relationCondition
Section titled “relationCondition”Condition on relations, e.g. without child: {relation: {meaning: derivation, direction: down}, exists: false} (SR-069 AK3). Evidence is a relation direction too. exists: true without to counts a relation also when its target is not available; with to, only an available other end that meets it.
Type: object.
| Field | Type | Required | Description |
|---|---|---|---|
relation |
object |
yes | |
relation.kind |
key |
no | A relation kind or a property of kind relation (validity, packages); with meaning, the kind must have it. |
relation.meaning |
one of "derivation", "replacement", "succession", "exclusion" |
no | Every relation kind with this meaning. Neither kind nor meaning: every relation kind. |
relation.direction |
one of "up", "down", "evidence" |
no | up = outgoing (to parents), down = incoming (from children), evidence = verification records pointing at the element in the view of the selection, else in the core (a record without variant holds for the core, one with a variant for that variant), of any version and result; validation records do not count (D-007); no kind, meaning or to. Absent: up or down. |
relation.to |
condition |
no | Condition the other end must meet. |
exists |
boolean |
yes |
sortKey
Section titled “sortKey”Sort by a property, the short ID, or the derivation hierarchy (SR-075). Nothing about order is ever stored in element files.
Type: object.
| Field | Type | Required | Description |
|---|---|---|---|
by |
one of "id", "identifier", "hierarchy", "type", "status", "title" or key |
yes | id: short ID. identifier: the identifier property (meaning identifier, e.g. SR-36), digit runs by number (SR-9 before SR-10; ascending: elements without one follow by short ID; desc reverses; shadows a property named identifier). type, status: metamodel order. title: the title property. hierarchy: the derivation tree, ascending only. Else a property key (not one that holds relations), by its first value: choices in metamodel order, then numbers, texts (ignoring case), booleans; no value last in both orders. |
order |
one of "asc", "desc" |
no | Default: "asc". |
Examples
Section titled “Examples”unverified-pro.yaml
Section titled “unverified-pro.yaml”reqseq-filter: 1name: Unverified requirements of Prodescription: Valid requirements of the Pro variant without passed evidence.view: ca0dd4a9-1365-45ce-8110-d62071160b58where: all: - type: [system-requirement] - invalid: false - not: { verification: [verified, indirect], variant: ca0dd4a9-1365-45ce-8110-d62071160b58 } - any: - { relation: { meaning: derivation, direction: down }, exists: false } - { property: emergent, op: eq, value: "yes" }sort: - { by: hierarchy }