Conversation
…equirements, architecture, certified scope) - score_tooling: local_path_override to ../tooling (poc/rst-package-param branch) for the package/only_types patches needed below. - score_platform: local_path_override to ../score to reference docs/features/baselibs/requirements:feat_req_baselibs directly. - bitmanipulation/BUILD: add comp_req_bitmanipulation, aous_bitmanipulation (reusing docs/requirements/index.rst), arch_design_bitmanipulation, dependable_element_bitmanipulation (integrity_level B); unit() targets gained an explicit certified scope attribute. - docs/architecture/index.rst: shorten comp_arc_sta id to satisfy the 45-char sphinx-needs limit. - docs/architecture/static_design.puml: new static architecture diagram, package alias renamed to match the dependable_element target name. - devcontainer/.bazelrc/.vscode: graphviz + locale fixes for live_preview/docs builds, libclang toolchain registration, starpls LSP setup, live_preview port forwarding. - Notes.md: findings and pragmatic decisions made along the way.
…lation Switches comp_req_bitmanipulation, component_bitmanipulation and dependable_element_bitmanipulation from feat_req_baselibs (all 14 baselibs feature requirements) to the new feat_req_bitmanipulation target in score (containing only feat_req__baselibs__bitmanipulation, extracted out of feat_req_baselibs index.rst into its own included file). Fixes the previously known lobster traceability test failure: the other 13 feature requirements had no comp_req reference and made bazel test //score/bitmanipulation:dependable_element_bitmanipulation fail with 13 missing-reference errors. Test now passes. Updates Notes.md accordingly.
…properties Add RecordProperty-based traceability metadata to all 43 GoogleTest cases in bit_manipulation_test.cpp and bitmask_operators_test.cpp, mapping each test to its corresponding comp_req__bitmanipulation__* requirement (best-guess mapping based on the requirement texts in score/bitmanipulation/docs/requirements/index.rst). Two independent traceability consumers are now satisfied: - lobster-gtest: "lobster-tracing" property (namespaced tag format), verified via component_bitmanipulation.lobster showing refs for all 43 items. - score_docs_as_code's score_source_code_linker extension: "TestType", "DerivationTechnique", "PartiallyVerifies" (raw comp_req id) and "Description" properties, per the project's test-to-requirement-linking skill convention. This eliminates the previously-appearing "Tests missing some properties" warnings in `bazel run //:docs_check`. Verified: bazel test //score/bitmanipulation:bit_manipulation_test //score/bitmanipulation:bitmask_operators_test (2/2 PASSED), dependable_element_bitmanipulation test still PASSED, docs_check build succeeds with 0 warnings and no missing-properties messages for these tests. Updates Notes.md to document the resolved gap.
- Override score_docs_as_code with a local checkout that adds a new score_lobster_report Sphinx extension (renders the Lobster JSON report from dependable_element_bitmanipulation as a table with real sphinx-needs cross-references). - Add score/bitmanipulation/docs/traceability/index.rst invoking the new '.. lobster-traceability-report::' directive, wired into the bitmanipulation docs toctree.
- traceability/index.rst: add a Checklists section rendering the 3 existing inspection checklists (requirements, architecture, implementation) as a needtable with id/title/status. - MODULE.bazel: replace local_path_override (score_docs_as_code, score_tooling, score_platform) with git_override pinned to the respective playground branch commits, so other developers can build this PoC without local sibling checkouts of docs-as-code/tooling/score.
- Add public_api.puml describing the BitmanipulationAPI.BitOperations interface for FMEA traceability. - Wire it into architectural_design(public_api=...) and dependability_analysis(arch_design=...) so FailureMode.interface resolves against the Architecture lobster pool. - Add interface field to all FailureMode records. - Add safety_analysis/trlc control measures, failure modes and FTA root-cause diagrams for the bitmanipulation SEooC.
…pdate traceability.rst prose - Switch score_docs_as_code's git_override commit from ec3576f2 to be3c0a81 (pushed to playground/bitmanipulation-seooc-lobster-report), which makes the lobster-traceability-report directive render every pool from the Lobster JSON report (Feature Requirements, Forwarded AoUs, Architecture, Public API, Failure Modes, Control Measures, Root Causes), each with clickable cross-references, instead of only Component Requirements/Unit Test. - Replace the temporary local_path_override used to iterate on that fix without a commit+push round-trip. - Update docs/traceability/index.rst's prose to describe all pools now covered by the report.
… switch score_tooling to pushed git_override
- bazel/toolchains/BUILD: adapt libclang_toolchain() call to the current
score_tooling API (cc_toolchain/libclang attrs instead of
cxx_builtin_include/extra_config_site/libclang)
- score/bitmanipulation/bit_manipulation_test.cpp,
bitmask_operators_test.cpp: restore dual GTest traceability
instrumentation (lobster-tracing + PartiallyVerifies/score_source_code_linker)
lost during the cherry-pick rebase
- score/bitmanipulation/BUILD: restore package= for comp_req_bitmanipulation,
set maturity="development" on dependable_element_bitmanipulation (no
test_case_coverage_lock set up yet for this SEooC POC)
- score/bitmanipulation/docs/requirements/{assumptions_of_use.rst,.ignore,index.rst}:
split the AoU section into its own file to avoid a duplicate-Need warning
caused by sphinx_mounts independently discovering it as a standalone doc;
.ignore tells sphinx_mounts to skip it as a standalone document while the
existing .. include:: in index.rst still renders it
- score/bitmanipulation/docs/architecture/index.rst: fix stale
[version==1] qualifier on comp_arc_sta__baselibs__bitmanip_static's
:fulfils: (should be [version==2], matching the sibling comp_arc need)
- MODULE.bazel(.lock): replace the TEMPORARY local_path_override for
score_tooling with a git_override pinned to the now-pushed
poc/rst-package-param branch tip (a429b1cbfdefe8a2b6d54284640eaeefab0b27b5)
antonkri
requested review from
4og,
arkjedrz,
fbaeuerle and
pawelrutkaq
as code owners
August 28, 2026 13:06
antonkri
marked this pull request as draft
August 31, 2026 06:39
Picks up score commit af96b69, which replaces that repo own score_tooling local_path_override with a git_override, so no module in the dependency graph relies on a sibling ../tooling checkout anymore.
Points at the now-pushed playground/bitmanipulation-seooc-lobster-report commit 1ecd38c2 (adds the lobster_parser test-link producer), replacing the local_path_override used while that change was uncommitted. Also select docs(testlink_source = "lobster") in BUILD so score_source_code_linker reads test links from the *.lobster activity pools instead of scanning bazel-testlogs/**/test.xml.
Extracts the comp_req directives out of docs/requirements/index.rst into a new docs/requirements/component_requirements.rst, mirroring the already-separate assumptions_of_use.rst. index.rst is now just a title plus a hidden toctree linking both. This replaces the previous `.. include:: assumptions_of_use.rst` with a toctree entry, and removes the colocated .ignore file entirely: with `.. include::`, the included file was still physically discovered by sphinx_mounts own directory walk as a second, independent document (the mount for score/bitmanipulation/docs lives genuinely outside docs/, so unlike a self-conflicting same-tree mount, .ignore actually took effect there) causing the same aou_req need to register twice unless excluded. A toctree entry instead gives the referenced file its own document identity with no duplicate registration, so no exclusion mechanism is needed for either file. BUILD: comp_req_bitmanipulation now converts component_requirements.rst instead of index.rst; aous_bitmanipulation is unchanged. Trade-off: Component Requirements now render as their own page instead of inline prose on the Requirements overview page, same as AoUs already did. Verified: `bazel run //:docs_check` (0 warnings, no duplicate_id/orphan) and `bazel test //score/bitmanipulation:dependable_element_bitmanipulation` (PASSED, same pre-existing header_only lobster warning as before).
feat_req_bitmanipulation was retired on the score side (merged back into index.rst - see score commit 10d492b0fb7747734220ea213d67e2e1b9a31dc5). Switches all 3 references (comp_req_bitmanipulation deps, component_bitmanipulation requirements, dependable_element_bitmanipulation requirements) to feat_req_baselibs, and comp_req_bitmanipulation ref_package from "Bitmanipulation" to "Index" (that target now derives its TRLC package name from index.rst, not the retired bitmanipulation.rst). MODULE.bazel: score_platform git_override bumped to the above commit, replacing the local_path_override used while the score-side change was uncommitted. Accepted trade-off: dependable_element_bitmanipulation now pulls in all 14 baselibs feature requirements as its "Feature Requirements" lobster pool instead of just its own. Verified coverage impact: Feature Requirements 7.1% (1/14, only bitmanipulation traced), Component Requirements unchanged at 83.3%. Still bazel test PASSED - maturity= development treats the untraced 13 as a warning, not a failure. NOTE: requires the above score commit to be pushed to eclipse-score/score before this git_override resolves.
Relocates the SEooC from //score/bitmanipulation:dependable_element_bitmanipulation to //:dependable_element_baselibs in the root BUILD, since it is meant to represent baselibs as a whole (not scoped per component) and more components are expected to be wired into it over time. - assumptions_of_use/architectural_design/dependability_analysis/components labels fully qualified to //score/bitmanipulation:... (the artifact targets themselves stay put, only the dependable_element() call moved). - static_design.puml: SEooC package alias renamed dependable_element_bitmanipulation -> dependable_element_baselibs to match the new module_name (module_name = name in the dependable_element macro). Component/unit entity matching in the architecture validator is by short label name only (label_short_name() in bazel_component_validator strips the package path), so component_bitmanipulation/bit_manipulation/ bitmask needed no changes there. - Lobster traceability report page moved from score/bitmanipulation/docs/traceability/index.rst to the new docs/verification_report/lobster_traceability_report.rst (wired into docs/index.rst next to module_verification_report), since it is now generated by the repo-wide dependable_element, not a per-component one. The per-component page keeps only its (still component-specific) inspection checklists, with a note pointing at the new report location. Verified: bazel test //:dependable_element_baselibs (PASSED, same pre-existing header_only/Feature-Requirements-coverage warnings as before) and bazel run //:docs_check (0 warnings, lobster report renders on its new page).
antonkri
force-pushed
the
playground/bitmanipulation-seooc-rebased
branch
from
September 1, 2026 10:39
5c95985 to
bada8bf
Compare
…rview MODULE.bazel: point the score_docs_as_code git_override at 6f0ba691, which renders unit test links in the Lobster traceability report with their readable colon-form names instead of the generated testcase__ ids. BUILD: remove the setup_starpls target and its load. It only served the VS Code Bazel extensions language server and is not needed for this playground branch. architecture/index.rst: add the Overview/Description section pointing at doc__bitmanipulation, so the component architecture page links back to the component documentation instead of duplicating its text.
Picks up the reworked score_lobster_report rendering: requirement chain top-down, coverage pie charts, collapsed tables and the joined Safety Analysis table.
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.
No description provided.