-
Notifications
You must be signed in to change notification settings - Fork 3.9k
chore: link validity check #24718
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
chore: link validity check #24718
Conversation
Ironbird - launch a networkTo use Ironbird, you can use the following commands:
Custom Load Test ConfigurationYou can provide a custom load test configuration using the `--load-test-config=` flag:
Use |
📝 WalkthroughWalkthroughThis change set primarily updates documentation, configuration, and auxiliary files across the project. It introduces a new Python script for validating Markdown links, corrects and updates numerous internal and external documentation links, removes several obsolete or redundant markdown files, and makes minor wording and formatting improvements throughout the documentation. No functional code changes or API modifications are present. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Script as valid-links.py
participant FileSystem
participant Web as WebServer
User->>Script: Run valid-links.py
Script->>FileSystem: Recursively find all .md files
loop For each Markdown file
Script->>FileSystem: Read file content
Script->>Script: Extract links (ignore code blocks)
loop For each link
alt Local link
Script->>FileSystem: Check file/anchor existence
else Web link
Script->>Web: HTTP HEAD/GET request (with retries/caching)
end
end
end
Script->>FileSystem: Write Markdown report with results
Script->>FileSystem: Update cache file
Script-->>User: Report valid and broken links
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 7
🔭 Outside diff range comments (5)
docs/docs/learn/advanced/02-context.md (2)
33-33
:⚠️ Potential issueBroken
VoteInfo
link – update to versioned spec
The current link (master/spec/abci/abci.html#voteinfo
) returns 404. Pin to a versioned path to ensure stability.Proposed diff:
-* [VoteInfo](https://docs.cometbft.com/master/spec/abci/abci.html#voteinfo) +* [VoteInfo](https://docs.cometbft.com/v1.0/spec/abci/#voteinfo)
44-45
:⚠️ Potential issueBroken GitHub source links – pin to SDK version
Links toservice.go
on themain
branch are being rate-limited (429). Reference a specific release tag (e.g.,v0.53.0-rc.2
) instead.Proposed diff:
-* https://github.com/cosmos/cosmos-sdk/blob/main/core/comet/service.go#L14 +* https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/core/comet/service.go#L14 -* https://github.com/cosmos/cosmos-sdk/blob/main/core/header/service.go#L14 +* https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/core/header/service.go#L14docs/README.md (1)
3-3
:⚠️ Potential issueFix CONTRIBUTING.md link to use
blob
The link toCONTRIBUTING.md
currently uses/tree/main/
, which the Markdown checker flags as a dead link (429). It should point to/blob/main/
.Apply this diff:
-[`CONTRIBUTING.md`](https://github.com/cosmos/cosmos-sdk/tree/main/CONTRIBUTING.md#updating-documentation) +[`CONTRIBUTING.md`](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#updating-documentation)docs/architecture/adr-028-public-key-addresses.md (1)
36-37
:⚠️ Potential issueWeave repository link is blocked
The link to the Weaveconditions.go
file (https://github.com/iov-one/weave/blob/master/conditions.go
) returns a 429. To resolve, point to a specific branch or commit:- https://github.com/iov-one/weave/blob/master/conditions.go + https://github.com/iov-one/weave/blob/main/conditions.godocs/architecture/adr-059-test-scopes.md (1)
1-255
:⚠️ Potential issueFix broken links in the document.
The pipeline check shows that there are 16 dead links in the documentation, including links to ADR-053 and ADR-057 mentioned in this file. These failures might be due to GitHub's rate limiting (status 429).
You can run the new link validation script to identify and fix all broken links:
#!/bin/bash # Identify broken links in this ADR file python scripts/valid-links.py cat docs_links_status.md | grep "docs/architecture/adr-059-test-scopes.md"🧰 Tools
🪛 LanguageTool
[uncategorized] ~36-~36: Possible missing comma found.
Context: ...tutil/suite.go#L44-L49) for example. In code these are called integration tests, but...(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~36-~36: Did you mean the adjective “end-to-end” (spelled with hyphens)?
Context: ...ation tests, but in reality function as end to end tests by starting up a tendermint node ...(END_TO_END_HYPHEN)
[grammar] ~39-~39: Did you mean the adjective “end-to-end” (spelled with hyphens)?
Context: ...g mocks, but does not address the place end to end tests may have in the SDK. From here w...(END_TO_END_HYPHEN)
[typographical] ~48-~48: Consider adding a comma here.
Context: ... from the rest of the code base. Within this we identify two levels of unit tests, *...(TO_THAT_COMMA)
[uncategorized] ~52-~52: Possible missing comma found.
Context: ...part of a module in isolation - in this case we might do fixture setup/mocking of ot...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~60-~60: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ject/binding_test.go) while maintaining high level readability. Example 2 [depinject tabl...(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~62-~62: The adjective “table-driven” is spelled with a hyphen.
Context: ...evel readability. Example 2 [depinject table driven tests](https://github.com/cosmos/cosmos...(DRIVEN_HYPHEN)
[uncategorized] ~73-~73: Possible missing comma found.
Context: ...hould be tested together in integration tests beyond mocked unit tests. In some case...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~75-~75: A comma might be missing here.
Context: ...ests beyond mocked unit tests. In some cases setting up a test case for a module wit...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[uncategorized] ~76-~76: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...ked dependencies can be quite cumbersome and the resulting test may only show that t...(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~118-~118: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...sitions resulting from module operations but any error will halt and fail the simula...(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~120-~120: A comma might be missing here.
Context: ...ion runs EndBlockers at the end of each block any module invariant violations will al...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[uncategorized] ~124-~124: A comma might be missing here.
Context: ...ns. Note that not all modules implement this which may indicate a gap in current sim...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[typographical] ~139-~139: If specifying a range, consider using an en dash instead of a hyphen.
Context: ... A success may take a long time to run, 7-10 minutes per simulation in CI. * Timeout...(HYPHEN_TO_EN)
[grammar] ~145-~145: Did you mean the adjective “End-to-end” (spelled with hyphens)?
Context: ...n locally to reproduce. ### E2E tests End to end tests exercise the entire system as we ...(END_TO_END_HYPHEN)
[formatting] ~147-~147: Consider adding a comma after ‘Presently’ for more clarity.
Context: ...production environment as is practical. Presently these tests are located at [tests/e2e](...(CONJUNCTIVE_LINKING_ADVERB_COMMA_PREMIUM)
[uncategorized] ~156-~156: Possible missing comma found.
Context: ...equired to start up and run a prod-like environment and the this process takes much longer ...(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~156-~156: Two determiners in a row. Choose either “the” or “this”.
Context: ... up and run a prod-like environment and the this process takes much longer to start and ...(DT_DT)
[uncategorized] ~189-~189: Possible missing comma found.
Context: ...complete rewrite of an integration test suite the test suite should be retained and m...(AI_HYDRA_LEO_MISSING_COMMA)
🪛 GitHub Actions: Check Markdown links
[error] 1-1: Markdown link check failed: 16 dead links found. Examples: [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-053-go-module-refactoring.md (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-057-app-wiring.md (Status: 429), ... (see logs for all dead links)
🧹 Nitpick comments (20)
crypto/bcrypt_readme.md (1)
7-7
: Consider simplifying phrasing.The phrase “for the time being” can be streamlined for greater clarity.
E.g.,Given our security model … this parameter choice seems sufficient for now.
🧰 Tools
🪛 LanguageTool
[style] ~7-~7: This phrasing can be wordy. For improved clarity, try opting for something more concise.
Context: ... this parameter choice seems sufficient for the time being. Bcrypt always generates a 448-bit key,...(FOR_THE_TIME_BEING)
docs/spec/addresses/bech32.md (2)
17-17
: Fix typo: 'expos' should be 'expose'
There's a typo in the verb. Update as follows:- While all user-facing interfaces to Cosmos software should expos Bech32 interfaces, many internal interfaces encode binary value in hex or base64 encoded form. + While all user-facing interfaces to Cosmos software should expose Bech32 interfaces, many internal interfaces encode binary value in hex or base64 encoded form.🧰 Tools
🪛 LanguageTool
[grammar] ~17-~17: The word ‘expos’ is a noun or an adjective. A verb or adverb is missing or misspelled here, or maybe a comma is missing.
Context: ...ng interfaces to Cosmos software should expos Bech32 interfaces, many internal interf...(PRP_MD_NN)
21-21
: Add missing verb 'be'
The sentence is missing the verb “be” for grammatical correctness. Update as follows:- Simply prepending bytes from this [table](https://github.com/cometbft/cometbft/blob/main/spec/core/encoding.md) to the byte string payload before Bech32 encoding will sufficient for compatible representation. + Simply prepending bytes from this [table](https://github.com/cometbft/cometbft/blob/main/spec/core/encoding.md) to the byte string payload before Bech32 encoding will be sufficient for compatible representation.🧰 Tools
🪛 LanguageTool
[grammar] ~21-~21: Replace ‘sufficient’ with an appropriate verb.
Context: ...ing payload before Bech32 encoding will sufficient for compatible representation.(MD_NN)
docs/architecture/adr-040-storage-and-smt-state-commitments.md (2)
273-273
: Fix missing articles for clarityThe sentence is missing the article “a” before “record” and “the” before “SMT search” for better readability.
- Instead of saving an object as a single blob of bytes, we could save it as record in a table in the state storage layer, and as a `hash(key, protobuf(object))` in the SMT as outlined above. To verify that an object registered in RDBMS is same as the one committed to SMT, one will need to load it from RDBMS, marshal using protobuf, hash and do SMT search. + Instead of saving an object as a single blob of bytes, we could save it as a record in a table in the state storage layer, and as a `hash(key, protobuf(object))` in the SMT as outlined above. To verify that an object registered in RDBMS is the same as the one committed to SMT, one will need to load it from RDBMS, marshal using protobuf, hash and do the SMT search.🧰 Tools
🪛 LanguageTool
[uncategorized] ~273-~273: Possible missing article found.
Context: ...ngle blob of bytes, we could save it as record in a table in the state storage layer, ...(AI_HYDRA_LEO_MISSING_A)
[uncategorized] ~273-~273: Possible missing article found.
Context: ...y that an object registered in RDBMS is same as the one committed to SMT, one will n...(AI_HYDRA_LEO_MISSING_THE)
277-277
: Add missing verb for correct grammarInsert “be” to complete the verb phrase.
- Module will responsible for having a sound storage model and can optionally use the feature discussed in __Committing to an object without saving it_ section. + Module will be responsible for having a sound storage model and can optionally use the feature discussed in __Committing to an object without saving it_ section.🧰 Tools
🪛 LanguageTool
[grammar] ~277-~277: The word ‘responsible’ is a noun or an adjective. A verb is missing or misspelled, or maybe a comma is missing.
Context: ...ot automatically committed. Module will responsible for having a sound storage model and ca...(MD_JJ)
store/snapshots/README.md (1)
14-15
: Duplicate URL for Spec and Method/Type Reference. Both links point to the same root path (https://docs.cometbft.com/v0.37/spec/
), making the second link redundant. Consider updating the Method/Type Reference link to its specific section (e.g.,/spec/abci/state-sync
or/spec/abci/types
), or consolidating into a single link.README.md (1)
50-50
: Placeholder for new contributing guide. TheTODO NEW CONTRIBUTING GUIDE
placeholder should be replaced with a link or reference to the actual contributing guide. Let me know if you’d like help drafting or linking to it.docs/architecture/adr-009-evidence-module.md (2)
20-20
: Use a versioned or tagged IBC docs link
Great update to point at the canonical IBC repo. For long-term stability, consider linking to a specific version or tag (e.g., a release tag) rather than the default branch to avoid future 404s.
181-181
: Pin the IBC Architecture link to a stable release
Similarly, linking the IBC Architecture reference to a tagged release (e.g.,https://github.com/cosmos/ibc/releases/tag/vX.Y.Z
) will improve link stability and prevent breakage if the repo structure changes.CHANGELOG.md (1)
287-287
: Link GHSA advisories explicitly
By removing the markdown link forGHSA-4j93-fm92-rp4m
, the advisory reference may become less discoverable. Consider reinstating a hyperlink to the full security advisory URL (https://github.com/cosmos/cosmos-sdk/security/advisories/GHSA-4j93-fm92-rp4m
) for clarity.docs/docs/learn/advanced/00-baseapp.md (2)
168-168
: Re-add a link to custom mempool handlers
Removing the markdown link to custom mempool handlers may reduce discoverability. Consider adding a relative link to the section in the docs that covers custom mempool handlers so readers can easily navigate there.
179-179
: Ensure navigation to custom mempool handlers
Similarly, this standalone mention of custom mempool handlers would benefit from an inline link or reference to the detailed docs to improve reader guidance.proto/README.md (1)
9-9
: Add missing comma for clarity
Inserting a comma after "package" improves readability:- and in each protobuf package following the guidelines in https://docs.buf.build/bsr/documentation. + and in each protobuf package, following the guidelines in https://docs.buf.build/bsr/documentation.docs/docs/build/build.md (1)
12-12
: Nitpick: remove apostrophe in “ADR’s”.While the link path is correct, consider changing the label from “ADR’s” to “ADRs” to avoid using an apostrophe for the plural.
docs/architecture/adr-059-test-scopes.md (1)
139-141
: Improve clarity of simulation limitation descriptions.These edits improve the clarity of the simulation limitations section by using more consistent formatting and removing redundant information.
Consider using an en dash instead of a hyphen in the time range:
-* A success may take a long time to run, 7-10 minutes per simulation in CI. +* A success may take a long time to run, 7–10 minutes per simulation in CI.🧰 Tools
🪛 LanguageTool
[typographical] ~139-~139: If specifying a range, consider using an en dash instead of a hyphen.
Context: ... A success may take a long time to run, 7-10 minutes per simulation in CI. * Timeout...(HYPHEN_TO_EN)
scripts/valid-links.py (5)
5-5
: Remove unused import.The
urlparse
function fromurllib.parse
is imported but not used in the code.-from urllib.parse import urlparse
🧰 Tools
🪛 Ruff (0.8.2)
5-5:
urllib.parse.urlparse
imported but unusedRemove unused import:
urllib.parse.urlparse
(F401)
106-107
: Consider enhancing inline code detection.The current approach of skipping lines with any backtick character might miss valid links that happen to be on the same line as inline code. A more robust approach would be to parse inline code segments correctly.
- if '`' in line: - continue + # Skip inline code segments but process the rest of the line + parts = re.split(r'`[^`]+`', line) + line_without_code = ''.join(parts) + + for match in LINK_RE.finditer(line_without_code):
133-140
: Consider adding parallel processing for web links.Checking web links serially can be time-consuming, especially with a large number of links. Consider using a thread pool to process web links in parallel.
- print(f"🌐 Checking {len(WEB_TASKS)} web links serially...") - for url, src, line in WEB_TASKS: - try: - link, status, detail = check_web_link(url) - REPORT.append((src, line, link, status, detail)) - except Exception as e: - REPORT.append((src, line, url, "⚠️ Thread error", str(e))) + print(f"🌐 Checking {len(WEB_TASKS)} web links with parallel processing...") + from concurrent.futures import ThreadPoolExecutor + + def process_web_link(task): + url, src, line = task + try: + link, status, detail = check_web_link(url) + return (src, line, link, status, detail) + except Exception as e: + return (src, line, url, "⚠️ Thread error", str(e)) + + with ThreadPoolExecutor(max_workers=10) as executor: + web_results = list(executor.map(process_web_link, WEB_TASKS)) + + REPORT.extend(web_results)
147-152
: Consider adding sorting to the broken links section.Sorting the broken links by file and line number would make the report more organized and easier to navigate.
f.write("| File | Line | Link | Status | Detail |\n") f.write("|------|------|------|--------|--------|\n") + broken_links = sorted([r for r in REPORT if not r[3].startswith("✅")], + key=lambda x: (x[0], x[1])) - for file, line, link, status, detail in REPORT: - if not status.startswith("✅"): - f.write(f"| `{file}` | `{line}` | `{link}` | {status} | {detail} |\n") + for file, line, link, status, detail in broken_links: + f.write(f"| `{file}` | `{line}` | `{link}` | {status} | {detail} |\n")
48-50
: Consider expanding the list of special case domains.LinkedIn is already handled as a special case. Consider adding other domains that might block automated requests, such as Twitter/X and Facebook.
- if status == 999 or link.startswith("https://www.linkedin.com"): + special_domains = ["linkedin.com", "twitter.com", "x.com", "facebook.com"] + if status == 999 or any(domain in link for domain in special_domains): result = (link, "⚠️ Possibly valid (blocked)", status)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (56)
.github/PULL_REQUEST_TEMPLATE.md
(2 hunks).gitignore
(1 hunks)CHANGELOG.md
(1 hunks)CODING_GUIDELINES.md
(0 hunks)CONTRIBUTING.md
(0 hunks)README.md
(2 hunks)RELEASE_PROCESS.md
(0 hunks)ROADMAP.md
(0 hunks)UPGRADE_GUIDE.md
(4 hunks)UPGRADING.md
(3 hunks)crypto/bcrypt_readme.md
(1 hunks)docs/README.md
(2 hunks)docs/architecture/adr-009-evidence-module.md
(2 hunks)docs/architecture/adr-019-protobuf-state-encoding.md
(1 hunks)docs/architecture/adr-028-public-key-addresses.md
(1 hunks)docs/architecture/adr-033-protobuf-inter-module-comm.md
(2 hunks)docs/architecture/adr-038-state-listening.md
(1 hunks)docs/architecture/adr-040-storage-and-smt-state-commitments.md
(2 hunks)docs/architecture/adr-054-semver-compatible-modules.md
(2 hunks)docs/architecture/adr-059-test-scopes.md
(4 hunks)docs/architecture/adr-062-collections-state-layer.md
(1 hunks)docs/docs/build/build.md
(1 hunks)docs/docs/build/building-apps/00-runtime.md
(0 hunks)docs/docs/build/building-apps/01-app-go-di.md
(1 hunks)docs/docs/build/building-modules/03-msg-services.md
(1 hunks)docs/docs/build/building-modules/13-upgrade.md
(1 hunks)docs/docs/build/building-modules/15-depinject.md
(1 hunks)docs/docs/build/building-modules/16-testing.md
(2 hunks)docs/docs/build/packages/README.md
(1 hunks)docs/docs/build/tooling/README.md
(1 hunks)docs/docs/learn/advanced/00-baseapp.md
(3 hunks)docs/docs/learn/advanced/01-transactions.md
(1 hunks)docs/docs/learn/advanced/02-context.md
(1 hunks)docs/docs/learn/advanced/05-encoding.md
(1 hunks)docs/docs/learn/advanced/06-grpc_rest.md
(1 hunks)docs/docs/learn/advanced/08-events.md
(1 hunks)docs/docs/learn/advanced/11-runtx_middleware.md
(1 hunks)docs/docs/learn/advanced/15-upgrade.md
(1 hunks)docs/docs/learn/beginner/00-app-anatomy.md
(2 hunks)docs/docs/learn/beginner/04-gas-fees.md
(2 hunks)docs/docs/user/run-node/00-keyring.md
(1 hunks)docs/spec/SPEC_STANDARD.md
(1 hunks)docs/spec/addresses/bech32.md
(1 hunks)proto/README.md
(1 hunks)scripts/valid-links.py
(1 hunks)store/snapshots/README.md
(1 hunks)store/streaming/abci/README.md
(0 hunks)testutil/simsx/README.md
(4 hunks)tools/cosmovisor/CHANGELOG.md
(1 hunks)x/auth/README.md
(1 hunks)x/authz/README.md
(1 hunks)x/feegrant/README.md
(1 hunks)x/gov/README.md
(3 hunks)x/nft/README.md
(2 hunks)x/slashing/README.md
(1 hunks)x/staking/README.md
(2 hunks)
💤 Files with no reviewable changes (6)
- docs/docs/build/building-apps/00-runtime.md
- store/streaming/abci/README.md
- ROADMAP.md
- CONTRIBUTING.md
- RELEASE_PROCESS.md
- CODING_GUIDELINES.md
🧰 Additional context used
🪛 GitHub Actions: Check Markdown links
docs/docs/learn/advanced/06-grpc_rest.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/scripts/protoc-swagger-gen.sh (Status: 429)
docs/docs/learn/advanced/01-transactions.md
[error] 1-1: Markdown link check failed: 3 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/proto/cosmos/tx/signing/v1beta1/signing.proto#L17 (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/x/auth/tx/builder.go#L27-L44 (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/x/auth/migrations/legacytx/stdtx_builder.go#L14-L17 (Status: 429)
docs/architecture/adr-009-evidence-module.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/tendermint/spec/blob/7b3138e69490f410768d9b1ffc7a17abc23ea397/spec/consensus/fork-accountability.md (Status: 429)
docs/docs/build/tooling/README.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/cosmovisor/README.md (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/confix/README.md (Status: 429)
docs/architecture/adr-062-collections-state-layer.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-055-orm.md (Status: 429)
docs/architecture/adr-028-public-key-addresses.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/iov-one/weave/blob/master/conditions.go (Status: 429), [✖] https://www.linkedin.com/in/alan-szepieniec-7b1957142 (Status: 999)
docs/docs/learn/advanced/00-baseapp.md
[error] 1-1: Markdown link check failed: 17 dead links found. Examples: [✖] https://github.com/cometbft/cometbft/blob/v0.37.x/spec/abci/abci++_basic_concepts.md#mempool-methods (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/baseapp/options.go (Status: 429), ... (see logs for all dead links)
docs/docs/learn/advanced/05-encoding.md
[error] 1-1: Markdown link check failed: 5 dead links found. Examples: [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/x/auth/keeper/keeper.go#L239-L242 (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/x/staking/types/staking.pb.go#L340-L375 (Status: 429), ... (see logs for all dead links)
docs/docs/build/building-apps/01-app-go-di.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/simapp/app_config.go (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/release/v0.53.x/simapp/example_app.yaml (Status: 429)
docs/docs/learn/advanced/02-context.md
[error] 1-1: Markdown link check failed: 3 dead links found. [✖] https://docs.cometbft.com/master/spec/abci/abci.html#voteinfo (Status: 404), [✖] https://github.com/cosmos/cosmos-sdk/blob/main/core/comet/service.go#L14 (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/main/core/header/service.go#L14 (Status: 429)
docs/docs/learn/advanced/11-runtx_middleware.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/baseapp/recovery.go (Status: 429)
docs/docs/build/building-modules/15-depinject.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.50.0-alpha.0/scripts/protocgen-pulsar.sh (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.50.0-alpha.0/api/cosmos/group/module/v1/module.pulsar.go (Status: 429)
README.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/store/types/store.go (Status: 429), [✖] https://github.com/cosmos/iavl/blob/master/docs/overview.md (Status: 429)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/store/types/store.go (Status: 429), [✖] https://github.com/cosmos/iavl/blob/master/docs/overview.md (Status: 429)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://cosmos.network/whitepaper (Status: 404)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/RELEASE_PROCESS.md (Status: 429), [✖] https://docs.cosmos.network/main/architecture/adr-043-nft-module.html (Status: 404)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://cosmos.network/whitepaper (Status: 404), [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-037-gov-split-vote.md (Status: 429)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-009-evidence-module.md (Status: 429), [✖] https://github.com/cometbft/cometbft/blob/main/spec/abci/abci%2B%2B_basic_concepts.md#evidence (Status: 429)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-043-nft-module.md (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/proto/cosmos/nft/v1beta1/event.proto (Status: 429)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://cosmos.network/whitepaper (Status: 404)
[error] 1-1: Markdown link check failed: 4 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-030-authz-module.md (Status: 429), [✖] #SendAuthorization (Status: 404), [✖] #GenericAuthorization (Status: 404), [✖] #StakeAuthorization (Status: 404)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-029-fee-grant-module.md (Status: 429)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/tree/main/docs/spec/fee_distribution/f1_fee_distr.pdf (Status: 429)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-010-modular-antehandler.md (Status: 429)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/cosmovisor/README.md (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/confix/README.md (Status: 429)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/tree/main/CONTRIBUTING.md#updating-documentation (Status: 429)
docs/docs/build/building-modules/13-upgrade.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.50.0-alpha.0/x/bank/migrations/v2/store.go#L55-L76 (Status: 429)
docs/README.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/tree/main/CONTRIBUTING.md#updating-documentation (Status: 429)
docs/docs/learn/advanced/15-upgrade.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/cosmovisor/README.md (Status: 429)
docs/architecture/adr-059-test-scopes.md
[error] 1-1: Markdown link check failed: 16 dead links found. Examples: [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-053-go-module-refactoring.md (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-057-app-wiring.md (Status: 429), ... (see logs for all dead links)
docs/spec/SPEC_STANDARD.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/ibc/blob/main/spec/ics-001-ics-standard/README.md (Status: 429), [✖] https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1.md (Status: 429)
docs/docs/learn/beginner/00-app-anatomy.md
[error] 1-1: Markdown link check failed: 5 dead links found. Examples: [✖] #application-constructor (Status: 404), [✖] https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/any.proto (Status: 429), ... (see logs for all dead links)
docs/docs/learn/advanced/08-events.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/proto/cosmos/nft/v1beta1/event.proto#L21-L31 (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/x/bank/types/events.go (Status: 429)
🪛 LanguageTool
proto/README.md
[uncategorized] ~8-~8: Possible missing comma found.
Context: ...d goes in buf.md
and in each protobuf package following the guidelines in https://doc...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/architecture/adr-059-test-scopes.md
[typographical] ~139-~139: If specifying a range, consider using an en dash instead of a hyphen.
Context: ... A success may take a long time to run, 7-10 minutes per simulation in CI. * Timeout...
(HYPHEN_TO_EN)
docs/spec/addresses/bech32.md
[grammar] ~17-~17: The word ‘expos’ is a noun or an adjective. A verb or adverb is missing or misspelled here, or maybe a comma is missing.
Context: ...ng interfaces to Cosmos software should expos Bech32 interfaces, many internal interf...
(PRP_MD_NN)
[grammar] ~21-~21: Replace ‘sufficient’ with an appropriate verb.
Context: ...ing payload before Bech32 encoding will sufficient for compatible representation.
(MD_NN)
docs/architecture/adr-040-storage-and-smt-state-commitments.md
[uncategorized] ~273-~273: Possible missing article found.
Context: ...ngle blob of bytes, we could save it as record in a table in the state storage layer, ...
(AI_HYDRA_LEO_MISSING_A)
[uncategorized] ~273-~273: Possible missing article found.
Context: ...y that an object registered in RDBMS is same as the one committed to SMT, one will n...
(AI_HYDRA_LEO_MISSING_THE)
[grammar] ~277-~277: The word ‘responsible’ is a noun or an adjective. A verb is missing or misspelled, or maybe a comma is missing.
Context: ...ot automatically committed. Module will responsible for having a sound storage model and ca...
(MD_JJ)
crypto/bcrypt_readme.md
[style] ~7-~7: This phrasing can be wordy. For improved clarity, try opting for something more concise.
Context: ... this parameter choice seems sufficient for the time being. Bcrypt always generates a 448-bit key,...
(FOR_THE_TIME_BEING)
x/gov/README.md
[uncategorized] ~13-~13: You might be missing the article “the” here.
Context: ...aper) in June 2016. The module enables Cosmos SDK-based blockchain to support an on-c...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
🪛 Ruff (0.8.2)
scripts/valid-links.py
5-5: urllib.parse.urlparse
imported but unused
Remove unused import: urllib.parse.urlparse
(F401)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Summary
🔇 Additional comments (65)
docs/architecture/adr-054-semver-compatible-modules.md (2)
350-350
: Approve updated Buf plugin reference link.
The remote‐plugins URL has been corrected tohttps://buf.build/docs/bsr/remote-plugins/overview/
, matching the current Buf docs structure.
449-449
: Approve corrected relative path to module.proto.
Adjusting the link from../proto/...
to../../proto/...
properly accounts for the ADR’s location underdocs/architecture
. It should now resolve to the intendedcosmos.app.v1alpha1.module.proto
.crypto/bcrypt_readme.md (1)
5-5
: External link update approved.The new Auth0 blog link provides a more current and focused discussion on bcrypt security parameters, replacing the obsolete Stack Exchange reference.
docs/spec/addresses/bech32.md (1)
9-13
: Table formatting aligned properly
The updated HRP table is cleanly aligned and consistent, improving readability.UPGRADE_GUIDE.md (4)
55-55
: Improved clarity in section heading. Renaming to "ProtocolPool Manual Wiring" clearly aligns the section title with its content and distinguishes it from other wiring instructions. Ensure the Table of Contents entry#protocolpool-manual-wiring
matches this new heading.
162-162
: Consistent DI Wiring heading. Changing to "ProtocolPool DI Wiring" makes the section context explicit and maintains parallel structure with the manual wiring section. Confirm that the TOC link#protocolpool-di-wiring
is updated accordingly.
265-265
: Clarified Epochs manual wiring. The updated heading "Epochs Manual Wiring" improves specificity and mirrors the pattern used for ProtocolPool. Verify that the TOC anchor#epochs-manual-wiring
correctly links here.
340-340
: Explicit Epochs DI wiring heading. Renaming to "Epochs DI Wiring" ensures consistency across DI sections and enhances readability. Check that the Table of Contents entry#epochs-di-wiring
reflects this change.docs/docs/user/run-node/00-keyring.md (1)
95-95
:✅ Verification successful
Verify updated
kwallet
link
Please ensure the new KWallet Handbook URL resolves correctly (200 OK) and points to the intended KDE Wallet Manager page.Expected output:
200
🏁 Script executed:
#!/bin/bash # Check HTTP status for the updated kwallet link curl -o /dev/null -s -w "%{http_code}" https://apps.kde.org/kwalletmanager5/Length of output: 82
Link Verified: KWallet Handbook URL returns 200 OK
The updated link (https://apps.kde.org/kwalletmanager5/
) resolves correctly (HTTP 200). No further changes needed.docs/docs/learn/advanced/02-context.md (1)
37-37
: Approve updated link for Consensus Params
The new URL points to a versioned, stable endpoint (v1.0
) instead ofmaster
, which aligns with the goal of link validity.docs/architecture/adr-038-state-listening.md (1)
23-23
:❌ Incorrect review comment
Verify the updated link path for correctness.
The new URL contains
docs/docs/build/...
, which appears to duplicate thedocs
directory. In the Cosmos SDK repo, the correct path on the main branch should be:https://github.com/cosmos/cosmos-sdk/blob/main/docs/build/building-modules/02-messages-and-queries.md#queries
Please confirm the directory hierarchy and adjust the link accordingly.
🏁 Script executed:
#!/bin/bash # Verify the existence of both the duplicated-path and corrected-path URLs echo "Checking incorrect URL:" curl -s -o /dev/null -w "HTTP %{http_code}\n" https://raw.githubusercontent.com/cosmos/cosmos-sdk/main/docs/docs/build/building-modules/02-messages-and-queries.md echo "Checking correct URL:" curl -s -o /dev/null -w "HTTP %{http_code}\n" https://raw.githubusercontent.com/cosmos/cosmos-sdk/main/docs/build/building-modules/02-messages-and-queries.mdLength of output: 452
No action needed: current docs link is valid
Verified that the path with the duplicated
docs/docs/build/...
returns HTTP 200, whereas the suggested “correct” path without the extradocs/
returns 404. The existing link is accurate and should remain unchanged.Likely an incorrect or invalid review comment.
UPGRADING.md (2)
15-15
: Link updated to v0.53.0 changelog
The changelog link now points to thev0.53.0
tag, ensuring it references a stable release rather than a moving branch.
103-103
: SimApp example link points to v0.53.0 tag
The SimApp wiring example correctly references thev0.53.0
tag. This is consistent with the other tag-based link updates.docs/spec/SPEC_STANDARD.md (2)
55-55
: Correct the internal anchor link to the History section
The link[below](#history)
now correctly matches the "History" header ID, ensuring the reference navigates to the intended section.
114-115
:✅ Verification successful
Investigate CI link failures for external references
The Markdown link checker is reporting HTTP 429 (rate limited) for these URLs:
- https://github.com/cosmos/ibc/blob/main/spec/ics-001-ics-standard/README.md
- https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1.md
Please verify that these destinations are still valid and consider either:
- Switching to raw GitHub URLs (e.g., raw.githubusercontent.com)
- Adjusting the link-checker configuration to handle rate limits or retry failures
You can run this quick check locally:
🏁 Script executed:
#!/bin/bash urls=( "https://github.com/cosmos/ibc/blob/main/spec/ics-001-ics-standard/README.md" "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1.md" ) for url in "${urls[@]}"; do echo "Checking $url" curl -I -s "$url" | head -n 1 doneLength of output: 733
External GitHub links validated—HTTP 200
Both URLs indocs/spec/SPEC_STANDARD.md
(lines 114–115) return HTTP 200 on manual checks. No changes to the Markdown links are required. If your CI still encounters 429 rate-limit errors, consider adding retries or ignoring 429 responses in your link-checker configuration, or switch to raw.githubusercontent.com URLs for greater stability.x/auth/README.md (1)
35-35
: Approve corrected relative link for authz module. The link now correctly points to../authz/
, improving navigation consistency.x/authz/README.md (1)
41-41
: Approve corrected relative link for auth module. The link now correctly points to../auth/
, aligning with x/auth README.README.md (1)
33-33
: Approve updated Go homepage link. The link correctly points tohttps://go.dev
, which is more stable than the direct download page.docs/docs/learn/advanced/00-baseapp.md (1)
230-230
:✅ Verification successful
Verify anchor updates after renaming heading
After renaming “Main ABCI 2.0 Messages” to “Main ABCI Messages”, please verify that all internal links and TOC references resolve correctly. For example, run:and update any stale anchors.
🏁 Script executed:
#!/bin/bash # Check for any remaining references to the old anchor rg -n '#main-abci-2\.0-messages' docs/docs/learn/advanced/00-baseapp.mdLength of output: 73
🏁 Script executed:
#!/bin/bash # Search for any references to the old anchor across all documentation rg -n '#main-abci-2\.0-messages' docsLength of output: 39
All references updated: no stale anchors detected
Ranrg -n '#main-abci-2\.0-messages' docs
across the documentation and found no remaining matches. Internal links and TOC references should now resolve correctly.x/staking/README.md (2)
10-10
: Correct external Cosmos Whitepaper linkUpdated the URL to point to
https://cosmos.network/whitepaper
instead of the outdated/about/whitepaper
.
52-52
: Fix internal End-Block anchor linkRemoved the
-1
suffix from the#queues
anchor to match the actual section ID.testutil/simsx/README.md (4)
6-6
: Update Message Factory link to correct pathLink now points to
testutil/simsx/msg_factory.go
, reflecting the actual directory structure.
21-21
: Fix Sims registry link pathUpdated the URL to
testutil/simsx/registry.go
for accurate module location.
32-32
: Adjust Reporter link to correct directoryCorrected the link target to
testutil/simsx/reporter.go
to align with the repository layout.
45-45
: Correct Test data environment link targetLink now points to
testutil/simsx/environment.go
, ensuring consistency with the file path.x/nft/README.md (3)
19-19
: Fix Class anchor linkRemoved the
-1
suffix from#class
anchor so it matches the corresponding section header.
20-20
: Fix NFT anchor linkRemoved the
-1
suffix from#nft
anchor to align with the actual section heading.
91-91
: Update external Proto event linkChanged the URL to reference the versioned v0.53.0 path for
event.proto
, improving link stability.x/feegrant/README.md (2)
24-24
: Fix MsgGrantAllowance anchor linkRemoved the erroneous
-1
suffix from#msggrantallowance
to match the section heading.
25-25
: Fix MsgRevokeAllowance anchor linkRemoved the
-1
suffix from#msgrevokeallowance
to align with the actual header.docs/architecture/adr-019-protobuf-state-encoding.md (1)
153-153
: Update GoGoproto Any link to use 'main' branchChanged the link from
master
tomain
branch in the gogoproto URL for consistency with current default branch naming.docs/architecture/adr-033-protobuf-inter-module-comm.md (1)
400-400
: External link update looks good
The external URL now points to the canonical Object-Capabilities resource (https://decentralized-id.com/development/object-capabilities/
), improving accuracy and consistency.proto/README.md (1)
3-3
: Streamlined phrasing is clear
Changing "All of the Cosmos SDK proto files" to "All Cosmos SDK proto files" enhances readability and conciseness.x/gov/README.md (4)
10-10
: Updated Cosmos Whitepaper link
The external link has been corrected tohttps://cosmos.network/whitepaper
, resolving the broken URL and pointing to the current whitepaper.
13-13
: Hyphenation correction
The term "Cosmos SDK-based blockchain" now includes proper hyphenation, enhancing clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~13-~13: You might be missing the article “the” here.
Context: ...aper) in June 2016. The module enables Cosmos SDK-based blockchain to support an on-c...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
42-50
: Verify internal anchor updates
Several anchor links were simplified (e.g.,#deposit
,#proposal-submission
,#vote
). Please confirm that the corresponding section headers match these new IDs to avoid broken internal references.
60-61
: Verify metadata anchor updates
The metadata anchors (#proposal
,#vote
) were updated; ensure those headings exist exactly as referenced.docs/README.md (2)
32-32
: Improve phrasing for starting docs
Changing "For starting only the current documentation, run:" to "To start only the current documentation, run:" streamlines the instruction.
41-41
: Correct verb agreement
Switching "only build the docs" to "only builds the docs" fixes subject-verb agreement.docs/docs/build/building-modules/15-depinject.md (1)
9-9
: Use official pkg.go.dev link for depinjectSwitching from a relative markdown link to the absolute
pkg.go.dev
URL ensures readers are directed to the canonical Go package documentation, improving link stability and accuracy.docs/architecture/adr-062-collections-state-layer.md (1)
81-81
: Remove obsolete collections usage exampleThe update removes the outdated Nibiru
x/perp
example and retains only the relevantx/oracle
usage link, keeping the ADR focused and up to date.docs/docs/learn/advanced/11-runtx_middleware.md (1)
11-11
: Fix ADR-022 relative link and verify recovery.go referenceThe relative path to ADR-022 is now correctly deepened to
../../../architecture/adr-022-custom-panic-handling.md
. Please also verify that therecovery.go
GitHub link remains reachable (pipeline is flagging it as rate-limited).docs/docs/build/tooling/README.md (1)
12-13
: Convert local tool links to absolute GitHub referencesUpdating the
Cosmovisor
andConfix
links to absolute URLs improves cross-repo consistency. Please verify that these links resolve correctly and consider pointing to a stable release tag if the pipeline continues to report failures.docs/docs/build/building-modules/03-msg-services.md (1)
22-22
: Correct ADR-031 link pathThe relative link to ADR-031 now uses the proper traversal depth (
../../../architecture/adr-031-msg-service.md
), ensuring the document navigates correctly.docs/docs/learn/advanced/06-grpc_rest.md (1)
29-29
: Approve removal of unnecessary hyperlink.Stripping the Markdown link around “encoding” clarifies that Protobuf itself is the encoding library, without implying an external resource.
docs/docs/learn/beginner/04-gas-fees.md (2)
49-49
: Approve fix to the main/block gas meter anchor.Updating the anchor from
#main-gas-metter
to#main-gas-meter
ensures the internal link resolves correctly.
61-61
: Approve American-English spelling update.Changing “initialisation” to “initialization” aligns with the rest of the documentation’s styling.
docs/docs/build/building-apps/01-app-go-di.md (2)
10-10
: Approve deeper relative path for ADR-057 link.Adjusting the link to
../../../architecture/adr-057-app-wiring.md
matches the file’s directory depth and prevents 404s.
18-18
: Approve ADR-057 link update in prerequisites.The new relative path correctly points to the architecture ADR document.
docs/docs/build/build.md (1)
8-8
: Approve simplification of the Modules link.Removing the
.md
suffix and pointing to./modules
is consistent with other section links.docs/docs/learn/advanced/08-events.md (1)
36-36
: Approve correction of ADR link path.Updating the path to
../../../architecture/adr-032-typed-events.md
ensures the link resolves from the current file’s location.docs/docs/learn/advanced/01-transactions.md (1)
98-98
: Correct ADR-050 link depth
The updated relative path now uses three levels of traversal (../../../architecture/adr-050-sign-mode-textual.md
), which matches the repository structure and fixes the broken link to ADR-050..github/PULL_REQUEST_TEMPLATE.md (1)
13-13
: Streamline checklist wording
Changing “follow up issues” to “followup issues” improves consistency and readability in the template copy.docs/docs/build/building-modules/13-upgrade.md (1)
63-63
: Fix ADR-028 link path
Updating the relative link to use../../../architecture/adr-028-public-key-addresses.md
correctly points to ADR-028 from this document’s location.tools/cosmovisor/CHANGELOG.md (1)
176-176
: Update first-release changelog entry link
Switching to the canonicalmain/tools/cosmovisor/README.md
path ensures the link remains valid across versions and branches.docs/docs/learn/advanced/05-encoding.md (1)
50-50
: Standardize Collections link to pkg.go.dev
Replacing the local markdown link with the absolutehttps://pkg.go.dev/cosmossdk.io/collections
directs readers to the authoritative API docs..gitignore (1)
61-63
: Ignored status file for link-checking script.
The newdocs_links_status.md
report file generated by thescripts/valid-links.py
should indeed be ignored to prevent spurious commits.docs/docs/learn/beginner/00-app-anatomy.md (2)
152-152
: Verify relative ADR-019 link and external GitHub URL.
The added explanation links to../../build/architecture/adr-019-protobuf-state-encoding.md
and an external GitHub path forgogoproto
details. Please confirm both paths resolve correctly and consider using a stable pkg.go.dev link for thegogoproto
properties file if GitHub rate-limiting persists.
225-225
: Phrasing improvement is clear and concise.
The refinement to "via the module interface" improves accuracy.docs/docs/build/packages/README.md (1)
23-23
: Approve Collections link update.
The link to the Collections package on pkg.go.dev is accurate and follows the project pattern.docs/docs/build/building-modules/16-testing.md (2)
25-25
: Approve mockgen reference link.
The link to the officialgo.uber.org/mock
package on pkg.go.dev is correctly formatted and points to the appropriate documentation.
119-124
: Verify ADR-59 documentation link consistency.
Multiple references to ADR-59 now point tohttps://docs.cosmos.network/main/build/architecture/adr-059-test-scopes
. Please confirm this path resolves correctly, and update if the documentation has moved or uses a different branch/tag.docs/architecture/adr-059-test-scopes.md (2)
59-59
: Good approach pinning the link to a specific version.Pinning the reference to a specific version tag (v0.50.0) instead of using the default branch improves stability and ensures the example remains valid regardless of future changes to the repository.
155-155
: Clear description of E2E test limitations.The simplified description of end-to-end test limitations is more precise and easier to understand.
scripts/valid-links.py (1)
1-166
: Well-structured link validator with effective error handling and caching.This script provides a comprehensive solution for checking links in markdown files, including both web URLs and local references. It implements smart features like:
- Caching to avoid redundant checks
- Rate-limiting fallback with exponential backoff
- Special handling for potentially valid but blocked sites
- Intra-document anchor validation
- Detailed reporting
The implementation is clean and follows good practices with modular functions and clear error handling.
🧰 Tools
🪛 Ruff (0.8.2)
5-5:
urllib.parse.urlparse
imported but unusedRemove unused import:
urllib.parse.urlparse
(F401)
@@ -23,7 +23,7 @@ Clients that use this feature may now submit their transactions in a fire-and-fo | |||
To submit an unordered transaction, clients must set the `unordered` flag to | |||
`true` and ensure a reasonable `timeout_timestamp` is set. The `timeout_timestamp` is | |||
used as a TTL for the transaction and provides replay protection. Each transaction's `timeout_timestamp` must be | |||
unique to the account; however, the difference may be as small as a nanosecond. See [ADR-070](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-070-unordered-transactions.md) for more details. | |||
unique to the account; however, the difference may be as small as a nanosecond. See [ADR-070](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-070-unordered-account.md) for more details. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Inconsistent ADR-070 link reference
The ADR link still points to the main
branch, which could lead to mismatched content if the ADR changes upstream. It should reference the v0.53.0
tag for stability.
Please apply this diff:
- See [ADR-070](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-070-unordered-account.md)
+ See [ADR-070](https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/docs/architecture/adr-070-unordered-account.md)
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
unique to the account; however, the difference may be as small as a nanosecond. See [ADR-070](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-070-unordered-account.md) for more details. | |
unique to the account; however, the difference may be as small as a nanosecond. See [ADR-070](https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/docs/architecture/adr-070-unordered-account.md) for more details. |
🤖 Prompt for AI Agents (early access)
In UPGRADING.md at line 26, the ADR-070 link currently points to the main
branch, which risks linking to changing content. Update the URL to reference the
v0.53.0 tag instead of main to ensure the link points to a stable, versioned
document.
@@ -7,7 +7,7 @@ sidebar_position: 1 | |||
## Abstract | |||
|
|||
This section specifies the slashing module of the Cosmos SDK, which implements functionality | |||
first outlined in the [Cosmos Whitepaper](https://cosmos.network/about/whitepaper) in June 2016. | |||
first outlined in the [Cosmos Whitepaper](https://cosmos.network/whitepaper) in June 2016. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Broken external link to Cosmos Whitepaper. The updated URL (https://cosmos.network/whitepaper
) returns 404. Please update to a valid whitepaper location, e.g.:
-[Cosmos Whitepaper](https://cosmos.network/whitepaper)
+[Cosmos Whitepaper](https://v1.cosmos.network/whitepaper)
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
first outlined in the [Cosmos Whitepaper](https://cosmos.network/whitepaper) in June 2016. | |
first outlined in the [Cosmos Whitepaper](https://v1.cosmos.network/whitepaper) in June 2016. |
🤖 Prompt for AI Agents (early access)
In x/slashing/README.md at line 10, the link to the Cosmos Whitepaper is broken
and returns a 404 error. Update the URL to a valid and current location of the
Cosmos Whitepaper, such as the official Cosmos documentation site or repository
where the whitepaper is hosted, ensuring the link is accessible and correct.
@@ -20,7 +20,7 @@ service definitions defined in [ADR 021](./adr-021-protobuf-query-encoding.md) a | |||
|
|||
## Context | |||
|
|||
In the current Cosmos SDK documentation on the [Object-Capability Model](../../learn/advanced/10-ocap.md), it is stated that: | |||
In the current Cosmos SDK documentation on the [Object-Capability Model](../docs/learn/advanced/10-ocap.md), it is stated that: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Broken relative link path
The updated relative path ../docs/learn/advanced/10-ocap.md
from this ADR resolves to docs/docs/learn/...
, which will 404. The correct relative path from docs/architecture/adr-033-...
to the 10-ocap.md
file is ../learn/advanced/10-ocap.md
.
Apply this diff:
- In the current Cosmos SDK documentation on the [Object-Capability Model](../docs/learn/advanced/10-ocap.md)
+ In the current Cosmos SDK documentation on the [Object-Capability Model](../learn/advanced/10-ocap.md)
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
In the current Cosmos SDK documentation on the [Object-Capability Model](../docs/learn/advanced/10-ocap.md), it is stated that: | |
- In the current Cosmos SDK documentation on the [Object-Capability Model](../docs/learn/advanced/10-ocap.md), it is stated that: | |
+ In the current Cosmos SDK documentation on the [Object-Capability Model](../learn/advanced/10-ocap.md), it is stated that: |
🤖 Prompt for AI Agents (early access)
In docs/architecture/adr-033-protobuf-inter-module-comm.md at line 23, the
relative link path to the Object-Capability Model documentation is incorrect and
resolves to docs/docs/learn/..., causing a 404 error. Update the link path from
../docs/learn/advanced/10-ocap.md to ../learn/advanced/10-ocap.md to correctly
reference the target file relative to the ADR location.
@@ -289,7 +289,7 @@ More specifically, any special account address must not have a length equal to 2 | |||
|
|||
## Appendix: Consulting session | |||
|
|||
End of Dec 2020 we had a session with [Alan Szepieniec](https://scholar.google.be/citations?user=4LyZn8oAAAAJ&hl=en) to consult the approach presented above. | |||
End of Dec 2020 we had a session with [Alan Szepieniec](https://www.linkedin.com/in/alan-szepieniec-7b1957142) to consult the approach presented above. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LinkedIn link triggers pipeline failure
The link to Alan Szepieniec’s LinkedIn profile (https://www.linkedin.com/in/alan-szepieniec-7b1957142
) returns a 999 status in the Markdown link check. Consider replacing it with an accessible resource (e.g., his Google Scholar profile) or appending a trailing slash:
-[Alan Szepieniec](https://www.linkedin.com/in/alan-szepieniec-7b1957142)
+[Alan Szepieniec](https://www.linkedin.com/in/alan-szepieniec-7b1957142/)
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
End of Dec 2020 we had a session with [Alan Szepieniec](https://www.linkedin.com/in/alan-szepieniec-7b1957142) to consult the approach presented above. | |
End of Dec 2020 we had a session with [Alan Szepieniec](https://www.linkedin.com/in/alan-szepieniec-7b1957142/) to consult the approach presented above. |
🤖 Prompt for AI Agents (early access)
In docs/architecture/adr-028-public-key-addresses.md at line 292, the LinkedIn
URL for Alan Szepieniec causes the Markdown link check to fail with a 999
status. To fix this, replace the LinkedIn URL with an accessible alternative
such as his Google Scholar profile or add a trailing slash to the existing
LinkedIn URL to ensure it passes the link check.
# python | ||
.venv | ||
bin | ||
lib | ||
pyvenv.cfg |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Avoid overly broad ignore patterns for common directories.
Ignoring bin
and lib
at the repo root can inadvertently hide legitimate files or folders named bin
or lib
. Since .venv
already covers these subdirectories, remove the generic entries or scope them to the virtual environment.
Consider applying this diff:
@@ .gitignore
-# python
-.venv
-bin
-lib
-pyvenv.cfg
+# python
+.venv/
+# pyvenv.cfg (virtual environment metadata)
+pyvenv.cfg
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
# python | |
.venv | |
bin | |
lib | |
pyvenv.cfg | |
# python | |
.venv/ | |
# pyvenv.cfg (virtual environment metadata) | |
pyvenv.cfg |
🤖 Prompt for AI Agents (early access)
In the .gitignore file around lines 55 to 59, the entries for ignoring 'bin' and
'lib' are too broad and may unintentionally exclude important files or
directories named 'bin' or 'lib' outside the virtual environment. Remove these
generic 'bin' and 'lib' ignore patterns or modify them to specifically target
the virtual environment subdirectories, since '.venv' already covers these
paths. This will prevent accidentally ignoring unrelated files.
@@ -159,4 +159,4 @@ You can sync a full node to an existing blockchain which has been upgraded using | |||
|
|||
To successfully sync, you must start with the initial binary that the blockchain started with at genesis. If all Software Upgrade Plans contain binary instruction, then you can run Cosmovisor with auto-download option to automatically handle downloading and switching to the binaries associated with each sequential upgrade. Otherwise, you need to manually provide all binaries to Cosmovisor. | |||
|
|||
To learn more about Cosmovisor, see the [Cosmovisor Quick Start](../../build/tooling/01-cosmovisor.md). | |||
To learn more about Cosmovisor, see the [Cosmovisor Quick Start](https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/cosmovisor/README.md). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
External GitHub link fails link-checking.
The link to the Cosmovisor README on GitHub is currently returning a 429 (rate-limited) error in CI. To ensure the link passes the Markdown checker, consider switching to the raw content URL or use a canonical pkg.go.dev reference.
Example diff:
-To learn more about Cosmovisor, see the [Cosmovisor Quick Start](https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/cosmovisor/README.md).
+To learn more about Cosmovisor, see the [Cosmovisor Quick Start](https://raw.githubusercontent.com/cosmos/cosmos-sdk/v0.53.0/tools/cosmovisor/README.md).
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
To learn more about Cosmovisor, see the [Cosmovisor Quick Start](https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/cosmovisor/README.md). | |
To learn more about Cosmovisor, see the [Cosmovisor Quick Start](https://raw.githubusercontent.com/cosmos/cosmos-sdk/v0.53.0/tools/cosmovisor/README.md). |
🤖 Prompt for AI Agents (early access)
In docs/docs/learn/advanced/15-upgrade.md at line 162, the external GitHub link
to the Cosmovisor README causes a 429 rate-limit error during CI link-checking.
To fix this, replace the current GitHub URL with either the raw content URL of
the README file or a canonical reference such as the pkg.go.dev link for
Cosmovisor, ensuring the link is stable and passes the Markdown checker.
|
||
## Automation | ||
|
||
* [Depinject](./01-depinject.md) - Dependency injection framework | ||
* [Depinject]https://pkg.go.dev/cosmossdk.io/depinject) - Dependency injection framework |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix Markdown link formatting for Depinject.
The Depinject link is missing an opening parenthesis. It currently reads:
* [Depinject]https://pkg.go.dev/cosmossdk.io/depinject) - Dependency injection framework
This breaks Markdown rendering. Apply this diff to correct it:
-* [Depinject]https://pkg.go.dev/cosmossdk.io/depinject) - Dependency injection framework
+* [Depinject](https://pkg.go.dev/cosmossdk.io/depinject) - Dependency injection framework
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
* [Depinject]https://pkg.go.dev/cosmossdk.io/depinject) - Dependency injection framework | |
* [Depinject](https://pkg.go.dev/cosmossdk.io/depinject) - Dependency injection framework |
🤖 Prompt for AI Agents (early access)
In docs/docs/build/packages/README.md at line 27, the Markdown link for
Depinject is missing an opening parenthesis before the URL, causing rendering
issues. Fix this by adding the opening parenthesis immediately after the link
text "Depinject" so the link is properly formatted as
[Depinject](https://pkg.go.dev/cosmossdk.io/depinject).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 6
🔭 Outside diff range comments (5)
docs/README.md (1)
3-3
:⚠️ Potential issueBroken link to CONTRIBUTING.md
TheCONTRIBUTING.md
file was removed in this PR, so this GitHub link is now dead (pipeline 429/404). Update or remove it. For example:- If you want to open a PR in Cosmos SDK to update the documentation, please follow the guidelines in [`CONTRIBUTING.md`](https://github.com/cosmos/cosmos-sdk/tree/main/CONTRIBUTING.md#updating-documentation) and the [Documentation Writing Guidelines](./DOC_WRITING_GUIDELINES.md). + If you want to open a PR in Cosmos SDK to update the documentation, please follow the [Documentation Writing Guidelines](./DOC_WRITING_GUIDELINES.md#updating-documentation).docs/docs/learn/beginner/00-app-anatomy.md (1)
1-280
: 💡 Verification agent🧩 Analysis chain
Note: Pipeline still detects broken links in this file.
The CI pipeline reports issues with some links in the file including
#application-constructor
(404) which doesn't appear to be fixed in this PR.Verify whether these remaining link issues should be addressed as part of this PR:
🌐 Web query:
Are there common GitHub practices for addressing internal anchor links that return 404 errors in documentation?
💡 Result:
When dealing with internal anchor links in GitHub documentation that return 404 errors, there are several practices and considerations to keep in mind.
Understanding Anchor Links in GitHub
GitHub uses a specific approach to anchor links that requires attention to detail to prevent 404 errors. Internal anchor links in GitHub documentation can break for various reasons, leading to frustrating user experiences.
Custom Anchors
GitHub allows custom HTML anchor tags to create navigation anchor points anywhere in your document. To implement these properly:
- Use standard HTML anchor tags like
<a name="unique-anchor-name"></a>
- Create unique naming schemes for anchor tags to avoid ambiguous references
- Understand that custom anchors won't be included in document outlines or Tables of Contents[1]
You can link to these custom anchors using the standard markdown format:
[link text](#my-custom-anchor-point)
[1]Heading Anchors
For heading-based anchors, GitHub automatically generates them by:
- Adding hyphen (-) characters between each word in the heading
- Converting all characters to lowercase
- Removing special characters[2]
Common Causes of 404 Errors in Anchor Links
Several issues can lead to anchor links returning 404 errors:
Case Sensitivity
The
index.html
file and anchor names are case sensitive. For example,Index.html
or anchor references with incorrect capitalization will not work properly[6].Directory Structure Issues
Make sure your directory contents are properly organized in the root directory. Anchor links may fail if the file structure doesn't match what's expected[6].
Link Format Problems
When creating links between documents:
- Use relative links rather than absolute paths
- Link directly to Markdown files or real files in the docs directory (e.g.,
about.md
,../about.md
,../about/index.md
)- Avoid linking to "imaginary destinations" like
about.html
or/about
[8]Link Maintenance
Links can become broken when documentation is restructured or URLs change. Regular link checking is essential:
- Use a link checker regularly to find broken links to section titles or anchors
- Note that broken anchor links might not be reported as errors during builds[4]
Best Practices for Addressing Anchor Link Errors
Link Formatting Guidelines
When creating links in documentation:
- Use meaningful links that provide value to the user's journey
- For links to other GitHub Docs pages, use the special keyword
AUTOTITLE
for link text- Don't apply styling to links or wrap them in quotation marks
- Don't include punctuation marks within hyperlinks[5]
Proper Linking Syntax
For linking to sections in other pages:
- Use the format:
[AUTOTITLE](/PATH/TO/PAGE#SECTION-LINK)
- Ensure anchor references match the automatically generated anchors from headings[5]
Maintaining Links Over Time
To prevent links from breaking:
- Check logs and review 404 page analytics to identify common patterns of errors
- Implement redirects for frequently accessed but moved content
- When restructuring documentation, consider the impact on existing links[10]
- Regularly audit and update documentation to fix broken links
By following these practices, you can significantly reduce the occurrence of 404 errors in your GitHub documentation's internal anchor links, improving the user experience for those navigating your content.
Citations:
- 1: https://docs.github.com/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax
- 2: https://gist.github.com/asabaylus/3071099
- 3: Suggestion: adding an option to render a more accessible anchor link valeriangalliat/markdown-it-anchor#82
- 4: https://github.com/owncloud/docs/blob/master/docs/best-practices.md
- 5: https://docs.github.com/enterprise-cloud@latest/contributing/style-guide-and-content-model/style-guide
- 6: https://docs.github.com/en/[email protected]/pages/getting-started-with-github-pages/troubleshooting-404-errors-for-github-pages-sites
- 7: 404 link in docs best practices google/docsy#2211
- 8: Guidance on creating links between documents when hosting on readthedocs mkdocs/mkdocs#3230
- 9: https://docs.github.com/en/pages/getting-started-with-github-pages/troubleshooting-404-errors-for-github-pages-sites
- 10: https://chrismorgan.info/blog/github-links-case-study/
Fix broken internal anchor links in 00-app-anatomy.md
The CI is still flagging 404s for internal anchors (e.g.
#application-constructor
), because those IDs don’t exist. The headings generate slugs like#constructor-function
, not#application-constructor
. Please update all incorrect anchors:• docs/docs/learn/beginner/00-app-anatomy.md
– Replace any](#application-constructor)
with](#constructor-function)
– Verify other anchors (e.g.#initchainer
,#preblocker
,#beginblocker-and-endblocker
, etc.) match their corresponding heading slugs.After updating, re-run the link checker to confirm no more broken anchors.
🧰 Tools
🪛 LanguageTool
[style] ~57-~57: Consider a more concise word here.
Context: ...rialize and deserialize data structures in order to store them, as stores can only persist ...(IN_ORDER_TO_PREMIUM)
[style] ~68-~68: Consider a more concise word here.
Context: ...must fulfill theAppCreator
signature in order to be used in the [start
command](../adv...(IN_ORDER_TO_PREMIUM)
[style] ~78-~78: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ..., and all the appropriate store keys. * Instantiate all thekeeper
objects def...(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~81-~81: Did you mean ‘different from’? ‘Different than’ is often considered colloquial style.
Context: ...e module. Should the value be different than the predicted one, special logic define...(DIFFERENT_THAN)
[style] ~81-~81: To elevate your writing, try using a synonym here.
Context: ...producing long-lasting effects that are hard to fix. * With the module manager, set ...(HARD_TO)
[style] ~84-~84: This phrase is redundant. Consider writing “started”.
Context: ...o initialize the application when it is first started. *PreBlocker
: cal...(FIRST_BEGAN)
[uncategorized] ~85-~85: Loose punctuation mark.
Context: ...arted. *PreBlocker
: called before BeginBlock. * [`Begin...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~86-~86: Loose punctuation mark.
Context: ...before BeginBlock. * [BeginBlocker
,EndBlocker
](#beginblocker-and-endbloc...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~87-~87: Loose punctuation mark.
Context: ...](../advanced/00-baseapp.md#antehandler): used to handle fees and signature verif...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~93-~93: You might be missing the article “an” here.
Context: ... for the first time. See an example of application constructor fromsimapp
: ```go refer...(AI_EN_LECTOR_MISSING_DETERMINER_AN)
[uncategorized] ~150-~150: Loose punctuation mark.
Context: ...our fields means: *InterfaceRegistry
: TheInterfaceRegistry
is used by the ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~153-~153: Loose punctuation mark.
Context: ...9-protobuf-state-encoding.md). *Codec
: The default codec used throughout the C...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~154-~154: Loose punctuation mark.
Context: ...K uses Protobuf asCodec
. *TxConfig
:TxConfig
defines an interface a clien...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~155-~155: Loose punctuation mark.
Context: .../advanced/01-transactions.md). *Amino
: Some legacy parts of the Cosmos SDK sti...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~166-~166: Consider a more concise word here.
Context: ...0-baseapp.md) to the appropriate module in order to be processed. This paradigm enables dev...(IN_ORDER_TO_PREMIUM)
[uncategorized] ~184-~184: It looks like there might be a possessive apostrophe missing. Consider inserting it.
Context: ....sdk.Msg
s are encoded using ProtobufAny
s. By analyzing eachAny
's `type...(AI_EN_LECTOR_MISSING_NOUN_POSSESSIVE)
[style] ~195-~195: Consider a more concise word here.
Context: ...3-L36 ``` Service methods usekeeper
in order to update the module state. Each module s...(IN_ORDER_TO_PREMIUM)
[formatting] ~219-~219: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...to unmarshal them when it retrieves them, because stores only accept[]bytes
as value. ...(COMMA_BEFORE_BECAUSE)
[uncategorized] ~232-~232: Possible missing preposition found.
Context: ... to the appropriate querier thequeryRoute
parameter supplied. #### ...(AI_HYDRA_LEO_MISSING_OF)
[uncategorized] ~269-~269: A punctuation mark might be missing here.
Context: ...sed framework for versioning control is [go.mod
](https://github.com/golang/go/w...(AI_EN_LECTOR_MISSING_PUNCTUATION)
🪛 GitHub Actions: Check Markdown links
[error] 1-1: Markdown link check failed: 5 dead links found. Example: [✖] #application-constructor (Status: 404), [✖] https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/any.proto (Status: 429), ... (see logs for full list)
docs/architecture/adr-040-storage-and-smt-state-commitments.md (2)
26-27
:⚠️ Potential issueBroken link: iavl node documentation is unreachable.
The link
https://github.com/cosmos/iavl/blob/master/docs/node/node.md
returns a 429. Please verify the correct path or replace with an archived or updated URL.
74-74
:⚠️ Potential issueBroken link: Celestia spec "Sparse Merkle Tree" path invalid.
The URL
https://github.com/celestiaorg/celestia-specs/blob/ec98170398dfc6394423ee79b00b71038879e211/src/specs/data_structures.md#sparse-merkle-tree
returns a 429. Please confirm the repository path or link to an archived version.docs/architecture/adr-028-public-key-addresses.md (1)
35-35
:⚠️ Potential issueBroken link: weave
conditions.go
is unreachable.
The URL
https://github.com/iov-one/weave/blob/master/conditions.go
returns a 429. Please verify the repository location or use an archived copy.🧰 Tools
🪛 LanguageTool
[misspelling] ~35-~35: This word is normally spelled with a hyphen.
Context: ... a condition to be a type and format as human readable string with some binary data appended. ...(EN_COMPOUNDS_HUMAN_READABLE)
[uncategorized] ~35-~35: The abbreviation “e.g.” (= for example) requires two periods.
Context: ...ven address with a different condition (eg ed25519 vs secp256k1). > This is explai...(E_G)
🧹 Nitpick comments (18)
crypto/bcrypt_readme.md (2)
5-5
: Use descriptive link text for accessibility
Avoid using generic link text like "here". A more specific label helps all readers (including those using screen readers) understand the link’s destination.
Suggested change:-For some background into security parameter considerations, see [here](https://auth0.com/blog/hashing-in-action-understanding-bcrypt/). +For some background on security parameter considerations, see the [Auth0 blog post on bcrypt hashing](https://auth0.com/blog/hashing-in-action-understanding-bcrypt/).
7-7
: Simplify phrasing by removing “for the time being”
The phrase “for the time being” is wordy. Condensing it improves clarity.
Suggested change:-Given our security model, … this parameter choice seems sufficient for the time being. +Given our security model, … this parameter choice is sufficient for now.🧰 Tools
🪛 LanguageTool
[style] ~7-~7: This phrasing can be wordy. For improved clarity, try opting for something more concise.
Context: ... this parameter choice seems sufficient for the time being. Bcrypt always generates a 448-bit key,...(FOR_THE_TIME_BEING)
docs/docs/learn/advanced/00-baseapp.md (2)
168-168
: Consider re-adding a stable link for "custom mempool handlers"
You've converted the markdown link to plain text to avoid a dead link, which is valid for build stability. As an optional enhancement, if there’s a maintained reference (in-repo or external) for custom mempool handlers, linking to it could improve discoverability without risking future link rot.
179-179
: Consider re-adding a stable link for "custom mempool handlers"
As above, removing the link prevents pipeline failures but reduces navigability. If a reliable anchor or canonical URL exists, consider updating the link to point there.CHANGELOG.md (1)
287-287
: Consider re-adding advisory hyperlink
Removing the link aroundGHSA-4j93-fm92-rp4m
reduces discoverability of the security advisory. Consider linking the ID to the advisory page (https://github.com/cosmos/cosmos-sdk/security/advisories/GHSA-4j93-fm92-rp4m
).README.md (1)
50-50
: Replace placeholder in Contributing section
TheTODO NEW CONTRIBUTING GUIDE
placeholder should be replaced with a link to the new contributing guidelines or removed before publishing.proto/README.md (1)
7-9
: Clean up formatting and punctuation
There's a stray|
at the end of line 9 and a missing comma before "following". Consider this diff:-All Cosmos SDK proto files are defined here. This folder should -be synced regularly with buf.build/cosmos/cosmos-sdk regularly by -a maintainer by running `buf push` in this folder. - -User-facing documentation should not be placed here but instead goes in -`buf.md` and in each protobuf package following the guidelines in -https://docs.buf.build/bsr/documentation. | +All Cosmos SDK proto files are defined here. This folder should +be synced regularly with buf.build/cosmos/cosmos-sdk by a maintainer +running `buf push` in this folder. + +User-facing documentation should not be placed here but instead goes in +`buf.md`, and in each protobuf package, following the guidelines in +https://docs.buf.build/bsr/documentation.🧰 Tools
🪛 LanguageTool
[uncategorized] ~8-~8: Possible missing comma found.
Context: ...d goes inbuf.md
and in each protobuf package following the guidelines in https://doc...(AI_HYDRA_LEO_MISSING_COMMA)
scripts/valid-links.py (1)
5-5
: Remove unused import.The
urlparse
function fromurllib.parse
is imported but never used in the code.-from urllib.parse import urlparse
🧰 Tools
🪛 Ruff (0.8.2)
5-5:
urllib.parse.urlparse
imported but unusedRemove unused import:
urllib.parse.urlparse
(F401)
docs/spec/addresses/bech32.md (2)
17-17
: Fix typo: "expos" should be "expose".
The verb "expose" is missing an 'e'.- While all user-facing interfaces to Cosmos software should expos Bech32 interfaces, many internal interfaces encode binary value in hex or base64 encoded form. + While all user-facing interfaces to Cosmos software should expose Bech32 interfaces, many internal interfaces encode binary value in hex or base64 encoded form.🧰 Tools
🪛 LanguageTool
[grammar] ~17-~17: The word ‘expos’ is a noun or an adjective. A verb or adverb is missing or misspelled here, or maybe a comma is missing.
Context: ...ng interfaces to Cosmos software should expos Bech32 interfaces, many internal interf...(PRP_MD_NN)
21-21
: Add missing verb "be" for correctness.
Change "will sufficient" to "will be sufficient" and pluralize "representation."- Simply prepending bytes from this [table](https://github.com/cometbft/cometbft/blob/main/spec/core/encoding.md) to the byte string payload before Bech32 encoding will sufficient for compatible representation. + Simply prepending bytes from this [table](https://github.com/cometbft/cometbft/blob/main/spec/core/encoding.md) to the byte string payload before Bech32 encoding will be sufficient for compatible representations.🧰 Tools
🪛 LanguageTool
[grammar] ~21-~21: Replace ‘sufficient’ with an appropriate verb.
Context: ...ing payload before Bech32 encoding will sufficient for compatible representation.(MD_NN)
docs/architecture/adr-040-storage-and-smt-state-commitments.md (2)
273-273
: Add missing article and improve clarity.
Insert "the" and adjust phrasing.- To verify that an object registered in RDBMS is same as the one committed to SMT, one will need to load it from RDBMS, marshal using protobuf, hash and do SMT search. + To verify that an object registered in the RDBMS is the same as the one committed to SMT, one will need to load it from the RDBMS, marshal it using protobuf, hash it, and perform the SMT search.🧰 Tools
🪛 LanguageTool
[uncategorized] ~273-~273: You might be missing the article “the” here.
Context: ...y that an object registered in RDBMS is same as the one committed to SMT, one will n...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
277-277
: Fix grammatical error: missing verb and article.
Change phrasing for correctness.- Module will responsible for having a sound storage model and can optionally use the feature discussed in __Committing to an object without saving it_ section. + The module will be responsible for having a sound storage model and can optionally use the feature discussed in the __Committing to an object without saving it__ section.🧰 Tools
🪛 LanguageTool
[grammar] ~277-~277: The word ‘responsible’ is a noun or an adjective. A verb is missing or misspelled, or maybe a comma is missing.
Context: ...ot automatically committed. Module will responsible for having a sound storage model and ca...(MD_JJ)
[uncategorized] ~277-~277: You might be missing the article “the” here.
Context: ...optionally use the feature discussed in __Committing to an object without saving ...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/architecture/adr-062-collections-state-layer.md (1)
81-81
: Verify and pin the example link to a specific commit or release.
The link[x/oracle](https://github.com/NibiruChain/nibiru/blob/master/x/oracle/keeper/keeper.go#L32)
uses the default branch (master
) which may change over time and lead to broken links or rate-limiting errors. Consider pinning it to a known release tag or commit SHA to ensure long-term stability.docs/docs/build/building-modules/15-depinject.md (1)
9-9
: Consider version-pinning the pkg.go.dev reference.
Switching to the absolutehttps://pkg.go.dev/cosmossdk.io/depinject
URL improves link stability over a relative path. To guard against future API or path changes, you may want to append a version query (e.g.,?tab=doc&version=v0.50.0
) or reference a specific release.docs/docs/learn/advanced/15-upgrade.md (1)
162-162
: Validate and possibly update the Cosmovisor link.
The new URL points togithub.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/cosmovisor/README.md
. GitHub links can be rate-limited (429) or moved. Consider linking to the official Cosmos SDK docs site (e.g.docs.cosmos.network
) or pinning to a specific release tag to improve reliability.docs/docs/learn/advanced/05-encoding.md (1)
50-50
: Pin the Collections pkg.go.dev link to a release version.
The linkhttps://pkg.go.dev/cosmossdk.io/collections
is correct, but it defaults to the latest; pinning to the SDK version used (e.g.,?tab=doc&version=v0.53.0
) will ensure the documentation corresponds exactly to the code in this release.docs/docs/build/packages/README.md (1)
27-27
: Fix markdown link syntax for Depinject.The link is missing an opening parenthesis. Apply this diff:
-* [Depinject]https://pkg.go.dev/cosmossdk.io/depinject) +* [Depinject](https://pkg.go.dev/cosmossdk.io/depinject)docs/architecture/adr-059-test-scopes.md (1)
139-140
: Use en dash for range notation.Replace the hyphen in the time range with an en dash for typographical accuracy:
-* A success may take a long time to run, 7-10 minutes per simulation in CI. +* A success may take a long time to run, 7–10 minutes per simulation in CI.🧰 Tools
🪛 LanguageTool
[typographical] ~139-~139: If specifying a range, consider using an en dash instead of a hyphen.
Context: ... A success may take a long time to run, 7-10 minutes per simulation in CI. * Timeout...(HYPHEN_TO_EN)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (56)
.github/PULL_REQUEST_TEMPLATE.md
(2 hunks).gitignore
(1 hunks)CHANGELOG.md
(1 hunks)CODING_GUIDELINES.md
(0 hunks)CONTRIBUTING.md
(0 hunks)README.md
(2 hunks)RELEASE_PROCESS.md
(0 hunks)ROADMAP.md
(0 hunks)UPGRADE_GUIDE.md
(4 hunks)UPGRADING.md
(3 hunks)crypto/bcrypt_readme.md
(1 hunks)docs/README.md
(2 hunks)docs/architecture/adr-009-evidence-module.md
(2 hunks)docs/architecture/adr-019-protobuf-state-encoding.md
(1 hunks)docs/architecture/adr-028-public-key-addresses.md
(1 hunks)docs/architecture/adr-033-protobuf-inter-module-comm.md
(2 hunks)docs/architecture/adr-038-state-listening.md
(1 hunks)docs/architecture/adr-040-storage-and-smt-state-commitments.md
(2 hunks)docs/architecture/adr-054-semver-compatible-modules.md
(2 hunks)docs/architecture/adr-059-test-scopes.md
(4 hunks)docs/architecture/adr-062-collections-state-layer.md
(1 hunks)docs/docs/build/build.md
(1 hunks)docs/docs/build/building-apps/00-runtime.md
(0 hunks)docs/docs/build/building-apps/01-app-go-di.md
(1 hunks)docs/docs/build/building-modules/03-msg-services.md
(1 hunks)docs/docs/build/building-modules/13-upgrade.md
(1 hunks)docs/docs/build/building-modules/15-depinject.md
(1 hunks)docs/docs/build/building-modules/16-testing.md
(2 hunks)docs/docs/build/packages/README.md
(1 hunks)docs/docs/build/tooling/README.md
(1 hunks)docs/docs/learn/advanced/00-baseapp.md
(3 hunks)docs/docs/learn/advanced/01-transactions.md
(1 hunks)docs/docs/learn/advanced/02-context.md
(1 hunks)docs/docs/learn/advanced/05-encoding.md
(1 hunks)docs/docs/learn/advanced/06-grpc_rest.md
(1 hunks)docs/docs/learn/advanced/08-events.md
(1 hunks)docs/docs/learn/advanced/11-runtx_middleware.md
(1 hunks)docs/docs/learn/advanced/15-upgrade.md
(1 hunks)docs/docs/learn/beginner/00-app-anatomy.md
(2 hunks)docs/docs/learn/beginner/04-gas-fees.md
(2 hunks)docs/docs/user/run-node/00-keyring.md
(1 hunks)docs/spec/SPEC_STANDARD.md
(1 hunks)docs/spec/addresses/bech32.md
(1 hunks)proto/README.md
(1 hunks)scripts/valid-links.py
(1 hunks)store/snapshots/README.md
(1 hunks)store/streaming/abci/README.md
(0 hunks)testutil/simsx/README.md
(4 hunks)tools/cosmovisor/CHANGELOG.md
(1 hunks)x/auth/README.md
(1 hunks)x/authz/README.md
(1 hunks)x/feegrant/README.md
(1 hunks)x/gov/README.md
(3 hunks)x/nft/README.md
(2 hunks)x/slashing/README.md
(1 hunks)x/staking/README.md
(2 hunks)
💤 Files with no reviewable changes (6)
- store/streaming/abci/README.md
- docs/docs/build/building-apps/00-runtime.md
- CONTRIBUTING.md
- ROADMAP.md
- CODING_GUIDELINES.md
- RELEASE_PROCESS.md
🧰 Additional context used
🪛 GitHub Actions: Check Markdown links
docs/docs/learn/advanced/05-encoding.md
[error] 1-1: Markdown link check failed: 5 dead links found. Example: [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/x/auth/keeper/keeper.go#L239-L242 (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/x/staking/types/staking.pb.go#L340-L375 (Status: 429), ... (see logs for full list)
docs/docs/learn/advanced/01-transactions.md
[error] 1-1: Markdown link check failed: 3 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/proto/cosmos/tx/signing/v1beta1/signing.proto#L17 (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/x/auth/tx/builder.go#L27-L44 (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/x/auth/migrations/legacytx/stdtx_builder.go#L14-L17 (Status: 429)
docs/spec/SPEC_STANDARD.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/ibc/blob/main/spec/ics-001-ics-standard/README.md (Status: 429), [✖] https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1.md (Status: 429)
docs/README.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/tree/main/CONTRIBUTING.md#updating-documentation (Status: 429)
docs/docs/build/tooling/README.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/cosmovisor/README.md (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/confix/README.md (Status: 429)
README.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/store/types/store.go (Status: 429), [✖] https://github.com/cosmos/iavl/blob/master/docs/overview.md (Status: 429)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/store/types/store.go (Status: 429), [✖] https://github.com/cosmos/iavl/blob/master/docs/overview.md (Status: 429)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://cosmos.network/whitepaper (Status: 404)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/RELEASE_PROCESS.md (Status: 429), [✖] https://docs.cosmos.network/main/architecture/adr-043-nft-module.html (Status: 404)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://cosmos.network/whitepaper (Status: 404), [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-037-gov-split-vote.md (Status: 429)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-009-evidence-module.md (Status: 429), [✖] https://github.com/cometbft/cometbft/blob/main/spec/abci/abci%2B%2B_basic_concepts.md#evidence (Status: 429)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-043-nft-module.md (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/proto/cosmos/nft/v1beta1/event.proto (Status: 429)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://cosmos.network/whitepaper (Status: 404)
[error] 1-1: Markdown link check failed: 4 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-030-authz-module.md (Status: 429), [✖] #SendAuthorization (Status: 404), [✖] #GenericAuthorization (Status: 404), [✖] #StakeAuthorization (Status: 404)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-029-fee-grant-module.md (Status: 429)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/tree/main/docs/spec/fee_distribution/f1_fee_distr.pdf (Status: 429)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-010-modular-antehandler.md (Status: 429)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/cosmovisor/README.md (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/confix/README.md (Status: 429)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/tree/main/CONTRIBUTING.md#updating-documentation (Status: 429)
docs/docs/learn/advanced/11-runtx_middleware.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/baseapp/recovery.go (Status: 429)
docs/architecture/adr-028-public-key-addresses.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/iov-one/weave/blob/master/conditions.go (Status: 429), [✖] https://www.linkedin.com/in/alan-szepieniec-7b1957142 (Status: 999)
docs/docs/build/building-modules/15-depinject.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.50.0-alpha.0/scripts/protocgen-pulsar.sh (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.50.0-alpha.0/api/cosmos/group/module/v1/module.pulsar.go (Status: 429)
docs/architecture/adr-062-collections-state-layer.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-055-orm.md (Status: 429)
docs/docs/build/building-modules/13-upgrade.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.50.0-alpha.0/x/bank/migrations/v2/store.go#L55-L76 (Status: 429)
docs/docs/learn/advanced/02-context.md
[error] 1-1: Markdown link check failed: 3 dead links found. [✖] https://docs.cometbft.com/master/spec/abci/abci.html#voteinfo (Status: 404), [✖] https://github.com/cosmos/cosmos-sdk/blob/main/core/comet/service.go#L14 (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/main/core/header/service.go#L14 (Status: 429)
docs/architecture/adr-038-state-listening.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/docs/build/building-modules/02-messages-and-queries.md#queries (Status: 429)
docs/architecture/adr-059-test-scopes.md
[error] 1-1: Markdown link check failed: 16 dead links found. Example: [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-053-go-module-refactoring.md (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-057-app-wiring.md (Status: 429), ... (see logs for full list)
docs/docs/learn/advanced/15-upgrade.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/cosmovisor/README.md (Status: 429)
docs/docs/learn/advanced/08-events.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/proto/cosmos/nft/v1beta1/event.proto#L21-L31 (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/x/bank/types/events.go (Status: 429)
docs/docs/learn/advanced/00-baseapp.md
[error] 1-1: Markdown link check failed: 17 dead links found. Example: [✖] https://github.com/cometbft/cometbft/blob/v0.37.x/spec/abci/abci++_basic_concepts.md#mempool-methods (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/baseapp/options.go (Status: 429), ... (see logs for full list)
docs/docs/learn/beginner/00-app-anatomy.md
[error] 1-1: Markdown link check failed: 5 dead links found. Example: [✖] #application-constructor (Status: 404), [✖] https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/any.proto (Status: 429), ... (see logs for full list)
docs/architecture/adr-009-evidence-module.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/tendermint/spec/blob/7b3138e69490f410768d9b1ffc7a17abc23ea397/spec/consensus/fork-accountability.md (Status: 429)
docs/docs/learn/advanced/06-grpc_rest.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/scripts/protoc-swagger-gen.sh (Status: 429)
docs/architecture/adr-040-storage-and-smt-state-commitments.md
[error] 1-1: Markdown link check failed: 5 dead links found. Example: [✖] https://github.com/cosmos/iavl/blob/master/docs/node/node.md (Status: 429), [✖] https://github.com/celestiaorg/celestia-specs/blob/ec98170398dfc6394423ee79b00b71038879e211/src/specs/data_structures.md#sparse-merkle-tree (Status: 429), ... (see logs for full list)
🪛 LanguageTool
crypto/bcrypt_readme.md
[style] ~7-~7: This phrasing can be wordy. For improved clarity, try opting for something more concise.
Context: ... this parameter choice seems sufficient for the time being. Bcrypt always generates a 448-bit key,...
(FOR_THE_TIME_BEING)
docs/spec/addresses/bech32.md
[grammar] ~17-~17: The word ‘expos’ is a noun or an adjective. A verb or adverb is missing or misspelled here, or maybe a comma is missing.
Context: ...ng interfaces to Cosmos software should expos Bech32 interfaces, many internal interf...
(PRP_MD_NN)
[grammar] ~21-~21: Replace ‘sufficient’ with an appropriate verb.
Context: ...ing payload before Bech32 encoding will sufficient for compatible representation.
(MD_NN)
docs/architecture/adr-059-test-scopes.md
[typographical] ~139-~139: If specifying a range, consider using an en dash instead of a hyphen.
Context: ... A success may take a long time to run, 7-10 minutes per simulation in CI. * Timeout...
(HYPHEN_TO_EN)
proto/README.md
[uncategorized] ~8-~8: Possible missing comma found.
Context: ...d goes in buf.md
and in each protobuf package following the guidelines in https://doc...
(AI_HYDRA_LEO_MISSING_COMMA)
x/gov/README.md
[uncategorized] ~13-~13: You might be missing the article “the” here.
Context: ...aper) in June 2016. The module enables Cosmos SDK-based blockchain to support an on-c...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/architecture/adr-040-storage-and-smt-state-commitments.md
[uncategorized] ~273-~273: You might be missing the article “the” here.
Context: ...y that an object registered in RDBMS is same as the one committed to SMT, one will n...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[grammar] ~277-~277: The word ‘responsible’ is a noun or an adjective. A verb is missing or misspelled, or maybe a comma is missing.
Context: ...ot automatically committed. Module will responsible for having a sound storage model and ca...
(MD_JJ)
[uncategorized] ~277-~277: You might be missing the article “the” here.
Context: ...optionally use the feature discussed in __Committing to an object without saving ...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
🪛 Ruff (0.8.2)
scripts/valid-links.py
5-5: urllib.parse.urlparse
imported but unused
Remove unused import: urllib.parse.urlparse
(F401)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Summary
🔇 Additional comments (63)
docs/docs/learn/beginner/04-gas-fees.md (2)
49-49
: Fixed broken anchor link for main gas meter
The link now correctly points to the "Main Gas Meter" section via the#main-gas-meter
anchor, matching the header on line 51.
61-61
: Standardized spelling to American English
Changed "initialisation" to "initialization" for consistency across documentation.docs/spec/SPEC_STANDARD.md (1)
55-55
: Fix internal link to the History section
The anchor has been updated from#history-1
to#history
, which correctly matches the### History
header. Please verify in the rendered preview that clicking “below” jumps to the intended section.docs/docs/learn/advanced/06-grpc_rest.md (1)
29-29
: Approve removal of hyperlink around “encoding”
Converting “encoding” to plain text eliminates a redundant or potentially stale link and improves readability, aligning perfectly with the PR’s goal of ensuring link validity.UPGRADE_GUIDE.md (4)
55-55
: Heading rename for clarity is correct
The new “### ProtocolPool Manual Wiring” heading clearly disambiguates this section and matches the TOC anchor (#protocolpool-manual-wiring
).
162-162
: DI wiring heading update is consistent
Renaming to “### ProtocolPool DI Wiring” aligns with dependency-injection terminology and matches the TOC link (#protocolpool-di-wiring
).
265-265
: Epochs manual wiring heading aligned with TOC
Switching to “### Epochs Manual Wiring” avoids duplicate “Manual Wiring” headings and correctly matches the TOC anchor (#epochs-manual-wiring
).
340-340
: Epochs DI Wiring heading matches documentation structure
The “### Epochs DI Wiring” heading follows the same pattern as ProtocolPool’s DI section and links to#epochs-di-wiring
as intended.docs/docs/learn/advanced/02-context.md (1)
37-37
: External link updated to versioned docs. The new URLhttps://docs.cometbft.com/v1.0/spec/consensus/
correctly points to the Consensus Parameters specification and aligns with the rest of the project’s versioned documentation.docs/docs/user/run-node/00-keyring.md (1)
95-95
: Update KWallet backend link to current KDE Apps page
The previous KDE API docs link was outdated; the new URL points to the official KDE Apps KWallet Manager page, ensuring users land on the active, maintained resource.docs/architecture/adr-054-semver-compatible-modules.md (2)
350-350
: Confirm Buf URL update
The link has been adjusted to point to Buf’s remote-plugins overview (https://buf.build/docs/bsr/remote-plugins/overview/
), which supersedes the old remote-generation path. This aligns with the current Buf documentation.
449-449
: Adjust relative path to proto file
The link’s relative path is now../../proto/cosmos/app/v1alpha1/module.proto
, which correctly navigates two levels up from this ADR. This ensures the module proto reference resolves properly.docs/docs/learn/advanced/00-baseapp.md (1)
230-230
: Heading updated to match in-page anchors
Renaming "Main ABCI 2.0 Messages" to "Main ABCI Messages" aligns the heading slug with existing links like#main-abci-messages
, fixing the broken anchor.docs/architecture/adr-009-evidence-module.md (2)
20-20
: Generalize link to the IBC repository
Good catch updating the IBC link to point at the authoritativecosmos/ibc
repo. This makes the documentation more stable and maintainable.
181-181
: Update reference to IBC Architecture repo
Aligning the “IBC Architecture” link to thecosmos/ibc
repository ensures consistency with other IBC references in the docs.x/auth/README.md (1)
35-35
: Corrected internal link to authz module
The relative reference[authz module](../authz/)
now points correctly to thex/authz
documentation, improving link integrity.README.md (1)
33-33
: Update Go landing page link
Changing the recommended URL tohttps://go.dev
is correct and directs users to the official Go site.x/authz/README.md (1)
41-41
: Corrected internal link to auth module
The link[auth (authentication)](../auth/)
now correctly references thex/auth
README, ensuring accurate cross-module documentation.x/feegrant/README.md (1)
24-25
: Corrected anchors for Msg Server section
The trailing “-1” suffix has been removed to match the actual heading IDs (#msggrantallowance
and#msgrevokeallowance
). This ensures internal links navigate correctly.store/snapshots/README.md (1)
14-15
: Generalized CometBFT state sync links
The external links now point to the root of the CometBFT spec (/v0.37/spec/
) rather than the deeper/state-sync
path, improving link stability and future-proofing.docs/docs/build/building-modules/03-msg-services.md (1)
22-22
: Fixed relative ADR-031 link
Updated the path to../../../architecture/adr-031-msg-service.md
so the ADR reference correctly resolves from thebuilding-modules
directory.docs/docs/learn/advanced/11-runtx_middleware.md (1)
11-11
: Fixed relative ADR-022 link
Adjusted the ADR-022 reference to../../../architecture/adr-022-custom-panic-handling.md
to ensure it resolves correctly from thelearn/advanced
directory.x/nft/README.md (2)
19-20
: Removed redundant “-1” suffix from State anchors
Updated theState
section links (#class
and#nft
) to match the actual heading anchors.
91-91
: Updated NFT events protobuf reference to versioned URL
The link now points directly to thev0.53.0
tag forevent.proto
, improving precision and avoiding branch drift.x/staking/README.md (2)
10-10
: Correct Cosmos Whitepaper link
Updated the URL from the old path to the direct/whitepaper
endpoint, which is the current correct location for the Cosmos Whitepaper.
52-52
: Standardize internal anchor for Queues
Changed the markdown anchor from#queues-1
to#queues
to match the header ID generated by the “## Queues” section.docs/architecture/adr-019-protobuf-state-encoding.md (1)
153-153
: Update gogo protobufAny
registration link
The link now points to themain
branch location of the global type registration logic inproperties.go
, ensuring the reference stays up-to-date.docs/docs/build/build.md (2)
8-8
: Use directory link for Modules
Changed the link target from a specific README file to the module directory, which will resolve to the defaultREADME.md
and simplify maintenance.
12-12
: Fix relative path for ADRs
Adjusted the path to go up two levels (../../architecture/README.md
), correctly pointing to the ADR index from withindocs/docs/build
..github/PULL_REQUEST_TEMPLATE.md (2)
13-13
: Grammar: “followup” instead of “follow up”
Merged “follow up” into “followup” for consistency across the template.
33-33
: Simplify test checklist item
Removed the inline link to testing guidelines and clarified the requirement to include necessary unit and integration tests.tools/cosmovisor/CHANGELOG.md (1)
176-176
: Clarify initial release wording & update README link
Reworded to “first release since we started this changelog” and pointed the README link at themain
branch path for stability.testutil/simsx/README.md (4)
6-6
: Corrected Message factory link
The URL now correctly points totestutil/simsx/msg_factory.go
instead of the rootsimsx
directory.
21-21
: Corrected Sims registry link
The link has been updated to referencetestutil/simsx/registry.go
, reflecting the correct package layout.
32-32
: Corrected Reporter link
The link now correctly targetstestutil/simsx/reporter.go
under thetestutil/simsx
path.
45-45
: Corrected Test data environment link
The URL has been fixed to point attestutil/simsx/environment.go
in the right directory.docs/architecture/adr-033-protobuf-inter-module-comm.md (2)
400-400
:✅ Verification successful
Verify external Object-Capability Model URL
Check that the external linkhttps://decentralized-id.com/development/object-capabilities/
is live and returns a 200 status.
🏁 Script executed:
#!/bin/bash # Check HTTP status of the external Object-Capability Model URL curl -Is https://decentralized-id.com/development/object-capabilities/ | head -n1Length of output: 95
External Object-Capability Model URL Verified
- The URL
https://decentralized-id.com/development/object-capabilities/
returns HTTP/2 200, confirming it is live and accessible.
23-23
:✅ Verification successful
Verify relative path for Object-Capability Model link
Please confirm that[Object-Capability Model](../docs/learn/advanced/10-ocap.md)
resolves correctly fromdocs/architecture/adr-033-protobuf-inter-module-comm.md
.
🏁 Script executed:
#!/bin/bash # Verify the target file exists for the relative link if [ -f docs/learn/advanced/10-ocap.md ]; then echo "OK: docs/learn/advanced/10-ocap.md found" exit 0 else echo "ERROR: docs/learn/advanced/10-ocap.md not found" exit 1 fiLength of output: 157
🏁 Script executed:
#!/bin/bash # Search for any markdown files related to "ocap" to determine the correct path find docs -type f | grep -i ocapLength of output: 70
Confirmed relative link is correct
The target filedocs/docs/learn/advanced/10-ocap.md
exists and matches the link fromdocs/architecture/adr-033-protobuf-inter-module-comm.md
. No update needed.proto/README.md (1)
3-3
: Streamline wording in proto README
The phrasing "All Cosmos SDK proto files" is concise and clear.UPGRADING.md (3)
15-15
: Update Changelog link to v0.53.0 tag
The link now points to the fixedCHANGELOG.md
at tagv0.53.0
, improving stability over a branch reference.
103-103
: Update SimApp example link to versioned tag
The SimApp link now referencesv0.53.0
, ensuring consistency with other versioned docs.
26-26
:✅ Verification successful
Verify ADR-070 link points to the correct file
Please ensure[ADR-070](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-070-unordered-account.md)
matches the intended ADR filename.
🏁 Script executed:
#!/bin/bash # Confirm ADR-070 filename if [ -f docs/architecture/adr-070-unordered-account.md ]; then echo "OK: ADR-070 file exists" exit 0 else echo "ERROR: ADR-070 file not found" exit 1 fiLength of output: 125
ADR-070 link is correct: Verified that
docs/architecture/adr-070-unordered-account.md
exists, so the link is valid.docs/README.md (2)
32-32
: Refine instruction wording
The revised phrasing "To start only the current documentation, run:" is clear and user-friendly.
41-41
: Approve note about build limitations
The note clearly warns that redirections won't work in this mode.x/gov/README.md (3)
10-10
: URL correction looks good.The updated Cosmos whitepaper URL points to the correct location, matching the current website structure.
13-13
: Good grammar improvement.Properly hyphenating the compound adjective "SDK-based" improves readability and follows correct English grammar rules.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~13-~13: You might be missing the article “the” here.
Context: ...aper) in June 2016. The module enables Cosmos SDK-based blockchain to support an on-c...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
42-42
: Anchor reference standardization.Good cleanup of internal Markdown anchor references by removing redundant suffixes. This makes the links more consistent and easier to maintain.
Also applies to: 48-50, 60-61
docs/docs/learn/beginner/00-app-anatomy.md (2)
152-152
: Repository branch name update.Good update changing the link from
master
tomain
, reflecting GitHub's branch naming conventions.
231-231
: Improved clarity in CLI documentation.Better wording that clarifies one command should be created for each message, rather than each "message type".
scripts/valid-links.py (1)
1-166
: Well-designed link validation tool.This script provides a comprehensive solution for validating links in Markdown files, with several excellent features:
- Caching results to avoid redundant network calls
- Handling rate limiting with exponential backoff
- Proper detection of Markdown headings for anchor validation
- Comprehensive report generation
Great addition to the project's tooling.
🧰 Tools
🪛 Ruff (0.8.2)
5-5:
urllib.parse.urlparse
imported but unusedRemove unused import:
urllib.parse.urlparse
(F401)
.gitignore (1)
56-62
: Appropriate .gitignore updates.Good additions to ignore Python environment files and the generated docs link report. These ensure that only the script itself gets committed, not any of its artifacts or environment files.
docs/spec/addresses/bech32.md (1)
9-13
: Approve HRP table formatting improvements.
The updates align columns and remove extra spaces, enhancing readability.docs/docs/build/building-modules/16-testing.md (3)
25-25
: Approve updated mockgen reference link.
The URL now correctly points to pkg.go.dev documentation forgo.uber.org/mock
.
119-119
: Approve corrected ADR-59 E2E tests link.
The note now references the correct ADR path under/main/build/architecture/adr-059-test-scopes
.
124-124
: Approve updated ADR-59 "Learn More" link.
The URL correctly points to the ADR for test scopes.docs/architecture/adr-040-storage-and-smt-state-commitments.md (1)
261-261
: Approve revised "state commitments and storage report" reference.
Link to the GitHub discussion is accurate and relevant.docs/docs/learn/advanced/01-transactions.md (1)
98-98
: Verify the updated relative path to ADR-050.
The link[ADR-050](../../../architecture/adr-050-sign-mode-textual.md)
should resolve todocs/architecture/adr-050-sign-mode-textual.md
. Please confirm the path is correct in the built site and update if the directory structure changes.docs/docs/learn/advanced/08-events.md (1)
36-36
: Approve corrected relative path for typed events ADR link.The updated link now correctly points to the ADR under
docs/architecture/adr-032-typed-events.md
.docs/docs/build/building-modules/13-upgrade.md (1)
63-63
: Approve corrected relative path for ADR-028 link.The new relative path properly resolves to
docs/architecture/adr-028-public-key-addresses.md
.docs/docs/build/building-apps/01-app-go-di.md (2)
10-10
: Approve corrected ADR-057 link in synopsis note.The updated link accurately points to
docs/architecture/adr-057-app-wiring.md
via the correct relative path.
18-18
: Approve corrected ADR-057 link in pre-requisites.This change ensures the ADR reference resolves correctly from this file's location.
docs/docs/build/packages/README.md (1)
23-23
: Approve absolute URL for Collections package.Switching from a local markdown file to the pkg.go.dev URL improves documentation consistency and correctness.
docs/architecture/adr-059-test-scopes.md (1)
59-59
: Approve pinned depinject BDD tests link.The URL correctly references the v0.50.0 tag for depinject's BDD-style tests.
@@ -20,7 +20,7 @@ This ADR defines a set of changes to enable listening to state changes of indivi | |||
|
|||
## Context | |||
|
|||
Currently, KVStore data can be remotely accessed through [Queries](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/messages-and-queries.md#queries) | |||
Currently, KVStore data can be remotely accessed through [Queries](https://github.com/cosmos/cosmos-sdk/blob/main/docs/docs/build/building-modules/02-messages-and-queries.md#queries) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Broken link: duplicate docs/docs
in the URL.
The updated link points to
https://github.com/cosmos/cosmos-sdk/blob/main/docs/docs/build/building-modules/02-messages-and-queries.md#queries
which the link checker flags as dead (429). It appears the path has an extra docs/
segment. Please correct it, for example:
-[Queries](https://github.com/cosmos/cosmos-sdk/blob/main/docs/docs/build/building-modules/02-messages-and-queries.md#queries)
+[Queries](https://github.com/cosmos/cosmos-sdk/blob/main/docs/building-modules/02-messages-and-queries.md#queries)
Ensure the revised URL resolves successfully.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
Currently, KVStore data can be remotely accessed through [Queries](https://github.com/cosmos/cosmos-sdk/blob/main/docs/docs/build/building-modules/02-messages-and-queries.md#queries) | |
Currently, KVStore data can be remotely accessed through [Queries](https://github.com/cosmos/cosmos-sdk/blob/main/docs/building-modules/02-messages-and-queries.md#queries) |
🤖 Prompt for AI Agents (early access)
In docs/architecture/adr-038-state-listening.md at line 23, the URL for the
Queries documentation contains a duplicated 'docs/' segment causing a broken
link. Remove the extra 'docs/' from the path so the URL correctly points to
'https://github.com/cosmos/cosmos-sdk/blob/main/docs/build/building-modules/02-messages-and-queries.md#queries'.
Verify the updated link resolves successfully.
@@ -178,5 +178,5 @@ type GenesisState struct { | |||
## References | |||
|
|||
* [ICS](https://github.com/cosmos/ics) | |||
* [IBC Architecture](https://github.com/cosmos/ics/blob/master/ibc/1_IBC_ARCHITECTURE.md) | |||
* [IBC Architecture](https://github.com/cosmos/ibc) | |||
* [Tendermint Fork Accountability](https://github.com/tendermint/spec/blob/7b3138e69490f410768d9b1ffc7a17abc23ea397/spec/consensus/fork-accountability.md) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix broken Tendermint spec link
The current link to the Tendermint spec is returning a 429 error in CI link checks. To avoid rate-limiting or dead links, switch to the main
branch path:
-* [Tendermint Fork Accountability](https://github.com/tendermint/spec/blob/7b3138e69490f410768d9b1ffc7a17abc23ea397/spec/consensus/fork-accountability.md)
+* [Tendermint Fork Accountability](https://github.com/tendermint/spec/blob/main/spec/consensus/fork-accountability.md)
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
* [Tendermint Fork Accountability](https://github.com/tendermint/spec/blob/7b3138e69490f410768d9b1ffc7a17abc23ea397/spec/consensus/fork-accountability.md) | |
* [Tendermint Fork Accountability](https://github.com/tendermint/spec/blob/main/spec/consensus/fork-accountability.md) |
🤖 Prompt for AI Agents (early access)
In docs/architecture/adr-009-evidence-module.md at line 182, the Tendermint spec
link is causing a 429 error due to rate limiting. Update the URL to point to the
'main' branch instead of the specific commit hash to prevent broken links and
avoid rate-limiting issues in CI checks.
@@ -7,7 +7,7 @@ sidebar_position: 1 | |||
## Abstract | |||
|
|||
This section specifies the slashing module of the Cosmos SDK, which implements functionality | |||
first outlined in the [Cosmos Whitepaper](https://cosmos.network/about/whitepaper) in June 2016. | |||
first outlined in the [Cosmos Whitepaper](https://cosmos.network/whitepaper) in June 2016. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Broken link: verify Cosmos Whitepaper URL
The updated link https://cosmos.network/whitepaper
currently returns 404. Please update this to the canonical whitepaper location (e.g., the documentation site or GitHub-hosted PDF) to ensure the link is valid.
🤖 Prompt for AI Agents (early access)
In x/slashing/README.md at line 10, the link to the Cosmos Whitepaper is broken
and returns a 404 error. Update the URL to point to the current canonical
location of the Cosmos Whitepaper, such as the official documentation site or
the GitHub-hosted PDF, to ensure the link is valid and accessible.
@@ -8,7 +8,7 @@ sidebar_position: 1 | |||
Depending on the panic type different handler is used, for instance the default one prints an error log message. | |||
Recovery middleware is used to add custom panic recovery for Cosmos SDK application developers. | |||
|
|||
More context can found in the corresponding [ADR-022](../../build/architecture/adr-022-custom-panic-handling.md) and the implementation in [recovery.go](https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/baseapp/recovery.go). | |||
More context can found in the corresponding [ADR-022](../../../architecture/adr-022-custom-panic-handling.md) and the implementation in [recovery.go](https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/baseapp/recovery.go). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Fix broken external link to recovery.go
The link check is failing (status 429). Consider using the raw content URL or pointing to a stable release tag to avoid rate-limiting issues.
Apply this diff:
-[recovery.go](https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/baseapp/recovery.go)
+[recovery.go](https://raw.githubusercontent.com/cosmos/cosmos-sdk/v0.53.0-rc.2/baseapp/recovery.go)
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
More context can found in the corresponding [ADR-022](../../../architecture/adr-022-custom-panic-handling.md) and the implementation in [recovery.go](https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/baseapp/recovery.go). | |
More context can found in the corresponding [ADR-022](../../../architecture/adr-022-custom-panic-handling.md) and the implementation in [recovery.go](https://raw.githubusercontent.com/cosmos/cosmos-sdk/v0.53.0-rc.2/baseapp/recovery.go). |
🤖 Prompt for AI Agents (early access)
In docs/docs/learn/advanced/11-runtx_middleware.md at line 11, the external link
to recovery.go is causing a link check failure due to status 429 rate-limiting.
To fix this, update the URL to use a raw content link or point it to a stable
release tag in the GitHub repository, ensuring the link is stable and avoids
rate-limiting issues.
* [Cosmovisor](https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/cosmovisor/README.md) | ||
* [Confix](https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/confix/README.md) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Broken links: CLI tool references unreachable.
Both Cosmovisor and Confix README URLs return 429. Please update to correct versioned paths or use pkg.go.dev links (e.g., https://pkg.go.dev/github.com/cosmos/cosmos-sdk/tools/cosmovisor
).
🤖 Prompt for AI Agents (early access)
In docs/docs/build/tooling/README.md around lines 12 to 13, the links to
Cosmovisor and Confix README files are broken and return HTTP 429 errors. Update
these URLs to use the correct versioned paths that are accessible or replace
them with stable pkg.go.dev links such as
https://pkg.go.dev/github.com/cosmos/cosmos-sdk/tools/cosmovisor and the
equivalent for Confix to ensure the links are reachable.
@@ -289,7 +289,7 @@ More specifically, any special account address must not have a length equal to 2 | |||
|
|||
## Appendix: Consulting session | |||
|
|||
End of Dec 2020 we had a session with [Alan Szepieniec](https://scholar.google.be/citations?user=4LyZn8oAAAAJ&hl=en) to consult the approach presented above. | |||
End of Dec 2020 we had a session with [Alan Szepieniec](https://www.linkedin.com/in/alan-szepieniec-7b1957142) to consult the approach presented above. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Broken link: Alan Szepieniec LinkedIn profile unreachable.
The LinkedIn URL returns a 999. Consider using an alternate reference (e.g., a personal website or archived profile).
🤖 Prompt for AI Agents (early access)
In docs/architecture/adr-028-public-key-addresses.md at line 292, the LinkedIn
URL for Alan Szepieniec is broken and returns a 999 error. Replace the current
LinkedIn URL with an alternate reference such as a personal website, an archived
version of the profile, or another reliable source to ensure the link is
accessible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 10
🔭 Outside diff range comments (1)
docs/README.md (1)
3-3
:⚠️ Potential issueBroken CONTRIBUTING.md link causes pipeline failure
The link usestree
instead ofblob
, so the Markdown checker reports it as dead.Update the URL to point to the blob path:
- If you want to open a PR in Cosmos SDK to update the documentation, please follow the guidelines in [`CONTRIBUTING.md`](https://github.com/cosmos/cosmos-sdk/tree/main/CONTRIBUTING.md#updating-documentation) and the [Documentation Writing Guidelines](./DOC_WRITING_GUIDELINES.md). + If you want to open a PR in Cosmos SDK to update the documentation, please follow the guidelines in [`CONTRIBUTING.md`](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#updating-documentation) and the [Documentation Writing Guidelines](./DOC_WRITING_GUIDELINES.md).
🧹 Nitpick comments (14)
crypto/bcrypt_readme.md (1)
7-7
: Refine wording for clarity
The phrase "for the time being" is redundant and can be removed to improve conciseness. Consider rewriting to:
"Bcrypt key generation time with parameter 12 (~0.25 s) on midrange hardware aligns with our threat model, given that an attacker must access a user's~/.gaia
directory."🧰 Tools
🪛 LanguageTool
[style] ~7-~7: This phrasing can be wordy. For improved clarity, try opting for something more concise.
Context: ... this parameter choice seems sufficient for the time being. Bcrypt always generates a 448-bit key,...(FOR_THE_TIME_BEING)
CHANGELOG.md (1)
287-287
: Re-add hyperlink for GHSA advisory for consistencyThe plain
[GHSA-4j93-fm92-rp4m]
reference is no longer clickable, while other GHSA entries remain linked. To maintain consistency and improve navigability, consider re-adding the hyperlink:- * (x/auth/vesting) [GHSA-4j93-fm92-rp4m] Add `BlockedAddr` check in `CreatePeriodicVestingAccount`. + * (x/auth/vesting) [GHSA-4j93-fm92-rp4m](https://github.com/cosmos/cosmos-sdk/security/advisories/GHSA-4j93-fm92-rp4m) Add `BlockedAddr` check in `CreatePeriodicVestingAccount`.README.md (1)
50-50
: Placeholder for contributing guide requires update
TheTODO NEW CONTRIBUTING GUIDE
placeholder should be replaced with the actual link or instructions once the new contributing guidelines are published to avoid confusion for prospective contributors..github/PULL_REQUEST_TEMPLATE.md (1)
13-13
: Consider hyphenating “followup issues”
The term “followup issues” is more commonly styled as “follow-up issues” when used as a noun. Adding the hyphen can improve readability and align with standard English usage.proto/README.md (2)
7-8
: Add comma for improved readabilityConsider adding a comma after
buf.md
to read:
"User-facing documentation should not be placed here but instead goes inbuf.md
, and in each protobuf package following the guidelines in ..."
This will improve sentence flow.🧰 Tools
🪛 LanguageTool
[uncategorized] ~8-~8: Possible missing comma found.
Context: ...d goes inbuf.md
and in each protobuf package following the guidelines in https://doc...(AI_HYDRA_LEO_MISSING_COMMA)
9-9
: Remove trailing pipe in linkThe trailing
|
at the end of this line appears to be unintended and can break Markdown rendering. Please remove it.x/gov/README.md (1)
13-13
: Add missing article in sentence
The sentence should read "a Cosmos SDK-based blockchain".
Apply this diff:- The module enables Cosmos SDK-based blockchain to support an on-chain governance system. + The module enables a Cosmos SDK-based blockchain to support an on-chain governance system.🧰 Tools
🪛 LanguageTool
[uncategorized] ~13-~13: You might be missing the article “the” here.
Context: ...aper) in June 2016. The module enables Cosmos SDK-based blockchain to support an on-c...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
scripts/valid-links.py (3)
34-47
: Prefer a sharedrequests.Session()
for connection reuseCreating a new TCP connection for every HEAD/GET is slow when thousands of links are scanned. Wrap the logic in a module-level
SESSION = requests.Session()
and use that for all requests; you’ll see a noticeable speed-up without extra concurrency code.
127-131
: Exclude ignored directories to keep runtime reasonable
Path('.').rglob('*.md')
will descend into.git/
, virtual-envs, built artefacts, etc. Since.gitignore
already lists.venv
,vendor
,dist
, etc., mirror that list here to avoid tens-of-thousands of unnecessary IO calls.Example snippet:
EXCLUDE_DIRS = {'.git', '.venv', 'vendor', 'dist', 'build', 'node_modules'} ... for root, dirs, files in os.walk('.'): dirs[:] = [d for d in dirs if d not in EXCLUDE_DIRS] ...
141-160
: Cache miss still counts as failureOnly results starting with “✅” are considered passes, but transient network errors (
⚠️
) are lumped into failures.
You may wish to separate “soft-failures” so that CI fails only on confirmed 4xx/5xx responses.failed = sum(1 for r in REPORT if r[3].startswith("❌")) soft = sum(1 for r in REPORT if r[3].startswith("⚠️")) passed = len(REPORT) - failed - softtools/cosmovisor/CHANGELOG.md (1)
176-176
: Use a Version-Stable Link for the README.This link points to
main
, which can drift over time. To ensure the changelog remains accurate for v0.1.0, consider pinning to a specific tag or release branch (e.g.,v0.1.0
) instead ofmain
:- See the [README](https://github.com/cosmos/cosmos-sdk/blob/main/tools/cosmovisor/README.md) + See the [README](https://github.com/cosmos/cosmos-sdk/blob/v0.1.0/tools/cosmovisor/README.md)docs/docs/learn/advanced/05-encoding.md (1)
50-50
: Polish sentence for clarity.The current phrasing is a bit long and could be split for readability. For example:
- If modules use [Collections](https://pkg.go.dev/cosmossdk.io/collections), encoding and decoding are handled, marshal and unmarshal should not be handled manually unless for specific cases identified by the developer. + If modules use [Collections](https://pkg.go.dev/cosmossdk.io/collections), encoding and decoding are handled automatically. + Avoid manually marshaling or unmarshaling—do so only in well-justified, edge-case scenarios.docs/architecture/adr-059-test-scopes.md (1)
139-140
: Use an en dash for ranges.Typographically, ranges should use an en dash. For example:
- * A success may take a long time to run, 7-10 minutes per simulation in CI. + * A success may take a long time to run, 7–10 minutes per simulation in CI.🧰 Tools
🪛 LanguageTool
[typographical] ~139-~139: If specifying a range, consider using an en dash instead of a hyphen.
Context: ... A success may take a long time to run, 7-10 minutes per simulation in CI. * Timeout...(HYPHEN_TO_EN)
docs/README.md (1)
41-41
: Refine wording & grammar in note about current version build
Minor grammar tweaks will improve clarity and consistency.Proposed diff:
- Note, the command above only builds the docs for the current versions. - With the drawback that none of the redirections works. So, you'll need to go to /main to see the docs. + Note: the command above only builds the docs for the current version, so none of the redirections work. You’ll need to navigate to `/main` to view the documentation.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (56)
.github/PULL_REQUEST_TEMPLATE.md
(2 hunks).gitignore
(1 hunks)CHANGELOG.md
(1 hunks)CODING_GUIDELINES.md
(0 hunks)CONTRIBUTING.md
(0 hunks)README.md
(2 hunks)RELEASE_PROCESS.md
(0 hunks)ROADMAP.md
(0 hunks)UPGRADE_GUIDE.md
(4 hunks)UPGRADING.md
(3 hunks)crypto/bcrypt_readme.md
(1 hunks)docs/README.md
(2 hunks)docs/architecture/adr-009-evidence-module.md
(2 hunks)docs/architecture/adr-019-protobuf-state-encoding.md
(1 hunks)docs/architecture/adr-028-public-key-addresses.md
(1 hunks)docs/architecture/adr-033-protobuf-inter-module-comm.md
(2 hunks)docs/architecture/adr-038-state-listening.md
(1 hunks)docs/architecture/adr-040-storage-and-smt-state-commitments.md
(2 hunks)docs/architecture/adr-054-semver-compatible-modules.md
(2 hunks)docs/architecture/adr-059-test-scopes.md
(4 hunks)docs/architecture/adr-062-collections-state-layer.md
(1 hunks)docs/docs/build/build.md
(1 hunks)docs/docs/build/building-apps/00-runtime.md
(0 hunks)docs/docs/build/building-apps/01-app-go-di.md
(1 hunks)docs/docs/build/building-modules/03-msg-services.md
(1 hunks)docs/docs/build/building-modules/13-upgrade.md
(1 hunks)docs/docs/build/building-modules/15-depinject.md
(1 hunks)docs/docs/build/building-modules/16-testing.md
(2 hunks)docs/docs/build/packages/README.md
(1 hunks)docs/docs/build/tooling/README.md
(1 hunks)docs/docs/learn/advanced/00-baseapp.md
(3 hunks)docs/docs/learn/advanced/01-transactions.md
(1 hunks)docs/docs/learn/advanced/02-context.md
(1 hunks)docs/docs/learn/advanced/05-encoding.md
(1 hunks)docs/docs/learn/advanced/06-grpc_rest.md
(1 hunks)docs/docs/learn/advanced/08-events.md
(1 hunks)docs/docs/learn/advanced/11-runtx_middleware.md
(1 hunks)docs/docs/learn/advanced/15-upgrade.md
(1 hunks)docs/docs/learn/beginner/00-app-anatomy.md
(2 hunks)docs/docs/learn/beginner/04-gas-fees.md
(2 hunks)docs/docs/user/run-node/00-keyring.md
(1 hunks)docs/spec/SPEC_STANDARD.md
(1 hunks)docs/spec/addresses/bech32.md
(1 hunks)proto/README.md
(1 hunks)scripts/valid-links.py
(1 hunks)store/snapshots/README.md
(1 hunks)store/streaming/abci/README.md
(0 hunks)testutil/simsx/README.md
(4 hunks)tools/cosmovisor/CHANGELOG.md
(1 hunks)x/auth/README.md
(1 hunks)x/authz/README.md
(1 hunks)x/feegrant/README.md
(1 hunks)x/gov/README.md
(3 hunks)x/nft/README.md
(2 hunks)x/slashing/README.md
(1 hunks)x/staking/README.md
(2 hunks)
💤 Files with no reviewable changes (6)
- docs/docs/build/building-apps/00-runtime.md
- ROADMAP.md
- store/streaming/abci/README.md
- CONTRIBUTING.md
- RELEASE_PROCESS.md
- CODING_GUIDELINES.md
🧰 Additional context used
🪛 LanguageTool
crypto/bcrypt_readme.md
[style] ~7-~7: This phrasing can be wordy. For improved clarity, try opting for something more concise.
Context: ... this parameter choice seems sufficient for the time being. Bcrypt always generates a 448-bit key,...
(FOR_THE_TIME_BEING)
docs/spec/addresses/bech32.md
[grammar] ~17-~17: The word ‘expos’ is a noun or an adjective. A verb or adverb is missing or misspelled here, or maybe a comma is missing.
Context: ...ng interfaces to Cosmos software should expos Bech32 interfaces, many internal interf...
(PRP_MD_NN)
[grammar] ~21-~21: Replace ‘sufficient’ with an appropriate verb.
Context: ...ing payload before Bech32 encoding will sufficient for compatible representation.
(MD_NN)
docs/docs/build/build.md
[uncategorized] ~9-~9: Possible missing comma found.
Context: ...md) - See what has been updated in each release the process of the transition between v...
(AI_HYDRA_LEO_MISSING_COMMA)
proto/README.md
[uncategorized] ~8-~8: Possible missing comma found.
Context: ...d goes in buf.md
and in each protobuf package following the guidelines in https://doc...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/architecture/adr-059-test-scopes.md
[typographical] ~139-~139: If specifying a range, consider using an en dash instead of a hyphen.
Context: ... A success may take a long time to run, 7-10 minutes per simulation in CI. * Timeout...
(HYPHEN_TO_EN)
docs/architecture/adr-040-storage-and-smt-state-commitments.md
[uncategorized] ~273-~273: You might be missing the article “the” here.
Context: ...y that an object registered in RDBMS is same as the one committed to SMT, one will n...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[grammar] ~277-~277: The word ‘responsible’ is a noun or an adjective. A verb is missing or misspelled, or maybe a comma is missing.
Context: ...ot automatically committed. Module will responsible for having a sound storage model and ca...
(MD_JJ)
[uncategorized] ~277-~277: You might be missing the article “the” here.
Context: ...optionally use the feature discussed in __Committing to an object without saving ...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
x/gov/README.md
[uncategorized] ~13-~13: You might be missing the article “the” here.
Context: ...aper) in June 2016. The module enables Cosmos SDK-based blockchain to support an on-c...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
🪛 GitHub Actions: Check Markdown links
docs/docs/build/tooling/README.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/cosmovisor/README.md (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/confix/README.md (Status: 429)
docs/docs/learn/advanced/01-transactions.md
[error] 1-1: Markdown link check failed: 3 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/proto/cosmos/tx/signing/v1beta1/signing.proto#L17 (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/x/auth/tx/builder.go#L27-L44 (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/x/auth/migrations/legacytx/stdtx_builder.go#L14-L17 (Status: 429)
docs/spec/SPEC_STANDARD.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/ibc/blob/main/spec/ics-001-ics-standard/README.md (Status: 429), [✖] https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1.md (Status: 429)
docs/docs/learn/advanced/11-runtx_middleware.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/baseapp/recovery.go (Status: 429)
docs/architecture/adr-028-public-key-addresses.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/iov-one/weave/blob/master/conditions.go (Status: 429), [✖] https://www.linkedin.com/in/alan-szepieniec-7b1957142 (Status: 999)
docs/docs/learn/advanced/08-events.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/proto/cosmos/nft/v1beta1/event.proto#L21-L31 (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/x/bank/types/events.go (Status: 429)
docs/docs/learn/advanced/15-upgrade.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/cosmovisor/README.md (Status: 429)
docs/architecture/adr-038-state-listening.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/docs/build/building-modules/02-messages-and-queries.md#queries (Status: 429)
docs/docs/build/building-modules/13-upgrade.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.50.0-alpha.0/x/bank/migrations/v2/store.go#L55-L76 (Status: 429)
docs/architecture/adr-062-collections-state-layer.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-055-orm.md (Status: 429)
docs/docs/build/building-modules/15-depinject.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.50.0-alpha.0/scripts/protocgen-pulsar.sh (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.50.0-alpha.0/api/cosmos/group/module/v1/module.pulsar.go (Status: 429)
docs/docs/learn/advanced/02-context.md
[error] 1-1: Markdown link check failed: 3 dead links found. See log for details.
README.md
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/store/types/store.go (Status: 429), [✖] https://github.com/cosmos/iavl/blob/master/docs/overview.md (Status: 429)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/store/types/store.go (Status: 429), [✖] https://github.com/cosmos/iavl/blob/master/docs/overview.md (Status: 429)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://cosmos.network/whitepaper (Status: 404)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/RELEASE_PROCESS.md (Status: 429), [✖] https://docs.cosmos.network/main/architecture/adr-043-nft-module.html (Status: 404)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://cosmos.network/whitepaper (Status: 404), [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-037-gov-split-vote.md (Status: 429)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-009-evidence-module.md (Status: 429), [✖] https://github.com/cometbft/cometbft/blob/main/spec/abci/abci%2B%2B_basic_concepts.md#evidence (Status: 429)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-043-nft-module.md (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/proto/cosmos/nft/v1beta1/event.proto (Status: 429)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://cosmos.network/whitepaper (Status: 404)
[error] 1-1: Markdown link check failed: 4 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-030-authz-module.md (Status: 429), [✖] #SendAuthorization (Status: 404), [✖] #GenericAuthorization (Status: 404), [✖] #StakeAuthorization (Status: 404)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-029-fee-grant-module.md (Status: 429)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/tree/main/docs/spec/fee_distribution/f1_fee_distr.pdf (Status: 429)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-010-modular-antehandler.md (Status: 429)
[error] 1-1: Markdown link check failed: 2 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/cosmovisor/README.md (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/confix/README.md (Status: 429)
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/tree/main/CONTRIBUTING.md#updating-documentation (Status: 429)
docs/architecture/adr-009-evidence-module.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/tendermint/spec/blob/7b3138e69490f410768d9b1ffc7a17abc23ea397/spec/consensus/fork-accountability.md (Status: 429)
docs/docs/learn/advanced/06-grpc_rest.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0-rc.2/scripts/protoc-swagger-gen.sh (Status: 429)
docs/docs/build/building-modules/16-testing.md
[error] 1-1: Markdown link check failed: 3 dead links found. [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/x/gov/keeper/keeper_test.go (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/main/testutil/integration (Status: 429), [✖] https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/x/slashing/app_test.go#L54-L62 (Status: 429)
docs/README.md
[error] 1-1: Markdown link check failed: 1 dead link found. [✖] https://github.com/cosmos/cosmos-sdk/tree/main/CONTRIBUTING.md#updating-documentation (Status: 429)
docs/architecture/adr-059-test-scopes.md
[error] 1-1: Markdown link check failed: 16 dead links found. See log for details.
docs/docs/learn/beginner/00-app-anatomy.md
[error] 1-1: Markdown link check failed: 5 dead links found. See log for details.
🪛 Ruff (0.8.2)
scripts/valid-links.py
5-5: urllib.parse.urlparse
imported but unused
Remove unused import: urllib.parse.urlparse
(F401)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Summary
🔇 Additional comments (57)
docs/spec/SPEC_STANDARD.md (1)
55-55
: Correct internal anchor link for History section
The link now correctly references the## History
section with#history
instead of the obsolete#history-1
.docs/docs/learn/advanced/01-transactions.md (1)
98-98
: Correct relative path to ADR-050 link
The updated reference (../../../architecture/adr-050-sign-mode-textual.md
) now properly points to the sign mode ADR from this document’s location.docs/docs/user/run-node/00-keyring.md (1)
95-95
: Update external URL for KDE Wallet Manager
The new link (https://apps.kde.org/kwalletmanager5/
) accurately points to the KWallet Manager page.crypto/bcrypt_readme.md (1)
5-5
: Add external reference for Bcrypt security considerations
The Auth0 blog link provides authoritative background on Bcrypt security parameters.docs/docs/build/tooling/README.md (1)
12-13
:✅ Verification successful
Link Validity Check Failure – GitHub Rate Limit
The CI Markdown link checker reports HTTP 429 for these GitHub URLs, likely due to rate limiting. To ensure stable link validation, consider switching to the raw content endpoints or another mirror. For example:
- * [Cosmovisor](https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/cosmovisor/README.md) + * [Cosmovisor](https://raw.githubusercontent.com/cosmos/cosmos-sdk/v0.53.0/tools/cosmovisor/README.md) - * [Confix](https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/confix/README.md) + * [Confix](https://raw.githubusercontent.com/cosmos/cosmos-sdk/v0.53.0/tools/confix/README.md)You can also verify HTTP status codes with this script:
🏁 Script executed:
#!/usr/bin/env bash # Verify link accessibility for url in \ https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/cosmovisor/README.md \ https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/confix/README.md; do echo "$url -> $(curl -L -s -o /dev/null -w '%{http_code}' "$url")" doneLength of output: 911
No action required: GitHub links are accessible
Both URLs now return HTTP 200 when fetched, so they won’t be blocked by rate-limiting in CI. You can keep the current links as-is.
x/auth/README.md (1)
35-35
: Corrected module link – Good catchThe relative link to the
authz
module was updated from../modules/authz/
to../authz/
, which correctly points tox/authz/README.md
. This fix aligns internal references with the directory structure.x/authz/README.md (1)
41-41
: Corrected module link – Good catchThe relative link to the
auth
module was updated from../modules/auth/
to../auth/
, which correctly points tox/auth/README.md
.x/slashing/README.md (1)
10-10
: Fixed Cosmos Whitepaper URLThe link was updated from
https://cosmos.network/about/whitepaper
tohttps://cosmos.network/whitepaper
, matching the canonical location of the whitepaper.store/snapshots/README.md (1)
14-15
: Link target updated to spec root for stability
The links now correctly point to the general/spec/
root, which is more stable than the previous deep-linked paths.docs/docs/build/building-modules/13-upgrade.md (1)
63-63
: Corrected relative link to ADR-028
The relative path../../../architecture/adr-028-public-key-addresses.md
properly navigates frombuilding-modules/13-upgrade.md
to the ADR location.docs/docs/learn/beginner/04-gas-fees.md (2)
49-49
: Anchor link typo fix
The anchor link is now correctly spelled as#main-gas-meter
, ensuring it navigates properly to the "Main Gas Meter" section.
61-61
: American English spelling alignment
Changed "initialisation" to "initialization" for consistency with American English usage in the docs.README.md (1)
33-33
: Updated Go download link
Switching tohttps://go.dev
ensures users are directed to the main Go page for the latest available downloads.docs/docs/build/building-modules/03-msg-services.md (1)
22-22
: Corrected ADR-031 relative link
The updated relative path../../../architecture/adr-031-msg-service.md
accurately resolves from this file's location to the ADR.docs/docs/learn/advanced/00-baseapp.md (3)
168-168
: Removed markdown link formatting for clarityReplaced the hyperlinked phrase around "custom mempool handlers" with plain text to simplify the documentation style.
179-179
: Removed markdown link formatting for consistencyStripped markdown link syntax from "custom mempool handlers" in the second occurrence to match the updated presentation.
230-230
: Updated section header for consistencyRenamed the section header from "Main ABCI 2.0 Messages" to "Main ABCI Messages" to reflect the current naming convention.
x/staking/README.md (2)
10-10
: Corrected Whitepaper URLUpdated the Cosmos Whitepaper link from
/about/whitepaper
to the canonical/whitepaper
URL.
52-52
: Fixed internal anchor linkChanged the anchor for "Queues" from
#queues-1
to#queues
to ensure the TOC entry navigates correctly.x/feegrant/README.md (1)
24-25
: Fixed Msg Server anchor linksRemoved the erroneous trailing
-1
from the#msggrantallowance
and#msgrevokeallowance
anchors to match the actual headings.docs/architecture/adr-038-state-listening.md (1)
23-23
: Updated Queries documentation linkAdjusted the Queries link to point to
docs/docs/build/building-modules/02-messages-and-queries.md#queries
for accurate navigation.docs/docs/build/building-apps/01-app-go-di.md (2)
10-10
: Corrected relative path to ADR-057Adjusted the ADR-057 link to use the correct relative path (
../../../architecture/adr-057-app-wiring.md
).
18-18
: Corrected prerequisite link for ADR-057Updated the pre-requisite reading entry for ADR-057 to the proper three-level relative path.
.github/PULL_REQUEST_TEMPLATE.md (1)
33-33
: Approve removal of explicit tests URL
Simplifying the checklist item to refer generally to “unit and integration tests” without embedding the URL keeps the template concise.docs/docs/learn/advanced/02-context.md (1)
37-37
: Approve updated Consensus Params link
The new URL (https://docs.cometbft.com/v1.0/spec/consensus/) correctly points to the current CometBFT documentation for Consensus Parameters.UPGRADE_GUIDE.md (4)
55-55
: Clarify heading for ProtocolPool Manual Wiring
Renaming the generic “Manual Wiring” to “ProtocolPool Manual Wiring” improves clarity by specifying the module context.
162-162
: Clarify heading for ProtocolPool DI Wiring
Updating the DI wiring heading to “ProtocolPool DI Wiring” aligns with the pattern and clearly indicates the module being configured.
265-265
: Clarify heading for Epochs Manual Wiring
The new heading “Epochs Manual Wiring” makes the section purpose explicit and consistent with other module wiring instructions.
340-340
: Clarify heading for Epochs DI Wiring
Changing to “Epochs DI Wiring” ensures the heading clearly reflects the module and wiring style being documented.testutil/simsx/README.md (4)
6-6
: Corrected Message factory link path
The updated URL now correctly referencestestutil/simsx/msg_factory.go
rather than an outdated root path.
21-21
: Corrected Sims registry link path
The registry link now points totestutil/simsx/registry.go
, fixing the previous incorrect directory reference.
32-32
: Corrected Reporter link path
The reporter section now links totestutil/simsx/reporter.go
, ensuring the URL matches the actual file location.
45-45
: Corrected Test data environment link path
Updating the path totestutil/simsx/environment.go
restores navigation to the correct source file.docs/architecture/adr-019-protobuf-state-encoding.md (1)
153-153
: Updated branch reference inAny
implementation linkThe URL has been corrected from the
master
branch to themain
branch to ensure a stable, long-lived link.proto/README.md (1)
3-3
: Simplified introductory sentenceChanged "All of the Cosmos SDK proto files..." to "All Cosmos SDK proto files..." for clarity and brevity.
docs/architecture/adr-054-semver-compatible-modules.md (2)
350-350
: Corrected remote plugin overview URLUpdated the Buf remote plugins link to point to
https://buf.build/docs/bsr/remote-plugins/overview/
, matching upstream documentation.
449-449
: Adjusted relative path to module options proto fileThe link now correctly points to
../../proto/cosmos/app/v1alpha1/module.proto
, aligning with the repository structure.docs/architecture/adr-033-protobuf-inter-module-comm.md (2)
23-23
: Fixed internal documentation link for Object-Capability ModelAdjusted the relative path to the OCAP document under
docs/learn/advanced
to ensure the link resolves correctly.
400-400
: Updated external link to Object-Capability Model referenceChanged the external documentation URL to
https://decentralized-id.com/development/object-capabilities/
for a more accurate source.x/nft/README.md (2)
19-20
: Corrected internal anchor links for the State sectionRemoved the
-1
suffix from the#class
and#nft
anchors so they match the actual heading IDs.
91-91
: Updated external proto event documentation linkNow points directly to the
event.proto
file atv0.53.0
for precise reference.docs/architecture/adr-009-evidence-module.md (1)
182-182
:❌ Incorrect review comment
Update dead link: Tendermint Fork Accountability
The Markdown link check failed (429). Update the link to point to themain
branch or another valid path.
Apply this diff:- * [Tendermint Fork Accountability](https://github.com/tendermint/spec/blob/7b3138e69490f410768d9b1ffc7a17abc23ea397/spec/consensus/fork-accountability.md) + * [Tendermint Fork Accountability](https://github.com/tendermint/spec/blob/main/spec/consensus/fork-accountability.md)
🏁 Script executed:
#!/bin/bash # Verify HTTP status codes for the existing commit‐SHA link and the proposed main‐branch link echo "Checking original link (commit SHA):" curl -s -I -L https://github.com/tendermint/spec/blob/7b3138e69490f410768d9b1ffc7a17abc23ea397/spec/consensus/fork-accountability.md | head -n 1 echo "Checking proposed link (main branch):" curl -s -I -L https://github.com/tendermint/spec/blob/main/spec/consensus/fork-accountability.md | head -n 1Length of output: 450
No update required for Tendermint Fork Accountability link
The existing commit-SHA URL returns HTTP 200 and is not broken. The proposedmain
-branch URL is currently rate-limited (HTTP 429). Retain the original link for stability.Likely an incorrect or invalid review comment.
UPGRADING.md (2)
103-103
:✅ Verification successful
Verify SimApp wiring example link
Ensuresimapp/app.go
is present at tagv0.53.0
.
🏁 Script executed:
#!/bin/bash # Verify SimApp example at v0.53.0 if curl --head --silent --fail "https://raw.githubusercontent.com/cosmos/cosmos-sdk/v0.53.0/simapp/app.go"; then echo "SimApp link is valid." else echo "SimApp link is broken or missing at tag v0.53.0." exit 1 fiLength of output: 1033
SimApp wiring example link is valid
The link tosimapp/app.go
at tagv0.53.0
returns HTTP 200 and is accessible. No updates needed.
15-15
:✅ Verification successful
Verify tag-based changelog link
EnsureCHANGELOG.md
exists at tagv0.53.0
and that the URL resolves correctly.Run this script:
🏁 Script executed:
#!/bin/bash # Verify CHANGELOG.md at v0.53.0 if curl --head --silent --fail "https://raw.githubusercontent.com/cosmos/cosmos-sdk/v0.53.0/CHANGELOG.md"; then echo "Changelog link is valid." else echo "Changelog link is broken or missing at tag v0.53.0." exit 1 fiLength of output: 1037
Changelog link for v0.53.0 is valid
TheCHANGELOG.md
at tagv0.53.0
returns HTTP 200, so the link in UPGRADING.md is correct.docs/docs/learn/beginner/00-app-anatomy.md (2)
150-154
: Double-check new gogoproto link actually resolvesThe branch was switched from
master
→main
, but the concrete file (proto/properties.go
) lives at a slightly different path in the repo (types/properties.go
as of v0.6+).
Please open the URL in a browser or run the link-checker locally to ensure we did not introduce another 404.🧰 Tools
🪛 LanguageTool
[uncategorized] ~150-~150: Loose punctuation mark.
Context: ...our fields means: *InterfaceRegistry
: TheInterfaceRegistry
is used by the ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~153-~153: Loose punctuation mark.
Context: ...9-protobuf-state-encoding.md). *Codec
: The default codec used throughout the C...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~154-~154: Loose punctuation mark.
Context: ...K uses Protobuf asCodec
. *TxConfig
:TxConfig
defines an interface a clien...(UNLIKELY_OPENING_PUNCTUATION)
223-232
: Nice wording clean-upSwitching “application’s interfaces” → “module interface” and clarifying the transaction command sentence makes the paragraph clearer for beginners. 👍
🧰 Tools
🪛 LanguageTool
[uncategorized] ~232-~232: Possible missing preposition found.
Context: ... to the appropriate querier thequeryRoute
parameter supplied. #### ...(AI_HYDRA_LEO_MISSING_OF)
.gitignore (1)
55-60
:bin
/lib
rules may hide legitimate top-level codeIgnoring bare
bin
andlib
folders is convenient for virtual-envs, but it will also mask any real project directories with those names (very common for Go, Rust, and Bash helper scripts).
Safer pattern:-.venv -bin -lib +/.venv/ +.venv/**or explicitly scope to sub-paths of
.venv/
.docs/docs/build/building-modules/15-depinject.md (1)
9-9
: Absolute URL fordepinject
link improves stability and accuracy.The relative link has been correctly replaced with the official Go package URL, ensuring it remains valid even if internal file structures change.
docs/docs/learn/advanced/06-grpc_rest.md (1)
29-29
: Removed redundant markdown link around “encoding.”Replacing the linked text with plain “encoding” eliminates a dead or misleading link and clarifies the prose. This improves readability without loss of context.
docs/docs/learn/advanced/08-events.md (1)
36-36
: Corrected relative path to ADR-032 for Typed Events.Updating the link to use
../../../architecture/adr-032-typed-events.md
ensures the path resolves correctly from this document’s location.docs/docs/learn/advanced/11-runtx_middleware.md (1)
11-11
: Fixed ADR-022 link path.The relative path to the ADR-022 document has been updated to
../../../architecture/adr-022-custom-panic-handling.md
, ensuring the link is valid from this file’s directory.docs/architecture/adr-062-collections-state-layer.md (1)
81-81
: Removed obsoletex/perp
usage example, retainedx/oracle
link.Dropping the outdated
x/perp
reference and keeping only the relevantx/oracle
example aligns with current usage. The URL points to the keeper implementation and appears accurate.docs/docs/learn/advanced/15-upgrade.md (1)
162-162
: Verify Cosmovisor Quick Start URL Accessibility.The GitHub link to the Cosmovisor Quick Start (
https://github.com/cosmos/cosmos-sdk/blob/v0.53.0/tools/cosmovisor/README.md
) is returning a 429 in our Markdown link checker. Please confirm the URL is correct and accessible under heavy CI load. If necessary, consider:
- Using a more stable host (e.g.,
docs.cosmos.network
orraw.githubusercontent.com
).- Pinning to a versioned branch or tag that’s guaranteed to exist.
docs/docs/build/building-modules/16-testing.md (1)
25-25
: Mockgen link update looks good.Switching from
https://go.uber.org/mock
to thepkg.go.dev
reference is consistent with other docs and will give users up-to-date API docs.docs/architecture/adr-059-test-scopes.md (1)
59-59
: Verify depinject BDD-style tests link.The link to the BDD style tests at v0.50.0 (
https://github.com/cosmos/cosmos-sdk/blob/v0.50.0/depinject/features/bindings.feature
) may no longer exist or could move in future SDK versions. Please confirm it resolves correctly or consider linking to a stable reference or the main branch if appropriate.docs/docs/build/packages/README.md (1)
23-23
: ✅ Collections link update is correct
The switch from a relative path to the absolute pkg.go.dev URL for Collections is accurate and improves link stability.docs/README.md (1)
32-32
: ✅ Added command to start only the current docs
This new instruction clearly explains how to launch the local server for the active version.
@@ -289,7 +289,7 @@ More specifically, any special account address must not have a length equal to 2 | |||
|
|||
## Appendix: Consulting session | |||
|
|||
End of Dec 2020 we had a session with [Alan Szepieniec](https://scholar.google.be/citations?user=4LyZn8oAAAAJ&hl=en) to consult the approach presented above. | |||
End of Dec 2020 we had a session with [Alan Szepieniec](https://www.linkedin.com/in/alan-szepieniec-7b1957142) to consult the approach presented above. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Broken external link in Appendix (Alan Szepieniec reference)
The LinkedIn URL (https://www.linkedin.com/in/alan-szepieniec-7b1957142
) returns a 999 status and fails the link check. Please update to a valid, stable resource or remove the hyperlink. Additionally, verify and fix other broken links present in this file (e.g. the conditions.go
reference).
🏁 Script executed:
#!/bin/bash
# Check LinkedIn URL status code
curl -s -o /dev/null -w "LinkedIn URL status: %{http_code}\n" "https://www.linkedin.com/in/alan-szepieniec-7b1957142"
# Search for 'conditions.go' reference in ADR document
rg -n "conditions.go" docs/architecture/adr-028-public-key-addresses.md
# Check for existence of 'conditions.go' file in the repository
fd -t f conditions.go || echo "conditions.go not found in repository"
Length of output: 376
🏁 Script executed:
#!/bin/bash
# Check GitHub HTML page status for conditions.go
curl -s -o /dev/null -w "conditions.go HTML status: %{http_code}\n" "https://github.com/iov-one/weave/blob/master/conditions.go"
# Check raw file status for conditions.go
curl -s -o /dev/null -w "conditions.go RAW status: %{http_code}\n" "https://raw.githubusercontent.com/iov-one/weave/master/conditions.go"
Length of output: 327
Update or Remove Broken LinkedIn Link
The LinkedIn URL in docs/architecture/adr-028-public-key-addresses.md
returns a 999 status code when checked programmatically and fails link validation. Please replace it with a stable reference or remove it entirely. The conditions.go
link (line 37) is returning HTTP 200 and does not require changes.
Files/locations to address:
- docs/architecture/adr-028-public-key-addresses.md (line 292): LinkedIn URL
https://www.linkedin.com/in/alan-szepieniec-7b1957142
- docs/architecture/adr-028-public-key-addresses.md (line 37):
https://github.com/iov-one/weave/blob/master/conditions.go
— valid, no action needed.
🤖 Prompt for AI Agents (early access)
In docs/architecture/adr-028-public-key-addresses.md at line 292, the LinkedIn
URL for Alan Szepieniec is broken and returns a 999 status code. Remove the
hyperlink or replace it with a valid, stable reference to fix the broken link.
Also verify other links in the file, but no changes are needed for the
conditions.go link at line 37 as it is valid.
* [Migrations](./migrations/01-intro.md) - See what has been updated in each release the process of the transition between versions. | ||
* [Packages](./packages/README.md) - Explore a curated collection of pre-built modules and functionalities, streamlining the development process. | ||
* [Tooling](./tooling/README.md) - A suite of utilities designed to enhance the development workflow, optimizing the efficiency of Cosmos SDK-based projects. | ||
* [ADR's](./architecture/README.md) - Provides a structured repository of key decisions made during the development process, which have been documented and offers rationale behind key decisions being made. | ||
* [ADR's](../../architecture/README.md) - Provides a structured repository of key decisions made during the development process, which have been documented and offers rationale behind key decisions being made. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Broken relative link to ADRs
The path ../../architecture/README.md
from docs/docs/build/build.md
goes up one level too many. It should be ../architecture/README.md
to point to docs/docs/architecture/README.md
.
-* [ADR's](../../architecture/README.md)
+* [ADR's](../architecture/README.md)
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
* [ADR's](../../architecture/README.md) - Provides a structured repository of key decisions made during the development process, which have been documented and offers rationale behind key decisions being made. | |
* [ADR's](../architecture/README.md) - Provides a structured repository of key decisions made during the development process, which have been documented and offers rationale behind key decisions being made. |
🤖 Prompt for AI Agents (early access)
In docs/docs/build/build.md at line 12, the relative link to ADRs is incorrect
because it goes up two directory levels instead of one. Change the link path
from ../../architecture/README.md to ../architecture/README.md to correctly
point to docs/docs/architecture/README.md.
@@ -5,9 +5,9 @@ | |||
# Build | |||
|
|||
* [Building Apps](./building-apps/00-app-go.md) - The documentation in this section will guide you through the process of developing your dApp using the Cosmos SDK framework. | |||
* [Modules](./modules/README.md) - Information about the various modules available in the Cosmos SDK: Auth, Authz, Bank, Circuit, Consensus, Distribution, Epochs, Evidence, Feegrant, Governance, Group, Mint, NFT, Protocolpool, Slashing, Staking, Upgrade, Genutil. | |||
* [Modules](./modules) - Information about the various modules available in the Cosmos SDK: Auth, Authz, Bank, Circuit, Consensus, Distribution, Epochs, Evidence, Feegrant, Governance, Group, Mint, NFT, Protocolpool, Slashing, Staking, Upgrade, Genutil. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Verify relative link for Modules section
Linking to ./modules
assumes an index.md
or equivalent in the docs/docs/build/modules
folder. Please confirm that the directory exists and that the static site generator will resolve this path correctly.
🏁 Script executed:
#!/bin/bash
# Check that the Modules directory and its index file exist
if [ ! -d docs/docs/build/modules ]; then
echo "ERROR: docs/docs/build/modules directory not found"
exit 1
fi
if [ ! -f docs/docs/build/modules/index.md ]; then
echo "ERROR: docs/docs/build/modules/index.md not found"
exit 1
fi
echo "PASS: Modules link path is valid"
Length of output: 160
#!/bin/bash
set -e
echo "❯ Looking for a 'modules' directory under docs/docs/build"
find docs/docs/build -type d -name modules || echo "No 'modules' directory found under docs/docs/build"
echo "❯ Looking for 'modules.md' or 'modules/index.md' under docs/docs/build"
find docs/docs/build -type f \( -name "modules.md" -o -name "modules/index.md" \) || echo "No 'modules.md' or 'modules/index.md' found under docs/docs/build"
🏁 Script executed:
#!/bin/bash
set -e
echo "Searching for any 'modules' directory in the repo:"
find . -type d -name modules || echo "→ No 'modules' directory found"
echo
echo "Searching for 'modules.md' or 'modules/index.md' files:"
find . -type f \( -name "modules.md" -o -path "*/modules/index.md" \) || echo "→ No modules.md or modules/index.md found"
Length of output: 437
Fix broken Modules link in docs/docs/build/build.md
The relative link ./modules
in the “Modules” list is invalid—there is no docs/docs/build/modules/
directory or modules.md
/modules/index.md
file under docs/docs/build
. Please correct this by either:
- Creating the
docs/docs/build/modules/
folder with anindex.md
(orREADME.md
) inside, so./modules
resolves properly, - Or updating the link to point to the actual location of your modules documentation (for example,
./modules.md
in the build folder or another existing path).
Files/locations needing attention:
- docs/docs/build/build.md (update the link at line 8)
- (Optional) docs/docs/build/modules/index.md—or adjust to your chosen target file.
🤖 Prompt for AI Agents (early access)
In docs/docs/build/build.md at line 8, the relative link './modules' is broken
because there is no 'modules' directory or 'modules.md' file under
docs/docs/build. Fix this by either creating a 'docs/docs/build/modules/'
directory with an 'index.md' or 'README.md' inside so the link resolves
correctly, or update the link in build.md to point to the actual existing
location of the modules documentation file.
|
||
A complete implementation of the Amino serialization format is unnecessary in most cases. Simply prepending bytes from this [table](https://github.com/cometbft/cometbft/blob/main/spec/blockchain/encoding.md) to the byte string payload before Bech32 encoding will sufficient for compatible representation. | ||
A complete implementation of the Amino serialization format is unnecessary in most cases. Simply prepending bytes from this [table](https://github.com/cometbft/cometbft/blob/main/spec/core/encoding.md) to the byte string payload before Bech32 encoding will sufficient for compatible representation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Insert missing 'be' in sentence
The construction "will sufficient" is missing the verb "be".
Apply this diff:
- ... to the byte string payload before Bech32 encoding will sufficient for compatible representation.
+ ... to the byte string payload before Bech32 encoding will be sufficient for compatible representation.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
A complete implementation of the Amino serialization format is unnecessary in most cases. Simply prepending bytes from this [table](https://github.com/cometbft/cometbft/blob/main/spec/core/encoding.md) to the byte string payload before Bech32 encoding will sufficient for compatible representation. | |
A complete implementation of the Amino serialization format is unnecessary in most cases. Simply prepending bytes from this [table](https://github.com/cometbft/cometbft/blob/main/spec/core/encoding.md) to the byte string payload before Bech32 encoding will be sufficient for compatible representation. |
🧰 Tools
🪛 LanguageTool
[grammar] ~21-~21: Replace ‘sufficient’ with an appropriate verb.
Context: ...ing payload before Bech32 encoding will sufficient for compatible representation.
(MD_NN)
🤖 Prompt for AI Agents (early access)
In docs/spec/addresses/bech32.md at line 21, the sentence "will sufficient" is
missing the verb "be". Insert "be" between "will" and "sufficient" to correct
the grammar.
|
||
## Encoding | ||
|
||
While all user facing interfaces to Cosmos software should exposed Bech32 interfaces, many internal interfaces encode binary value in hex or base64 encoded form. | ||
While all user-facing interfaces to Cosmos software should expos Bech32 interfaces, many internal interfaces encode binary value in hex or base64 encoded form. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix typo: use 'expose' instead of 'expos'
The verb is misspelled.
Apply this diff:
- While all user-facing interfaces to Cosmos software should expos Bech32 interfaces, many internal interfaces encode binary value in hex or base64 encoded form.
+ While all user-facing interfaces to Cosmos software should expose Bech32 interfaces, many internal interfaces encode binary value in hex or base64 encoded form.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
While all user-facing interfaces to Cosmos software should expos Bech32 interfaces, many internal interfaces encode binary value in hex or base64 encoded form. | |
While all user-facing interfaces to Cosmos software should expose Bech32 interfaces, many internal interfaces encode binary value in hex or base64 encoded form. |
🧰 Tools
🪛 LanguageTool
[grammar] ~17-~17: The word ‘expos’ is a noun or an adjective. A verb or adverb is missing or misspelled here, or maybe a comma is missing.
Context: ...ng interfaces to Cosmos software should expos Bech32 interfaces, many internal interf...
(PRP_MD_NN)
🤖 Prompt for AI Agents (early access)
In docs/spec/addresses/bech32.md at line 17, correct the typo by replacing the
misspelled word "expos" with the correct verb "expose" to fix the spelling error
in the sentence.
@@ -23,7 +23,7 @@ Clients that use this feature may now submit their transactions in a fire-and-fo | |||
To submit an unordered transaction, clients must set the `unordered` flag to | |||
`true` and ensure a reasonable `timeout_timestamp` is set. The `timeout_timestamp` is | |||
used as a TTL for the transaction and provides replay protection. Each transaction's `timeout_timestamp` must be | |||
unique to the account; however, the difference may be as small as a nanosecond. See [ADR-070](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-070-unordered-transactions.md) for more details. | |||
unique to the account; however, the difference may be as small as a nanosecond. See [ADR-070](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-070-unordered-account.md) for more details. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Verify ADR link for unordered transactions
Confirm the path docs/architecture/adr-070-unordered-account.md
exists in the repository.
🏁 Script executed:
#!/bin/bash
# Check existence of ADR file
rg "adr-070-unordered-account.md" -n
Length of output: 259
Fix broken ADR-070 link in UPGRADING.md
The referenced ADR file isn’t present in this repo at docs/architecture/adr-070-unordered-account.md
, so the link will 404.
• File: UPGRADING.md Line 26
See [ADR-070](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-070-unordered-account.md) for more details.
• Either add the missing file under docs/architecture/adr-070-unordered-account.md
, or update the hyperlink to the correct location/path where ADR-070 lives locally.
Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents (early access)
In UPGRADING.md at line 26, the hyperlink to ADR-070 points to a non-existent
file at docs/architecture/adr-070-unordered-account.md, causing a broken link.
Fix this by either adding the missing ADR-070 markdown file to the specified
path or updating the hyperlink to the correct existing location of ADR-070
within the repository.
|
||
### Off Chain Store | ||
|
||
We were discussing use case where modules can use a support database, which is not automatically committed. Module will responsible for having a sound storage model and can optionally use the feature discussed in __Committing to an object without saving it_ section. | ||
We were discussing a use case where modules can use a support database, which is not automatically committed. Module will responsible for having a sound storage model and can optionally use the feature discussed in __Committing to an object without saving it_ section. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix missing verb in sentence
The phrase "Module will responsible" lacks the verb "be".
Apply this diff:
- Module will responsible for having a sound storage model and can optionally use the feature discussed in __Committing to an object without saving it_ section.
+ The module will be responsible for having a sound storage model and can optionally use the feature discussed in __Committing to an object without saving it_ section.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
We were discussing a use case where modules can use a support database, which is not automatically committed. Module will responsible for having a sound storage model and can optionally use the feature discussed in __Committing to an object without saving it_ section. | |
We were discussing a use case where modules can use a support database, which is not automatically committed. The module will be responsible for having a sound storage model and can optionally use the feature discussed in __Committing to an object without saving it_ section. |
🧰 Tools
🪛 LanguageTool
[grammar] ~277-~277: The word ‘responsible’ is a noun or an adjective. A verb is missing or misspelled, or maybe a comma is missing.
Context: ...ot automatically committed. Module will responsible for having a sound storage model and ca...
(MD_JJ)
[uncategorized] ~277-~277: You might be missing the article “the” here.
Context: ...optionally use the feature discussed in __Committing to an object without saving ...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
🤖 Prompt for AI Agents (early access)
In docs/architecture/adr-040-storage-and-smt-state-commitments.md at line 277,
the sentence "Module will responsible" is missing the verb "be". Insert "be"
after "will" to correct the phrase to "Module will be responsible".
from urllib.parse import urlparse | ||
import time |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove unused urlparse
import
urlparse
is never referenced – Ruff correctly flags this.
-from urllib.parse import urlparse
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
from urllib.parse import urlparse | |
import time | |
import time |
🧰 Tools
🪛 Ruff (0.8.2)
5-5: urllib.parse.urlparse
imported but unused
Remove unused import: urllib.parse.urlparse
(F401)
🤖 Prompt for AI Agents (early access)
In scripts/valid-links.py around lines 5 to 6, the import statement for urlparse
is unused and flagged by Ruff. Remove the import of urlparse from urllib.parse
to clean up the code and avoid unnecessary imports.
# Extract and check all links in a Markdown file, tracking line number | ||
def check_links_in_file(path): | ||
print(f"🔗 Checking: {path}") | ||
with open(path, 'r', encoding='utf-8') as f: | ||
in_code_block = False | ||
for line_num, line in enumerate(f, 1): | ||
if line.strip().startswith('```'): | ||
in_code_block = not in_code_block | ||
continue | ||
if in_code_block: | ||
continue | ||
if '`' in line: | ||
continue | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Skipping every line containing a back-tick hides real links
if '
' in line: continue` filters out all lines that contain inline-code, even when they also embed legitimate links (common in markdown).
Consider parsing inline-code spans instead of discarding the whole line, e.g.:
- if '`' in line:
- continue
+ # Strip out inline-code first, then look for links
+ cleaned = re.sub(r'`[^`]*`', '', line)
This will keep link coverage high while avoiding false positives.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
# Extract and check all links in a Markdown file, tracking line number | |
def check_links_in_file(path): | |
print(f"🔗 Checking: {path}") | |
with open(path, 'r', encoding='utf-8') as f: | |
in_code_block = False | |
for line_num, line in enumerate(f, 1): | |
if line.strip().startswith('```'): | |
in_code_block = not in_code_block | |
continue | |
if in_code_block: | |
continue | |
if '`' in line: | |
continue | |
# Extract and check all links in a Markdown file, tracking line number | |
def check_links_in_file(path): | |
print(f"🔗 Checking: {path}") | |
with open(path, 'r', encoding='utf-8') as f: | |
in_code_block = False | |
for line_num, line in enumerate(f, 1): | |
if line.strip().startswith(' |
🤖 Prompt for AI Agents (early access)
In scripts/valid-links.py around lines 95 to 108, the current code skips entire
lines containing any back-tick, which causes it to miss valid links embedded
alongside inline code. Instead of skipping the whole line, modify the logic to
parse and exclude only the inline code spans marked by back-ticks, then check
the remaining text for links. This will improve link detection accuracy without
false positives from inline code.
|
||
## Automation | ||
|
||
* [Depinject](./01-depinject.md) - Dependency injection framework | ||
* [Depinject]https://pkg.go.dev/cosmossdk.io/depinject) - Dependency injection framework |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix Markdown syntax for Depinject link
The link is missing an opening parenthesis before the URL, causing a broken Markdown link.
Apply this diff:
- * [Depinject]https://pkg.go.dev/cosmossdk.io/depinject) - Dependency injection framework
+ * [Depinject](https://pkg.go.dev/cosmossdk.io/depinject) - Dependency injection framework
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
* [Depinject]https://pkg.go.dev/cosmossdk.io/depinject) - Dependency injection framework | |
* [Depinject](https://pkg.go.dev/cosmossdk.io/depinject) - Dependency injection framework |
🤖 Prompt for AI Agents (early access)
In docs/docs/build/packages/README.md at line 27, the Markdown link for
Depinject is missing an opening parenthesis before the URL, causing it to render
incorrectly. Fix this by adding the opening parenthesis immediately after the
link text, so the link syntax is properly formatted as
[Depinject](https://pkg.go.dev/cosmossdk.io/depinject).
Summary by CodeRabbit
.gitignore
to include additional Python and documentation-related files.