Common types
Building blocks used by all ReqSeq file formats and commands. See docs/adr/0004 and 0005.
Element ID: random UUID version 4, lower case, never changes (D-017, SR-002).
Type: string.
shortId
Section titled “shortId”Display ID: type prefix, dash, the trailing hex characters of the UUID with dashes removed, at least 6, more until unique in the workspace (D-017, SR-002 AK3). The file name uses 12 (D-056).
Type: string.
elementRef
Section titled “elementRef”UUID, short ID or identifier (e.g. SR-036), any case; several matches give ref.ambiguous.
Type: string.
uuidRef
Section titled “uuidRef”A UUID version 4 as a caller gives it, in any case; the tool stores it in lower case (spec question #316).
Type: string.
elementId
Section titled “elementId”A reference to an element as the tool writes it in outputs: UUID or short ID in their canonical form.
elementName
Section titled “elementName”How an output names an element it gives elsewhere by UUID only (#588), for people: its short ID, its identifier when it has one (#305) and its title, as element.list gives them.
Type: object.
| Field | Type | Required | Description |
|---|---|---|---|
id |
uuid |
yes | Element ID: random UUID version 4, lower case, never changes (D-017, SR-002). |
repository |
string |
yes | Workspace name of the repository of its file. |
shortId |
shortId |
yes | Display ID: type prefix, dash, the trailing hex characters of the UUID with dashes removed, at least 6, more until unique in the workspace (D-017, SR-002 AK3). The file name uses 12 (D-056). |
identifier |
string |
no | |
title |
string |
yes |
version
Section titled “version”Fassung: normal-form version, colon, first 16 hex characters of the SHA-256 over the canonical content (D-013, D-027, ADR-0005). Example: n1:9f86d081884c7d65.
Type: string.
fileSha256
Section titled “fileSha256”SHA-256 of the bytes of an element file, lower-case hex: a write precondition, never stored and not a version (ADR-0005).
Type: string.
Fixed metamodel key of a type, property, relation kind or status value. Readable English, lower case, dashes (D-043, SR-010 AK2).
Type: string.
keyOrName
Section titled “keyOrName”A metamodel value as a person gives it: its key or its display name, in any case (Obsolete names the status obsolete). The tool stores the key (SR-012 AK3).
Type: string.
relationTarget
Section titled “relationTarget”Target of a relation as stored in the source file (D-013, D-058, SR-005, SR-021). Within the same repository: id, version, title. Across repositories: id, version, repository (workspace name of the target’s repository), never title or text (D-058). Written as one flow mapping per line (SR-102, ADR-0004).
Type: object.
| Field | Type | Required | Description |
|---|---|---|---|
id |
uuid |
yes | Element ID: random UUID version 4, lower case, never changes (D-017, SR-002). |
version |
version |
yes | Fassung: normal-form version, colon, first 16 hex characters of the SHA-256 over the canonical content (D-013, D-027, ADR-0005). Example: n1:9f86d081884c7d65. |
title |
string |
no | |
repository |
string |
no | Workspace name of the target’s repository; required across repositories (D-058), absent within one. |
relationRefs
Section titled “relationRefs”Relations a caller gives to element.create or element.update by relation kind key, each with the element reference of its target or a list of them (UUID, short ID or identifier, as relation.add takes them). The tool checks them as relation.add does and stores each target with its current version (#175).
Type: object.
relationTargetInput
Section titled “relationTargetInput”Target of a relation as a caller gives it to element.create, element.update or element.bulkUpdate (SR-021). Only id and, across repositories, repository name the target; id is an element reference like the one relation.add takes (UUID, short ID or identifier), and the tool writes the target’s UUID (#169). A plain string item is the same as { id } with it (#196). A target the property already stores keeps its stored version and form; for every other target the tool writes its current version and the title (same repository) or repository (across repositories) itself. A given version or title is ignored (spec question #177).
Type: object.
| Field | Type | Required | Description |
|---|---|---|---|
id |
elementRef |
yes | UUID, short ID or identifier (e.g. SR-036), any case; several matches give ref.ambiguous. |
version |
version |
no | Fassung: normal-form version, colon, first 16 hex characters of the SHA-256 over the canonical content (D-013, D-027, ADR-0005). Example: n1:9f86d081884c7d65. |
title |
string |
no | |
repository |
string |
no | Workspace name of the target’s repository; absent for the source’s own repository. A short ID or identifier is resolved in it. |
A calendar date YYYY-MM-DD (RFC 3339 full-date).
Type: string.
The item under test (Prüfling): the concrete build or sample that was checked. No white space at either end and no control characters other than tab, line feed and carriage return.
Type: string.
dateTime
Section titled “dateTime”A date and time with time zone (RFC 3339 date-time), for example 2026-10-26T09:30:00Z.
Type: string.
commit
Section titled “commit”Full Git object ID (SHA-1 or SHA-256).
Type: string.
relativePath
Section titled “relativePath”Path relative to the repository or file it appears in, forward slashes, no .. segments.
Type: string.
localPath
Section titled “localPath”A file or folder on the local machine, relative or absolute. CLI: relative to the current folder (the CLI makes it absolute before the call); API and MCP: relative to the workspace root, and only inside the repositories of the workspace, also after links are followed; ~ is not expanded (SR-142, ADR-0009).
Type: string.
problem
Section titled “problem”A finding or hint. Commands return problems as data so every access shows the same result (SR-080).
Type: object.
| Field | Type | Required | Description |
|---|---|---|---|
code |
problemCode |
yes | Stable codes. New codes are added here first, in the PR that needs them. |
severity |
one of "error", "warning", "info" |
yes | |
message |
string |
yes | |
file |
string |
no | |
repository |
string |
no | Workspace name of the repository the problem is about (element files of several repositories, the metamodel repository, a repository Git cannot read); file, when given, is relative to that repository. |
line |
integer |
no | |
elementId |
uuid |
no | Element ID: random UUID version 4, lower case, never changes (D-017, SR-002). |
elementRepository |
string |
no | Workspace name of the repository of the element the problem is about, when repository and file name another file (the evidence record of evidence.outdated, SR-025 AK4). With elementFile it names one copy of a UUID several files share (SR-088). |
elementFile |
string |
no | The file of the element the problem is about, relative to elementRepository; given with it. |
elementShortId |
shortId |
no | Short ID of the element elementId names, for display (SR-002 AK3); given on every problem that names an element of the workspace, by every command that has read the elements. |
elementIdentifier |
string |
no | Identifier of the element elementId names (the value of its property with the meaning identifier, #305), for display next to elementShortId; given with it when the element has one. |
targetId |
uuid |
no | Element ID: random UUID version 4, lower case, never changes (D-017, SR-002). |
storedVersion |
version |
no | Fassung: normal-form version, colon, first 16 hex characters of the SHA-256 over the canonical content (D-013, D-027, ADR-0005). Example: n1:9f86d081884c7d65. |
currentVersion |
version |
no | Fassung: normal-form version, colon, first 16 hex characters of the SHA-256 over the canonical content (D-013, D-027, ADR-0005). Example: n1:9f86d081884c7d65. |
storedDate |
string or null |
no | |
currentDate |
string or null |
no | |
hintId |
string |
no | Stable ID of a confirmable hint (D-042); on the hint.* problems of hint.confirm, the ID as given. |
problemCode
Section titled “problemCode”Stable codes. New codes are added here first, in the PR that needs them.
Type: one of "file.invalid-yaml", "file.conflict-markers", "file.unreadable", "file.faulty", "file.yaml-warning", "file.skipped", "element.invalid", "element.duplicate-id", "element.duplicate-identifier", "element.file-name-clash", "element.unknown-type", "element.unknown-property", "element.missing-required", "element.wrong-value-kind", "element.status-not-allowed", "element.missing-status", "element.statement-without-text", "relation.missing-target", "relation.unresolved-link", "relation.not-a-link", "relation.inaccessible-target", "relation.not-allowed", "relation.outdated", "relation.target-superseded", "relation.not-found", "relation.version-added", "hint.not-confirmable", "hint.not-found", "trace.cycle", "trace.no-parent", "variant.core-changed", "variant.superseded-in-validity", "variant.nested", "variant.target-not-core", "variant.core-changed-since-baseline", "variant.core-new-since-baseline", "evidence.unknown-element", "evidence.invalid-record", "evidence.outdated", "evidence.not-enriched", "evidence.folder-missing", "evidence.ambiguous-element", "baseline.invalid", "baseline.repository-commit-differs", "filter.invalid", "filter.duplicate-name", "metamodel.invalid", "metamodel.meaning-unassigned", "workspace.repository-missing", "workspace.metamodel-mismatch", "workspace.invalid", "workspace.not-watched", "git.unavailable", "git.revision-missing", "reqif.replaces-local", "reqif.choice-unused", "reqif.edited-elsewhere", "reqif.mapping-differs".
Error of a command call. Same codes over CLI (stderr, exit code), API (HTTP body) and MCP (tool error). command.not-implemented: the command is in the catalog, but this version does not implement it yet (a later stage).
Type: object.
| Field | Type | Required | Description |
|---|---|---|---|
code |
one of "input.invalid", "ref.unknown", "ref.ambiguous", "workspace.not-found", "workspace.read-only", "element.read-only", "element.not-found", "metamodel.meaning-unassigned", "relation.not-allowed", "variant.nested", "baseline.uncommitted-changes", "baseline.exists", "reqif.invalid", "reqif.unmapped", "reqif.conflict", "git.unavailable", "git.commit-not-found", "file.changed-on-disk", "file.faulty", "file.read-only", "file.not-regular", "file.folder-missing", "command.not-implemented", "internal" |
yes | |
message |
string |
yes | |
details |
object |
no |
incomplete
Section titled “incomplete”True when a result is incomplete because targets are in repositories that are not available locally (SR-006 AK2, SR-036 AK3).
Type: boolean.
selection
Section titled “selection”Which elements a command works on: a saved filter, an inline filter, a package, a baseline or explicit IDs, optionally seen through a variant view.
Type: object.
| Field | Type | Required | Description |
|---|---|---|---|
ids |
array of elementRef |
no | |
filter |
string |
no | Name of a saved filter (SR-070). |
where |
condition |
no | Combinable condition (SR-069). Exactly one operator per object. all: every condition holds ([] holds), any: some holds ([] does not), not: it does not hold. |
package |
elementRef |
no | UUID, short ID or identifier (e.g. SR-036), any case; several matches give ref.ambiguous. |
baseline |
string |
no | Name of a baseline, or its file name in the baselines folder (with or without .yaml). Not every command takes it yet. |
view |
view |
no | core, a variant ID, or absent for all. A variant’s view: the core requirements it neither excludes nor replaces, plus those valid for it; elements without validity property are in every view (SR-043). |
viewId
Section titled “viewId”A view as the tool writes it in outputs: core or the canonical UUID or short ID of a variant (SR-043).
Type: "core" or elementId.
core, a variant ID, or absent for all. A variant’s view: the core requirements it neither excludes nor replaces, plus those valid for it; elements without validity property are in every view (SR-043).
Type: "core" or elementRef.
verificationStatus
Section titled “verificationStatus”SR-031, SR-034. indirect = indirectly verified via children.
Type: one of "open", "verified", "indirect", "failed", "outdated".
validationStatus
Section titled “validationStatus”offen, erfolgreich, nicht erfolgreich, veraltet.
Type: one of "open", "validated", "failed", "outdated".
reqifObject
Section titled “reqifObject”An object of a ReqIF file by its IDENTIFIER in the source, with the UUID of its element when there is one (ADR-0013).
Type: object.
| Field | Type | Required | Description |
|---|---|---|---|
identifier |
string |
yes | |
id |
uuid |
no | Element ID: random UUID version 4, lower case, never changes (D-017, SR-002). |
reqifLoss
Section titled “reqifLoss”Content of a ReqIF file that is not taken over without loss (SR-053 AK2, SR-095 AK3): the object, its element when there is one, a stable code and the reason (ADR-0013).
Type: object.
| Field | Type | Required | Description |
|---|---|---|---|
identifier |
string |
yes | IDENTIFIER of the SPEC-OBJECT, SPEC-RELATION or SPECIFICATION. |
kind |
one of "spec-object", "spec-relation", "specification" |
yes | |
id |
uuid |
no | Element ID: random UUID version 4, lower case, never changes (D-017, SR-002). |
code |
one of "omitted-type", "omitted-attribute", "omitted-value", "hierarchy", "relation-end-not-imported", "relation-not-allowed", "relation-duplicate", "type-without-origin", "date-time", "xhtml-style", "xhtml-rowspan", "xhtml-colspan", "xhtml-cell-block", "xhtml-element", "image-missing", "image-outside" |
yes | |
reason |
string |
yes |
reqifUnmapped
Section titled “reqifUnmapped”A type, attribute, relation type or enumeration value of a ReqIF file that the mapping neither maps nor omits (SR-055 AK1). source is its LONG-NAME or IDENTIFIER; sourceType the SPEC-OBJECT-TYPE of an attribute or value, attribute the attribute of a value.
Type: object.
| Field | Type | Required | Description |
|---|---|---|---|
kind |
one of "type", "attribute", "relation", "value" |
yes | |
source |
string |
yes | |
sourceType |
string |
no | |
attribute |
string |
no |