Development (#172)

* docs: Add CLAUDE_RULES.md with strict rebrand protection rules

- Define immutable rebrand rules that cannot be violated
- Prohibit reverting rebrand for cargo check convenience
- Establish checkpoint and audit trail requirements
- Document correct error handling approach

* refactor: Complete kurdistan-sdk to pezkuwi-sdk rebrand

- Update README.md with pezkuwi-sdk branding
- Replace all kurdistan-sdk URL references with pezkuwi-sdk
- Replace kurdistan-tech with pezkuwichain in workflows
- Update email domains from @kurdistan-tech.io to @pezkuwichain.io
- Rename tool references: kurdistan-tech-publish → pezkuwi-publish
- Update runner names: kurdistan-tech-* → pezkuwichain-*
- Update analytics/forum/matrix domains to pezkuwichain.io
- Keep 'Kurdistan Tech Institute' as organization name
- Keep tech@kurdistan.gov as official government contact
This commit is contained in:
2025-12-19 23:30:43 +03:00
committed by GitHub
parent 2093647fea
commit 3680848df2
209 changed files with 496 additions and 454 deletions
@@ -678,7 +678,7 @@ fn delay_reputation_change() {
);
}
/// <https://github.com/pezkuwichain/kurdistan-sdk/issues/172#discussion_r547594835>
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/172#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/kurdistan-sdk/issues/135>.
/// See <https://github.com/pezkuwichain/pezkuwi-sdk/issues/135>.
#[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/kurdistan-sdk/issues/176>
/// <https://github.com/pezkuwichain/pezkuwi-sdk/issues/176>
///
/// 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/kurdistan-sdk/issues/172#discussion_r557628699, for
/// upheld, see https://github.com/pezkuwichain/pezkuwi-sdk/issues/172#discussion_r557628699, for
/// this edge case.
#[test]
fn subsystem_accepts_tranche0_duplicate_assignments() {
@@ -85,7 +85,7 @@ const COST_APPARENT_FLOOD: Rep =
///
/// This is to protect from a single slow validator preventing collations from happening.
///
/// For considerations on this value, see: https://github.com/pezkuwichain/kurdistan-sdk/issues/148
/// For considerations on this value, see: https://github.com/pezkuwichain/pezkuwi-sdk/issues/148
const MAX_UNSHARED_UPLOAD_TIME: Duration = Duration::from_millis(150);
/// A timeout for resetting validators' interests in collations.
@@ -2366,7 +2366,7 @@ async fn handle_collation_fetch_response(
"Request timed out"
);
// For now we don't want to change reputation on timeout, to mitigate issues like
// this: https://github.com/pezkuwichain/kurdistan-sdk/issues/152
// this: https://github.com/pezkuwichain/pezkuwi-sdk/issues/152
Err(None)
},
Err(RequestError::NetworkError(err)) => {
@@ -86,7 +86,7 @@ const TRY_RERESOLVE_AUTHORITIES: Duration = Duration::from_secs(2);
/// populated). Authority discovery on Kusama takes around 8 minutes, so warning after 10 minutes
/// should be fine:
///
/// https://github.com/pezkuwichain/kurdistan-sdk/blob/main/bizinikiwi/client/authority-discovery/src/lib.rs#L88
/// https://github.com/pezkuwichain/pezkuwi-sdk/blob/main/bizinikiwi/client/authority-discovery/src/lib.rs#L88
const LOW_CONNECTIVITY_WARN_DELAY: Duration = Duration::from_secs(600);
/// If connectivity is lower than this in percent, issue warning in logs.
@@ -452,7 +452,7 @@ where
// First `maxValidators` entries are the teyrchain validators. We'll check
// if our index is in this set to avoid searching for the keys.
// https://github.com/pezkuwichain/kurdistan-sdk/blob/main/pezkuwi/runtime/teyrchains/src/configuration.rs#L148
// https://github.com/pezkuwichain/pezkuwi-sdk/blob/main/pezkuwi/runtime/teyrchains/src/configuration.rs#L148
if *index < teyrchain_validators_this_session {
gum::trace!(target: LOG_TARGET, "We are now a teyrchain validator",);
self.metrics.on_is_teyrchain_validator();
@@ -796,7 +796,7 @@ async fn update_gossip_topology(
let random_seed = {
let (tx, rx) = oneshot::channel();
// TODO https://github.com/pezkuwichain/kurdistan-sdk/issues/156:
// TODO https://github.com/pezkuwichain/pezkuwi-sdk/issues/156:
// get the random seed from the `SessionInfo` instead.
sender
.send_message(RuntimeApiMessage::Request(
@@ -137,7 +137,7 @@ const POV_REQUEST_TIMEOUT_CONNECTED: Duration = Duration::from_millis(2000);
/// We supply leniency because there are often large candidates and asynchronous
/// backing allows them to be included over a longer window of time. Exponential back-off
/// up to a maximum of 10 seconds would be ideal, but isn't supported by the
/// infrastructure here yet: see https://github.com/pezkuwichain/kurdistan-sdk/issues/164
/// infrastructure here yet: see https://github.com/pezkuwichain/pezkuwi-sdk/issues/164
const ATTESTED_CANDIDATE_TIMEOUT: Duration = Duration::from_millis(2500);
/// We don't want a slow peer to slow down all the others, at the same time we want to get out the
@@ -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/kurdistan-sdk/issues/165]
// TODO [https://github.com/pezkuwichain/pezkuwi-sdk/issues/165]
// 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.