Skip to content

Conversation

@torrejonv
Copy link
Collaborator

No description provided.

Corrects component diagrams and documentation based on reviews
across multiple merged PRs. All changes verified against actual codebase
implementation.

Changes:
- Consolidated logical components into actual physical implementations
- Removed non-existent components from PlantUML diagrams
- Added clarifying notes about simplified component views
- Fixed CLI command documentation (utxovalidator → validate-utxo-set)
- Fixed distributed pause diagram (removed non-existent flag checks)
- Fixed markdown formatting (list numbering, link text, blank lines)
- Updated .markdownlint.yml to allow duplicate headings in different sections
- Regenerated all SVG files from corrected PlantUML sources

Files modified:
- validator.md: Added Remote vs Local deployment context
- utxoPersister.md: Consolidated Server component documentation
- rpc.md: Consolidated RPC handler documentation
- utxo.md: Simplified UTXO Store component view
- subtreeValidation.md: Fixed link text, removed non-existent components
- minersHowToTeranodeCLI.md: Corrected validate-utxo-set command
- subtree_validation_distributed_pause.puml: Fixed Pod B flag check
- Multiple PlantUML and SVG files updated

All markdownlint checks pass. Python validator warnings are pre-existing
false positives (numbered lists detected as config parameters).
Clarify that reassigned UTXOs cannot be spent until 1,000 blocks after
reassignment (ReAssignedUtxoSpendableAfterBlocks constant). This waiting
period ensures network consensus and prevents disputes over confiscated
and reassigned transaction outputs.

Addresses October 2024 implementation change from commit 4b4f4e8.
Add documentation for the utxostore_useExternalTxCache setting that
controls short-lived caching of externally stored transactions. The
cache (10-second expiration) optimizes concurrent reads of large
transactions with many outputs, reducing redundant external storage
fetches during high-throughput validation.

Addresses October 2024 implementation from commit 92aa20e.
Explain the FSM-aware INV message queueing mechanism that prevents
message loss during blockchain state transitions. INV messages are
queued in Kafka when the FSM is not in RUNNING state, ensuring
reliable message delivery during node startup, synchronization, block
reorganizations, and other state transitions.

Addresses September 2024 implementation from commit dc2971d.
@github-actions
Copy link
Contributor

github-actions bot commented Nov 5, 2025

🤖 Claude Code Review

Status: Complete


Review Summary

This PR contains documentation corrections addressing feedback from multiple previous PRs. The changes focus on:

  • Consolidating component diagrams to match actual implementations
  • Clarifying deployment models (Local vs Remote Validator)
  • Documenting recently added features (INV queueing, external tx cache, reassigned UTXO waiting period)
  • Fixing markdown formatting issues

Findings

No issues found. The documentation changes are accurate, well-structured, and improve clarity. All changes have been properly verified against the codebase.

Key Improvements

  • Validator/Legacy Service: Added clear documentation of Local vs Remote deployment models, explaining performance trade-offs
  • UTXO Store: Documented external transaction cache feature (10-second expiration) for optimizing concurrent reads
  • Legacy Service: Documented INV message queueing mechanism for FSM state management
  • UTXO Operations: Added 1,000-block waiting period documentation for reassigned UTXOs
  • Component Diagrams: Added clarifying notes about simplified component views vs. actual implementations
  • Markdown: Fixed list numbering, link text, blank lines, and allowed duplicate headings in different sections

All PlantUML diagrams and SVG files were correctly regenerated from updated sources.

@torrejonv torrejonv enabled auto-merge (squash) November 5, 2025 16:28
@torrejonv torrejonv requested a review from sugh01 November 10, 2025 10:24
@torrejonv torrejonv merged commit 8e800a8 into bsv-blockchain:main Nov 10, 2025
12 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants