Skip to content

feat(hash): add requirements and architecture documentation for LibHash#333

Open
Chahult wants to merge 5 commits into
eclipse-score:mainfrom
Chahult:ct_adapt_requirements_libhash
Open

feat(hash): add requirements and architecture documentation for LibHash#333
Chahult wants to merge 5 commits into
eclipse-score:mainfrom
Chahult:ct_adapt_requirements_libhash

Conversation

@Chahult

@Chahult Chahult commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Add TRLC requirements derivation chain and component architecture description for the score::hash library.

Files added:

  • score/hash/docs/requirements/assumed_system_requirements/assumed_system_requirements.trlc Stakeholder-level requirements: DataIntegrityVerification, HashValueAccessibility. (Pending alignment with Andrey Babanin / Markus Bechter.)

  • score/hash/docs/requirements/feature_requirements/feature_requirements.trlc Feature requirements: Sha256Calculation, SupportedHashAlgorithms, HashValueRetrieval, IncrementalDataInput.

  • score/hash/docs/requirements/component_requirements/component_requirements.trlc Component requirements mapping to IHashCalculator, IHashCalculatorFactory, OpenSslHashCalculator, Hash class (GetBytes / ToString / FromString).

  • score/hash/docs/architecture/architecture.rst Natural-language architecture description covering component decomposition, data flow, and design decisions. References existing ClassDiagram.puml.

Add TRLC requirements derivation chain and component architecture
description for the score::hash library.

Files added:
- score/hash/docs/requirements/assumed_system_requirements/assumed_system_requirements.trlc
  Stakeholder-level requirements: DataIntegrityVerification,
  HashValueAccessibility. (Pending alignment with Andrey Babanin /
  Markus Bechter.)

- score/hash/docs/requirements/feature_requirements/feature_requirements.trlc
  Feature requirements: Sha256Calculation, SupportedHashAlgorithms,
  HashValueRetrieval, IncrementalDataInput.

- score/hash/docs/requirements/component_requirements/component_requirements.trlc
  Component requirements mapping to IHashCalculator, IHashCalculatorFactory,
  OpenSslHashCalculator, Hash class (GetBytes / ToString / FromString).

- score/hash/docs/architecture/architecture.rst
  Natural-language architecture description covering component decomposition,
  data flow, and design decisions. References existing ClassDiagram.puml.

Closes #<issue-number>
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html

Remove generated rst stub (rendered by trlc-renderer at build time).
Add two PlantUML diagrams for LibHash component architecture:

- design/component_architecture.puml
  Static component view: IHashCalculatorFactory, IHashCalculator, Hash,
  HashAlgorithm, concrete factories (HashCalculatorFactory /
  SafeHashCalculatorFactory) and implementations (OpenSslHashCalculator,
  Sha256Digest, Crc32HashCalculator), OpenSSL wrapper isolation.

- design/hash_calculation_flow.puml
  Sequence diagram covering three usage flows:
  * One-shot CalculateHash() call
  * Incremental multi-block Update() + Finalize()
  * Stream-based UpdateFromStream()
@Chahult Chahult requested a deployment to workflow-approval July 2, 2026 05:58 — with GitHub Actions Waiting
@Chahult Chahult requested a deployment to workflow-approval July 2, 2026 05:58 — with GitHub Actions Waiting
Remove skinparam componentStyle rectangle which forced component-diagram
mode and made interface method bodies invalid. Rewrite as a standard
class diagram (matching ClassDiagram.puml style) so the file renders
correctly in PlantUML viewers.
- Remove TRLC files (wrong format for baselibs)
- Add docs/baselibs/components/hash/ with:
  - docs/index.rst (component request doc__hash)
  - docs/architecture/index.rst (comp__baselibs_hash)
  - docs/requirements/index.rst (7 comp_req entries derived from
    feat_req__baselibs__hash_library)
- Update docs/baselibs/components/index.rst to list hash component
- Remove component_architecture.puml (redundant with existing ClassDiagram.puml)
- Simplify hash_calculation_flow.puml: high-level only, remove OpenSSL
  internals, use generic 'Caller' instead of 'e.g. ConfigManagement'
- Remove docs/architecture/index.rst (not needed for requirements PR)
- Define comp__baselibs_hash in requirements/index.rst directly
  (following containers_rust pattern)
- Minimize docs/index.rst to just document directive + toctree
@Chahult Chahult requested a deployment to workflow-approval July 3, 2026 11:13 — with GitHub Actions Waiting
@Chahult Chahult requested a deployment to workflow-approval July 3, 2026 11:13 — with GitHub Actions Waiting
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

1 participant