Skip to content

Playground/bitmanipulation seooc - #3228

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

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.

This branch has not been deployed

No deployments
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