docs: add network architecture overview - #306
Merged
El-swaggerito merged 1 commit intoJul 29, 2026
Merged
Conversation
Adds docs/network-architecture-overview.md covering node runtime responsibilities, peer/protocol modules, consensus, and config/ diagnostics flow, per issue Axionvera#302. Includes a Build Status section documenting that network-node currently fails to compile (129 errors per a committed cargo-check-full.log; three spot-checked as still live against the current tree). CI never catches this because no workflow builds or tests the network-node package. Each claim is anchored to file:line and marked with one of four states: Implemented / Documented but unverified / Present but unwired / Absent. Cross-checked against ARCHITECTURE.md and docs/architecture.md, correcting outdated claims (tokio-postgres vs the real sqlx driver, invented circuit-breaker thresholds, tables that don't exist). Verified 66 links across both files resolve (0 broken). Closes Axionvera#302
6 tasks
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.
Pull Request
Description
Adds
docs/network-architecture-overview.mdcovering node runtime responsibilities,peer/protocol modules, consensus, and config/diagnostics flow, per issue #302.
Includes a Build Status section at the top documenting that
network-nodecurrentlyfails to compile: 129 errors per the committed
cargo-check-full.log, three of which werespot-checked and confirmed still live against the current tree (
enhanced_server.rs:601,:665,:682). A fourth failure in the binary target is documented that the log does notcover —
main.rscalls fourtelemetry::functions that do not exist. CI never catches anyof this because no workflow builds or-node` package; the only
Pull Request
Description
Adds
docs/network-architecture-overview.mdcovering node runtime responsibilities,peer/protocol modules, consensus, and config/diagnostics flow, per issue #302.
Includes a Build Status section aetwork-node
currently fails to compile: 129 errors per the committedcargo-check-full.log, three of which were spot-checked and confirmed still livenhanced_server.rs:601,:665,:682). A fourth failure in the binary target is documented that the log does notcover —
main.rscalls fourtelemetxist. CI never catches any of this because no workflow builds or tests theaxionvera-network-nodepackage; the only Rust command in CI isnpm run build:onvera-vault-contract`.Each claim is anchored to
file:lineand marked with one of four states: Implemented /Documented but unverified / Present bfindings:
consensus.rsis a real 605-line quorum-voting engine that is never instantiated —ConsensusEngineappears nowhere outside its own definition. Agreement comes fromStellar/Soroban, not from this module.
P2PService, but nopeer transport: the crate opens no P2P socket, and
bootstrap,handle_ping, andsync_chainare stubs.contracts/are in neither the workspacememberslist nor any member'sdependency graph, so nothing compils/config
, a complete 303-line Soroban contract. Three are additionally broken at the manifest level (contracts/metrics/Cargo.toml` is a 0-byte file).Cross-checked against
ARCHITECTURE.mdanddocs/architecture.md, correcting outdatedclaims:
tokio-postgresvs the realsqlxdriver,bb8/deadpoolpooling that is not adependency, a circuit-breaker thresho the default is 3, and the
requests_log/user_cachetables, neither of which exists. The document states plainly thatARCHITECTURE.mdis not wholesale aspirational — Axum, PostgreSQL, Redis, and circuitbreakers are all genuinely present.
Verified that all 78 relative links across both files resolve to existing files or
directories, plus 7 internal anchors broken.
No code files were modified. Only
docs/network-architecture-overview.md(new) andREADME.md(two links added).Related Issues
Closes #302
Cleanup Checklist
I have reviewed the Contributor Cleanup Checklist
Note: the template links to
docs/contributor/cleanup-checklist.md, which does notexist in this repository. Leaving u to have read a missing
document. Worth a separate issue to either add the file or fix the template.
Documentation is updated
Not applicable — this is a documentatges: module boundaries,
error handling, config value documentation, test coverage, and protocol-sensitive logic.
Type of Change
Testing
No code was changed, so no test run ie that
cargo test -p axionvera-network-nodedoes not currently pass onmaineither, for thereasons documented in the new Build Status section — this PR reports that state, it does not
cause it.
Code Quality
No Rust or TypeScript was modified, so
cargo fmtandcargo clippyare not applicablehere. For the record,
cargo clippy -tly pass onmain`.Documentation
anddocs/architecture.md` were deliberately left untouched, with their inaccuraciesdocumented in the new file instead of edited in place
Notes for Reviewers
The Build Status section is the part eports that the node does
not build, based on a
cargo checklog committed to the repo that was generated on anothermachine at an unrecorded commit. Because a stale log proves nothing on its own, three of its
errors were re-verified by hand again cited with line numbers.
If you believe the node does build, that section is where the disagreement is, and it should
be easy to settle.
Two pre-existing issues were found but deliberately not fixed here, to keep this PR
documentation-only:
docs/architecture.mdlines 12, 13, 14, 15, and 48 contain absolutefile:///Users/boufdaddy/…paths from a contributor's local machine. Line 73 points at../../ARCHITECTURE.md, one level too high. The new document uses correct relative pathsand lists the corrections.
docs/contributor/cleanup-checklist.md, referenced by this PR template, is missing.One thing that is explicitly not p:
ARCHITECTURE.mdrendersem-dashes as
â€"in some terminals. The file is valid UTF-8 with no BOM and correctlyencoded
U+2014characters — verified at the byte level. That is a console code page issue,not a file issue, and nothing should