feat(hash): add requirements and architecture documentation for LibHash#333
Open
Chahult wants to merge 5 commits into
Open
feat(hash): add requirements and architecture documentation for LibHash#333Chahult wants to merge 5 commits into
Chahult wants to merge 5 commits into
Conversation
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>
|
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()
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
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.
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.