Repository navigation
chore(deps): update dependency score_tooling to v3 - #378
Open
eclipse-score-bot wants to merge 1 commit into
Open
eclipse-score-bot wants to merge 1 commit into
eclipse-score-bot wants to merge 1 commit into
Conversation
eclipse-score-bot
requested review from
antonkri,
arsibo and
pawelrutkaq
as code owners
October 26, 2026 11:37
eclipse-score-bot
requested a deployment
to
workflow-approval
October 26, 2026 11:37 — with
GitHub Actions
Waiting
Contributor
License Check Results🚀 The license check job ran with the Bazel command: bazel run --lockfile_mode=error //:license-checkStatus: Click to expand output |
eclipse-score-bot
force-pushed
the
renovate/score_tooling-3.x
branch
from
October 27, 2026 13:21
6a49f57 to
b124e57
Compare
eclipse-score-bot
requested a deployment
to
workflow-approval
October 27, 2026 13:21 — with
GitHub Actions
Waiting
eclipse-score-bot
force-pushed
the
renovate/score_tooling-3.x
branch
from
October 28, 2026 09:15
b124e57 to
2449a73
Compare
eclipse-score-bot
requested a deployment
to
workflow-approval
October 28, 2026 09:15 — with
GitHub Actions
Waiting
eclipse-score-bot
force-pushed
the
renovate/score_tooling-3.x
branch
from
October 28, 2026 10:10
2449a73 to
1078650
Compare
eclipse-score-bot
requested a deployment
to
workflow-approval
October 28, 2026 10:10 — with
GitHub Actions
Waiting
eclipse-score-bot
force-pushed
the
renovate/score_tooling-3.x
branch
from
October 28, 2026 11:10
1078650 to
a9d880b
Compare
eclipse-score-bot
requested a deployment
to
workflow-approval
October 28, 2026 11:10 — with
GitHub Actions
Waiting
eclipse-score-bot
force-pushed
the
renovate/score_tooling-3.x
branch
from
October 28, 2026 12:11
a9d880b to
5eae1a3
Compare
eclipse-score-bot
requested a deployment
to
workflow-approval
October 28, 2026 12:11 — with
GitHub Actions
Waiting
eclipse-score-bot
force-pushed
the
renovate/score_tooling-3.x
branch
from
October 28, 2026 14:09
5eae1a3 to
8558b3d
Compare
eclipse-score-bot
requested a deployment
to
workflow-approval
October 28, 2026 14:09 — with
GitHub Actions
Waiting
eclipse-score-bot
force-pushed
the
renovate/score_tooling-3.x
branch
from
October 28, 2026 15:10
8558b3d to
74ddc47
Compare
eclipse-score-bot
requested a deployment
to
workflow-approval
October 28, 2026 15:10 — with
GitHub Actions
Waiting
eclipse-score-bot
force-pushed
the
renovate/score_tooling-3.x
branch
from
October 29, 2026 07:10
74ddc47 to
7265694
Compare
eclipse-score-bot
requested a deployment
to
workflow-approval
October 29, 2026 07:10 — with
GitHub Actions
Waiting
eclipse-score-bot
force-pushed
the
renovate/score_tooling-3.x
branch
from
October 29, 2026 08:11
7265694 to
02ac61e
Compare
eclipse-score-bot
requested a deployment
to
workflow-approval
October 29, 2026 08:11 — with
GitHub Actions
Waiting
eclipse-score-bot
force-pushed
the
renovate/score_tooling-3.x
branch
from
October 29, 2026 13:09
02ac61e to
ff1ce41
Compare
eclipse-score-bot
requested a deployment
to
workflow-approval
October 29, 2026 13:09 — with
GitHub Actions
Waiting
eclipse-score-bot
force-pushed
the
renovate/score_tooling-3.x
branch
from
October 29, 2026 15:30
ff1ce41 to
daece87
Compare
eclipse-score-bot
temporarily deployed
to
workflow-approval
October 29, 2026 15:30 — with
GitHub Actions
Inactive
eclipse-score-bot
force-pushed
the
renovate/score_tooling-3.x
branch
from
October 30, 2026 11:11
daece87 to
7158191
Compare
eclipse-score-bot
requested a deployment
to
workflow-approval
October 30, 2026 11:12 — with
GitHub Actions
Waiting
eclipse-score-bot
force-pushed
the
renovate/score_tooling-3.x
branch
from
October 30, 2026 12:11
7158191 to
2ce6a70
Compare
eclipse-score-bot
requested a deployment
to
workflow-approval
October 30, 2026 12:11 — with
GitHub Actions
Waiting
This branch is waiting to be deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.2.0→3.0.2Release Notes
eclipse-score/tooling (score_tooling)
v3.0.2Highlights
rules_score: root causes are argued byRootCauseAssessmentrecords. They replaceMitigationandSafetyMeasure.rules_score: failure modes trace to concrete public API methods, generated from the public API class diagrams.rules_score: formal RST test specifications, and Given/When/Then text derived from gtest test names.rules_score: documentation is keyed by the full target label, so equal target names in different packages or repositories no longer collide.rules_score:$TransferInGatelinks fault trees, requirement ASILs are checked, and the certified-scope check is repository-aware.validation: class template parameters and specializations.cr_checker://and/* */headers are interchangeable.Breaking changes
These changes require edits to build files, TRLC files or PlantUML diagrams.
rules_score: root cause assessments replace mitigations and safety measures (#534)New TRLC type
ScoreReq.RootCauseAssessmentwithroot_causes,measures,safety,rationaleandversion. An assessment withoutmeasuresargues that the root cause does not apply.Removed:
ScoreReq.Mitigation,ScoreReq.SafetyMeasure,AoU.root_causes(and:root_causes:in.rstaou_reqdirectives) and root causes inCompReq.derived_from.Every
CompReq.derived_fromentry needs a version:Package.Item@<version>.safety_analysistakes the assessment files in the new attributeassessments.safety_measuresmay only containassumptions_of_useandcomponent_requirementstargets.assumptions_of_useandcomponent_requirementstargets no longer need thefault_treestarget indeps.The traceability report has the levels "Assumptions of Use" and "Root Cause Assessments" instead of "Safety Measures". Custom LOBSTER templates must use
{OWN_AOU_BLOCK}and{ASSESSMENT_BLOCK}instead of{SAFETYMEASURES_BLOCK}.rules_score: failure modes reference public API methods (#555)FailureMode.interfaceis a list ofScoreReq.ApiMethodrecords instead of a free-text string. The records are generated from thepublic_apiclass diagrams of anarchitectural_design: one per public method name (overloads collapsed) and one per free function.architectural_designhas the new attributepackage, the TRLC package of the generated records. It is required withpublic_api.pumldiagrams and rejected without them.failure_modesmust list thearchitectural_designindeps, and the failure mode filesimportits package.safety_analysis.arch_designis removed.The traceability level "Architecture" is replaced by "Public API". Custom LOBSTER templates must use
{PUBLIC_API_SOURCES}instead of{ARCH_SOURCES}.rules_score: documentation is keyed by the full target label (#542)<repo>/<package>/<name>(_mainfor the main repository) instead of the bare target name.units/<label path>/index.rst,units/<label path>/<diagram>.puml,units/<label path>/<design>.rst.inccomponents/<label path>/index.rst,components/<label path>/requirements/...<repo>/<package>/<dep>/instead of<dep>/. Links to published dependency pages change.SphinxModuleInfo.transitive_modulesandSphinxNeedsInfo.needs_modulesare structs withpath(the label path) instead ofname.UnitInfo.dependent_labelsandComponentInfo.dependent_labelsare depsets of structs(unit_label, dependencies), one per unit, instead of depsets of labels (#533).PlantUML: the provided-interface binding
)-is removed (#544)Component )- Interfaceis rejected. Write the provided binding as-,--or--(). Layout and style hints (-up-,--[bold]--) stay allowed.A bare
--between a component and an interface is a provided binding and no longer an association.Skills
SKILL.mdfiles ofrules-score,score-architecture,score-requirements,score-safety-analysisandscore-testingchanged. Downstream repositories must regenerate theirsync_skillsgoldens.Stricter validations
These changes need no new syntax, but input that built before can now fail.
TRLC requirement ASILs (#540)
FeatReqorCompReqmust not have a lower ASIL than any requirement it is derived from. An upstreamASIL_BforbidsQM, an upstreamASIL_DrequiresASIL_D.trlcis raised from 3.0.1 to 3.1.1. Raise it if you pin an older version.Root cause assessments (#534)
Errors in the
safety_analysisbuild:fault_treestarget generates, or a measure that is not an own AoU or aCompReqofsafety_measures.safetyof an assessment is below the ASIL of a failure mode of its root causes or above the ASIL of a listed measure.Failures of the traceability report of the
dependable_element:Certified scope (#533)
unit.scopeentries are resolved relative to the package of the unit and matched together with the repository: an exact target,:__pkg__or:__subpackages__in the same repository. A scope in another repository no longer matches by package path alone. Add the repository, for example@seooc//:sample_library.implementation.Unit <unit label> depends on <dependency label>, but the dependency is not in any certified scope (<reason>).maturity = "development"and fail otherwise, so release builds can fail on dependencies the old check accepted.Documentation names (#542)
design_namemust be unique within its parent component (case-insensitive).Public API diagrams (#555)
public_apidiagrams of anarchitectural_designmust be class diagrams.new,deleteorco_await. The parser fails withUnsupportedOperator.$TransferInGate(#545)$TransferInGate(alias, connection)connects to the fault tree of the failure modeconnection. The build fails when:aliasis not the fully qualified name of a failure mode (for example"Transfer1").fault_treestargets are not supported.safetyof its assessment must be at least the ASIL of all failure modes of all trees it belongs to.New features
rules_scoretest_specificationtakes an RST file with a Test Goal, an optional Test Focus and at least one Test Step (optional Precondition, Action, Expected). A unit lists them intest_specs, a test refers to one withRecordProperty("test-spec", "//pkg:label"). The coverage lock gets aspeckey per test case, which must not be mixed with Given/When/Then keys.[<Prefix>_]Given<X>[_When<Y>]_(Expect|Then)<Z>does not need thegiven/when/thenproperties. This needs alobsterversion with--derive-gwt-from-test-name. Withlobster1.0.6 only the properties are used. A test case in a coverage lock needs a Given and a Then. The When is optional.PlantUML and
validationcr_checker//or/* */. The other form is derived from the template, and--fixkeeps the form a file already uses (#554).Bug fixes
cr_checker:--modified-onlyhonorsinputsand:(exclude)pathspecs. Before, it checked all modified files. A leading YAML frontmatter block of a Markdown file is kept in front of the header, and--fixno longer breaks it (#546).rules_score: the architecture key conflict check of a dependable element works for elements in non-root packages and external repositories (#543).Migration checklist
Breaking changes:
Mitigation/SafetyMeasurerecords byRootCauseAssessmentrecords and pass them throughsafety_analysis.assessments. Removeroot_causesfrom AoUs and root causes fromCompReq.derived_from. Add@<version>to everyderived_fromentry.packagetoarchitectural_designtargets withpublic_api, list them in thedepsoffailure_modes, removearch_designfromsafety_analysis, and writeFailureMode.interfaceas a list ofApiMethodrecords.{OWN_AOU_BLOCK}and{ASSESSMENT_BLOCK}replace{SAFETYMEASURES_BLOCK}, and{PUBLIC_API_SOURCES}replaces{ARCH_SOURCES}.<repo>/<package>/<dep>/) and custom rules that read the changed provider fields.Component )- InterfacebyComponent - Interfacein PlantUML component diagrams.sync_skillsgoldens.Stricter validations:
FeatReqandCompReqagainst its upstream requirements.unit.scopeentries of external targets and build withmaturity = "release".design_nameunique per component.public_apidiagrams are class diagrams without unsupported operators.$TransferInGatecalls: use the fully qualified failure mode as alias and a failure mode of another tree as connection.v3.0.1Changelog
rules_score: unit documentation layout
units/<unit>/index.rst. Design files are staged inunits/<unit>/design/. Previously:units/<unit>.rstandunits/<unit>_design/.**/units/*_designreplaced byunits/*/design.dependable_elementnow fail the build(previously the second was silently dropped).
Added
sync_skills(repo_skills_target = None): optional label of a filegroup with the repo'scommitted
score-*skills. Required when.github/skillshas its ownBUILDfile..devcontainer/run-tool: standard SCORE tool launcher.Fixed
component(requirements = ...)acceptsassumed_system_requirementstargets, so componentrequirements can derive directly from assumed system requirements without a feature layer.
v3.0.0Highlights
rules_score: the safety analysis is split intofailure_modes,fault_treesandsafety_analysis. Adependable_elementnow derives its own AoUs from the safety analysis measures.validation: free-function consistency check between PlantUML class design and C++ implementation.Breaking changes
rules_score: safety analysis and AoUssafety_analysisis split into three rules to avoid a dependency cycle between the fault trees, the measures and the analysis:failure_modes(srcs, deps): theFailureModerecords.fault_trees(srcs, deps, fta_package): the fault-tree diagrams and the generatedRootCauserecords.safety_analysis(failure_modes, fault_trees, safety_measures, arch_design): the FMEA page.safety_analysisattributes are renamed:failuremodesfailure_modes(labels offailure_modestargets)root_causesfault_trees(label of afault_treestarget, required)safetymeasuressafety_measuresarch_design(optional)arch_design(required)dependable_element.assumptions_of_useis removed. The element's own AoUs are theassumptions_of_usetargets listed in thesafety_measuresof itssafety_analysistargets.assumptions_of_usetarget that nosafety_analysislists is neither rendered nor forwarded.dependable_elementwithout a safety analysis has no own AoUs.ScoreReq.AoU.root_causesis now mandatory..rstaou_reqdirectives need:root_causes: <fta_package>.<RootCause>, ....assumptions_of_use.depsmust list thefault_treestarget. Otherassumptions_of_usetargets are rejected there.:root_causes:on non-AoU directives is rejected.aou_forwarding.yamlentries must carry the AoU version:aou_id: "Package.AOU_ID@1". Unknown IDs, version mismatches and duplicate entries fail the build.The default
fta_packageis now the package and name joined by__plus_fta(e.g.pkg_sub__name_fta). Setfta_packageexplicitly if you reference<fta_package>.<RootCause>from elsewhere.Raw
.trlcfiles insafety_measuresmay only containMitigationrecords. A root cause whose failure mode is missing fromfailure_modesfails the build.List one
safety_analysisperdependability_analysis. Use severaldependability_analysistargets for several analyses.The
.github/skills/*/SKILL.mdfiles changed. Downstream repos must regenerate theirsync_skillsgoldens.PlantUML: identifiers are built from the name, not the alias
The written name of an element is its identity. The alias (
as X) is only a local reference key and no longer takes part in the identifier.Names must be identifier paths: segments of letters, digits and
_, separated by.or::. Free-text names are errors, for every element kind.Sequence participants:
"instance : pkg::Type"label form is removed.Diagrams must be migrated.
validationmatches by this identifier. Component and sequence checks match participant uids, and the Bazel check matches the last segment of the entity id (case-insensitive) against the Bazel target name.See
plantuml/parser/docs/element-identifiers.mdfor the full rules.New features
PlantUML
.or::roots the name:::is accepted wherever a name is written: declarations,package/namespacenames, ports,extends/implementstargets and relationship endpoints.entity Name <<function>> { + f(...) }groups free functions, which resolve in the enclosing namespace. They are serialized to FlatBuffers. Seeplantuml/parser/docs/class-diagram.md. (#511)Sphinx
clickable_plantumlunit_1in a sequence or component diagram find the diagram that definespkg.comp.unit_1.*.idmap.jsongainsmatch_by_name(defaultfalse). It istruefor component, class and sequence diagrams andfalsefor FTA diagrams.url of "...". Aliases that cannot be written (double quote, line break) are reported with a warning.validationClassDesignImplementationFreeFunctionConsistencycheck: a free function in the unit design must exist in the C++ implementation with a matching return type, parameters and template parameters. (#518)bazel_component, sequence and class checks.Bug fixes
validation: a class reachable through several implementation targets (e.g. a shared header) was reported as defined more than once. The duplicate-class error now says "design" or "implementation". (#522)rules_score: units listed directly independable_element.componentswere missing from the generated toctree. (#519)Build and CI
~x.y).Cargo.lockandcargo-bazel-lock.jsonare added, and the crate repository is renamed from@cratesto@crates_score_tooling. (#515)Migration checklist
safety_analysisintofailure_modes,fault_treesandsafety_analysis, and rename its attributes.assumptions_of_usefromdependable_element. List the AoU targets insafety_analysis.safety_measuresinstead.root_causesto everyAoUand list thefault_treestarget in thedepsof eachassumptions_of_usetarget.@<version>to theaou_identries inaou_forwarding.yaml.sync_skillsgoldens.Full changelog: eclipse-score/tooling@v2.3.1...v3.0.0
v2.3.1Release v2.3.x contains breaking changes:
Renames (Bazel)
fmea(...) is now safety_analysis(...).
dependability_analysis(fmea = [...]) is now dependability_analysis(safety_analysis = [...]).
The controlmeasures attribute is replaced by safetymeasures. These files hold Mitigation, AoU and CompReq records.
New optional attribute fta_package sets the package name of the generated RootCause records. It defaults to _fta.
unit(...) and component(...) get an optional design_name. Use it when the PlantUML <>/<> name differs from the Bazel target name.
FTA .puml diagrams
$TopEvent(...) is now $FailureMode(name, "Pkg.FailureMode", ...). It accepts up to 8 failure modes per node.
$BasicEvent(name, "Pkg.Alias", conn) is now $RootCause(name, "Alias", conn). The alias is a plain name without a package prefix.
Root causes are generated as TRLC records in fta_events.trlc (package <fta_package>). They are not written by hand.
Each root cause links to the failure modes of the tree it sits under.
TRLC model (ScoreReq)
Removed: ControlMeasure, PreventiveMeasure and Measure.
Removed: the mitigates field on AoU and Mitigation.
Added: RootCause, the abstract SafetyMeasure, and FailureMode-to-RootCause links.
Mitigation no longer extends AssumedSystemReq. It now requires root_causes = [...] and justification.
AoU can have optional root_causes = [...].
CompReq.derived_from can reference a RootCause, unversioned. This makes the CompReq a control measure for that root cause.
CompReq.derived_from may only reference AoUs received from other dependable elements. An element's own AoUs are never a source.
Wiring (BUILD)
A safety_analysis target that an AoU references via root_causes must be listed in the deps of assumptions_of_use.
The same target must also be passed via safetymeasures to safety_analysis(...).
Migration:
BUILD
fmea becomes safety_analysis.
controlmeasures becomes safetymeasures.
dependability_analysis(fmea=...) becomes dependability_analysis(safety_analysis=...).
FTA .puml
$TopEvent becomes $FailureMode.
$BasicEvent(n, "Pkg.Alias", c) becomes $RootCause(n, "Alias", c). The alias is a plain identifier with no package prefix.
TRLC measures
Add import _fta, the generated package. It defaults to the target name plus _fta.
Delete ControlMeasure and PreventiveMeasure records and all mitigates fields.
Convert each former measure:
Mitigation: add root_causes = [_fta.] and justification.
CompReq: add derived_from = [_fta.], with no @version. Add the safety_analysis target to that component_requirements target's deps.
AoU: add root_causes = [_fta.]. Add the safety_analysis target to the assumptions_of_use deps, and pass the file in safetymeasures.
Coverage
Every $RootCause needs a Mitigation, AoU or CompReq. Otherwise release maturity fails.
Every FailureMode needs a $RootCause under it.
v2.3.0What's Changed
Full Changelog: eclipse-score/tooling@v2.2.3...v2.3.0
v2.2.3What's Changed
Full Changelog: eclipse-score/tooling@v2.2.2...v2.2.3
v2.2.2What's Changed
New Contributors
Full Changelog: eclipse-score/tooling@v2.2.0...v2.2.2
v2.2.1What's Changed
Full Changelog: eclipse-score/tooling@v2.1.1...v2.2.1
This PR was generated by #infrastructure automation. Contact us if you have any questions or feedback.