Repository navigation
chore(deps): update dependency score_tooling to v3 - #40
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
force-pushed
the
renovate/score_tooling-3.x
branch
from
October 27, 2026 13:27
cad6a35 to
8351a87
Compare
eclipse-score-bot
force-pushed
the
renovate/score_tooling-3.x
branch
from
October 29, 2026 15:48
8351a87 to
85c279f
Compare
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:
1.3.1→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
v2.2.0What's Changed
Full Changelog: eclipse-score/tooling@v2.1.1...v2.2.0
v2.1.1What's Changed
Full Changelog: eclipse-score/tooling@v2.1.0...v2.1.1
v2.1.0What's Changed
🚨 Breaking: Ferrocene symbol-report/blanket coverage flow removed
rust_coverage_report (from //:defs.bzl / //coverage:coverage.bzl), //coverage:ferrocene_report and its helper scripts have been removed (#394). Repositories defining a //:rust_coverage target with this rule must migrate
▎⚠️ If your repo consumes the rust-coverage.yml reusable workflow from cicd-workflows (lifecycle, baselibs): that workflow drives the removed flow through your //:rust_coverage target. Do not bump to 2.1.0 (and don't let renovate auto-merge it) until you have migrated to the LLVM pipeline below.
Unchanged: //coverage:llvm_profile_wrapper (kept for repos mid-migration) and //coverage:combined_report.
✨ New: reusable LLVM source-based coverage pipeline (@score_tooling//coverage)
The coverage pipeline proven in communication and persistency is now a shared module (#394), imported verbatim from eclipse-score/communication and adapted for cross-repo consumption:
Full Changelog: eclipse-score/tooling@v2.0.2...v2.1.0
v2.0.2: Release 2.0.2What's Changed
Full Changelog: eclipse-score/tooling@v2.0.1...v2.0.2
v2.0.1: Release 2.0.1What's Changed
New Contributors
Full Changelog: eclipse-score/tooling@v2.0.0...v2.0.1
v2.0.0: Release 2.0.0multitooldependency removed, then partially reintroduced (c82be4d, 3c98c2a)docs-as-codebumped to4.6.1(no longer requires multitool, unlike 3.x).A later commit re-adds
rules_multitoolas a dependency, but now only fora dedicated
actionlint_hub— the default multitool hub (ruff, ty,yamlfmt, etc.) is provided transitively via
aspect_rules_lintinstead.Consumers relying on the repo's old multitool wiring/lockfile need to
re-check their setup.
sphinxparameter removed from public API of therules_scoresphinxintegration (8d08c8b)
html_merge_toolis now a private attribute; a newsphinx_toolchainmacro replaces direct parameterization. Update
BUILDfiles per therevised
integration_guide.rst.PlantUML linker removed (2561e03)
Clickable PlantUML diagrams now resolve via a new
idmapmechanisminstead of the old linker. Anything depending on the previous linker
output/behavior breaks.
ClassDiagramdata model shrunk:relationships,source_files,versionfields removed (3e04d66)Touches the flatbuffers schema (
class_diagram.fbs) and serializer — awire-format break for anything consuming serialized class diagram
data (validation core, plantuml parser output).
PDF docs support removed (libcairo dropped) (49d7975)
Docs builds relying on PDF output via
rules_scoreexamples no longerwork.
Bazel 8.7.0 +
rules_python1.8.5 bump (6e2021b)🧩 Major Topics
Sequence diagram tooling — significant refactor
SequenceParticipantto the sequence logic model, refactoredparser/resolver, added source-location tracking, fixed related tests.
(5f1fc92,
df8dec0,
2e1a1a7,
09bee59,
c8eca5d,
7c9b690)
message suffixes/missing endpoints, group and return commands, and
graceful handling of unmodeled syntax instead of failing
(a16eccf,
b2b9978,
3add899,
c60d96b,
93afcd8)
Component/Class diagram tooling
components (fd21ff0).
(e99f189,
371edcc);
component diagram title fix
(6a4f971).
(b71001d).
Validation framework — new capability + diagnostics overhaul
(7ccbcc4,
c082280),
diagram schema check before opening
(c224ae1), fix
to only check component-internal interfaces
(e9553b1).
(1ce2cbb), with
a new validation overview doc
(2b6f125).
formatting support: bazel component validator, class design
implementation, component internal/public API, component sequence, and
sequence internal API diagnostics
(01fb511,
d52655d,
bd6c8c5,
781859d,
0067aa7,
9e760de,
1e86eb5).
of the new validator tests
(6a6fa13).
rules_scoredocs/toolchain overhaulintroduced, needs-loading deduped between
sphinx_module_extandbazel_sphinx_needs(9c4706b,
395d7b7).
available) (728b239);
tracing tag added for every Interface method
(3c21375); test
case coverage added
(1e21640).
integration testing; CI reworked into parallel runners
(49d7975).
rules-score,score-architecture,score-requirements,score-safety-analysis,score-testing) with a sync mechanism(8b9b31c,
9baca71).
cross-module link-rewriting fixes, per-target
conf.pygeneration and aconfdir/cwd bug fix, and general rule hygiene in
sphinx_module.bzl(fa242cd,
53b4301,
80a56cb,
45916a8,
cc7fce5).
cr_checkerrefactorswitched from an include- to an exclude-based file schema, reads each
file only once (previously up to 3×), and gained integration tests
(528dba0).
libclangparser hermeticityflags now sourced from the LLVM toolchain instead of the host
(c5ff8ce).
Other fixes
eprintln/no logging to a proper loggingstrategy (50ce3b9);
plantuml parser now tolerates unresolvable template types instead of
panicking (bf25920).
rules_score: several bugfixes around dependable-element path handling,doc-path hermeticity, and sphinx warning suppression
(ee78ed8); AoU
harmonization (835f219).
sysroot excludes sphinx build dir
(50f75ea,
a3246a7,
326f345),
fixed copyright headers repo-wide
(850cd89).
This PR was generated by #infrastructure automation. Contact us if you have any questions or feedback.