FeaturesΒΆ

πŸ” Features

ID

Title

SI

Faults

FE_UBC_AGENT_SKILL

Generate AI-agent skill for the project (``ubc agent-skill``)

no

ER_UBC_AGENT_SKILL_STALE

FE_UBC_BUILD_JSON

Build needs.json

yes

ER_UBC_JSON_INCOMPLETE

FE_UBC_CACHE

Clean internal caches

no

FE_UBC_DIFF_GIT

Impact analysis on git changes (``ubc diff git``)

yes

ER_UBC_DIFF_DEPTH_CUT; ER_UBC_DIFF_DIR_WRONG; ER_UBC_DIFF_DIRTY

FE_UBC_FORMAT

Format rst files

yes

ER_UBC_FORMAT_ERRORS

FE_UBC_LINTING

Check rst files for linting problems

no

ER_UBC_LINTING_NOT_COVERED

FE_UBC_SCHEMA_VALIDATE

Validate ontology schema (``ubc schema validate``)

yes

ER_UBC_SCHEMA_NO_RULES; ER_UBC_SCHEMA_DIVERGE; ER_UBC_SCHEMA_EXIT_ZERO

FE_UBC_VALIDATE_JSON

Validate needs.json

no

ER_UBC_VAL_FORMAT; ER_UBC_VAL_INCOMPLETE

../../_images/need_pie_b9aa3.svg
Feature: Check rst files for linting problems FE_UBC_LINTING
style: green_bar
si: no
Fault: Not covered format ER_UBC_LINTING_NOT_COVERED
style: red_bar
parent needs: FE_UBC_LINTING
Feature: Format rst files FE_UBC_FORMAT
style: green_bar
si: yes
tools: TOOL_UBC
Fault: Format introduces errors ER_UBC_FORMAT_ERRORS
style: red_bar
parent needs: FE_UBC_FORMAT
Feature: Clean internal caches FE_UBC_CACHE
style: green_bar
si: no
tools: TOOL_UBC
Feature: Build needs.json FE_UBC_BUILD_JSON
style: green_bar
si: yes
Fault: Incomplete data ER_UBC_JSON_INCOMPLETE

This can have several reasons:

  • Not supported or unknown Sphinx-Needs directives. Like

    • list2needs

  • Not supported features of Sphinx-Needs. Like

    • dynamic functions

  • Unknown script executions

  • Unknown/not accessible sources, like

    • external services

    • import of needs.json files

    • unknown rst files

Feature: Validate needs.json FE_UBC_VALIDATE_JSON
style: green_bar
si: no
Fault: Unknown file format ER_UBC_VAL_FORMAT
style: red_bar
parent needs: FE_UBC_VALIDATE_JSON
Fault: Incomplete Validation ER_UBC_VAL_INCOMPLETE
style: red_bar
parent needs: FE_UBC_VALIDATE_JSON

Not all types and options, which are represetned in a given needs.json file, are known/defined by the ubproject.toml configuration.

Feature: Validate ontology schema (``ubc schema validate``) FE_UBC_SCHEMA_VALIDATE

Runs the same JSON-Schema-based rules that power Declarative schema validati... (FE_SN_SCHEMA_VALIDATION) from the command line, independent of a Sphinx build. This is the primary CI gate for a safety qualification: the same rules that pass during sphinx-build are re-evaluated against the published needs.json to detect drift.

ubc schema validate
Fault: Schema rules not loaded ER_UBC_SCHEMA_NO_RULES
style: red_bar

ubc cannot find the schema definitions referenced by needs_schema_definitions / schema_definitions_from_json and therefore validates against an empty rule set. Exit code is 0 and the pipeline passes, but no safety rule is actually enforced.

Fault: Schema rule set diverges from Sphinx-Needs ER_UBC_SCHEMA_DIVERGE
style: red_bar

The version of the schema evaluation engine embedded in ubc differs from the one used by the installed Sphinx-Needs, so a rule accepted in one tool is rejected in the other. The audit artefact becomes ambiguous.

Fault: Safety violation reported only as warning ER_UBC_SCHEMA_EXIT_ZERO
style: red_bar

ubc schema validate reports violations but returns exit code 0 (e.g. severity configured as warning only). CI does not fail and the safety breach reaches release.

Feature: Impact analysis on git changes (``ubc diff git``) FE_UBC_DIFF_GIT
style: green_bar
si: yes

Computes the traceability impact of a git commit / diff using the classified link model. Given a configurable link depth and direction, ubc diff git reports which needs are transitively affected β€” essential for change-impact analysis required by ISO 26262 tool classification activities.

ubc diff git --depth 3 --direction both
Fault: Impact depth truncates the graph ER_UBC_DIFF_DEPTH_CUT
style: red_bar
parent needs: FE_UBC_DIFF_GIT

The configured --depth is smaller than the deepest safety-relevant link chain, so the impact report misses affected needs. Downstream reviewers underestimate the change.

Fault: Wrong direction omits incoming impact ER_UBC_DIFF_DIR_WRONG
style: red_bar
parent needs: FE_UBC_DIFF_GIT

--direction is set to outgoing only, so needs that depend on a modified need (incoming links) are not reported.

Fault: Uncommitted local edits not covered ER_UBC_DIFF_DIRTY
style: red_bar
parent needs: FE_UBC_DIFF_GIT

The diff is computed against HEAD and ignores uncommitted changes in the working tree, which causes the report to under-represent the actual delta being reviewed.

Feature: Generate AI-agent skill for the project (``ubc agent-skill``) FE_UBC_AGENT_SKILL
style: green_bar
si: no

Emits a machine-readable description of the project ontology (types, fields, links, schemas) that LLM-based tooling can load to author and review needs deterministically. Because the skill is generated from the same ubproject.toml that drives the build, agent behaviour stays in sync with the qualified configuration.

ubc agent-skill
Fault: Skill out of sync with qualified configuration ER_UBC_AGENT_SKILL_STALE
style: red_bar
parent needs: FE_UBC_AGENT_SKILL

The generated skill is committed once and not refreshed when ubproject.toml changes. Agents create needs that conflict with the current schema and the build fails later than necessary.