Skip to content

Playground/bitmanipulation seooc - #3228

Draft
antonkri wants to merge 4 commits into
mainfrom
playground/bitmanipulation-seooc
Draft

Playground/bitmanipulation seooc#3228
antonkri wants to merge 4 commits into
mainfrom
playground/bitmanipulation-seooc

Conversation

@antonkri

Copy link
Copy Markdown
Contributor

No description provided.

…targets

- MODULE.bazel: local_path_override for score_tooling to ../tooling
  (poc/rst-package-param branch), needed for the package override param
  used below.
- docs/features/baselibs/requirements/BUILD (new): feature_requirements()
  target feat_req_baselibs, converting index.rst to TRLC and exposing
  FeatureRequirementsInfo, consumed by baselibs' component_requirements()
  and dependable_element() targets. Re-exposed as a docs_bundle since the
  directory now needs its own BUILD file.
- docs/requirements/stakeholder/BUILD (new): assumed_system_requirements()
  target asr_req_stakeholder, a TRLC stand-in for the stkh_req directives
  (no TRLC representation existed before), package "StakeholderRequirements"
  so feat_req_baselibs' derived_from references resolve.
- BUILD/docs/conf.py: mount both new docs_bundle targets back into the
  root docs() tree so their toctrees keep resolving; suppress the resulting
  (harmless) duplicate-mount warning.
Extracts feat_req__baselibs__bitmanipulation out of
docs/features/baselibs/requirements/index.rst into a new
bitmanipulation.rst, re-included via .. include:: so rendered docs and
the toctree are unaffected. Adds a new feat_req_bitmanipulation Bazel
target (alongside the existing feat_req_baselibs, whose srcs now list
both files) that converts only this one feature requirement, so
downstream consumers (baselibs dependable_element_bitmanipulation) can
depend on a narrow target instead of pulling in all 14 baselibs feature
requirements.

Also excludes bitmanipulation.rst from standalone Sphinx document
discovery via exclude_patterns in conf.py, since otherwise Sphinx
registers its feat_req need twice (once via include, once as its own
document) and flags it as an orphan.
…it_override

The local_path_override pointed at ../tooling, which only works inside a
checkout that happens to have the tooling repo as a sibling directory.
Pin the poc/rst-package-param branch tip instead so the module resolves
from anywhere (CI, fresh clones), matching what baselibs already does.
Merges feat_req__baselibs__bitmanipulation back into
docs/features/baselibs/requirements/index.rst, removing the separate
bitmanipulation.rst file and its .. include:: link, plus the now-obsolete
exclude_patterns entry in docs/conf.py and the narrower
feat_req_bitmanipulation Bazel target - only feat_req_baselibs (all 14
baselibs feature requirements) remains.

Rationale: the split existed only to give downstream consumers (e.g.
baselibs dependable_element_bitmanipulation) a narrow, single-feature
lobster traceability source. Consumers now reference feat_req_baselibs
directly and accept the resulting lower Feature Requirements coverage
percentage in their own reports (only their own feature is ever traced
from; the other 13 are unrelated) as a reporting-precision trade-off
rather than a build/test failure under maturity=development.

Verified: bazel run //:docs_check succeeds with 0 warnings.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog
Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant