fix: broken markdown refs auto-resolved

This commit is contained in:
efir369999 2026-05-06 01:10:26 +03:00
parent 98dbb3cfe4
commit e621ee7c19

View File

@ -37,7 +37,7 @@ Montana Protocol функционирует на 5 географически р
| 3 | spb | 188.225.58.98 | RU-NW | MIRROR 3 |
| 4 | novosibirsk | 147.45.147.247 | RU-Siberia | MIRROR 4 |
**Исходный код:** [leader_election.py:39-46](Bot/leader_election.py#L39-L46)
**Исходный код:** [leader_election.py:39-46](../Bot/leader_election.py#L39-L46)
```python
BOT_CHAIN: List[Tuple[str, str]] = [
@ -65,7 +65,7 @@ MemoryMax=512M
MemoryHigh=400M
```
**Исходный код:** [junona.service](Bot/junona.service)
**Исходный код:** junona.service
---
@ -85,7 +85,7 @@ Montana Protocol использует постквантовый алгорит
| Signature | 3309 байт |
| Адрес | `mt` + SHA256(pubkey)[:20].hex() = 42 символа |
**Исходный код:** [node_crypto.py](Bot/node_crypto.py)
**Исходный код:** [node_crypto.py](../Bot/node_crypto.py)
### 2.2 Формат адреса
@ -117,7 +117,7 @@ def am_i_the_master(self) -> bool:
return False
```
**Исходный код:** [leader_election.py:326-349](Bot/leader_election.py#L326-L349)
**Исходный код:** [leader_election.py:326-349](../Bot/leader_election.py#L326-L349)
### 3.2 Health Check
@ -134,7 +134,7 @@ def check_node_health(ip: str) -> bool:
return False
```
**Исходный код:** [leader_election.py:102-134](Bot/leader_election.py#L102-L134)
**Исходный код:** [leader_election.py:102-134](../Bot/leader_election.py#L102-L134)
### 3.3 Интервалы проверки
@ -164,7 +164,7 @@ class AttackDetector:
self.under_attack = False
```
**Исходный код:** [leader_election.py:190-232](Bot/leader_election.py#L190-L232)
**Исходный код:** [leader_election.py:190-232](../Bot/leader_election.py#L190-L232)
### 4.2 Метрики обнаружения атак
@ -200,7 +200,7 @@ def shuffle_chain_on_attack(self, external_trigger: bool = False):
self.chain_shuffled = True
```
**Исходный код:** [leader_election.py:395-430](Bot/leader_election.py#L395-L430)
**Исходный код:** [leader_election.py:395-430](../Bot/leader_election.py#L395-L430)
---
@ -222,7 +222,7 @@ class AtlantGuard:
self.degraded_count = 0 # Счётчик высоких значений подряд
```
**Исходный код:** [junomontanaagibot.py:709-754](Bot/junomontanaagibot.py#L709-L754)
**Исходный код:** junomontanaagibot.py:709-754
### 5.2 Health Check с защитой от ложных срабатываний
@ -249,7 +249,7 @@ def health_check(self) -> Dict[str, Any]:
self.degraded_count = 0
```
**Исходный код:** [junomontanaagibot.py:1001-1051](Bot/junomontanaagibot.py#L1001-L1051)
**Исходный код:** junomontanaagibot.py:1001-1051
### 5.3 Пороги AtlantGuard
@ -269,7 +269,7 @@ MAX_NODE_SYNCS_PER_MINUTE = 10 # Синхронизаций узла/мин
MAX_API_CALLS_PER_MINUTE = 100 # API вызовов/мин на endpoint
```
**Исходный код:** [junomontanaagibot.py:734-738](Bot/junomontanaagibot.py#L734-L738)
**Исходный код:** junomontanaagibot.py:734-738
---
@ -290,7 +290,7 @@ Git-синхронизация состояния сети каждые 12 се
Повтор
```
**Исходный код:** [breathing_sync.py](Bot/breathing_sync.py)
**Исходный код:** [breathing_sync.py](../Bot/breathing_sync.py)
### 6.2 Интеграция с Leader Election
@ -322,7 +322,7 @@ is_master_func=lambda: self.is_master
1 τ₂ = 10 τ₁ = 600 секунд
```
**Исходный код:** [time_bank.py:44-80](Bot/time_bank.py#L44-L80)
**Исходный код:** [time_bank.py:44-80](../Bot/time_bank.py#L44-L80)
---
@ -350,7 +350,7 @@ def halving_coefficient(tau4_count: int) -> float:
| 2 | 8-12 | 0.25 | 0.25 Ɉ |
| 3 | 12-16 | 0.125 | 0.125 Ɉ |
**Исходный код:** [time_bank.py:88-113](Bot/time_bank.py#L88-L113)
**Исходный код:** [time_bank.py:88-113](../Bot/time_bank.py#L88-L113)
---
@ -376,7 +376,7 @@ Rolling deploy выполняется скриптом `deploy_nodes.sh`:
./deploy_nodes.sh --node moscow # Только один узел
```
**Исходный код:** [deploy_nodes.sh](Bot/deploy_nodes.sh)
**Исходный код:** [deploy_nodes.sh](../Bot/deploy_nodes.sh)
---