RestrictionsΒΆ

Restriction: Do not use dynamic functions CHECK_UBC_NO_DYN
style: orange_bar
Restriction: Do not use list2needs CHECK_UBC_NO_LIST2NEEDS
style: orange_bar
Restriction: Do not use/reference rst files outside the ubproject workspace/scope CHECK_UBC_RST_WORKSPACE
style: orange_bar
Restriction: Run needs.json cross-check in CI and fail on any diff RE_UBC_CROSSCHECK_CI
style: orange_bar

ubc diff json shall run in CI over the full field set (no exclusions) and return a non-zero exit code on any divergence, so an undetected difference between the two indices cannot reach a release.

Restriction: Run ``ubc format`` in check mode only in CI RE_UBC_FORMAT_CHECK_ONLY
style: orange_bar

In CI, ubc format shall be invoked with the --check flag (or equivalent read-only mode). Silent auto-correction of RST files is not permitted in a CI pipeline; any formatting deviation causes a non-zero exit code so it can be reviewed before merging.

Restriction: Pin ``ubc`` and ``sphinx-needs`` to compatible releases RE_UBC_VERSION_PIN
style: orange_bar

ubc and sphinx-needs shall be version-pinned together in the same dependency lock file. A version bump of either tool requires a joint re-qualification step to ensure the JSON-Schema evaluation engines remain compatible.

Restriction: Schema violations must cause a non-zero exit code RE_UBC_SCHEMA_SEVERITY_ERROR
style: orange_bar

The severity for all schema rules in ubproject.toml shall be set to error (not warning). CI must assert that ubc schema validate returns exit code 0 only when no violations are present. A pipeline step that ignores the exit code is not permitted.

Restriction: Run ``ubc diff git`` with sufficient impact depth RE_UBC_DIFF_MIN_DEPTH
style: orange_bar

ubc diff git shall be configured with --impact-depth set to at least the longest safety-relevant link chain in the project (minimum 5). The configured depth shall be reviewed whenever new link types or multi-level traceability chains are introduced.

Restriction: Run ``ubc diff git`` with ``--impact-direction both`` RE_UBC_DIFF_DIRECTION_BOTH
style: orange_bar

ubc diff git shall always be called with --impact-direction both so that both outgoing (downstream) and incoming (upstream / dependent) needs are included in the impact report. Omitting incoming links silently under-reports the change scope.