yakmesh 2.9.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +637 -0
- package/Caddyfile +77 -0
- package/README.md +119 -29
- package/content/api.js +50 -41
- package/content/index.js +1 -2
- package/content/store.js +323 -177
- package/dashboard/index.html +19 -3
- package/database/replication.js +117 -37
- package/docs/CRYPTO-AGILITY.md +204 -0
- package/docs/MTLS-RESEARCH.md +367 -0
- package/docs/NAMCHE-SPEC.md +681 -0
- package/docs/PEERQUANTA-YAKMESH-INTEGRATION.md +407 -0
- package/docs/PRECISION-DISCLOSURE.md +96 -0
- package/docs/README.md +76 -0
- package/docs/ROADMAP-2.4.0.md +447 -0
- package/docs/ROADMAP-2.5.0.md +244 -0
- package/docs/SECURITY-AUDIT-REPORT.md +306 -0
- package/docs/SST-INTEGRATION.md +712 -0
- package/docs/STEADYWATCH-IMPLEMENTATION.md +303 -0
- package/docs/TERNARY-AUDIT-REPORT.md +247 -0
- package/docs/TME-FAQ.md +221 -0
- package/docs/WHITEPAPER.md +623 -0
- package/docs/adapters.html +1001 -0
- package/docs/advanced-systems.html +1045 -0
- package/docs/annex.html +1046 -0
- package/docs/api.html +970 -0
- package/docs/business/response-templates.md +160 -0
- package/docs/c2c.html +1225 -0
- package/docs/cli.html +1332 -0
- package/docs/configuration.html +1248 -0
- package/docs/darshan.html +1085 -0
- package/docs/dharma.html +966 -0
- package/docs/docs-bundle.html +1075 -0
- package/docs/docs.css +3120 -0
- package/docs/docs.js +556 -0
- package/docs/doko.html +969 -0
- package/docs/geo-proof.html +858 -0
- package/docs/getting-started.html +840 -0
- package/docs/gumba-tutorial.html +1144 -0
- package/docs/gumba.html +1098 -0
- package/docs/index.html +914 -0
- package/docs/jhilke.html +1312 -0
- package/docs/karma.html +1100 -0
- package/docs/katha.html +1037 -0
- package/docs/lama.html +978 -0
- package/docs/mandala.html +1067 -0
- package/docs/mani.html +964 -0
- package/docs/mantra.html +967 -0
- package/docs/mesh.html +1409 -0
- package/docs/nakpak.html +869 -0
- package/docs/namche.html +928 -0
- package/docs/nav-order.json +53 -0
- package/docs/prahari.html +1043 -0
- package/docs/prism-bash.min.js +1 -0
- package/docs/prism-javascript.min.js +1 -0
- package/docs/prism-json.min.js +1 -0
- package/docs/prism-tomorrow.min.css +1 -0
- package/docs/prism.min.js +1 -0
- package/docs/privacy.html +699 -0
- package/docs/quick-reference.html +1181 -0
- package/docs/sakshi.html +1402 -0
- package/docs/sandboxing.md +386 -0
- package/docs/seva.html +911 -0
- package/docs/sherpa.html +871 -0
- package/docs/studio.html +860 -0
- package/docs/stupa.html +995 -0
- package/docs/tailwind.min.css +2 -0
- package/docs/tattva.html +1332 -0
- package/docs/terms.html +686 -0
- package/docs/time-server-deployment.md +166 -0
- package/docs/time-sources.html +1392 -0
- package/docs/tivra.html +1127 -0
- package/docs/trademark-policy.html +686 -0
- package/docs/tribhuj.html +1183 -0
- package/docs/trust-security.html +1029 -0
- package/docs/tutorials/backup-recovery.html +654 -0
- package/docs/tutorials/dashboard.html +604 -0
- package/docs/tutorials/domain-setup.html +605 -0
- package/docs/tutorials/host-website.html +456 -0
- package/docs/tutorials/mesh-network.html +505 -0
- package/docs/tutorials/mobile-access.html +445 -0
- package/docs/tutorials/privacy.html +467 -0
- package/docs/tutorials/raspberry-pi.html +600 -0
- package/docs/tutorials/security-basics.html +539 -0
- package/docs/tutorials/share-files.html +431 -0
- package/docs/tutorials/troubleshooting.html +637 -0
- package/docs/tutorials/trust-karma.html +419 -0
- package/docs/tutorials/yak-protocol.html +456 -0
- package/docs/tutorials.html +1034 -0
- package/docs/vani.html +1270 -0
- package/docs/webserver.html +809 -0
- package/docs/yak-protocol.html +940 -0
- package/docs/yak-timeserver-design.md +475 -0
- package/docs/yakapp.html +1015 -0
- package/docs/ypc27.html +1069 -0
- package/docs/yurt.html +1344 -0
- package/embedded-docs/bundle.js +274 -114
- package/gossip/protocol.js +247 -27
- package/identity/key-resolver.js +262 -0
- package/identity/machine-seed.js +632 -0
- package/identity/node-key.js +669 -368
- package/identity/tribhuj-ratchet.js +506 -0
- package/knowledge-base.js +37 -8
- package/launcher/yakmesh.bat +62 -0
- package/launcher/yakmesh.sh +70 -0
- package/mesh/annex.js +462 -108
- package/mesh/beacon-broadcast.js +4 -1
- package/mesh/darshan.js +17 -5
- package/mesh/gumba.js +47 -13
- package/mesh/jhilke.js +651 -0
- package/mesh/katha.js +5 -2
- package/mesh/nakpak-routing.js +8 -5
- package/mesh/network.js +724 -34
- package/mesh/pulse-sync.js +4 -1
- package/mesh/seva.js +526 -0
- package/mesh/sherpa-discovery.js +89 -8
- package/mesh/sybil-defense.js +19 -5
- package/mesh/temporal-encoder.js +4 -3
- package/mesh/yurt.js +72 -17
- package/models/entropy-sentinel.onnx +0 -0
- package/models/karma-trust.onnx +0 -0
- package/models/manifest.json +43 -0
- package/models/sakshi-anomaly.onnx +0 -0
- package/oracle/code-proof-protocol.js +7 -6
- package/oracle/codebase-lock.js +257 -28
- package/oracle/index.js +74 -15
- package/oracle/ma902-snmp.js +678 -0
- package/oracle/module-sealer.js +5 -3
- package/oracle/packet-checksum.js +201 -0
- package/oracle/ternary-144t.js +714 -0
- package/oracle/ternary-ml.js +481 -0
- package/oracle/time-api.js +239 -0
- package/oracle/time-source.js +137 -47
- package/oracle/validation-oracle-hardened.js +1111 -1071
- package/oracle/validation-oracle.js +4 -2
- package/oracle/ypc27.js +211 -0
- package/package.json +20 -3
- package/protocol/yak-handler.js +35 -9
- package/protocol/yak-protocol.js +6 -5
- package/reference/cpp/yakmesh_mceliece_shard.cpp +168 -0
- package/reference/cpp/yakmesh_ypc27.cpp +179 -0
- package/sbom.json +87 -0
- package/scripts/security-audit.mjs +264 -0
- package/scripts/update-docs-sidebar.cjs +164 -0
- package/security/crypto-config.js +4 -3
- package/security/dharma-moderation.js +4 -3
- package/security/doko-identity.js +193 -143
- package/security/domain-consensus.js +86 -85
- package/security/fs-hardening.js +620 -0
- package/security/hardware-attestation.js +5 -3
- package/security/hybrid-trust.js +227 -87
- package/security/karma-rate-limiter.js +692 -0
- package/security/khata-protocol.js +22 -21
- package/security/khata-trust-integration.js +277 -150
- package/security/memory-safety.js +635 -0
- package/security/mesh-auth.js +11 -10
- package/security/mesh-revocation.js +18 -5
- package/security/namche-gateway.js +298 -69
- package/security/sakshi.js +102 -3
- package/security/sangha.js +770 -0
- package/security/secure-config.js +473 -0
- package/security/silicon-parity.js +13 -10
- package/security/steadywatch.js +1142 -0
- package/security/strike-system.js +32 -3
- package/security/temporal-signing.js +488 -0
- package/security/trit-commitment.js +464 -0
- package/server/crypto/annex.js +247 -0
- package/server/darshan-api.js +343 -0
- package/server/index.js +3259 -362
- package/server/komm-api.js +668 -0
- package/utils/accel.js +2273 -0
- package/utils/ternary-id.js +79 -0
- package/utils/verify-worker.js +57 -0
- package/webserver/index.js +95 -5
- package/assets/yakmesh-logo.png +0 -0
- package/assets/yakmesh-logo.svg +0 -80
- package/assets/yakmesh-logo2.png +0 -0
- package/assets/yakmesh-logo2sm.png +0 -0
- package/assets/ymsm.png +0 -0
- package/scripts/update-docs-nav.cjs +0 -194
- package/update-docs-nav.cjs +0 -18
- package/update-nav.ps1 +0 -16
- package/website/assets/silhouettes/adapters.svg +0 -107
- package/website/assets/silhouettes/api-endpoints.svg +0 -115
- package/website/assets/silhouettes/atomic-clock.svg +0 -83
- package/website/assets/silhouettes/base-camp.svg +0 -81
- package/website/assets/silhouettes/bridge.svg +0 -69
- package/website/assets/silhouettes/docs-bundle.svg +0 -113
- package/website/assets/silhouettes/doko-basket.svg +0 -70
- package/website/assets/silhouettes/fortress.svg +0 -93
- package/website/assets/silhouettes/gateway.svg +0 -54
- package/website/assets/silhouettes/gears.svg +0 -93
- package/website/assets/silhouettes/globe-satellite.svg +0 -67
- package/website/assets/silhouettes/karma-wheel.svg +0 -137
- package/website/assets/silhouettes/lama-council.svg +0 -141
- package/website/assets/silhouettes/mandala-network.svg +0 -169
- package/website/assets/silhouettes/mani-stones.svg +0 -149
- package/website/assets/silhouettes/mantra-wheel.svg +0 -116
- package/website/assets/silhouettes/mesh-nodes.svg +0 -113
- package/website/assets/silhouettes/nakpak.svg +0 -56
- package/website/assets/silhouettes/peak-lightning.svg +0 -73
- package/website/assets/silhouettes/sherpa.svg +0 -69
- package/website/assets/silhouettes/stupa-tower.svg +0 -119
- package/website/assets/silhouettes/tattva-eye.svg +0 -78
- package/website/assets/silhouettes/terminal.svg +0 -74
- package/website/assets/silhouettes/webserver.svg +0 -145
- package/website/assets/silhouettes/yak.svg +0 -78
- package/website/assets/yakmesh-logo.png +0 -0
- package/website/assets/yakmesh-logo.webp +0 -0
- package/website/assets/yakmesh-logo128x140.webp +0 -0
- package/website/assets/yakmesh-logo2.png +0 -0
- package/website/assets/yakmesh-logo2.svg +0 -51
- package/website/assets/yakmesh-logo40x44.webp +0 -0
- package/website/assets/yakmesh.gif +0 -0
- package/website/assets/yakmesh.ico +0 -0
- package/website/assets/yakmesh.jpg +0 -0
- package/website/assets/yakmesh.pdf +0 -0
- package/website/assets/yakmesh.png +0 -0
- package/website/assets/yakmesh.svg +0 -70
- package/website/assets/yakmesh128.webp +0 -0
- package/website/assets/yakmesh32.png +0 -0
- package/website/assets/yakmesh32.svg +0 -65
- package/website/assets/yakmesh32o.ico +0 -2
- package/website/assets/yakmesh32o.svg +0 -65
- package/website/assets/yakmesh32o.svgz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,543 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to YAKMESH will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [3.2.0] - 2026-02-25
|
|
6
|
+
|
|
7
|
+
### 🔐 SANGHA Security + 3-Node Mesh Live + YakApp Discord Features
|
|
8
|
+
|
|
9
|
+
*Theme: "Unity is security. Components protecting components. Every peer short-named, every message ephemeral."*
|
|
10
|
+
|
|
11
|
+
Three major streams: (1) SANGHA collective security architecture with novel approaches;
|
|
12
|
+
(2) first successful 3-node mesh deployment with SHERPA auto-discovery;
|
|
13
|
+
(3) YakApp gains Discord-like features including DARSHAN-powered ephemeral streaming.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
#### 🛡️ SANGHA — Unified Component Attestation (`security/sangha.js`, 570 lines)
|
|
18
|
+
|
|
19
|
+
**Novel security philosophy**: Traditional process isolation SEPARATES components — each stands alone.
|
|
20
|
+
SANGHA UNIFIES components — they protect each other through continuous mutual attestation.
|
|
21
|
+
|
|
22
|
+
**Core Mechanisms**:
|
|
23
|
+
|
|
24
|
+
- **SYNAPSE** — Cryptographic communication channels between components (signed + GPS-timestamped)
|
|
25
|
+
- **ANTIBODY** — Circulating verification routines patrol every 5s, collect state attestations
|
|
26
|
+
- **TEMPORAL BINDING** — Operations bound to GPS time windows (100ms→2000ms per component type)
|
|
27
|
+
- **COLLECTIVE RESPONSE** — All components react to any detected anomaly
|
|
28
|
+
|
|
29
|
+
**10 Components, 45 Synapses**: crypto, oracle, mesh, http, identity, fs, memory, sign, rate, config
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
#### 🔒 Security Hardening Suite (6 new modules)
|
|
34
|
+
|
|
35
|
+
| Module | File | Lines | Novel Approach |
|
|
36
|
+
|--------|------|-------|----------------|
|
|
37
|
+
| FS Hardening | `security/fs-hardening.js` | ~510 | Files as SANGHA participants |
|
|
38
|
+
| Memory Safety | `security/memory-safety.js` | ~530 | Circulating canaries (heap/closure/native) |
|
|
39
|
+
| Temporal Signing | `security/temporal-signing.js` | ~470 | GPS-bound, auto-expiring signatures |
|
|
40
|
+
| KARMA Rate Limiter | `security/karma-rate-limiter.js` | ~600 | Trust-adaptive throughput (10→200 req/min) |
|
|
41
|
+
| Secure Config | `security/secure-config.js` | ~480 | Oracle-attested config hash |
|
|
42
|
+
| Sandboxing Guide | `docs/sandboxing.md` | ~400 | Linux/macOS container docs |
|
|
43
|
+
|
|
44
|
+
**Security Profiles**: PARANOID, HARDENED, STANDARD, DEVELOPMENT — with appropriate defaults.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
#### 🌐 3-Node Mesh Live — First Successful Deployment
|
|
49
|
+
|
|
50
|
+
**Milestone**: All 3 yakmesh nodes connected on same network via SHERPA automatic discovery.
|
|
51
|
+
|
|
52
|
+
**Networks** (oracle hash changes = new network name):
|
|
53
|
+
|
|
54
|
+
- `cipher-nitrogen-decompose (pq-3FZd)` — 98 JS files (2026-02-22)
|
|
55
|
+
- `countable-csidh-sphaleron (pq-HWXp)` — 99 JS files (2026-02-23)
|
|
56
|
+
- `discrete-fullerene-nitride (pq-vE4V)` — current (2026-02-24)
|
|
57
|
+
|
|
58
|
+
**Bug Fixes (6 critical)**:
|
|
59
|
+
|
|
60
|
+
1. **ANNEX KEM rekey race** — `deterministicRekey()` with deterministic shared key derivation
|
|
61
|
+
2. **ANNEX random sessionId** — sha3-256 of sorted peer IDs replaces random bytes
|
|
62
|
+
3. **ANNEX bootstrap→KEM gap** — `_transitionKey` bridge holds old key 5s during handoff
|
|
63
|
+
4. **JHILKE tick mismatch** — `_sharedTick()` using wall-clock `Math.floor(Date.now() / 1000)`
|
|
64
|
+
5. **JHILKE rekey coordination** — `deriveRekeyKey()` + `_executeSwitch()` rewrite
|
|
65
|
+
6. **SHERPA PHP bridge port** — sed 3000→3080 in beacon.php/relay.php
|
|
66
|
+
|
|
67
|
+
**peerTag() Helper** — Clean short tags in logs (`tc4H`, `mR7B`, `426u` instead of 60-char IDs).
|
|
68
|
+
Implemented across 8 files, ~60 truncation sites.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
#### 💬 YakApp — Discord-Like Features
|
|
73
|
+
|
|
74
|
+
**ChatPanel.jsx** expanded to ~3200 lines with 8 new Discord-inspired features:
|
|
75
|
+
|
|
76
|
+
| Feature | Protocol | Description |
|
|
77
|
+
|---------|----------|-------------|
|
|
78
|
+
| Direct Messages | KATHA | Private 1:1 conversations |
|
|
79
|
+
| User Presence | DARSHAN | Online/away/DND status via mesh |
|
|
80
|
+
| File/Media Sharing | ANNEX | Encrypted uploads with progress |
|
|
81
|
+
| Message Search | Local | Full-text search across history |
|
|
82
|
+
| Desktop Notifications | Browser API | Permission-gated alerts |
|
|
83
|
+
| Channel Management | GUMBA | Create/edit/delete channels |
|
|
84
|
+
| Invite Links | YAK:// | `yak://invite/{code}` deep links |
|
|
85
|
+
| Ephemeral Streams | DARSHAN | Real-time disappearing chat |
|
|
86
|
+
|
|
87
|
+
**Ephemeral Streaming (DARSHAN)**: Host broadcasts, viewers see content without downloading.
|
|
88
|
+
Messages auto-expire with TTL countdown UI. Purple-themed ephemeral styling.
|
|
89
|
+
|
|
90
|
+
**InviteModal**: Create/copy/delete invite links with expiry (1h/24h/7d/never) and max uses.
|
|
91
|
+
|
|
92
|
+
**SUDDHI Content Moderation** (`lib/suddhi.js`, ~350 lines):
|
|
93
|
+
Multi-layer validation for public room names/descriptions. Never censors messages — only
|
|
94
|
+
prevents harmful room ADVERTISING. Bloom filter for privacy-preserving pattern detection.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
#### 🔧 Infrastructure Improvements
|
|
99
|
+
|
|
100
|
+
**Bootstrap System Refactored**:
|
|
101
|
+
|
|
102
|
+
- Changed from aggressive 30s retry loop to seed-only mechanism
|
|
103
|
+
- DirectWS connections have priority
|
|
104
|
+
- Bootstrap only activates when `peers.size === 0`
|
|
105
|
+
- Added `peer:disconnected` handler for recovery
|
|
106
|
+
|
|
107
|
+
**Advertised Endpoints**: Nodes announce listening address in HELLO/WELCOME.
|
|
108
|
+
`_getAdvertisedEndpoint()` detects best local IP. Enables reconnection after restart.
|
|
109
|
+
|
|
110
|
+
**144T Routing Security**: 256-bit post-quantum routing (Grover-resistant).
|
|
111
|
+
3^144 ≈ 10^68 address space. Now displayed in dashboard POST-QUANTUM card.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
#### 🐛 Protocol URL Fix
|
|
116
|
+
|
|
117
|
+
**CRITICAL**: Fixed incorrect protocol URLs across yakapp:
|
|
118
|
+
|
|
119
|
+
- `yakmesh://` → `yak://` (ChatPanel, QRGenerator, QRScanner)
|
|
120
|
+
- `yakmesh.io` → `yakmesh.dev` (SettingsPanel)
|
|
121
|
+
|
|
122
|
+
The correct protocol scheme is `yak://` — documented at <https://yakmesh.dev/docs/yak-protocol.html>
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
#### 📊 Stats
|
|
127
|
+
|
|
128
|
+
| Metric | Value |
|
|
129
|
+
|--------|-------|
|
|
130
|
+
| Security modules added | 6 |
|
|
131
|
+
| SANGHA components | 10 |
|
|
132
|
+
| SANGHA synapses | 45 |
|
|
133
|
+
| ANNEX bugs fixed | 3 |
|
|
134
|
+
| JHILKE bugs fixed | 2 |
|
|
135
|
+
| peerTag() sites updated | ~60 |
|
|
136
|
+
| ChatPanel features added | 8 |
|
|
137
|
+
| ChatPanel lines | ~3200 |
|
|
138
|
+
| Protocol URL fixes | 4 files |
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## [3.1.0] - 2026-02-21
|
|
143
|
+
|
|
144
|
+
### 🎨 Docs 3.0 Polish + Phase 6 Realm AI — Zero External Dependencies
|
|
145
|
+
|
|
146
|
+
*Theme: "Every font local, every icon inline, every faction alive."*
|
|
147
|
+
|
|
148
|
+
Two streams of work: (1) the docs site achieves true zero-dependency operation — no Google Fonts,
|
|
149
|
+
no external requests, system font stacks only; (2) the C2C realm system grows a full AI layer
|
|
150
|
+
with NPU-driven faction brains, adaptive difficulty, and player-facing AI profiles.
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
#### 📄 Docs 3.0 Polish Series
|
|
155
|
+
|
|
156
|
+
**Google Fonts Removal** — 48 HTML files purged of all `fonts.googleapis.com` references.
|
|
157
|
+
System font stacks (`system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif`) replace
|
|
158
|
+
all external font loads. Zero render-blocking requests from the docs site.
|
|
159
|
+
|
|
160
|
+
**SVG Icon Sprite System (Phase 2)** — `docs/assets/icons.svg` expanded to 69 symbols
|
|
161
|
+
covering every protocol, application, and reference category. 3,215+ icon references
|
|
162
|
+
across all docs pages. Inline `<svg><use href="#icon-..."/></svg>` pattern — no image
|
|
163
|
+
requests, instant rendering, accessible via `aria-hidden`.
|
|
164
|
+
|
|
165
|
+
**Heading Hierarchy Audit** — All 48 docs pages verified: one `<h1>` per page, consistent
|
|
166
|
+
`<h2>`/`<h3>` nesting. 48 h1s, 430 h2s, 335 h3s total.
|
|
167
|
+
|
|
168
|
+
**Performance Pass** — Async CSS loading via `media="print" onload` pattern (45 files),
|
|
169
|
+
`<noscript>` fallbacks, `will-change` hints for animations, skip-link accessibility on
|
|
170
|
+
every page. No external blocking resources remain.
|
|
171
|
+
|
|
172
|
+
**Content Expansion** — `docs/c2c.html` expanded from 513 words / 0 code blocks to
|
|
173
|
+
1,226 lines with full "Building Your Own Realm" developer guide and "AI Profiles"
|
|
174
|
+
documentation section (three-tier table, personality shape, API endpoints, usage examples).
|
|
175
|
+
|
|
176
|
+
**Tooling** — `update-docs-nav.cjs` (398 lines, 5 phases: sprite injection, emoji→SVG
|
|
177
|
+
hero icons, sidebar sync, journey navigation cards). `deploy-hostinger.cjs` (230 lines,
|
|
178
|
+
4-stage pipeline: mirror, canonical injection, OG URLs, sitemap generation).
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
#### 🤖 C2C Phase 6 — Realm & AI (Miles 22–29)
|
|
183
|
+
|
|
184
|
+
Eight milestones completing the realm system's AI backbone. All documented in
|
|
185
|
+
[DESIGN.md](c2c/DESIGN.md) as Phase 6.
|
|
186
|
+
|
|
187
|
+
**Mile 22 — Realm System Core**: `realms.js` (429 lines). Realm CRUD, memberships,
|
|
188
|
+
story arc schema, manifest loader. Obsidian Scion reference realm with 6 story arcs,
|
|
189
|
+
5 factions, 2 tech trees, 6 unit types. 4 game modes (sandbox/coop-pve/pvp/campaign).
|
|
190
|
+
|
|
191
|
+
**Mile 23 — NPC Factions & Narrative Voice**: `realm_factions` table with alignment,
|
|
192
|
+
personality, and capabilities JSON. `narrative.js` per-realm vocabulary and NPC dialogue
|
|
193
|
+
templates. 7 narrative event types in `realm_narrative_log`.
|
|
194
|
+
|
|
195
|
+
**Mile 24 — Realm Combat**: `realm-combat.js` (831 lines). 6 faction unit types in
|
|
196
|
+
900-range IDs (Aethian Warrior → Power Tower Relay). Stats/rapidfire injected into
|
|
197
|
+
existing OGame combat engine. Player-vs-garrison and faction-raid-interception paths.
|
|
198
|
+
|
|
199
|
+
**Mile 25 — Realm Progression**: `realm-progression.js` (227 lines). 7-tier rank system
|
|
200
|
+
(Recruit 0 XP → Fleet Lord 150,000 XP). Atomic XP grants with rank-up detection.
|
|
201
|
+
Paginated leaderboard and individual progression stats.
|
|
202
|
+
|
|
203
|
+
**Mile 26 — Realm Research**: `realm-research.js` (364 lines). Manifest-defined tech
|
|
204
|
+
trees (`dark_energy`, `aethian_salvage`) gated by story arc completion. 6 concrete
|
|
205
|
+
`TECH_EFFECTS`: hull bonus, spy bonus, attack bonus, shield bonus, fleet diversity
|
|
206
|
+
bonus, repair speed.
|
|
207
|
+
|
|
208
|
+
**Mile 27 — Realm Tick Engine**: `realm-tick.js` (619 lines). Arc trigger evaluator
|
|
209
|
+
(6 trigger types), faction economy simulation (mines/expansion/towers/warriors),
|
|
210
|
+
staggered processing across realms, integrated into 30s main game tick.
|
|
211
|
+
|
|
212
|
+
**Mile 28 — NPU Faction Brain + Diplomacy + Adaptive Threats**:
|
|
213
|
+
|
|
214
|
+
- `faction-brain.js` — ONNX model (12→20→14→6 MLP), 6-action scoring (scout/expand/
|
|
215
|
+
tower/raid/obliterator/wait), personality-weighted, mood-aware narrative generation
|
|
216
|
+
- `faction_reputation` + `faction_diplomacy_log` tables — 7 diplomatic status tiers
|
|
217
|
+
(nemesis → allied), atomic reputation adjustments, combat targeting influenced by rep
|
|
218
|
+
- `adaptive-threats.js` — ONNX model (14→20→14→4 MLP), difficulty/category/timing/cost
|
|
219
|
+
scaling from player response history. Threat history table for learning.
|
|
220
|
+
|
|
221
|
+
**Mile 29 — AI Profiles**: `ai-profiles.js` (294 lines). Three-tier system:
|
|
222
|
+
|
|
223
|
+
- **Preset** — 5 profiles shipped with Obsidian Scion manifest (Berserker, Turtle,
|
|
224
|
+
Diplomat, Expansionist, Balanced)
|
|
225
|
+
- **Custom** — player-created via slider UI, max 20 per realm
|
|
226
|
+
- **NPU-Generated** — text description → personality vector via SEVA inference
|
|
227
|
+
- 7 REST API endpoints + `POST /generate` for NPU text→personality conversion
|
|
228
|
+
- `applyProfile()` copies personality + dialogue tags onto a realm faction
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
#### 📊 Stats
|
|
233
|
+
|
|
234
|
+
| Metric | Value |
|
|
235
|
+
|--------|-------|
|
|
236
|
+
| Docs pages updated | 48 |
|
|
237
|
+
| SVG icon symbols | 69 |
|
|
238
|
+
| Google Fonts references removed | 192 lines across 48 files |
|
|
239
|
+
| C2C game modules added | 5 (realm-combat, realm-progression, realm-research, realm-tick, ai-profiles) |
|
|
240
|
+
| C2C schema tables added | 10 (realms, realm_memberships, realm_story_arcs, realm_factions, realm_faction_planets, realm_narrative_log, realm_research, faction_reputation, faction_diplomacy_log, threat_response_history, ai_profiles) |
|
|
241
|
+
| ONNX models added | 2 (faction-brain, adaptive-threat) |
|
|
242
|
+
| AI Profile presets | 5 |
|
|
243
|
+
| REST API endpoints added | 15+ |
|
|
244
|
+
| DESIGN.md milestones documented | 8 (Miles 22–29) |
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## [3.0.0] - 2026-02-20
|
|
249
|
+
|
|
250
|
+
### 🏔️ The Mega Release — Every Module Wired, Every Path Hardened
|
|
251
|
+
|
|
252
|
+
*Theme: "The mesh stands on math. Every protocol alive, every path encrypted, every proof verifiable."*
|
|
253
|
+
|
|
254
|
+
This is the culmination release. Every protocol module that existed as standalone code is now wired into
|
|
255
|
+
a running server. Every security gap identified by audit has been closed. Voting consensus is gone —
|
|
256
|
+
replaced by mathematical proof. The ternary backbone runs through every subsystem. Hardware acceleration
|
|
257
|
+
routes crypto to the fastest silicon available. And STEADYWATCH delivers real 256-bit quantum entropy
|
|
258
|
+
from IBM ibm_marrakesh quantum hardware.
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
#### ⚡ ACCEL — Adaptive Compute & Crypto Engine Layer (`utils/accel.js`, 962 lines)
|
|
263
|
+
|
|
264
|
+
**New module.** Heterogeneous hardware acceleration that routes cryptographic operations to the
|
|
265
|
+
fastest available silicon:
|
|
266
|
+
|
|
267
|
+
- **CPU-SIMD**: AES-NI, VAES, AVX-512, GFNI detection via timing attestation
|
|
268
|
+
- **GPU**: WebGPU compute shader dispatch for batch operations
|
|
269
|
+
- **NPU**: ONNX Runtime integration (DirectML, CoreML, CUDA, TensorRT providers)
|
|
270
|
+
- Capability probing on startup — no false claims, no assumptions
|
|
271
|
+
- `accel.route(operation)` returns optimal backend for each crypto/ML task
|
|
272
|
+
- `_probeOnnxRuntime()` — locates and loads `onnxruntime-node` for ML inference
|
|
273
|
+
- Wired into **all 12 subsystem files**: security, oracle, mesh, adapters
|
|
274
|
+
|
|
275
|
+
#### 🧠 ONNX Machine Learning Pipeline
|
|
276
|
+
|
|
277
|
+
**3 security models** trained and shipping with every node:
|
|
278
|
+
|
|
279
|
+
| Model | Input → Output | Purpose |
|
|
280
|
+
|-------|----------------|---------|
|
|
281
|
+
| `entropy-sentinel.onnx` | 32 → 1 | STEADYWATCH entropy quality scoring |
|
|
282
|
+
| `sakshi-anomaly.onnx` | 12 → 4 | SAKSHI behavioral anomaly detection |
|
|
283
|
+
| `karma-trust.onnx` | 14 → 4 | KARMA trust level prediction |
|
|
284
|
+
|
|
285
|
+
- **Training pipeline**: `train_models.py` — numpy + ONNX pattern (no PyTorch/TF dependency)
|
|
286
|
+
- **Runtime**: `onnxruntime-node` with DirectML (NPU/GPU) and CPU fallback
|
|
287
|
+
- **Model manifest**: `models/manifest.json` — versioned, hash-verified
|
|
288
|
+
- Total: 22,829 bytes, 24,200 training samples
|
|
289
|
+
- NPU inference paths wired into SAKSHI `assessNode()` and KARMA `predictTrustLevel()`
|
|
290
|
+
|
|
291
|
+
#### 🛡️ STEADYWATCH Ternary-144 Integration (`security/steadywatch.js`, 1,129 lines)
|
|
292
|
+
|
|
293
|
+
**Quantum-hardware-validated entropy** from IBM ibm_marrakesh (156-qubit Heron r2):
|
|
294
|
+
|
|
295
|
+
- **SST satellite families**: 48/48/48 (A/B/C) from Hurwitz quaternion coordinates
|
|
296
|
+
- **6-trit balanced ternary** satellite addresses (729 addressable slots)
|
|
297
|
+
- **Fibonacci 24-cycle** family-aware seed selection (`selectByFibonacciCycle`)
|
|
298
|
+
- **Ternary seed quality**: `_checkBiasTernary()` returns `Trit` verdict (+1/0/-1)
|
|
299
|
+
- **EntropySentinel** NPU-accelerated quality monitor — `score()` returns numeric + ternary verdict
|
|
300
|
+
- **Batch consensus**: `batchQualityConsensus(seeds)` — TritArray aggregate quality
|
|
301
|
+
- Seed lookup by trit address: `getSeedByTritAddress(tritAddr)`
|
|
302
|
+
- **Result**: Real 256-bit quantum entropy for ANNEX ML-KEM-768 keygen
|
|
303
|
+
|
|
304
|
+
*Every Yakmesh node provisioned with a quantum-hardware-derived entropy seed,
|
|
305
|
+
validated by actual measurement on physical qubits.*
|
|
306
|
+
|
|
307
|
+
$$\text{Satellites} = 24 \times (p + 1), \quad p=5 \Rightarrow 144 \text{ unique seeds}$$
|
|
308
|
+
|
|
309
|
+
#### 🔌 Full Protocol Wiring — Zero Orphaned Modules
|
|
310
|
+
|
|
311
|
+
Every previously-standalone protocol module is now initialized, routed, and serving:
|
|
312
|
+
|
|
313
|
+
- **KOMM stack** (`server/komm-api.js`, 662 lines) — full HTTP+WS API:
|
|
314
|
+
- KATHA rich chat (reactions, typing, threads, read receipts)
|
|
315
|
+
- VANI voice/video signaling (WebRTC via mesh)
|
|
316
|
+
- YURT room discovery and management
|
|
317
|
+
- GUMBA cryptographic access control (proof-based, E2E over ANNEX)
|
|
318
|
+
- WebSocket at `/komm/ws` — JSON protocol `{ type, data, ts }`
|
|
319
|
+
- **DARSHAN** (`server/darshan-api.js`, 343 lines) — content streaming API
|
|
320
|
+
- View-not-copy delivery with attestation
|
|
321
|
+
- **NAKPAK** — onion routing initialized with ML-KEM circuits
|
|
322
|
+
- **SAKSHI** → **KARMA** pipeline — velocity alerts drive trust accumulation:
|
|
323
|
+
- CRITICAL alerts → negative karma
|
|
324
|
+
- WARNING alerts → neutral beacon sighting
|
|
325
|
+
- Mesh peer connections → positive karma accumulation
|
|
326
|
+
|
|
327
|
+
#### 🔗 SHERPA HTTP Relay Bridge
|
|
328
|
+
|
|
329
|
+
**Firewall traversal** for nodes behind NAT/CGNAT:
|
|
330
|
+
|
|
331
|
+
- `_initRelay()` — HTTP relay bridge alongside WebSocket
|
|
332
|
+
- SHERPA auto-connect with explicit beacon endpoints
|
|
333
|
+
- PHP bridge compatibility (`/mesh/relay` base endpoint)
|
|
334
|
+
- Gossip wired through relay transport
|
|
335
|
+
- **PQ-signed relay**: ML-DSA-65 signatures on all relay operations
|
|
336
|
+
- Relay client expiry and health visibility
|
|
337
|
+
- Caddy WSS template for TLS-terminated WebSocket
|
|
338
|
+
|
|
339
|
+
#### 🔐 ANNEX Hardening
|
|
340
|
+
|
|
341
|
+
- Single Annex instance per peer pair + deterministic initiator selection
|
|
342
|
+
- Infinite recursion fix in `_send()` (self-encrypting loop eliminated)
|
|
343
|
+
- Key derivation fixed with proper replay nonce management
|
|
344
|
+
- **PFS-safe rekey** — forward-looking pending key (no gap during ratchet)
|
|
345
|
+
- ANNEX relay bridge with `sendTo()` fallback for relay-only peers
|
|
346
|
+
- E2E delivery wired into GUMBA `getMessages()` — **zero TODOs remaining**
|
|
347
|
+
|
|
348
|
+
#### 🔺 TRIBHUJ Deep Integration
|
|
349
|
+
|
|
350
|
+
- **TRIBHUJ key ratchet** (`identity/tribhuj-ratchet.js`, 506 lines) — Fibonacci-style ternary key rotation
|
|
351
|
+
- Gateway attestation with TRIBHUJ proofs
|
|
352
|
+
- SSE (Server-Sent Events) for real-time state push
|
|
353
|
+
- Tighter drift tolerance in time synchronization
|
|
354
|
+
- Ternary + SST backbone wired across: KARMA, DOKO, revocation, strike, sybil, ANNEX
|
|
355
|
+
|
|
356
|
+
#### ⚖️ A+C Hybrid Integrity — Voting Consensus Removed
|
|
357
|
+
|
|
358
|
+
**Content validity determined by math, not votes:**
|
|
359
|
+
|
|
360
|
+
- **A** (Authenticity): Publisher ML-DSA-65 signature over content hash
|
|
361
|
+
- **C** (Correctness): SHA3-256 hash integrity verification
|
|
362
|
+
- Any node independently verifies both — one proof = proven
|
|
363
|
+
|
|
364
|
+
**Removed:**
|
|
365
|
+
|
|
366
|
+
- `ConsensusProof` class (validators, quorum, `hasQuorum`, `addValidator`)
|
|
367
|
+
- `content_vote` and `content_validate` gossip handlers
|
|
368
|
+
- `quorumSize` config, PENDING/REJECTED `ContentStatus` values
|
|
369
|
+
- `/:hash/proof` API endpoint, `X-Consensus-Proof` header
|
|
370
|
+
|
|
371
|
+
**Added:**
|
|
372
|
+
|
|
373
|
+
- `ContentStatus`: LOCAL → ANNOUNCED → VERIFIED (no PENDING/REJECTED)
|
|
374
|
+
- `publish()` signs content hash with ML-DSA-65, status → ANNOUNCED
|
|
375
|
+
- `content_response` verifies hash + publisher signature → VERIFIED
|
|
376
|
+
- `/:hash/integrity` API endpoint (hash + publisher sig + status)
|
|
377
|
+
- `X-Publisher-Signature`, `X-Published-By`, `X-Verified` response headers
|
|
378
|
+
- 8 new integrity verification tests replace 11 voting tests
|
|
379
|
+
|
|
380
|
+
*Ethos: Voting consensus is inherently flawed (51% attacks).
|
|
381
|
+
The math checks out — that's the only consensus needed.*
|
|
382
|
+
|
|
383
|
+
#### 🔒 Deep Security Audit — 30 Findings Fixed
|
|
384
|
+
|
|
385
|
+
**Two rounds of comprehensive security hardening:**
|
|
386
|
+
|
|
387
|
+
1. **2 CRITICALs** — fixed: missing auth bypass, unsigned replication
|
|
388
|
+
2. **6 HIGHs** — fixed: unsigned gossip rumors, unverified content votes,
|
|
389
|
+
unsigned replication changes, unauthenticated KOMM/DARSHAN APIs (`requirePeerAuth` wired)
|
|
390
|
+
3. **27 findings** from deep review — all resolved
|
|
391
|
+
4. **140 new security-focused tests** added
|
|
392
|
+
5. Ethos audit: no external dependencies introduced, no centralization
|
|
393
|
+
6. ML-DSA-65 signatures verified on **all** incoming mesh messages
|
|
394
|
+
7. Comprehensive hardening: SQL injection, auth, encryption across all paths
|
|
395
|
+
|
|
396
|
+
#### 📊 Complete Statistics
|
|
397
|
+
|
|
398
|
+
| Metric | Value |
|
|
399
|
+
|--------|-------|
|
|
400
|
+
| Vitest tests | 1,323 passing |
|
|
401
|
+
| Oracle tests | 212 passing |
|
|
402
|
+
| **Total tests** | **1,535 (0 failures)** |
|
|
403
|
+
| New security tests | 140 |
|
|
404
|
+
| Test files | 29 vitest + oracle suites |
|
|
405
|
+
| Source files (protected) | 179+ |
|
|
406
|
+
| ONNX models | 3 (22,829 bytes) |
|
|
407
|
+
| Server module | 3,202 lines |
|
|
408
|
+
| SAKSHI module | 1,966 lines |
|
|
409
|
+
| STEADYWATCH module | 1,129 lines |
|
|
410
|
+
| ACCEL module | 962 lines |
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
## [2.9.0] - 2026-02-10
|
|
415
|
+
|
|
416
|
+
### 📡 Communication Stack Complete + DHARMA Content Moderation
|
|
417
|
+
|
|
418
|
+
*Theme: "The full voice of the mesh — from chat to streaming, moderated by behavior, not identity."*
|
|
419
|
+
|
|
420
|
+
This release completes the 3.0 communication stack (Layers 9–13), adds behavior-based content moderation,
|
|
421
|
+
and introduces the adapter framework for extensible chat.
|
|
422
|
+
|
|
423
|
+
#### 🗣️ Communication Protocol Stack (Layers 9–13)
|
|
424
|
+
|
|
425
|
+
Five new protocol layers, all documented and tested:
|
|
426
|
+
|
|
427
|
+
| Layer | Protocol | Purpose | Module |
|
|
428
|
+
|-------|----------|---------|--------|
|
|
429
|
+
| 9 | GUMBA | Cryptographic access control (proof-based) | `mesh/gumba.js` |
|
|
430
|
+
| 10 | YURT | Decentralized room discovery | `mesh/yurt.js` |
|
|
431
|
+
| 11 | KATHA | Rich chat (reactions, typing, threads) | `mesh/katha.js` |
|
|
432
|
+
| 12 | VANI | Voice/video calls (WebRTC via mesh) | `mesh/vani.js` |
|
|
433
|
+
| 13 | DARSHAN | View-not-copy content streaming | `mesh/darshan.js` |
|
|
434
|
+
|
|
435
|
+
#### 🛡️ DHARMA — Behavior-Based Content Moderation (`security/dharma-moderation.js`, 517 lines)
|
|
436
|
+
|
|
437
|
+
**धर्म (Sanskrit: "righteous conduct")** — Content moderation that blocks actions, not identities:
|
|
438
|
+
|
|
439
|
+
- ✅ Violence incitement — blocked
|
|
440
|
+
- ✅ Terrorism promotion — blocked
|
|
441
|
+
- ✅ Exploitation — blocked
|
|
442
|
+
- ❌ NO religious discrimination
|
|
443
|
+
- ❌ NO identity-based filtering
|
|
444
|
+
|
|
445
|
+
Same rules for everyone. That's the law.
|
|
446
|
+
|
|
447
|
+
#### 🔌 Adapter Framework
|
|
448
|
+
|
|
449
|
+
Extensible chat plugin system with security built-in:
|
|
450
|
+
|
|
451
|
+
- **`ContentAdapter`** — serve content over the P2P mesh
|
|
452
|
+
- **`ChatModAdapter`** — add `/slash` commands to KATHA
|
|
453
|
+
- Capability declaration required for all adapters
|
|
454
|
+
- Response signing for verification
|
|
455
|
+
- Rate limiting by default
|
|
456
|
+
- **MLV Bible Adapter** — example implementation included
|
|
457
|
+
|
|
458
|
+
#### 🛡️ Active Defense Systems
|
|
459
|
+
|
|
460
|
+
- **VEGATI** velocity detection — behavioral velocity monitoring across dimensions
|
|
461
|
+
- **ZIMMEDARI** attestation accountability — revocation with lineage tracking
|
|
462
|
+
- Trust-proportional rate limits — higher trust = higher throughput
|
|
463
|
+
- STUPA revocation broadcasts — mesh-wide revocation propagation
|
|
464
|
+
|
|
465
|
+
#### 🔬 Security Audit
|
|
466
|
+
|
|
467
|
+
16 modules analyzed against three principles: SECURITY (crypto, zero-trust), OPPORTUNITY (no gatekeeping), ETHOS (no external dependencies).
|
|
468
|
+
|
|
469
|
+
**Result: 96.7% compliant** — 14 fully compliant, 2 acceptable by design, 0 violations.
|
|
470
|
+
|
|
471
|
+
#### 📚 Documentation
|
|
472
|
+
|
|
473
|
+
- GUMBA, YURT, KATHA, VANI, DARSHAN — all documented with full HTML pages
|
|
474
|
+
- Protocol stack table dynamically generated from `nav-order.json`
|
|
475
|
+
- Silhouette illustrations for all communication protocols
|
|
476
|
+
- 87 doc files synced with sidebar navigation
|
|
477
|
+
- Adapters guide with ContentAdapter and ChatModAdapter examples
|
|
478
|
+
- Security + Opportunity + Ethos audit report published
|
|
479
|
+
- v2.9.0 release announcements for X, Discord, Telegram
|
|
480
|
+
|
|
481
|
+
#### 📊 Packaging
|
|
482
|
+
|
|
483
|
+
- 212 tests passing (0 regressions)
|
|
484
|
+
- 105 documentation files (2.59 MB bundle)
|
|
485
|
+
- 179 protected source files
|
|
486
|
+
|
|
487
|
+
---
|
|
488
|
+
|
|
489
|
+
## [2.8.3] - 2026-02-19
|
|
490
|
+
|
|
491
|
+
### 📡 MA-902 SNMP Integration — Hardware GPS Telemetry for MANI
|
|
492
|
+
|
|
493
|
+
*Theme: "The celestial stones speak through silicon."*
|
|
494
|
+
|
|
495
|
+
#### 🛰️ New Module: `oracle/ma902-snmp.js` (662 lines)
|
|
496
|
+
|
|
497
|
+
- **MA902Monitor** class — SNMP v2c monitor for MA-902/S-C1 GPS Gigabit Time Server
|
|
498
|
+
- Queries enterprise OID `1.3.6.1.4.1.26381` (Chongqing Miaoan Technology)
|
|
499
|
+
- 12 proprietary OIDs mapped: GPS time, sub-seconds, lock status, reference source,
|
|
500
|
+
constellation bitmask, satellites (visible/used/tracking), alarm, quality, offset
|
|
501
|
+
- Lazy-loads `net-snmp` — nodes without MA-902 hardware are unaffected
|
|
502
|
+
- Configurable poll interval (default 10s), auto-reconnect on connection loss
|
|
503
|
+
- Event-driven: `telemetry`, `lockLost`, `lockAcquired`, `alarm`, `trustChanged`,
|
|
504
|
+
`satelliteDegradation`, `connectionLost`, `connectionRestored`
|
|
505
|
+
- **Trust assessment engine** translates satellite telemetry → MANI trust levels:
|
|
506
|
+
- Excellent (≥8 sats, confidence 1.0), Good (≥5, 0.625+), Marginal (≥3, 0.375+)
|
|
507
|
+
- Clock delta sanity check (GPS leap second aware, rejects >120s drift)
|
|
508
|
+
- Alarm and lock status validation
|
|
509
|
+
|
|
510
|
+
#### 🔗 ManiTimeDetector Integration
|
|
511
|
+
|
|
512
|
+
- `ManiTimeDetector` now accepts `ma902: { host, pollInterval }` config option
|
|
513
|
+
- GPS detection enriched with live SNMP data: satellite counts, constellation info,
|
|
514
|
+
lock status, timing quality — all from hardware, not just NTP inference
|
|
515
|
+
- NTP source cross-referenced: detects when w32tm/chrony source IP matches MA-902
|
|
516
|
+
- `getStatus()` includes full MA-902 monitor status in API responses
|
|
517
|
+
- MA-902 events forwarded through detector: `ma902:telemetry`, `ma902:lockLost`, etc.
|
|
518
|
+
- Trust level auto-re-evaluates on MA-902 state changes (lock loss triggers re-detect)
|
|
519
|
+
- **Result: Trust level upgraded from NTP → GPS** when MA-902 is reachable
|
|
520
|
+
|
|
521
|
+
#### 📊 Verified Live Results
|
|
522
|
+
|
|
523
|
+
```
|
|
524
|
+
Trust Level: GPS (was NTP)
|
|
525
|
+
Phase Tolerance: ±500ms (was ±5000ms — 10x tighter)
|
|
526
|
+
Primary Source: gps (MA-902/S-C1)
|
|
527
|
+
Satellites: 6 used / 8 tracking / 10 visible
|
|
528
|
+
Constellations: GPS + BeiDou
|
|
529
|
+
Lock: YES | Alarm: NONE | Clock Delta: 0s
|
|
530
|
+
MA-902 Backed NTP: YES (w32tm source = 192.168.1.30)
|
|
531
|
+
High Precision Time: TRUE
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
#### 📦 Packaging
|
|
535
|
+
|
|
536
|
+
- `net-snmp` added as **optionalDependency** (not required for non-MA-902 nodes)
|
|
537
|
+
- Export path: `yakmesh/oracle/ma902-snmp`
|
|
538
|
+
- 212/212 tests passing (0 regressions)
|
|
539
|
+
|
|
540
|
+
---
|
|
541
|
+
|
|
5
542
|
## [2.8.2] - 2026-02-05
|
|
6
543
|
|
|
7
544
|
### 📦 Documentation Release: TRIBHUJ Ternary Systems
|
|
@@ -71,6 +608,7 @@ This release formalizes YAKMESH's rejection of voting-based consensus in favor o
|
|
|
71
608
|
| Byzantine | ~5% | Deliberate wrong, sybil, compromised |
|
|
72
609
|
|
|
73
610
|
**New exports:**
|
|
611
|
+
|
|
74
612
|
- `DISAGREEMENT_CAUSE` - 16 categorized causes
|
|
75
613
|
- `REMEDIATION` - 11 remediation actions (no permanent bans)
|
|
76
614
|
- `analyzeDisagreement()` - Diagnose likely cause
|
|
@@ -80,6 +618,7 @@ This release formalizes YAKMESH's rejection of voting-based consensus in favor o
|
|
|
80
618
|
#### 🗑️ VARNA Removed
|
|
81
619
|
|
|
82
620
|
**VARNA** (`security/varna.js`) has been **deleted** as anti-yakmesh ethos:
|
|
621
|
+
|
|
83
622
|
- `VARNA_PERMISSIONS` gated actions by tier (denial system = attack vector)
|
|
84
623
|
- `verifyWeightedVotes()` was voting (politics, not math)
|
|
85
624
|
- `VARNA_WEIGHT` gave higher tiers more power (PoW/PoS replication)
|
|
@@ -132,6 +671,7 @@ This release formalizes YAKMESH's rejection of voting-based consensus in favor o
|
|
|
132
671
|
#### TATTVA Ternary ValidationResult
|
|
133
672
|
|
|
134
673
|
**तत्त्व (Sanskrit: "essence")** - Three-state validation:
|
|
674
|
+
|
|
135
675
|
- `VALID` (+1), `INVALID` (-1), `PENDING` (0)
|
|
136
676
|
- Ternary logic operations: AND, OR, CONSENSUS
|
|
137
677
|
- Backward compatible: `result.valid` still works
|
|
@@ -140,6 +680,7 @@ This release formalizes YAKMESH's rejection of voting-based consensus in favor o
|
|
|
140
680
|
#### LAMA Ternary Consensus
|
|
141
681
|
|
|
142
682
|
**Retrofitted consensus voting:**
|
|
683
|
+
|
|
143
684
|
- `ConsensusVote.accept()`, `.reject()`, `.abstain()`
|
|
144
685
|
- `computeTernaryConsensus()` with confidence calculation
|
|
145
686
|
- Close votes return NEUTRAL (undecided), not forced majority
|
|
@@ -171,18 +712,21 @@ This release formalizes YAKMESH's rejection of voting-based consensus in favor o
|
|
|
171
712
|
#### 📦 Protocol Integrations
|
|
172
713
|
|
|
173
714
|
**STUPA Broadcast** (`mesh/beacon-broadcast.js`)
|
|
715
|
+
|
|
174
716
|
- `StupaMessage` now includes `ypc27` field
|
|
175
717
|
- `_computeYpc27()` and `verifyYpc27()` methods
|
|
176
718
|
- `isValid(verifyQuantum)` for optional quantum verification
|
|
177
719
|
- Checksum verified on `deserialize()` for incoming messages
|
|
178
720
|
|
|
179
721
|
**NAKPAK Routing** (`mesh/nakpak-routing.js`)
|
|
722
|
+
|
|
180
723
|
- `NakpakPacket` now includes `ypc27` field
|
|
181
724
|
- Checksum computed during `padToFixedSize()` finalization
|
|
182
725
|
- `verifyYpc27()` for packet integrity verification
|
|
183
726
|
- Checksum verified on `deserialize()` with error on mismatch
|
|
184
727
|
|
|
185
728
|
**KHATA Protocol** (`security/khata-protocol.js`)
|
|
729
|
+
|
|
186
730
|
- All message types (ANNOUNCE, REQUEST, RESPONSE, REVOKE) now include checksums
|
|
187
731
|
- `_wrapWithYpc27()` and `_verifyYpc27()` helper methods
|
|
188
732
|
- Checksum failures logged with stats tracking
|
|
@@ -213,6 +757,7 @@ This release formalizes YAKMESH's rejection of voting-based consensus in favor o
|
|
|
213
757
|
#### ✅ New Modules
|
|
214
758
|
|
|
215
759
|
**TRIBHUJ Foundation** (`oracle/tribhuj.js`)
|
|
760
|
+
|
|
216
761
|
- त्रिभुज (Triangle) — balanced ternary primitives
|
|
217
762
|
- `Trit` class: immutable single trit {-1, 0, +1}
|
|
218
763
|
- `TritArray` class: arrays with decimal conversion
|
|
@@ -223,6 +768,7 @@ This release formalizes YAKMESH's rejection of voting-based consensus in favor o
|
|
|
223
768
|
- **36 tests**
|
|
224
769
|
|
|
225
770
|
**TRISULA Routing** (`mesh/trisula-tree.js`)
|
|
771
|
+
|
|
226
772
|
- त्रिशूल (Trident) — Ternary Search Tree for peer routing
|
|
227
773
|
- `TrisulaTST`: O(k) insert/search where k = key length
|
|
228
774
|
- `TrisulaPeerRouter`: XOR-distance peer lookup
|
|
@@ -233,6 +779,7 @@ This release formalizes YAKMESH's rejection of voting-based consensus in favor o
|
|
|
233
779
|
#### 🔄 Retrofits
|
|
234
780
|
|
|
235
781
|
**TATTVA Validation** (`oracle/validation-oracle-hardened.js`)
|
|
782
|
+
|
|
236
783
|
- `ValidationResult` now uses ternary state internally
|
|
237
784
|
- New methods: `isValid`, `isInvalid`, `isPending`
|
|
238
785
|
- New operations: `and()`, `or()`, `consensus()`
|
|
@@ -240,12 +787,14 @@ This release formalizes YAKMESH's rejection of voting-based consensus in favor o
|
|
|
240
787
|
- **22 tests**
|
|
241
788
|
|
|
242
789
|
**LAMA Consensus** (`oracle/consensus-engine.js`)
|
|
790
|
+
|
|
243
791
|
- New `ConsensusVote` class: ACCEPT/REJECT/ABSTAIN with weights
|
|
244
792
|
- `computeTernaryConsensus()`: threshold-based aggregation
|
|
245
793
|
- Prevents consensus "flapping" with ABSTAIN votes
|
|
246
794
|
- **16 tests**
|
|
247
795
|
|
|
248
796
|
**KHATA/SHERPA Link Quality** (`mesh/sherpa-discovery.js`)
|
|
797
|
+
|
|
249
798
|
- New `LinkQuality` class for bidirectional link health
|
|
250
799
|
- Outbound/inbound quality as balanced ternary
|
|
251
800
|
- `isSymmetric`/`isAsymmetric` detection
|
|
@@ -269,6 +818,7 @@ This release formalizes YAKMESH's rejection of voting-based consensus in favor o
|
|
|
269
818
|
#### 🔮 Future: NTRU Integration
|
|
270
819
|
|
|
271
820
|
This release lays the foundation for NTRU post-quantum cryptography:
|
|
821
|
+
|
|
272
822
|
- NTRU uses ternary polynomials with coefficients in {-1, 0, +1}
|
|
273
823
|
- `TritArray` can directly represent NTRU polynomial coefficients
|
|
274
824
|
- Self-inverting negation simplifies NTRU arithmetic
|
|
@@ -377,6 +927,7 @@ This release lays the foundation for NTRU post-quantum cryptography:
|
|
|
377
927
|
#### ✅ Implemented Features
|
|
378
928
|
|
|
379
929
|
**Geographic Proof Core** (`security/geo-proof.js`)
|
|
930
|
+
|
|
380
931
|
- Speed-of-light distance calculation (fiber = 0.67c)
|
|
381
932
|
- LandmarkRegistry for known geographic reference points
|
|
382
933
|
- RTTMeasurement with jitter handling and averaging
|
|
@@ -386,6 +937,7 @@ This release lays the foundation for NTRU post-quantum cryptography:
|
|
|
386
937
|
- **59 tests**
|
|
387
938
|
|
|
388
939
|
**KHATA Gossip Integration** (`security/khata-trust-integration.js`)
|
|
940
|
+
|
|
389
941
|
- 6 new message types for geo-proof gossip:
|
|
390
942
|
- GEO_PROOF_ANNOUNCE, GEO_PROOF_REQUEST, GEO_PROOF_RESPONSE
|
|
391
943
|
- LANDMARK_ANNOUNCE, LANDMARK_REQUEST, LANDMARK_VERIFY
|
|
@@ -394,6 +946,7 @@ This release lays the foundation for NTRU post-quantum cryptography:
|
|
|
394
946
|
- **14 new tests** (36 total)
|
|
395
947
|
|
|
396
948
|
**CLI Commands** (`cli/index.js`)
|
|
949
|
+
|
|
397
950
|
- `yakmesh geo status` - Show geographic proof status
|
|
398
951
|
- `yakmesh geo landmarks` - List known landmarks
|
|
399
952
|
- `yakmesh geo zones` - List exclusion zones
|
|
@@ -403,6 +956,7 @@ This release lays the foundation for NTRU post-quantum cryptography:
|
|
|
403
956
|
- `yakmesh geo physics` - Show speed-of-light constants
|
|
404
957
|
|
|
405
958
|
**Server API Endpoints** (`server/index.js`)
|
|
959
|
+
|
|
406
960
|
- `GET /geo/status` - Geographic proof status and physics constants
|
|
407
961
|
- `GET /geo/landmarks` - List registered landmarks
|
|
408
962
|
- `POST /geo/landmarks` - Add a landmark
|
|
@@ -411,6 +965,7 @@ This release lays the foundation for NTRU post-quantum cryptography:
|
|
|
411
965
|
- `POST /geo/verify` - Verify another node's claims
|
|
412
966
|
|
|
413
967
|
**SHERPA Beacon Integration** (`mesh/sherpa-discovery.js`)
|
|
968
|
+
|
|
414
969
|
- RTT measurement during beacon fetch (performance.now())
|
|
415
970
|
- Geographic coordinates in BeaconMessage (lat, lon, name, accuracyKm, timeTier)
|
|
416
971
|
- Automatic landmark discovery from geo-enabled beacons
|
|
@@ -435,6 +990,7 @@ This release lays the foundation for NTRU post-quantum cryptography:
|
|
|
435
990
|
| 200 ms | ≥19,986 km |
|
|
436
991
|
|
|
437
992
|
**Formula:** `minDistance = (RTT / 2) × fiberSpeed`
|
|
993
|
+
|
|
438
994
|
- Vacuum speed: 299,792.458 km/s
|
|
439
995
|
- Fiber speed (0.67c): 199,861.639 km/s
|
|
440
996
|
|
|
@@ -472,18 +1028,21 @@ This release lays the foundation for NTRU post-quantum cryptography:
|
|
|
472
1028
|
#### ✅ Implemented Features
|
|
473
1029
|
|
|
474
1030
|
**Mesh-Consensus Revocation** (`security/mesh-revocation.js`)
|
|
1031
|
+
|
|
475
1032
|
- 2/3 threshold attestation-based revocation
|
|
476
1033
|
- Post-quantum signed attestations (ML-DSA-65)
|
|
477
1034
|
- Revocation certificates with threshold proof
|
|
478
1035
|
- **41 tests**
|
|
479
1036
|
|
|
480
1037
|
**Hardware Attestation** (`security/hardware-attestation.js`)
|
|
1038
|
+
|
|
481
1039
|
- AES-NI timing verification to prove real silicon
|
|
482
1040
|
- Challenge-response protocol for peer verification
|
|
483
1041
|
- Bot farms and VMs fail timing checks
|
|
484
1042
|
- **5 tests**
|
|
485
1043
|
|
|
486
1044
|
**Trust Tier System** (`security/trust-tier.js`)
|
|
1045
|
+
|
|
487
1046
|
- ORACLE (2.0x): Atomic clock + AES-NI + 30 days
|
|
488
1047
|
- ANCHOR (1.5x): GPS+PPS + AES-NI + 14 days
|
|
489
1048
|
- SENTINEL (1.25x): PTP + AES-NI + 7 days
|
|
@@ -492,6 +1051,7 @@ This release lays the foundation for NTRU post-quantum cryptography:
|
|
|
492
1051
|
- **35 tests**
|
|
493
1052
|
|
|
494
1053
|
**Silicon Parity** (`security/silicon-parity.js`)
|
|
1054
|
+
|
|
495
1055
|
- "One Silicon = One Vote" anti-ASIC/farm defense
|
|
496
1056
|
- Weight division: `tierMax / coreCount`
|
|
497
1057
|
- 100-core rig = same weight as 1-core
|
|
@@ -499,6 +1059,7 @@ This release lays the foundation for NTRU post-quantum cryptography:
|
|
|
499
1059
|
- **36 tests**
|
|
500
1060
|
|
|
501
1061
|
**Sybil Graph Analysis** (`security/sybil-graph.js`)
|
|
1062
|
+
|
|
502
1063
|
- Clustering coefficient detection (>0.7 = suspicious)
|
|
503
1064
|
- Edge cut ratio analysis (<0.1 = insular cluster)
|
|
504
1065
|
- Component analysis for cluster isolation
|
|
@@ -506,6 +1067,7 @@ This release lays the foundation for NTRU post-quantum cryptography:
|
|
|
506
1067
|
- **44 tests**
|
|
507
1068
|
|
|
508
1069
|
**KHATA Trust Integration** (`security/khata-trust-integration.js`)
|
|
1070
|
+
|
|
509
1071
|
- Gossip layer for trust messages over KHATA protocol
|
|
510
1072
|
- 8 new message types for attestation/challenge routing
|
|
511
1073
|
- Deduplication and hop limit enforcement
|
|
@@ -513,6 +1075,7 @@ This release lays the foundation for NTRU post-quantum cryptography:
|
|
|
513
1075
|
- **22 tests**
|
|
514
1076
|
|
|
515
1077
|
**Strike System** (`security/strike-system.js`)
|
|
1078
|
+
|
|
516
1079
|
- "Three Strikes — Then Math Speaks"
|
|
517
1080
|
- Hardware fingerprint tracks identity across fresh starts
|
|
518
1081
|
- Strike 1: Fresh start allowed, recorded
|
|
@@ -569,6 +1132,7 @@ New adapter for integrating BYOND games (Space Station 13, Pondera, etc.) with Y
|
|
|
569
1132
|
- **DMAPI Library** - Drop-in DM code for game developers
|
|
570
1133
|
|
|
571
1134
|
**Files:**
|
|
1135
|
+
|
|
572
1136
|
- `adapters/adapter-byond/index.js` - Main adapter
|
|
573
1137
|
- `adapters/adapter-byond/topic-client.js` - Wire protocol
|
|
574
1138
|
- `adapters/adapter-byond/http-bridge.js` - HTTP server
|
|
@@ -629,18 +1193,21 @@ This release adds mesh-synchronized bookmark sharing, key compromise recovery, a
|
|
|
629
1193
|
Share bookmark lists between nodes via gossip protocol. Subscribe to trusted nodes and receive their bookmarks automatically.
|
|
630
1194
|
|
|
631
1195
|
**New Class: `RemoteBookmarkSync`**
|
|
1196
|
+
|
|
632
1197
|
- **Publish**: Share your bookmarks to the mesh (`yakmesh bookmark share <list-name>`)
|
|
633
1198
|
- **Subscribe**: Follow other nodes' bookmark lists (`yakmesh bookmark subscribe <node-id>`)
|
|
634
1199
|
- **Sync**: Automatic sync via gossip protocol
|
|
635
1200
|
- **Priority**: Local bookmarks always override remote ones
|
|
636
1201
|
|
|
637
1202
|
**Dashboard UI:**
|
|
1203
|
+
|
|
638
1204
|
- New "Remote Bookmarks" panel with subscription management
|
|
639
1205
|
- Subscribe/Unsubscribe buttons
|
|
640
1206
|
- Publish your bookmarks to mesh
|
|
641
1207
|
- View remote bookmarks from subscribed nodes
|
|
642
1208
|
|
|
643
1209
|
**REST API:**
|
|
1210
|
+
|
|
644
1211
|
- `GET /bookmarks/remote/status` - Sync status and stats
|
|
645
1212
|
- `GET /bookmarks/remote` - List remote bookmarks
|
|
646
1213
|
- `POST /bookmarks/remote/subscribe` - Subscribe to a node
|
|
@@ -652,12 +1219,14 @@ Share bookmark lists between nodes via gossip protocol. Subscribe to trusted nod
|
|
|
652
1219
|
Emergency revocation system for compromised DOKO identities.
|
|
653
1220
|
|
|
654
1221
|
**New Class: `DOKORevocation`**
|
|
1222
|
+
|
|
655
1223
|
- **Self-revocation**: Sign revocation with your own key (if available)
|
|
656
1224
|
- **Emergency revocation**: Pre-generated "break-glass" certificates
|
|
657
1225
|
- **Verification**: Validate revocation certificates with ML-DSA
|
|
658
1226
|
- **Broadcast**: Share revocations via gossip to prevent trust in compromised DOKOs
|
|
659
1227
|
|
|
660
1228
|
**Revocation Reasons:**
|
|
1229
|
+
|
|
661
1230
|
- `KEY_COMPROMISED` - Private key leaked or stolen
|
|
662
1231
|
- `DOKO_SUPERSEDED` - Replaced by new DOKO
|
|
663
1232
|
- `IDENTITY_RETIRED` - Voluntary retirement
|
|
@@ -665,6 +1234,7 @@ Emergency revocation system for compromised DOKO identities.
|
|
|
665
1234
|
- `AFFILIATION_ENDED` - Left organization
|
|
666
1235
|
|
|
667
1236
|
**Usage:**
|
|
1237
|
+
|
|
668
1238
|
```javascript
|
|
669
1239
|
// Generate emergency cert when creating DOKO (store offline!)
|
|
670
1240
|
const emergencyCert = DOKORevocation.generateEmergencyCertificate(doko, privateKey);
|
|
@@ -692,6 +1262,7 @@ const status = DOKORevocation.isRevoked(dokoId);
|
|
|
692
1262
|
| **Total** | | **352** |
|
|
693
1263
|
|
|
694
1264
|
**New Test Files:**
|
|
1265
|
+
|
|
695
1266
|
- `protocol/tests/yak-protocol.test.js` - 56 tests for URL parsing, bookmarks, DOKO integration
|
|
696
1267
|
- `tests/multi-node.test.js` - 18 tests for cross-node sync with mock network
|
|
697
1268
|
|
|
@@ -714,6 +1285,7 @@ This release completes Phase 2 of the YAK:// protocol implementation with local
|
|
|
714
1285
|
Personal "pet names" for YAK:// addresses. No global registry needed - bookmarks are local to your node.
|
|
715
1286
|
|
|
716
1287
|
**Features:**
|
|
1288
|
+
|
|
717
1289
|
- **BookmarkManager**: Manages local bookmarks stored in `data/bookmarks.json`
|
|
718
1290
|
- **URL Resolution**: Bookmarks are resolved after builtins, before content hashes
|
|
719
1291
|
- **CLI Commands**: Full bookmark management via CLI
|
|
@@ -728,6 +1300,7 @@ Personal "pet names" for YAK:// addresses. No global registry needed - bookmarks
|
|
|
728
1300
|
- `DELETE /bookmarks/:name` - Remove bookmark
|
|
729
1301
|
|
|
730
1302
|
**Usage:**
|
|
1303
|
+
|
|
731
1304
|
```bash
|
|
732
1305
|
# Add a bookmark
|
|
733
1306
|
yakmesh protocol bookmark add docs yak://site/docs
|
|
@@ -745,6 +1318,7 @@ yakmesh protocol test yak://docs
|
|
|
745
1318
|
Bind SSL certificates to DOKO identities for enhanced domain verification.
|
|
746
1319
|
|
|
747
1320
|
**New Class: `DOKOCertBinding`**
|
|
1321
|
+
|
|
748
1322
|
- `computeFingerprint(cert)` - SHA-256 fingerprint from PEM or DER certificate
|
|
749
1323
|
- `createBinding(options)` - Create SSL binding for a domain
|
|
750
1324
|
- `addBinding(doko, binding)` - Add binding to DOKO extensions
|
|
@@ -753,6 +1327,7 @@ Bind SSL certificates to DOKO identities for enhanced domain verification.
|
|
|
753
1327
|
- `validateBindings(doko)` - Validate all bindings (expiration, etc.)
|
|
754
1328
|
|
|
755
1329
|
**Cryptographic Chain:**
|
|
1330
|
+
|
|
756
1331
|
```
|
|
757
1332
|
Domain → SSL Certificate → DOKO Identity → Mesh Verification
|
|
758
1333
|
```
|
|
@@ -764,6 +1339,7 @@ Domain → SSL Certificate → DOKO Identity → Mesh Verification
|
|
|
764
1339
|
Secure ownership transfer of domains and DOKO-bound assets.
|
|
765
1340
|
|
|
766
1341
|
**New Class: `DOKOTransfer`**
|
|
1342
|
+
|
|
767
1343
|
- `createRequest(options)` - Create transfer request with expiration
|
|
768
1344
|
- `authorize(request, signature, nodeId)` - Owner authorizes transfer
|
|
769
1345
|
- `reject(request, reason)` - Owner rejects transfer
|
|
@@ -773,6 +1349,7 @@ Secure ownership transfer of domains and DOKO-bound assets.
|
|
|
773
1349
|
- `createProof(completedTransfer)` - Generate mesh-verifiable proof
|
|
774
1350
|
|
|
775
1351
|
**Transfer Flow:**
|
|
1352
|
+
|
|
776
1353
|
```
|
|
777
1354
|
New Owner → Request → Current Owner → Authorize →
|
|
778
1355
|
Mesh Verifies → Complete → Ownership Updated
|
|
@@ -810,6 +1387,7 @@ This patch release fixes critical ML-DSA-65 argument order bugs discovered durin
|
|
|
810
1387
|
#### 🐛 Bug Fixes
|
|
811
1388
|
|
|
812
1389
|
##### ML-DSA-65 Argument Order (CRITICAL)
|
|
1390
|
+
|
|
813
1391
|
Fixed incorrect argument order in two files where the noble-post-quantum API was used incorrectly:
|
|
814
1392
|
|
|
815
1393
|
- **`oracle/module-sealer.js`**: Fixed `sign()` and `verify()` argument order
|
|
@@ -822,6 +1400,7 @@ Fixed incorrect argument order in two files where the noble-post-quantum API was
|
|
|
822
1400
|
**Impact**: Module attestations and NakPak routing signatures were failing validation.
|
|
823
1401
|
|
|
824
1402
|
##### JSON Serialization in DOKO Identity
|
|
1403
|
+
|
|
825
1404
|
Fixed `getSignableBytes()` to properly serialize nested objects using recursive key sorting.
|
|
826
1405
|
|
|
827
1406
|
#### ✨ New Exports
|
|
@@ -839,6 +1418,7 @@ Added missing module exports to `package.json`:
|
|
|
839
1418
|
#### 📋 Release Process
|
|
840
1419
|
|
|
841
1420
|
Added `RELEASE_CHECKLIST.md` with pre-release verification steps including:
|
|
1421
|
+
|
|
842
1422
|
- Cryptographic API argument order verification
|
|
843
1423
|
- Export file existence checks
|
|
844
1424
|
- Documentation accuracy review
|
|
@@ -860,6 +1440,7 @@ This major release introduces **mathematical trust** — replacing certificate a
|
|
|
860
1440
|
A 7-gate verification gateway inspired by Nepal's Namche Bazaar — the last checkpoint before Everest.
|
|
861
1441
|
|
|
862
1442
|
##### The 7 Gates of Verification
|
|
1443
|
+
|
|
863
1444
|
| Gate | Name | Verification |
|
|
864
1445
|
|------|------|-------------|
|
|
865
1446
|
| 1 | Cryptographic Gate | Valid ML-DSA-65 signature |
|
|
@@ -871,12 +1452,14 @@ A 7-gate verification gateway inspired by Nepal's Namche Bazaar — the last che
|
|
|
871
1452
|
| 7 | Freshness Gate | Proof-of-liveliness within 5 minutes |
|
|
872
1453
|
|
|
873
1454
|
##### New Module: `security/namche-gateway.js`
|
|
1455
|
+
|
|
874
1456
|
- `NamcheGateway` - Main verification orchestrator
|
|
875
1457
|
- `GateResult` - Individual gate pass/fail with evidence
|
|
876
1458
|
- `VerificationReport` - Complete 7-gate assessment
|
|
877
1459
|
- `TrustDecision` - Final ALLOW/DENY/CHALLENGE decision
|
|
878
1460
|
|
|
879
1461
|
##### Trust Levels
|
|
1462
|
+
|
|
880
1463
|
```javascript
|
|
881
1464
|
TRUST_LEVELS = {
|
|
882
1465
|
UNTRUSTED: 0, // Failed critical gates
|
|
@@ -894,12 +1477,14 @@ TRUST_LEVELS = {
|
|
|
894
1477
|
Self-sovereign identity documents verified by the mesh, not a CA.
|
|
895
1478
|
|
|
896
1479
|
##### New Module: `security/doko-identity.js`
|
|
1480
|
+
|
|
897
1481
|
- `DOKODocument` - The identity document structure
|
|
898
1482
|
- `DOKOGenerator` - Create new DOKO documents
|
|
899
1483
|
- `DOKOValidator` - Validate document structure and signatures
|
|
900
1484
|
- `DOKOExtensions` - Optional capability declarations
|
|
901
1485
|
|
|
902
1486
|
##### DOKO Structure
|
|
1487
|
+
|
|
903
1488
|
```javascript
|
|
904
1489
|
{
|
|
905
1490
|
version: "1.0",
|
|
@@ -928,6 +1513,7 @@ Self-sovereign identity documents verified by the mesh, not a CA.
|
|
|
928
1513
|
Bind DOKO identity to X.509 certificates for TLS-level verification.
|
|
929
1514
|
|
|
930
1515
|
##### New Module: `security/tls-binding.js`
|
|
1516
|
+
|
|
931
1517
|
- `DOKOCertificateGenerator` - Create X.509 certs from DOKO
|
|
932
1518
|
- `TLSVerifier` - Verify TLS connections against DOKO
|
|
933
1519
|
- `TLSCapabilityAdvertiser` - Announce TLS capabilities to mesh
|
|
@@ -939,11 +1525,13 @@ Bind DOKO identity to X.509 certificates for TLS-level verification.
|
|
|
939
1525
|
Multi-factor trust assessment combining cryptographic proof with behavioral history.
|
|
940
1526
|
|
|
941
1527
|
##### New Module: `security/hybrid-trust.js`
|
|
1528
|
+
|
|
942
1529
|
- `TrustEvidence` - Collect evidence from multiple sources
|
|
943
1530
|
- `HybridTrustModel` - Calculate weighted trust scores
|
|
944
1531
|
- `TrustBasedAccessControl` - Gate features by trust level
|
|
945
1532
|
|
|
946
1533
|
##### Trust Factors
|
|
1534
|
+
|
|
947
1535
|
| Factor | Weight | Source |
|
|
948
1536
|
|--------|--------|--------|
|
|
949
1537
|
| Cryptographic | 40% | NAMCHE gates 1-3 |
|
|
@@ -958,6 +1546,7 @@ Multi-factor trust assessment combining cryptographic proof with behavioral hist
|
|
|
958
1546
|
Mesh-verified domain ownership without centralized DNS authorities.
|
|
959
1547
|
|
|
960
1548
|
##### New Module: `security/domain-consensus.js`
|
|
1549
|
+
|
|
961
1550
|
- `DomainClaim` - Claim domain ownership
|
|
962
1551
|
- `DomainConsensus` - Multi-peer verification
|
|
963
1552
|
- `DNSVerifier` - Check DNS TXT records
|
|
@@ -1018,23 +1607,27 @@ This release implements SHERPA, a novel peer discovery mechanism that uses the p
|
|
|
1018
1607
|
#### New Feature: SHERPA Discovery
|
|
1019
1608
|
|
|
1020
1609
|
##### The Innovation: "The Web IS the DHT"
|
|
1610
|
+
|
|
1021
1611
|
- Each node exposes `/.well-known/yakmesh/beacon` with its peer list
|
|
1022
1612
|
- Discovery crawls known endpoints to find new peers
|
|
1023
1613
|
- No central authority - truly decentralized bootstrap
|
|
1024
1614
|
- Works with existing CDN infrastructure
|
|
1025
1615
|
|
|
1026
1616
|
##### New Module: `mesh/sherpa-discovery.js`
|
|
1617
|
+
|
|
1027
1618
|
- `SherpaDiscovery` - Main discovery engine with peer crawling
|
|
1028
1619
|
- `BeaconMessage` - Signed beacon format for peer advertisement
|
|
1029
1620
|
- `PeerRegistry` - Scored peer management with decay
|
|
1030
1621
|
- `createBeaconMiddleware` - Express middleware for beacon endpoint
|
|
1031
1622
|
|
|
1032
1623
|
##### New Endpoints
|
|
1624
|
+
|
|
1033
1625
|
- `GET /.well-known/yakmesh/beacon` - Advertise this node and known peers
|
|
1034
1626
|
- `GET /sherpa/status` - Discovery statistics
|
|
1035
1627
|
- `GET /sherpa/candidates` - Get connection candidates
|
|
1036
1628
|
|
|
1037
1629
|
##### Configuration
|
|
1630
|
+
|
|
1038
1631
|
```javascript
|
|
1039
1632
|
// yakmesh.config.js
|
|
1040
1633
|
export default {
|
|
@@ -1048,6 +1641,7 @@ export default {
|
|
|
1048
1641
|
```
|
|
1049
1642
|
|
|
1050
1643
|
##### Beacon Response Format
|
|
1644
|
+
|
|
1051
1645
|
```json
|
|
1052
1646
|
{
|
|
1053
1647
|
"version": "1.0",
|
|
@@ -1072,6 +1666,7 @@ This release renames dark-themed protocols to yak-themed names for brand consist
|
|
|
1072
1666
|
#### Renamed Protocols
|
|
1073
1667
|
|
|
1074
1668
|
##### NAKPAK (formerly Phantom)
|
|
1669
|
+
|
|
1075
1670
|
- **N**ested **A**nonymous **K**ernel for **P**rivate **A**uthenticated **K**omms
|
|
1076
1671
|
- Post-quantum onion routing with ML-KEM768 key encapsulation
|
|
1077
1672
|
- File renamed: `phantom-routing.js` → `nakpak-routing.js`
|
|
@@ -1079,11 +1674,13 @@ This release renames dark-themed protocols to yak-themed names for brand consist
|
|
|
1079
1674
|
- Etymology: NAK (female yak) + PAK (package) = sounds like "knapsack" 🎒
|
|
1080
1675
|
|
|
1081
1676
|
##### SHERPA (new protocol slot)
|
|
1677
|
+
|
|
1082
1678
|
- **S**ecure **H**idden **E**ndpoint **R**esolution **P**ath **A**rchitecture
|
|
1083
1679
|
- Peer discovery DHT via public web layer
|
|
1084
1680
|
- Guides nodes to find each other like Sherpas guide travelers
|
|
1085
1681
|
|
|
1086
1682
|
#### Protocol Stack Update
|
|
1683
|
+
|
|
1087
1684
|
```text
|
|
1088
1685
|
1. HTTP API - Public content delivery
|
|
1089
1686
|
2. Annex - Encrypted P2P messaging
|
|
@@ -1103,6 +1700,7 @@ This release adds defense-in-depth with FIPS 205 hash-based backup signatures an
|
|
|
1103
1700
|
#### New Features
|
|
1104
1701
|
|
|
1105
1702
|
##### SLH-DSA Backup Signatures (FIPS 205)
|
|
1703
|
+
|
|
1106
1704
|
- **Dual Algorithm Support:** ML-DSA (lattice-based) + SLH-DSA (hash-based)
|
|
1107
1705
|
- **Level 3:** SLH-DSA-SHA2-192f (hash-based, different cryptographic assumptions)
|
|
1108
1706
|
- **Level 5:** SLH-DSA-SHA2-256f (hash-based, paranoid mode)
|
|
@@ -1111,6 +1709,7 @@ This release adds defense-in-depth with FIPS 205 hash-based backup signatures an
|
|
|
1111
1709
|
- Defense-in-depth: if lattice assumptions break, hash-based signatures still hold
|
|
1112
1710
|
|
|
1113
1711
|
##### Monitoring Dashboard
|
|
1712
|
+
|
|
1114
1713
|
- Updated `/dashboard` with YAKMESH branding
|
|
1115
1714
|
- New `/metrics` endpoint aggregates all node status
|
|
1116
1715
|
- **Oracle Status:** Health, network identity, verified peers
|
|
@@ -1119,6 +1718,7 @@ This release adds defense-in-depth with FIPS 205 hash-based backup signatures an
|
|
|
1119
1718
|
- **Uptime Tracking:** Human-readable uptime display
|
|
1120
1719
|
|
|
1121
1720
|
##### Dev.to Automation
|
|
1721
|
+
|
|
1122
1722
|
- GitHub Actions now posts to Dev.to on major releases
|
|
1123
1723
|
- Automated article creation with version info
|
|
1124
1724
|
- Add `DEVTO_API_KEY` to GitHub secrets to enable
|
|
@@ -1126,17 +1726,20 @@ This release adds defense-in-depth with FIPS 205 hash-based backup signatures an
|
|
|
1126
1726
|
#### Technical Details
|
|
1127
1727
|
|
|
1128
1728
|
##### SLH-DSA Key/Signature Sizes
|
|
1729
|
+
|
|
1129
1730
|
| Level | Public Key | Secret Key | Signature |
|
|
1130
1731
|
|-------|------------|------------|-----------|
|
|
1131
1732
|
| 3 (192f) | 48 bytes | 96 bytes | ~35 KB |
|
|
1132
1733
|
| 5 (256f) | 64 bytes | 128 bytes | ~50 KB |
|
|
1133
1734
|
|
|
1134
1735
|
##### Performance (SLH-DSA is slower than ML-DSA)
|
|
1736
|
+
|
|
1135
1737
|
- Sign: ~100-160ms (vs 3ms for ML-DSA)
|
|
1136
1738
|
- Verify: ~5-9ms (vs 1ms for ML-DSA)
|
|
1137
1739
|
- Use dual signatures only for high-value operations
|
|
1138
1740
|
|
|
1139
1741
|
#### Added
|
|
1742
|
+
|
|
1140
1743
|
- `signBackup()`, `verifyBackup()` - SLH-DSA standalone operations
|
|
1141
1744
|
- `signDual()`, `verifyDual()` - Dual signature operations
|
|
1142
1745
|
- `generateDualSignatureKeyPairs()` - Generate both ML-DSA and SLH-DSA keypairs
|
|
@@ -1146,6 +1749,7 @@ This release adds defense-in-depth with FIPS 205 hash-based backup signatures an
|
|
|
1146
1749
|
- Uptime tracking with human-readable formatting
|
|
1147
1750
|
|
|
1148
1751
|
#### Changed
|
|
1752
|
+
|
|
1149
1753
|
- `getCryptoSummary()` now includes `backupSignatureAlgorithm` and FIPS 205 in standards
|
|
1150
1754
|
- Dashboard rebranded from "Lantern Mesh" to "YAKMESH"
|
|
1151
1755
|
- `discord-release.yml` now includes Dev.to posting job
|
|
@@ -1161,6 +1765,7 @@ This release adds support for NIST Level 5 security and unifies all hash operati
|
|
|
1161
1765
|
#### New Features
|
|
1162
1766
|
|
|
1163
1767
|
##### NIST Level 5 Support
|
|
1768
|
+
|
|
1164
1769
|
- Configurable security levels: Level 3 (default) or Level 5 (paranoid)
|
|
1165
1770
|
- **Level 5 Algorithms:**
|
|
1166
1771
|
- ML-DSA-87 (Dilithium5) for signatures - 256-bit classical security
|
|
@@ -1169,11 +1774,13 @@ This release adds support for NIST Level 5 security and unifies all hash operati
|
|
|
1169
1774
|
- Runtime switchable via `setSecurityLevel(SecurityLevel.LEVEL_5)`
|
|
1170
1775
|
|
|
1171
1776
|
##### Crypto Agility Documentation
|
|
1777
|
+
|
|
1172
1778
|
- New `docs/CRYPTO-AGILITY.md` formalizes algorithm upgrade procedures
|
|
1173
1779
|
- Version negotiation protocol for future algorithm transitions
|
|
1174
1780
|
- Monitoring list for future algorithm candidates (X-Wing, SLH-DSA, etc.)
|
|
1175
1781
|
|
|
1176
1782
|
##### Post-Quantum Test Suite
|
|
1783
|
+
|
|
1177
1784
|
- Comprehensive cryptographic tests in `oracle/tests/crypto.test.js`
|
|
1178
1785
|
- Tests for ML-DSA-65/87, ML-KEM-768/1024
|
|
1179
1786
|
- Performance benchmarks for Level 3 vs Level 5 overhead
|
|
@@ -1182,7 +1789,9 @@ This release adds support for NIST Level 5 security and unifies all hash operati
|
|
|
1182
1789
|
#### Changed
|
|
1183
1790
|
|
|
1184
1791
|
##### Unified SHA3-256 Hashing
|
|
1792
|
+
|
|
1185
1793
|
All hash operations now use SHA3-256 for post-quantum consistency:
|
|
1794
|
+
|
|
1186
1795
|
- `oracle/network-identity.js` - HKDF now uses SHA3-256
|
|
1187
1796
|
- `oracle/phase-epoch.js` - Phase derivation uses SHA3-256
|
|
1188
1797
|
- `gossip/protocol.js` - Bloom filters and message IDs use SHA3-256
|
|
@@ -1192,12 +1801,14 @@ All hash operations now use SHA3-256 for post-quantum consistency:
|
|
|
1192
1801
|
- `mesh/echo-ranging.js` - Probe key derivation uses SHA3-256
|
|
1193
1802
|
|
|
1194
1803
|
### Added
|
|
1804
|
+
|
|
1195
1805
|
- `security/crypto-config.js` - Centralized crypto configuration module
|
|
1196
1806
|
- `docs/CRYPTO-AGILITY.md` - Algorithm upgrade path documentation
|
|
1197
1807
|
- `oracle/tests/crypto.test.js` - PQ cryptography test suite
|
|
1198
1808
|
- `npm run test:crypto` script for running crypto tests
|
|
1199
1809
|
|
|
1200
1810
|
### Technical Details
|
|
1811
|
+
|
|
1201
1812
|
- SHA3-256 provides 128-bit post-quantum security (Grover resistance)
|
|
1202
1813
|
- All symmetric keys derived from PQ-safe shared secrets
|
|
1203
1814
|
- No vulnerable classical asymmetric crypto in codebase
|
|
@@ -1207,6 +1818,7 @@ All hash operations now use SHA3-256 for post-quantum consistency:
|
|
|
1207
1818
|
## [1.5.1] - 2026-01-17
|
|
1208
1819
|
|
|
1209
1820
|
### 🔧 Maintenance Release
|
|
1821
|
+
|
|
1210
1822
|
- Port fallback system for WebSocket and HTTP servers
|
|
1211
1823
|
- Process management script (`scripts/start.sh`)
|
|
1212
1824
|
- Discord webhook integration for releases
|
|
@@ -1221,11 +1833,13 @@ All hash operations now use SHA3-256 for post-quantum consistency:
|
|
|
1221
1833
|
This release fixes a fundamental issue where nodes running identical code were generating different node IDs, preventing them from recognizing each other as peers on the same network.
|
|
1222
1834
|
|
|
1223
1835
|
#### The Problem (v1.4.0 and earlier)
|
|
1836
|
+
|
|
1224
1837
|
- Node IDs were derived from **random public key** entropy
|
|
1225
1838
|
- Each node got a unique ID regardless of codebase
|
|
1226
1839
|
- Nodes couldn't verify they were on the same network by comparing node IDs
|
|
1227
1840
|
|
|
1228
1841
|
#### The Solution (v1.5.0)
|
|
1842
|
+
|
|
1229
1843
|
- Node IDs now composed of TWO parts:
|
|
1230
1844
|
1. **Network Name** - Derived from codebase hash (SAME for all nodes on network)
|
|
1231
1845
|
2. **Instance ID** - Derived from public key (UNIQUE per node)
|
|
@@ -1233,22 +1847,26 @@ This release fixes a fundamental issue where nodes running identical code were g
|
|
|
1233
1847
|
- Example: `node-qubit-lattice-prism-pq-a7x9`
|
|
1234
1848
|
|
|
1235
1849
|
#### Human Verification
|
|
1850
|
+
|
|
1236
1851
|
- All nodes on the same network share the same **network name** and **verification phrase**
|
|
1237
1852
|
- Users can verbally verify: "Are you on qubit-lattice-prism?"
|
|
1238
1853
|
- If network names match = same code = can peer
|
|
1239
1854
|
|
|
1240
1855
|
### Changed
|
|
1856
|
+
|
|
1241
1857
|
- `identity/node-key.js` - Node ID generation now uses codebase hash for network name
|
|
1242
1858
|
- `server/index.js` - Oracle initialized BEFORE identity (provides codebase hash)
|
|
1243
1859
|
- `node-key.json` now stores `networkName`, `verificationPhrase`, and `codebaseHash`
|
|
1244
1860
|
- Identity automatically regenerates if codebase changes
|
|
1245
1861
|
|
|
1246
1862
|
### Added
|
|
1863
|
+
|
|
1247
1864
|
- `setCodebaseHash()` / `getCodebaseHash()` exports from identity module
|
|
1248
1865
|
- `getNetworkIdentity()` method on NodeIdentity class
|
|
1249
1866
|
- Codebase change detection - warns and regenerates identity on code updates
|
|
1250
1867
|
|
|
1251
1868
|
### Breaking Changes
|
|
1869
|
+
|
|
1252
1870
|
- Existing `node-key.json` files will trigger identity regeneration
|
|
1253
1871
|
- Old node IDs are no longer compatible with v1.5.0 network naming
|
|
1254
1872
|
|
|
@@ -1259,6 +1877,7 @@ This release fixes a fundamental issue where nodes running identical code were g
|
|
|
1259
1877
|
### 🔐 Yakmesh Annex - Post-Quantum Encrypted P2P Channels
|
|
1260
1878
|
|
|
1261
1879
|
#### Annex: Autonomous Network Negotiated Encrypted eXchange
|
|
1880
|
+
|
|
1262
1881
|
- ML-KEM-768 (Kyber) key encapsulation for quantum-resistant key exchange
|
|
1263
1882
|
- AES-256-GCM authenticated encryption for message confidentiality
|
|
1264
1883
|
- Perfect Forward Secrecy - session keys rotate every 5 minutes or 10,000 messages
|
|
@@ -1266,6 +1885,7 @@ This release fixes a fundamental issue where nodes running identical code were g
|
|
|
1266
1885
|
- Three-message handshake: INIT → ACCEPT → CONFIRM
|
|
1267
1886
|
|
|
1268
1887
|
### Added
|
|
1888
|
+
|
|
1269
1889
|
- `mesh/annex.js` - Complete Annex implementation (744 lines)
|
|
1270
1890
|
- AnnexEnvelope class for encrypted message wrapping
|
|
1271
1891
|
- AnnexSession class for per-peer session management
|
|
@@ -1278,6 +1898,7 @@ This release fixes a fundamental issue where nodes running identical code were g
|
|
|
1278
1898
|
## [1.3.2] - 2026-01-17
|
|
1279
1899
|
|
|
1280
1900
|
### Added
|
|
1901
|
+
|
|
1281
1902
|
- **Public Content Delivery API** - Content-addressed storage for decentralized website hosting
|
|
1282
1903
|
- `GET /content` - List available content with stats
|
|
1283
1904
|
- `GET /content/:hash` - Fetch content by hash with optional proof
|
|
@@ -1286,10 +1907,12 @@ This release fixes a fundamental issue where nodes running identical code were g
|
|
|
1286
1907
|
- Consensus proof system for verified content
|
|
1287
1908
|
|
|
1288
1909
|
### Fixed
|
|
1910
|
+
|
|
1289
1911
|
- Gossip protocol method calls (use `spreadRumor()` instead of `broadcast()`)
|
|
1290
1912
|
- Direct messaging via mesh instead of non-existent gossip.sendTo()
|
|
1291
1913
|
|
|
1292
1914
|
### Community
|
|
1915
|
+
|
|
1293
1916
|
- Added social links: Discord, Telegram, X (Twitter)
|
|
1294
1917
|
- Created Discord announcement template
|
|
1295
1918
|
|
|
@@ -1298,16 +1921,19 @@ This release fixes a fundamental issue where nodes running identical code were g
|
|
|
1298
1921
|
## [1.3.1] - 2026-01-16
|
|
1299
1922
|
|
|
1300
1923
|
### Security
|
|
1924
|
+
|
|
1301
1925
|
- Hardened peer handshake protocol validation
|
|
1302
1926
|
- Enhanced network fingerprint verification in HELLO/WELCOME exchange
|
|
1303
1927
|
- Added CodebaseLock module for runtime source integrity
|
|
1304
1928
|
|
|
1305
1929
|
### Added
|
|
1930
|
+
|
|
1306
1931
|
- 3-node test infrastructure for protocol verification
|
|
1307
1932
|
- iO-style (indistinguishability obfuscation) network identity derivation
|
|
1308
1933
|
- Human-readable network names from codebase fingerprint
|
|
1309
1934
|
|
|
1310
1935
|
### Fixed
|
|
1936
|
+
|
|
1311
1937
|
- Config path resolution for relative/absolute paths
|
|
1312
1938
|
- Test suite node ID prefix assertion
|
|
1313
1939
|
|
|
@@ -1318,18 +1944,21 @@ This release fixes a fundamental issue where nodes running identical code were g
|
|
|
1318
1944
|
### 🌟 Major New Systems - "A Beacon in the Darkness"
|
|
1319
1945
|
|
|
1320
1946
|
#### ECHO - Encrypted Coordinate Heuristic Oracle
|
|
1947
|
+
|
|
1321
1948
|
- Privacy-preserving network topology discovery
|
|
1322
1949
|
- Virtual coordinate system for latency estimation
|
|
1323
1950
|
- Encrypted timing probes (AES-256-GCM)
|
|
1324
1951
|
- Route optimization through coordinate-based pathfinding
|
|
1325
1952
|
|
|
1326
1953
|
#### PULSE - Precision Universal Latency Sync Engine
|
|
1954
|
+
|
|
1327
1955
|
- Mesh heartbeat system with cryptographic proofs
|
|
1328
1956
|
- Node liveness detection (alive/suspect/dead states)
|
|
1329
1957
|
- Network partition detection with confidence scoring
|
|
1330
1958
|
- Raft-inspired leader election using heartbeat chains
|
|
1331
1959
|
|
|
1332
1960
|
#### PHANTOM - Post-quantum Hidden Anonymous Network Transmission
|
|
1961
|
+
|
|
1333
1962
|
- **First-ever post-quantum onion routing implementation**
|
|
1334
1963
|
- ML-KEM-768 (Kyber) key encapsulation per layer
|
|
1335
1964
|
- Multi-layer encryption with temporal padding
|
|
@@ -1337,21 +1966,25 @@ This release fixes a fundamental issue where nodes running identical code were g
|
|
|
1337
1966
|
- Fixed packet sizing to prevent length analysis
|
|
1338
1967
|
|
|
1339
1968
|
#### BEACON - Broadcast Emergency Alert Channel Over Network
|
|
1969
|
+
|
|
1340
1970
|
- Priority message propagation (ROUTINE → CRITICAL)
|
|
1341
1971
|
- Flood-based protocol with intelligent deduplication
|
|
1342
1972
|
- Proof-of-receipt for delivery confirmation
|
|
1343
1973
|
- TTL-based propagation control
|
|
1344
1974
|
|
|
1345
1975
|
### 📊 Test Coverage
|
|
1976
|
+
|
|
1346
1977
|
- 68 tests total (18 TME + 24 Security + 26 Novel Systems)
|
|
1347
1978
|
- All tests passing
|
|
1348
1979
|
|
|
1349
1980
|
### 🔐 Security Improvements
|
|
1981
|
+
|
|
1350
1982
|
- Enhanced cryptographic hashing (SHA3-256)
|
|
1351
1983
|
- Timing attack resistance in PHANTOM
|
|
1352
1984
|
- Improved rate limiting integration
|
|
1353
1985
|
|
|
1354
1986
|
### 🛡️ Code Proof Protocol Hardening
|
|
1987
|
+
|
|
1355
1988
|
- **CRITICAL FIX**: HELLO message now includes `networkFingerprint`
|
|
1356
1989
|
- **CRITICAL FIX**: WELCOME handler validates fingerprint, rejects mismatches (code 1008)
|
|
1357
1990
|
- Added `CodebaseLock` module for runtime source file protection
|
|
@@ -1369,6 +2002,7 @@ This release fixes a fundamental issue where nodes running identical code were g
|
|
|
1369
2002
|
## [1.2.0] - 2026-01-15
|
|
1370
2003
|
|
|
1371
2004
|
### Added
|
|
2005
|
+
|
|
1372
2006
|
- **TME (Temporal Mesh Encoding)** - Novel packet resilience system
|
|
1373
2007
|
- Encodes data across TIME, not space
|
|
1374
2008
|
- Temporal slicing with cryptographic chaining
|
|
@@ -1381,6 +2015,7 @@ This release fixes a fundamental issue where nodes running identical code were g
|
|
|
1381
2015
|
## [1.1.0] - 2026-01-14
|
|
1382
2016
|
|
|
1383
2017
|
### Added
|
|
2018
|
+
|
|
1384
2019
|
- **NAVR** (Network Access Verification via Resources) - Sybil defense
|
|
1385
2020
|
- Replay attack protection (nonces, timestamps, sequences)
|
|
1386
2021
|
- Message validator with size limits and depth checks
|
|
@@ -1392,6 +2027,7 @@ This release fixes a fundamental issue where nodes running identical code were g
|
|
|
1392
2027
|
## [1.0.3] - 2026-01-15
|
|
1393
2028
|
|
|
1394
2029
|
### Fixed
|
|
2030
|
+
|
|
1395
2031
|
- verify() function in identity module
|
|
1396
2032
|
- Rate limiter initialization
|
|
1397
2033
|
|
|
@@ -1400,6 +2036,7 @@ This release fixes a fundamental issue where nodes running identical code were g
|
|
|
1400
2036
|
## [1.0.0] - 2026-01-13
|
|
1401
2037
|
|
|
1402
2038
|
### Initial Release
|
|
2039
|
+
|
|
1403
2040
|
- ML-DSA-65 post-quantum signatures
|
|
1404
2041
|
- SQLite-based distributed oracle
|
|
1405
2042
|
- WebSocket mesh networking
|