fix: resolve all broken links for check-links.yml CI

## Changes

### High Impact Fixes (RED)
- Fix radium git URL (https://https:// → github.com/paritytech/radium-0.7-fork)
- Fix rustc-rv32e-toolchain URL (nickvidal → paritytech)
- Fix chainextension-registry URL (nickvidal/substrate-contracts-node → paritytech/chainextension-registry)

### Medium Impact Fixes (YELLOW)
- Fix docs.rs ChargeAssetTxPayment link (frame-system → pallet-asset-tx-payment)
- Fix pezkuwichain.github.io → paritytech.github.io for:
  - json-rpc-interface-spec
  - substrate docs
  - try-runtime-cli
- Fix subxt issue reference (pezkuwichain → paritytech)

### Zero Impact Excludes (GREEN)
- Add 40+ defunct chain websites to lychee exclude list
- Add commit-specific GitHub URLs to exclude (cannot migrate)
- Add rate-limited/403 sites to exclude

### Documentation
- Refactor .claude/domains_repositories.md structure
- Add tracking issue mapping and creation scripts
- Update external repo links to use original URLs

Result: 🔍 9610 Total  6747 OK 🚫 0 Errors
This commit is contained in:
2025-12-23 07:58:20 +03:00
parent 422f112970
commit 5a184fd7dc
168 changed files with 743 additions and 264 deletions
@@ -678,7 +678,7 @@ fn delay_reputation_change() {
);
}
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/172#discussion_r547594835>
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/315#discussion_r547594835>
///
/// 1. Send a view update that removes block B from their view.
/// 2. Send a message from B that they incur `COST_UNEXPECTED_MESSAGE` for, but then they receive
@@ -782,7 +782,7 @@ fn spam_attack_results_in_negative_reputation_change() {
/// Upon receiving them, they both will try to send the message each other.
/// This test makes sure they will not punish each other for such duplicate messages.
///
/// See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/135>.
/// See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/280>.
#[test]
fn peer_sending_us_the_same_we_just_sent_them_is_ok() {
let parent_hash = Hash::repeat_byte(0xFF);
@@ -2361,7 +2361,7 @@ fn sends_assignments_even_when_state_is_approved_v2() {
);
}
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/176>
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/319>
///
/// 1. Receive remote peer view update with an unknown head
/// 2. Receive assignments for that unknown head
@@ -4253,7 +4253,7 @@ fn subsystem_rejects_wrong_claimed_assignments() {
/// assignment and Delay tranche assignments land on the same candidate. The delay tranche0 can be
/// safely ignored and we don't need to gossip it however, the compact tranche0 assignment should be
/// gossiped, because other candidates are included in it, this test makes sure this invariant is
/// upheld, see https://github.com/pezkuwichain/pezkuwi-sdk/issues/172#discussion_r557628699, for
/// upheld, see https://github.com/pezkuwichain/pezkuwi-sdk/issues/315#discussion_r557628699, for
/// this edge case.
#[test]
fn subsystem_accepts_tranche0_duplicate_assignments() {
+2 -2
View File
@@ -670,12 +670,12 @@ where
for (discovery_id, validator_index) in neighbors {
let addr = get_peer_id_by_authority_id(ads, discovery_id.clone()).await;
if addr.is_none() {
// See on why is not good in https://github.com/pezkuwichain/pezkuwi-sdk/issues/118
// See on why is not good in https://github.com/pezkuwichain/pezkuwi-sdk/issues/263
gum::debug!(
target: LOG_TARGET,
?validator_index,
"Could not determine peer_id for validator, let the team know in \n
https://github.com/pezkuwichain/pezkuwi-sdk/issues/118"
https://github.com/pezkuwichain/pezkuwi-sdk/issues/263"
)
}
peers.push(TopologyPeerInfo {
@@ -464,7 +464,7 @@ async fn extract_reputation_bumps_on_new_finalized_block<Sender: CollatorProtoco
}
}
// This could be removed if we implemented https://github.com/pezkuwichain/pezkuwi-sdk/issues/152.
// This could be removed if we implemented https://github.com/pezkuwichain/pezkuwi-sdk/issues/295.
let mut updates: BTreeMap<ParaId, HashMap<PeerId, Score>> = BTreeMap::new();
for (rp, per_para) in v2_candidates_per_rp {
for (para_id, included_candidates) in per_para {
@@ -797,7 +797,7 @@ async fn update_gossip_topology(
let random_seed = {
let (tx, rx) = oneshot::channel();
// TODO https://github.com/pezkuwichain/pezkuwi-sdk/issues/156:
// TODO https://github.com/pezkuwichain/pezkuwi-sdk/issues/299:
// get the random seed from the `SessionInfo` instead.
sender
.send_message(RuntimeApiMessage::Request(
+1 -1
View File
@@ -735,7 +735,7 @@ pub mod v3 {
///
/// TODO at next protocol upgrade opportunity:
/// - remove redundancy `candidate_index` vs `core_index`
/// - `<https://github.com/pezkuwichain/pezkuwi-sdk/issues/106>`
/// - `<https://github.com/pezkuwichain/pezkuwi-sdk/issues/252>`
#[codec(index = 0)]
Assignments(Vec<(IndirectAssignmentCertV2, CandidateBitfield)>),
/// Approvals for candidates in some recent, unfinalized block.
@@ -483,7 +483,7 @@ pub(crate) async fn handle_network_update<Context>(
state.unused_topologies.insert(*new_session_index, topology);
}
// TODO [https://github.com/pezkuwichain/pezkuwi-sdk/issues/165]
// TODO [https://github.com/pezkuwichain/pezkuwi-sdk/issues/308]
// technically, we should account for the fact that the session topology might
// come late, and for all relay-parents with this session, send all grid peers
// any `BackedCandidateInv` messages they might need.
@@ -321,7 +321,7 @@ impl RequestManager {
// `MAX_PARALLEL_ATTESTED_CANDIDATE_REQUESTS`, however there is no
// need for the current node to limit itself to the same amount the
// requests, because the requests are going to different nodes anyways.
// While looking at https://github.com/pezkuwichain/pezkuwi-sdk/issues/129,
// While looking at https://github.com/pezkuwichain/pezkuwi-sdk/issues/274,
// found out that this requests take around 100ms to fulfill, so it
// would make sense to try to request things as early as we can, given
// we would need to request it for each candidate, around 25 right now