yakmesh 2.8.2 → 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/CONTRIBUTING.md +42 -0
- package/Caddyfile +77 -0
- package/README.md +119 -29
- package/adapters/adapter-mlv-bible/README.md +124 -0
- package/adapters/adapter-mlv-bible/index.js +400 -0
- package/adapters/chat-mod-adapter.js +532 -0
- package/adapters/content-adapter.js +273 -0
- package/content/api.js +50 -41
- package/content/index.js +2 -2
- package/content/store.js +355 -173
- 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 +334 -74
- 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 +113 -1
- package/mesh/darshan.js +1718 -0
- package/mesh/gumba.js +1567 -0
- package/mesh/jhilke.js +651 -0
- package/mesh/katha.js +1012 -0
- package/mesh/nakpak-routing.js +8 -5
- package/mesh/network.js +724 -34
- package/mesh/pulse-sync.js +4 -1
- package/mesh/rate-limiter.js +127 -15
- 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/vani.js +1364 -0
- package/mesh/yurt.js +1340 -0
- 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/network-identity.js +16 -0
- package/oracle/packet-checksum.js +201 -0
- package/oracle/sst.js +579 -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 +28 -13
- 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-nav.js +194 -0
- package/scripts/update-docs-sidebar.cjs +164 -0
- package/security/crypto-config.js +4 -3
- package/security/dharma-moderation.js +517 -0
- 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 +373 -5
- package/security/namche-gateway.js +298 -69
- package/security/sakshi.js +460 -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/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/docs/karma.html
ADDED
|
@@ -0,0 +1,1100 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en" data-theme="karma">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<link rel="icon" href="favicon.ico" sizes="32x32">
|
|
7
|
+
<link rel="icon" href="icon.svg" type="image/svg+xml">
|
|
8
|
+
<link rel="apple-touch-icon" href="apple-touch-icon.png">
|
|
9
|
+
<title>KARMA Protocol | YAKMESH Documentation</title>
|
|
10
|
+
<meta name="description" content="KARMA - Kinetic Assessment of Reputation & Merit Accumulation. Trust earned through consistent good actions.">
|
|
11
|
+
<link rel="stylesheet" href="tailwind.min.css">
|
|
12
|
+
<link rel="stylesheet" href="prism-tomorrow.min.css" media="print" onload="this.media='all'">
|
|
13
|
+
<noscript><link rel="stylesheet" href="prism-tomorrow.min.css"></noscript>
|
|
14
|
+
<link rel="stylesheet" href="docs.css">
|
|
15
|
+
<style>
|
|
16
|
+
.theme-accent { color: #fb7185; }
|
|
17
|
+
.theme-accent-hover:hover { color: #e11d48; }
|
|
18
|
+
.theme-badge { background: rgba(225, 29, 72, 0.2); color: #fb7185; }
|
|
19
|
+
.theme-border { border-color: #e11d48; }
|
|
20
|
+
.theme-callout { background: rgba(225, 29, 72, 0.1); border-color: #be123c; }
|
|
21
|
+
.active-link { background: rgba(225, 29, 72, 0.2) !important; color: #fb7185 !important; }
|
|
22
|
+
</style>
|
|
23
|
+
|
|
24
|
+
<!-- Open Graph -->
|
|
25
|
+
<meta property="og:type" content="article">
|
|
26
|
+
<meta property="og:site_name" content="Yakmesh Documentation">
|
|
27
|
+
<meta property="og:title" content="KARMA — Yakmesh">
|
|
28
|
+
<meta property="og:description" content="KARMA reputation system — trust scoring and node behavior tracking.">
|
|
29
|
+
</head>
|
|
30
|
+
<body class="bg-mountain-900 text-white min-h-screen">
|
|
31
|
+
<!-- YAKMESH-ICON-SPRITE-START -->
|
|
32
|
+
<svg xmlns="http://www.w3.org/2000/svg" style="display:none">
|
|
33
|
+
<!--
|
|
34
|
+
Yakmesh Docs Icon Sprite Sheet
|
|
35
|
+
24×24 viewBox — stroke/fill set via .doc-icon CSS
|
|
36
|
+
Usage: <svg class="doc-icon"><use href="#icon-name"/></svg>
|
|
37
|
+
-->
|
|
38
|
+
|
|
39
|
+
<!-- ═══ GUIDES ═══ -->
|
|
40
|
+
|
|
41
|
+
<symbol id="icon-home" viewBox="0 0 24 24">
|
|
42
|
+
<path d="M3 9.5L12 3l9 6.5V20a1 1 0 01-1 1H4a1 1 0 01-1-1V9.5z"/>
|
|
43
|
+
<polyline points="9 22 9 12 15 12 15 22"/>
|
|
44
|
+
</symbol>
|
|
45
|
+
|
|
46
|
+
<symbol id="icon-rocket" viewBox="0 0 24 24">
|
|
47
|
+
<path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 00-2.91-.09z"/>
|
|
48
|
+
<path d="M12 15l-3-3a22 22 0 012-3.95A12.88 12.88 0 0122 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 01-4 2z"/>
|
|
49
|
+
<path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"/>
|
|
50
|
+
<path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"/>
|
|
51
|
+
</symbol>
|
|
52
|
+
|
|
53
|
+
<symbol id="icon-book" viewBox="0 0 24 24">
|
|
54
|
+
<path d="M4 19.5A2.5 2.5 0 016.5 17H20"/>
|
|
55
|
+
<path d="M6.5 2H20v20H6.5A2.5 2.5 0 014 19.5v-15A2.5 2.5 0 016.5 2z"/>
|
|
56
|
+
<line x1="8" y1="7" x2="16" y2="7"/>
|
|
57
|
+
<line x1="8" y1="11" x2="13" y2="11"/>
|
|
58
|
+
</symbol>
|
|
59
|
+
|
|
60
|
+
<!-- ═══ PROTOCOL STACK ═══ -->
|
|
61
|
+
|
|
62
|
+
<!-- YAK:// — Content addressing (yak horns) -->
|
|
63
|
+
<symbol id="icon-yak" viewBox="0 0 24 24">
|
|
64
|
+
<path d="M4 4c1 3 3 5 5 6"/>
|
|
65
|
+
<path d="M20 4c-1 3-3 5-5 6"/>
|
|
66
|
+
<circle cx="12" cy="14" r="5"/>
|
|
67
|
+
<circle cx="10" cy="13" r="0.5" fill="currentColor"/>
|
|
68
|
+
<circle cx="14" cy="13" r="0.5" fill="currentColor"/>
|
|
69
|
+
<path d="M10 16c1 1 3 1 4 0"/>
|
|
70
|
+
</symbol>
|
|
71
|
+
|
|
72
|
+
<!-- ANNEX — Encrypted bridge -->
|
|
73
|
+
<symbol id="icon-annex" viewBox="0 0 24 24">
|
|
74
|
+
<path d="M4 18h3a4 4 0 004-4V8"/>
|
|
75
|
+
<path d="M20 18h-3a4 4 0 01-4-4V8"/>
|
|
76
|
+
<circle cx="7" cy="6" r="2"/>
|
|
77
|
+
<circle cx="17" cy="6" r="2"/>
|
|
78
|
+
<line x1="7" y1="8" x2="7" y2="18"/>
|
|
79
|
+
<line x1="17" y1="8" x2="17" y2="18"/>
|
|
80
|
+
</symbol>
|
|
81
|
+
|
|
82
|
+
<!-- JHILKE — Cricket / steganographic key lifecycle -->
|
|
83
|
+
<symbol id="icon-jhilke" viewBox="0 0 24 24">
|
|
84
|
+
<ellipse cx="12" cy="14" rx="4" ry="6"/>
|
|
85
|
+
<path d="M8 10c-2-3-4-6-3-8"/>
|
|
86
|
+
<path d="M16 10c2-3 4-6 3-8"/>
|
|
87
|
+
<line x1="10" y1="20" x2="8" y2="23"/>
|
|
88
|
+
<line x1="14" y1="20" x2="16" y2="23"/>
|
|
89
|
+
<path d="M9 12l-4 2"/>
|
|
90
|
+
<path d="M15 12l4 2"/>
|
|
91
|
+
</symbol>
|
|
92
|
+
|
|
93
|
+
<!-- NAKPAK — Onion layers / backpack -->
|
|
94
|
+
<symbol id="icon-nakpak" viewBox="0 0 24 24">
|
|
95
|
+
<circle cx="12" cy="12" r="10" opacity="0.3"/>
|
|
96
|
+
<circle cx="12" cy="12" r="7" opacity="0.5"/>
|
|
97
|
+
<circle cx="12" cy="12" r="4" opacity="0.8"/>
|
|
98
|
+
<circle cx="12" cy="12" r="1.5" fill="currentColor"/>
|
|
99
|
+
</symbol>
|
|
100
|
+
|
|
101
|
+
<!-- NAMCHE — Gateway door -->
|
|
102
|
+
<symbol id="icon-namche" viewBox="0 0 24 24">
|
|
103
|
+
<rect x="3" y="3" width="18" height="18" rx="2"/>
|
|
104
|
+
<path d="M9 3v18"/>
|
|
105
|
+
<path d="M15 3v18"/>
|
|
106
|
+
<line x1="3" y1="8" x2="9" y2="8"/>
|
|
107
|
+
<line x1="15" y1="8" x2="21" y2="8"/>
|
|
108
|
+
<circle cx="12" cy="14" r="1" fill="currentColor"/>
|
|
109
|
+
</symbol>
|
|
110
|
+
|
|
111
|
+
<!-- DOKO — Basket / certificate -->
|
|
112
|
+
<symbol id="icon-doko" viewBox="0 0 24 24">
|
|
113
|
+
<path d="M6 8l-2 12h16l-2-12"/>
|
|
114
|
+
<path d="M6 8c0-3 2.7-5 6-5s6 2 6 5"/>
|
|
115
|
+
<line x1="8" y1="10" x2="10" y2="18"/>
|
|
116
|
+
<line x1="16" y1="10" x2="14" y2="18"/>
|
|
117
|
+
<line x1="12" y1="10" x2="12" y2="18"/>
|
|
118
|
+
</symbol>
|
|
119
|
+
|
|
120
|
+
<!-- SHERPA — Mountain climber -->
|
|
121
|
+
<symbol id="icon-sherpa" viewBox="0 0 24 24">
|
|
122
|
+
<path d="M4 20L10 6l3 6 3-4 4 12"/>
|
|
123
|
+
<line x1="4" y1="20" x2="20" y2="20"/>
|
|
124
|
+
<circle cx="13" cy="4" r="1.5"/>
|
|
125
|
+
</symbol>
|
|
126
|
+
|
|
127
|
+
<!-- MANDALA — Network topology web -->
|
|
128
|
+
<symbol id="icon-mandala" viewBox="0 0 24 24">
|
|
129
|
+
<circle cx="12" cy="12" r="9"/>
|
|
130
|
+
<circle cx="12" cy="12" r="4.5"/>
|
|
131
|
+
<line x1="12" y1="3" x2="12" y2="21"/>
|
|
132
|
+
<line x1="3" y1="12" x2="21" y2="12"/>
|
|
133
|
+
<line x1="5.6" y1="5.6" x2="18.4" y2="18.4"/>
|
|
134
|
+
<line x1="18.4" y1="5.6" x2="5.6" y2="18.4"/>
|
|
135
|
+
</symbol>
|
|
136
|
+
|
|
137
|
+
<!-- MANTRA — Gossip / prayer wheel -->
|
|
138
|
+
<symbol id="icon-mantra" viewBox="0 0 24 24">
|
|
139
|
+
<circle cx="12" cy="10" r="7"/>
|
|
140
|
+
<path d="M12 3v14"/>
|
|
141
|
+
<path d="M8 7c2 1.5 6 1.5 8 0"/>
|
|
142
|
+
<path d="M8 13c2-1.5 6-1.5 8 0"/>
|
|
143
|
+
<line x1="12" y1="17" x2="12" y2="22"/>
|
|
144
|
+
<line x1="9" y1="22" x2="15" y2="22"/>
|
|
145
|
+
</symbol>
|
|
146
|
+
|
|
147
|
+
<!-- GUMBA — Temple / access control -->
|
|
148
|
+
<symbol id="icon-gumba" viewBox="0 0 24 24">
|
|
149
|
+
<path d="M12 2L3 9h18z"/>
|
|
150
|
+
<line x1="5" y1="9" x2="5" y2="19"/>
|
|
151
|
+
<line x1="9" y1="9" x2="9" y2="19"/>
|
|
152
|
+
<line x1="15" y1="9" x2="15" y2="19"/>
|
|
153
|
+
<line x1="19" y1="9" x2="19" y2="19"/>
|
|
154
|
+
<line x1="3" y1="19" x2="21" y2="19"/>
|
|
155
|
+
<line x1="3" y1="21" x2="21" y2="21"/>
|
|
156
|
+
</symbol>
|
|
157
|
+
|
|
158
|
+
<!-- YURT — Camp / room -->
|
|
159
|
+
<symbol id="icon-yurt" viewBox="0 0 24 24">
|
|
160
|
+
<path d="M3 20L12 4l9 16"/>
|
|
161
|
+
<line x1="3" y1="20" x2="21" y2="20"/>
|
|
162
|
+
<path d="M10 20v-5a2 2 0 014 0v5"/>
|
|
163
|
+
<path d="M6 14h12"/>
|
|
164
|
+
</symbol>
|
|
165
|
+
|
|
166
|
+
<!-- KATHA — Chat / story scroll -->
|
|
167
|
+
<symbol id="icon-katha" viewBox="0 0 24 24">
|
|
168
|
+
<path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/>
|
|
169
|
+
<line x1="8" y1="8" x2="16" y2="8"/>
|
|
170
|
+
<line x1="8" y1="12" x2="13" y2="12"/>
|
|
171
|
+
</symbol>
|
|
172
|
+
|
|
173
|
+
<!-- VANI — Voice / microphone -->
|
|
174
|
+
<symbol id="icon-vani" viewBox="0 0 24 24">
|
|
175
|
+
<rect x="9" y="2" width="6" height="11" rx="3"/>
|
|
176
|
+
<path d="M5 10a7 7 0 0014 0"/>
|
|
177
|
+
<line x1="12" y1="17" x2="12" y2="22"/>
|
|
178
|
+
<line x1="8" y1="22" x2="16" y2="22"/>
|
|
179
|
+
</symbol>
|
|
180
|
+
|
|
181
|
+
<!-- DARSHAN — Eye / viewing -->
|
|
182
|
+
<symbol id="icon-darshan" viewBox="0 0 24 24">
|
|
183
|
+
<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8S1 12 1 12z"/>
|
|
184
|
+
<circle cx="12" cy="12" r="3"/>
|
|
185
|
+
</symbol>
|
|
186
|
+
|
|
187
|
+
<!-- STUPA — Tower / distributed storage -->
|
|
188
|
+
<symbol id="icon-stupa" viewBox="0 0 24 24">
|
|
189
|
+
<line x1="12" y1="2" x2="12" y2="5"/>
|
|
190
|
+
<path d="M10 5h4l1 3H9z"/>
|
|
191
|
+
<ellipse cx="12" cy="11" rx="5" ry="3"/>
|
|
192
|
+
<ellipse cx="12" cy="15" rx="6" ry="3"/>
|
|
193
|
+
<ellipse cx="12" cy="19" rx="7" ry="3"/>
|
|
194
|
+
</symbol>
|
|
195
|
+
|
|
196
|
+
<!-- LAMA — Crystal ball / consensus -->
|
|
197
|
+
<symbol id="icon-lama" viewBox="0 0 24 24">
|
|
198
|
+
<circle cx="12" cy="10" r="7"/>
|
|
199
|
+
<path d="M12 3c-1.5 2-2 5 0 7s4.5 2 6 0"/>
|
|
200
|
+
<path d="M7 19h10"/>
|
|
201
|
+
<path d="M9 22h6"/>
|
|
202
|
+
<line x1="9" y1="17" x2="9" y2="19"/>
|
|
203
|
+
<line x1="15" y1="17" x2="15" y2="19"/>
|
|
204
|
+
</symbol>
|
|
205
|
+
|
|
206
|
+
<!-- MANI — Prayer stone / time sync -->
|
|
207
|
+
<symbol id="icon-mani" viewBox="0 0 24 24">
|
|
208
|
+
<circle cx="12" cy="12" r="9"/>
|
|
209
|
+
<polyline points="12 6 12 12 16 14"/>
|
|
210
|
+
<circle cx="12" cy="12" r="1" fill="currentColor"/>
|
|
211
|
+
</symbol>
|
|
212
|
+
|
|
213
|
+
<!-- KARMA — Yin-yang / reputation -->
|
|
214
|
+
<symbol id="icon-karma" viewBox="0 0 24 24">
|
|
215
|
+
<circle cx="12" cy="12" r="9"/>
|
|
216
|
+
<path d="M12 3a4.5 4.5 0 010 9 4.5 4.5 0 000 9"/>
|
|
217
|
+
<circle cx="12" cy="7.5" r="1.5" fill="currentColor"/>
|
|
218
|
+
<circle cx="12" cy="16.5" r="1.5"/>
|
|
219
|
+
</symbol>
|
|
220
|
+
|
|
221
|
+
<!-- TATTVA — Quantum elements / atom -->
|
|
222
|
+
<symbol id="icon-tattva" viewBox="0 0 24 24">
|
|
223
|
+
<circle cx="12" cy="12" r="2.5" fill="currentColor" stroke="none"/>
|
|
224
|
+
<ellipse cx="12" cy="12" rx="10" ry="4"/>
|
|
225
|
+
<ellipse cx="12" cy="12" rx="10" ry="4" transform="rotate(60 12 12)"/>
|
|
226
|
+
<ellipse cx="12" cy="12" rx="10" ry="4" transform="rotate(120 12 12)"/>
|
|
227
|
+
</symbol>
|
|
228
|
+
|
|
229
|
+
<!-- TRIBHUJ — Triangle / balanced ternary -->
|
|
230
|
+
<symbol id="icon-tribhuj" viewBox="0 0 24 24">
|
|
231
|
+
<polygon points="12,3 21,20 3,20"/>
|
|
232
|
+
<line x1="12" y1="3" x2="12" y2="20"/>
|
|
233
|
+
<line x1="7.5" y1="11.5" x2="16.5" y2="11.5"/>
|
|
234
|
+
<circle cx="12" cy="14" r="1" fill="currentColor"/>
|
|
235
|
+
</symbol>
|
|
236
|
+
|
|
237
|
+
<!-- YPC-27 — Lock / cipher -->
|
|
238
|
+
<symbol id="icon-ypc27" viewBox="0 0 24 24">
|
|
239
|
+
<rect x="5" y="11" width="14" height="10" rx="2"/>
|
|
240
|
+
<path d="M8 11V7a4 4 0 118 0v4"/>
|
|
241
|
+
<circle cx="12" cy="16" r="1" fill="currentColor"/>
|
|
242
|
+
<line x1="12" y1="17" x2="12" y2="19"/>
|
|
243
|
+
</symbol>
|
|
244
|
+
|
|
245
|
+
<!-- SAKSHI — Witness / aperture eye -->
|
|
246
|
+
<symbol id="icon-sakshi" viewBox="0 0 24 24">
|
|
247
|
+
<circle cx="12" cy="12" r="9"/>
|
|
248
|
+
<path d="M12 3l3 9-3 9"/>
|
|
249
|
+
<path d="M12 3l-3 9 3 9"/>
|
|
250
|
+
<circle cx="12" cy="12" r="2.5"/>
|
|
251
|
+
<circle cx="12" cy="12" r="0.8" fill="currentColor"/>
|
|
252
|
+
</symbol>
|
|
253
|
+
|
|
254
|
+
<!-- PRAMAAN — Globe / geographic proof -->
|
|
255
|
+
<symbol id="icon-pramaan" viewBox="0 0 24 24">
|
|
256
|
+
<circle cx="12" cy="12" r="9"/>
|
|
257
|
+
<ellipse cx="12" cy="12" rx="4" ry="9"/>
|
|
258
|
+
<line x1="3" y1="9" x2="21" y2="9"/>
|
|
259
|
+
<line x1="3" y1="15" x2="21" y2="15"/>
|
|
260
|
+
<path d="M18 4l-2 2 1 3"/>
|
|
261
|
+
<path d="M6 18l2-1 3 1"/>
|
|
262
|
+
</symbol>
|
|
263
|
+
|
|
264
|
+
<!-- SURAKSHA — Shield / security -->
|
|
265
|
+
<symbol id="icon-suraksha" viewBox="0 0 24 24">
|
|
266
|
+
<path d="M12 2l8 4v6c0 5.5-3.8 10.7-8 12-4.2-1.3-8-6.5-8-12V6z"/>
|
|
267
|
+
<polyline points="9 12 11 14 15 10"/>
|
|
268
|
+
</symbol>
|
|
269
|
+
|
|
270
|
+
<!-- TIVRA — Lightning bolt / acceleration -->
|
|
271
|
+
<symbol id="icon-tivra" viewBox="0 0 24 24">
|
|
272
|
+
<polygon points="13,2 3,14 12,14 11,22 21,10 12,10"/>
|
|
273
|
+
</symbol>
|
|
274
|
+
|
|
275
|
+
<!-- PRAHARI — Satellite / sentinel -->
|
|
276
|
+
<symbol id="icon-prahari" viewBox="0 0 24 24">
|
|
277
|
+
<rect x="9" y="9" width="6" height="6" rx="1" transform="rotate(45 12 12)"/>
|
|
278
|
+
<line x1="12" y1="5" x2="12" y2="2"/>
|
|
279
|
+
<line x1="19" y1="12" x2="22" y2="12"/>
|
|
280
|
+
<line x1="12" y1="19" x2="12" y2="22"/>
|
|
281
|
+
<line x1="5" y1="12" x2="2" y2="12"/>
|
|
282
|
+
<path d="M7 7L5 5"/>
|
|
283
|
+
<path d="M17 7l2-2"/>
|
|
284
|
+
</symbol>
|
|
285
|
+
|
|
286
|
+
<!-- DHARMA — Balance scale / content moderation -->
|
|
287
|
+
<symbol id="icon-dharma" viewBox="0 0 24 24">
|
|
288
|
+
<line x1="12" y1="3" x2="12" y2="21"/>
|
|
289
|
+
<line x1="4" y1="7" x2="20" y2="7"/>
|
|
290
|
+
<path d="M4 7l2 7h0a3 3 0 006 0h0l2-7"/>
|
|
291
|
+
<path d="M14 7l2 7h0a3 3 0 006 0h0l2-7"/>
|
|
292
|
+
<line x1="10" y1="21" x2="14" y2="21"/>
|
|
293
|
+
</symbol>
|
|
294
|
+
|
|
295
|
+
<!-- SEVA — Helping hands / NPU sharing -->
|
|
296
|
+
<symbol id="icon-seva" viewBox="0 0 24 24">
|
|
297
|
+
<path d="M12 22c-4 0-8-2-8-6 0-2 1-3 3-4l5-3 5 3c2 1 3 2 3 4 0 4-4 6-8 6z"/>
|
|
298
|
+
<path d="M12 11V5"/>
|
|
299
|
+
<path d="M9 8l3-3 3 3"/>
|
|
300
|
+
<circle cx="12" cy="16" r="2"/>
|
|
301
|
+
</symbol>
|
|
302
|
+
|
|
303
|
+
<!-- ═══ APPLICATIONS ═══ -->
|
|
304
|
+
|
|
305
|
+
<!-- YakApp — Messenger -->
|
|
306
|
+
<symbol id="icon-yakapp" viewBox="0 0 24 24">
|
|
307
|
+
<path d="M21 11.5a8.38 8.38 0 01-.9 3.8 8.5 8.5 0 01-7.6 4.7 8.38 8.38 0 01-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 01-.9-3.8 8.5 8.5 0 014.7-7.6 8.38 8.38 0 013.8-.9h.5a8.48 8.48 0 018 8v.5z"/>
|
|
308
|
+
</symbol>
|
|
309
|
+
|
|
310
|
+
<!-- C2C — Core to Cosmos -->
|
|
311
|
+
<symbol id="icon-c2c" viewBox="0 0 24 24">
|
|
312
|
+
<circle cx="12" cy="12" r="3"/>
|
|
313
|
+
<circle cx="12" cy="12" r="9"/>
|
|
314
|
+
<path d="M12 3v3"/>
|
|
315
|
+
<path d="M12 18v3"/>
|
|
316
|
+
<path d="M3 12h3"/>
|
|
317
|
+
<path d="M18 12h3"/>
|
|
318
|
+
</symbol>
|
|
319
|
+
|
|
320
|
+
<!-- Studio — Creative suite -->
|
|
321
|
+
<symbol id="icon-studio" viewBox="0 0 24 24">
|
|
322
|
+
<circle cx="13.5" cy="6.5" r="2.5"/>
|
|
323
|
+
<path d="M6 21l4-10 3 5 4-7 4 12"/>
|
|
324
|
+
<rect x="2" y="2" width="20" height="20" rx="2"/>
|
|
325
|
+
</symbol>
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
<!-- ═══ REFERENCE ═══ -->
|
|
329
|
+
|
|
330
|
+
<!-- Quick Reference — Clipboard -->
|
|
331
|
+
<symbol id="icon-quickref" viewBox="0 0 24 24">
|
|
332
|
+
<path d="M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2"/>
|
|
333
|
+
<rect x="8" y="2" width="8" height="4" rx="1"/>
|
|
334
|
+
<line x1="8" y1="10" x2="16" y2="10"/>
|
|
335
|
+
<line x1="8" y1="14" x2="16" y2="14"/>
|
|
336
|
+
<line x1="8" y1="18" x2="12" y2="18"/>
|
|
337
|
+
</symbol>
|
|
338
|
+
|
|
339
|
+
<!-- GRANTH — Docs bundle -->
|
|
340
|
+
<symbol id="icon-granth" viewBox="0 0 24 24">
|
|
341
|
+
<path d="M4 19.5A2.5 2.5 0 016.5 17H20"/>
|
|
342
|
+
<path d="M6.5 2H20v20H6.5A2.5 2.5 0 014 19.5v-15A2.5 2.5 0 016.5 2z"/>
|
|
343
|
+
<path d="M8 7h8"/>
|
|
344
|
+
<path d="M8 11h5"/>
|
|
345
|
+
<path d="M8 15h3"/>
|
|
346
|
+
</symbol>
|
|
347
|
+
|
|
348
|
+
<!-- API — Signal tower -->
|
|
349
|
+
<symbol id="icon-api" viewBox="0 0 24 24">
|
|
350
|
+
<line x1="12" y1="10" x2="12" y2="22"/>
|
|
351
|
+
<path d="M8 6a6 6 0 018 0"/>
|
|
352
|
+
<path d="M5 3a10 10 0 0114 0"/>
|
|
353
|
+
<circle cx="12" cy="10" r="2"/>
|
|
354
|
+
</symbol>
|
|
355
|
+
|
|
356
|
+
<!-- Adapters — Plug connector -->
|
|
357
|
+
<symbol id="icon-adapters" viewBox="0 0 24 24">
|
|
358
|
+
<path d="M6 3v4"/>
|
|
359
|
+
<path d="M10 3v4"/>
|
|
360
|
+
<path d="M4 7h8v3a4 4 0 01-8 0V7z"/>
|
|
361
|
+
<line x1="8" y1="14" x2="8" y2="17"/>
|
|
362
|
+
<path d="M14 10h4v3a2 2 0 01-4 0v-3z"/>
|
|
363
|
+
<line x1="16" y1="7" x2="16" y2="10"/>
|
|
364
|
+
<line x1="16" y1="13" x2="16" y2="17"/>
|
|
365
|
+
<line x1="8" y1="17" x2="16" y2="17"/>
|
|
366
|
+
<line x1="12" y1="17" x2="12" y2="21"/>
|
|
367
|
+
</symbol>
|
|
368
|
+
|
|
369
|
+
<!-- ═══ EXTRA (pages outside nav-order) ═══ -->
|
|
370
|
+
|
|
371
|
+
<!-- Terminal / CLI -->
|
|
372
|
+
<symbol id="icon-terminal" viewBox="0 0 24 24">
|
|
373
|
+
<rect x="2" y="3" width="20" height="18" rx="2"/>
|
|
374
|
+
<polyline points="7 9 10 12 7 15"/>
|
|
375
|
+
<line x1="13" y1="15" x2="17" y2="15"/>
|
|
376
|
+
</symbol>
|
|
377
|
+
|
|
378
|
+
<!-- Gear / Configuration -->
|
|
379
|
+
<symbol id="icon-gear" viewBox="0 0 24 24">
|
|
380
|
+
<circle cx="12" cy="12" r="3"/>
|
|
381
|
+
<path d="M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 01-2.83 2.83l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-4 0v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83-2.83l.06-.06A1.65 1.65 0 004.68 15a1.65 1.65 0 00-1.51-1H3a2 2 0 010-4h.09A1.65 1.65 0 004.6 9a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 012.83-2.83l.06.06A1.65 1.65 0 009 4.68a1.65 1.65 0 001-1.51V3a2 2 0 014 0v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 2.83l-.06.06A1.65 1.65 0 0019.4 9a1.65 1.65 0 001.51 1H21a2 2 0 010 4h-.09a1.65 1.65 0 00-1.51 1z"/>
|
|
382
|
+
</symbol>
|
|
383
|
+
|
|
384
|
+
<!-- Server / Web hosting -->
|
|
385
|
+
<symbol id="icon-server" viewBox="0 0 24 24">
|
|
386
|
+
<rect x="2" y="2" width="20" height="8" rx="2"/>
|
|
387
|
+
<rect x="2" y="14" width="20" height="8" rx="2"/>
|
|
388
|
+
<line x1="6" y1="6" x2="6.01" y2="6"/>
|
|
389
|
+
<line x1="6" y1="18" x2="6.01" y2="18"/>
|
|
390
|
+
</symbol>
|
|
391
|
+
|
|
392
|
+
<!-- ═══ CHROME / UI ═══ -->
|
|
393
|
+
|
|
394
|
+
<!-- Mountain peak — logo icon (replaces 🏔️) -->
|
|
395
|
+
<symbol id="icon-mountain" viewBox="0 0 24 24">
|
|
396
|
+
<path d="M8 21l4.5-9 3 5.5L19 12l3 9H2l6-9z"/>
|
|
397
|
+
<path d="M12 12l1.5-3L16 14"/>
|
|
398
|
+
</symbol>
|
|
399
|
+
|
|
400
|
+
<!-- Dashboard / bar chart (replaces 📊) -->
|
|
401
|
+
<symbol id="icon-dashboard" viewBox="0 0 24 24">
|
|
402
|
+
<line x1="18" y1="20" x2="18" y2="10"/>
|
|
403
|
+
<line x1="12" y1="20" x2="12" y2="4"/>
|
|
404
|
+
<line x1="6" y1="20" x2="6" y2="14"/>
|
|
405
|
+
<rect x="2" y="2" width="20" height="20" rx="2" stroke-opacity="0.4"/>
|
|
406
|
+
</symbol>
|
|
407
|
+
|
|
408
|
+
<!-- ═══ GENERIC / CONTENT ICONS ═══ -->
|
|
409
|
+
|
|
410
|
+
<!-- Lock / encrypted (replaces 🔐) -->
|
|
411
|
+
<symbol id="icon-lock" viewBox="0 0 24 24">
|
|
412
|
+
<rect x="3" y="11" width="18" height="11" rx="2"/>
|
|
413
|
+
<path d="M7 11V7a5 5 0 0110 0v4"/>
|
|
414
|
+
</symbol>
|
|
415
|
+
|
|
416
|
+
<!-- Signal / broadcast (replaces 📡) -->
|
|
417
|
+
<symbol id="icon-signal" viewBox="0 0 24 24">
|
|
418
|
+
<path d="M2 12a10 10 0 0118 0"/>
|
|
419
|
+
<path d="M5 12a7 7 0 0112 0"/>
|
|
420
|
+
<path d="M8 12a4 4 0 016 0"/>
|
|
421
|
+
<circle cx="11" cy="12" r="1"/>
|
|
422
|
+
</symbol>
|
|
423
|
+
|
|
424
|
+
<!-- Link / chain (replaces 🔗) -->
|
|
425
|
+
<symbol id="icon-link" viewBox="0 0 24 24">
|
|
426
|
+
<path d="M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71"/>
|
|
427
|
+
<path d="M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71"/>
|
|
428
|
+
</symbol>
|
|
429
|
+
|
|
430
|
+
<!-- Globe / network (replaces 🌐) -->
|
|
431
|
+
<symbol id="icon-globe" viewBox="0 0 24 24">
|
|
432
|
+
<circle cx="12" cy="12" r="10"/>
|
|
433
|
+
<line x1="2" y1="12" x2="22" y2="12"/>
|
|
434
|
+
<path d="M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10 15.3 15.3 0 014-10z"/>
|
|
435
|
+
</symbol>
|
|
436
|
+
|
|
437
|
+
<!-- Sync / refresh (replaces 🔄) -->
|
|
438
|
+
<symbol id="icon-sync" viewBox="0 0 24 24">
|
|
439
|
+
<polyline points="23 4 23 10 17 10"/>
|
|
440
|
+
<polyline points="1 20 1 14 7 14"/>
|
|
441
|
+
<path d="M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15"/>
|
|
442
|
+
</symbol>
|
|
443
|
+
|
|
444
|
+
<!-- Users / group (replaces 👥) -->
|
|
445
|
+
<symbol id="icon-users" viewBox="0 0 24 24">
|
|
446
|
+
<path d="M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2"/>
|
|
447
|
+
<circle cx="9" cy="7" r="4"/>
|
|
448
|
+
<path d="M23 21v-2a4 4 0 00-3-3.87"/>
|
|
449
|
+
<path d="M16 3.13a4 4 0 010 7.75"/>
|
|
450
|
+
</symbol>
|
|
451
|
+
|
|
452
|
+
<!-- Shield / protection (replaces 🛡) -->
|
|
453
|
+
<symbol id="icon-shield" viewBox="0 0 24 24">
|
|
454
|
+
<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/>
|
|
455
|
+
</symbol>
|
|
456
|
+
|
|
457
|
+
<!-- Heartbeat / pulse (replaces 💓) -->
|
|
458
|
+
<symbol id="icon-heartbeat" viewBox="0 0 24 24">
|
|
459
|
+
<path d="M3 12h4l3-9 4 18 3-9h4"/>
|
|
460
|
+
</symbol>
|
|
461
|
+
|
|
462
|
+
<!-- Map pin / location (replaces 📍) -->
|
|
463
|
+
<symbol id="icon-pin" viewBox="0 0 24 24">
|
|
464
|
+
<path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z"/>
|
|
465
|
+
<circle cx="12" cy="10" r="3"/>
|
|
466
|
+
</symbol>
|
|
467
|
+
|
|
468
|
+
<!-- Traffic light / status (replaces 🚦) -->
|
|
469
|
+
<symbol id="icon-traffic" viewBox="0 0 24 24">
|
|
470
|
+
<rect x="7" y="2" width="10" height="20" rx="3"/>
|
|
471
|
+
<circle cx="12" cy="7" r="1.5"/>
|
|
472
|
+
<circle cx="12" cy="12" r="1.5"/>
|
|
473
|
+
<circle cx="12" cy="17" r="1.5"/>
|
|
474
|
+
</symbol>
|
|
475
|
+
|
|
476
|
+
<!-- Check circle (replaces ✅) -->
|
|
477
|
+
<symbol id="icon-check" viewBox="0 0 24 24">
|
|
478
|
+
<path d="M22 11.08V12a10 10 0 11-5.93-9.14"/>
|
|
479
|
+
<polyline points="22 4 12 14.01 9 11.01"/>
|
|
480
|
+
</symbol>
|
|
481
|
+
|
|
482
|
+
<!-- Megaphone / broadcast (replaces 📢) -->
|
|
483
|
+
<symbol id="icon-megaphone" viewBox="0 0 24 24">
|
|
484
|
+
<path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/>
|
|
485
|
+
</symbol>
|
|
486
|
+
|
|
487
|
+
<!-- Pen / signed (replaces ✍) -->
|
|
488
|
+
<symbol id="icon-pen" viewBox="0 0 24 24">
|
|
489
|
+
<path d="M12 20h9"/>
|
|
490
|
+
<path d="M16.5 3.5a2.121 2.121 0 013 3L7 19l-4 1 1-4L16.5 3.5z"/>
|
|
491
|
+
</symbol>
|
|
492
|
+
|
|
493
|
+
<!-- Warning / alert (replaces ⚠) -->
|
|
494
|
+
<symbol id="icon-warning" viewBox="0 0 24 24">
|
|
495
|
+
<path d="M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z"/>
|
|
496
|
+
<line x1="12" y1="9" x2="12" y2="13"/>
|
|
497
|
+
<line x1="12" y1="17" x2="12.01" y2="17"/>
|
|
498
|
+
</symbol>
|
|
499
|
+
|
|
500
|
+
<!-- Hourglass / timer (replaces ⏳) -->
|
|
501
|
+
<symbol id="icon-hourglass" viewBox="0 0 24 24">
|
|
502
|
+
<path d="M6 2h12v5l-4 4 4 4v5H6v-5l4-4-4-4V2z"/>
|
|
503
|
+
</symbol>
|
|
504
|
+
|
|
505
|
+
<!-- Scroll / document (replaces 📜) -->
|
|
506
|
+
<symbol id="icon-scroll" viewBox="0 0 24 24">
|
|
507
|
+
<path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/>
|
|
508
|
+
<polyline points="14 2 14 8 20 8"/>
|
|
509
|
+
<line x1="16" y1="13" x2="8" y2="13"/>
|
|
510
|
+
<line x1="16" y1="17" x2="8" y2="17"/>
|
|
511
|
+
</symbol>
|
|
512
|
+
|
|
513
|
+
<!-- Bolt / lightning (replaces ⚡) -->
|
|
514
|
+
<symbol id="icon-bolt" viewBox="0 0 24 24">
|
|
515
|
+
<polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/>
|
|
516
|
+
</symbol>
|
|
517
|
+
|
|
518
|
+
<!-- Target / crosshair (replaces 🎯) -->
|
|
519
|
+
<symbol id="icon-target" viewBox="0 0 24 24">
|
|
520
|
+
<circle cx="12" cy="12" r="10"/>
|
|
521
|
+
<circle cx="12" cy="12" r="6"/>
|
|
522
|
+
<circle cx="12" cy="12" r="2"/>
|
|
523
|
+
</symbol>
|
|
524
|
+
|
|
525
|
+
<!-- Handshake / trust (replaces 🤝) -->
|
|
526
|
+
<symbol id="icon-handshake" viewBox="0 0 24 24">
|
|
527
|
+
<path d="M11 17l-3.5-3.5a2.12 2.12 0 013-3L14 14"/>
|
|
528
|
+
<path d="M20.88 7.12l-3.17 3.17"/>
|
|
529
|
+
<path d="M3.12 7.12l3.17 3.17"/>
|
|
530
|
+
<path d="M2 12h4"/>
|
|
531
|
+
<path d="M18 12h4"/>
|
|
532
|
+
<path d="M7.76 4.25L12 2l4.24 2.25"/>
|
|
533
|
+
</symbol>
|
|
534
|
+
|
|
535
|
+
<!-- Leaf / organic (replaces 🌿) -->
|
|
536
|
+
<symbol id="icon-leaf" viewBox="0 0 24 24">
|
|
537
|
+
<path d="M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 0-8 0-10 2"/>
|
|
538
|
+
<path d="M7 15c2-2 5.5-3 9-3"/>
|
|
539
|
+
</symbol>
|
|
540
|
+
|
|
541
|
+
<!-- Satellite (replaces 🛰) -->
|
|
542
|
+
<symbol id="icon-satellite" viewBox="0 0 24 24">
|
|
543
|
+
<path d="M13 7L9 3 5 7l4 4"/>
|
|
544
|
+
<path d="M17 11l4 4-4 4-4-4"/>
|
|
545
|
+
<line x1="8" y1="11" x2="13" y2="16"/>
|
|
546
|
+
<line x1="3" y1="21" x2="3.01" y2="21"/>
|
|
547
|
+
<path d="M6 18a3 3 0 000 0"/>
|
|
548
|
+
<path d="M9 15a6 6 0 000 0"/>
|
|
549
|
+
</symbol>
|
|
550
|
+
|
|
551
|
+
<!-- Phone / mobile (replaces 📱) -->
|
|
552
|
+
<symbol id="icon-phone" viewBox="0 0 24 24">
|
|
553
|
+
<rect x="5" y="2" width="14" height="20" rx="2"/>
|
|
554
|
+
<line x1="12" y1="18" x2="12.01" y2="18"/>
|
|
555
|
+
</symbol>
|
|
556
|
+
|
|
557
|
+
<!-- Masks / theater (replaces 🎭) -->
|
|
558
|
+
<symbol id="icon-masks" viewBox="0 0 24 24">
|
|
559
|
+
<circle cx="12" cy="12" r="10"/>
|
|
560
|
+
<path d="M8 14s1.5 2 4 2 4-2 4-2"/>
|
|
561
|
+
<line x1="9" y1="9" x2="9.01" y2="9"/>
|
|
562
|
+
<line x1="15" y1="9" x2="15.01" y2="9"/>
|
|
563
|
+
</symbol>
|
|
564
|
+
|
|
565
|
+
<!-- Stars / cosmos (replaces 🌌) -->
|
|
566
|
+
<symbol id="icon-cosmos" viewBox="0 0 24 24">
|
|
567
|
+
<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/>
|
|
568
|
+
</symbol>
|
|
569
|
+
|
|
570
|
+
<!-- Gem / diamond (replaces 💎) -->
|
|
571
|
+
<symbol id="icon-gem" viewBox="0 0 24 24">
|
|
572
|
+
<polygon points="6 3 18 3 22 9 12 22 2 9 6 3"/>
|
|
573
|
+
<line x1="2" y1="9" x2="22" y2="9"/>
|
|
574
|
+
<line x1="12" y1="22" x2="8" y2="9"/>
|
|
575
|
+
<line x1="12" y1="22" x2="16" y2="9"/>
|
|
576
|
+
<line x1="8" y1="9" x2="10" y2="3"/>
|
|
577
|
+
<line x1="16" y1="9" x2="14" y2="3"/>
|
|
578
|
+
</symbol>
|
|
579
|
+
|
|
580
|
+
<!-- Search / magnifying glass (replaces 🔍) -->
|
|
581
|
+
<symbol id="icon-search" viewBox="0 0 24 24">
|
|
582
|
+
<circle cx="11" cy="11" r="8"/>
|
|
583
|
+
<line x1="21" y1="21" x2="16.65" y2="16.65"/>
|
|
584
|
+
</symbol>
|
|
585
|
+
|
|
586
|
+
</svg>
|
|
587
|
+
<!-- YAKMESH-ICON-SPRITE-END -->
|
|
588
|
+
<a href="#mainContent" class="skip-link">Skip to main content</a>
|
|
589
|
+
<nav class="docs-sidebar" id="sidebar">
|
|
590
|
+
<a href="index.html" class="sidebar-logo">
|
|
591
|
+
<span class="logo-icon"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mountain"/></svg></span>
|
|
592
|
+
<span class="logo-text">Yakmesh</span>
|
|
593
|
+
</a>
|
|
594
|
+
<a href="/dashboard" class="sidebar-dashboard-link"><svg class="doc-icon" aria-hidden="true"><use href="#icon-dashboard"/></svg> <span>Dashboard</span></a>
|
|
595
|
+
<ul class="sidebar-nav">
|
|
596
|
+
<li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-book"/></svg> Guides</span></li>
|
|
597
|
+
<li><a href="index.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-home"/></svg> <span>Overview</span></a></li>
|
|
598
|
+
<li><a href="getting-started.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-rocket"/></svg> <span>Getting Started</span></a></li>
|
|
599
|
+
<li><a href="tutorials.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-book"/></svg> <span>Tutorials</span></a></li>
|
|
600
|
+
<li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-yak"/></svg> Protocol Stack</span></li>
|
|
601
|
+
<li><a href="yak-protocol.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-yak"/></svg> <span>YAK://</span></a></li>
|
|
602
|
+
<li><a href="annex.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-annex"/></svg> <span>ANNEX</span></a></li>
|
|
603
|
+
<li><a href="jhilke.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-jhilke"/></svg> <span>JHILKE</span></a></li>
|
|
604
|
+
<li><a href="nakpak.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-nakpak"/></svg> <span>NAKPAK</span></a></li>
|
|
605
|
+
<li><a href="namche.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-namche"/></svg> <span>NAMCHE</span></a></li>
|
|
606
|
+
<li><a href="doko.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-doko"/></svg> <span>DOKO</span></a></li>
|
|
607
|
+
<li><a href="sherpa.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-sherpa"/></svg> <span>SHERPA</span></a></li>
|
|
608
|
+
<li><a href="mandala.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mandala"/></svg> <span>MANDALA</span></a></li>
|
|
609
|
+
<li><a href="mantra.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mantra"/></svg> <span>MANTRA</span></a></li>
|
|
610
|
+
<li><a href="gumba.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-gumba"/></svg> <span>GUMBA</span></a></li>
|
|
611
|
+
<li><a href="yurt.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-yurt"/></svg> <span>YURT</span></a></li>
|
|
612
|
+
<li><a href="katha.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-katha"/></svg> <span>KATHA</span></a></li>
|
|
613
|
+
<li><a href="vani.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-vani"/></svg> <span>VANI</span></a></li>
|
|
614
|
+
<li><a href="darshan.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-darshan"/></svg> <span>DARSHAN</span></a></li>
|
|
615
|
+
<li><a href="stupa.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-stupa"/></svg> <span>STUPA</span></a></li>
|
|
616
|
+
<li><a href="lama.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-lama"/></svg> <span>LAMA</span></a></li>
|
|
617
|
+
<li><a href="mani.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mani"/></svg> <span>MANI</span></a></li>
|
|
618
|
+
<li><a href="karma.html" class="active"><svg class="doc-icon" aria-hidden="true"><use href="#icon-karma"/></svg> <span>KARMA</span></a></li>
|
|
619
|
+
<li><a href="tattva.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-tattva"/></svg> <span>TATTVA</span></a></li>
|
|
620
|
+
<li><a href="tribhuj.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-tribhuj"/></svg> <span>TRIBHUJ</span></a></li>
|
|
621
|
+
<li><a href="ypc27.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-ypc27"/></svg> <span>YPC-27</span></a></li>
|
|
622
|
+
<li><a href="sakshi.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-sakshi"/></svg> <span>SAKSHI</span></a></li>
|
|
623
|
+
<li><a href="geo-proof.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-pramaan"/></svg> <span>PRAMAAN</span></a></li>
|
|
624
|
+
<li><a href="trust-security.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-suraksha"/></svg> <span>SURAKSHA</span></a></li>
|
|
625
|
+
<li><a href="tivra.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-tivra"/></svg> <span>TIVRA</span></a></li>
|
|
626
|
+
<li><a href="prahari.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-prahari"/></svg> <span>PRAHARI</span></a></li>
|
|
627
|
+
<li><a href="dharma.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-dharma"/></svg> <span>DHARMA</span></a></li>
|
|
628
|
+
<li><a href="seva.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-seva"/></svg> <span>SEVA</span></a></li>
|
|
629
|
+
<li><a href="docs-bundle.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-granth"/></svg> <span>GRANTH</span></a></li>
|
|
630
|
+
<li><a href="api.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-api"/></svg> <span>API</span></a></li>
|
|
631
|
+
<li><a href="adapters.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-adapters"/></svg> <span>Adapters</span></a></li>
|
|
632
|
+
<li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-rocket"/></svg> Applications</span></li>
|
|
633
|
+
<li><a href="yakapp.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-yakapp"/></svg> <span>YakApp</span></a></li>
|
|
634
|
+
<li><a href="c2c.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-c2c"/></svg> <span>C2C</span></a></li>
|
|
635
|
+
<li><a href="studio.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-studio"/></svg> <span>Studio</span></a></li>
|
|
636
|
+
<li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-gear"/></svg> Infrastructure</span></li>
|
|
637
|
+
<li><a href="cli.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-terminal"/></svg> <span>CLI</span></a></li>
|
|
638
|
+
<li><a href="configuration.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-gear"/></svg> <span>Configuration</span></a></li>
|
|
639
|
+
<li><a href="mesh.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mandala"/></svg> <span>Mesh Network</span></a></li>
|
|
640
|
+
<li><a href="time-sources.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-mani"/></svg> <span>Time Sources</span></a></li>
|
|
641
|
+
<li><a href="webserver.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-server"/></svg> <span>Web Server</span></a></li>
|
|
642
|
+
<li><a href="advanced-systems.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-tivra"/></svg> <span>Advanced Systems</span></a></li>
|
|
643
|
+
<li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-book"/></svg> Tutorials</span></li>
|
|
644
|
+
<li><a href="gumba-tutorial.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-gumba"/></svg> <span>GUMBA Tutorial</span></a></li>
|
|
645
|
+
<li class="sidebar-section"><span><svg class="doc-icon" aria-hidden="true"><use href="#icon-quickref"/></svg> Reference</span></li>
|
|
646
|
+
<li><a href="quick-reference.html"><svg class="doc-icon" aria-hidden="true"><use href="#icon-quickref"/></svg> <span>Quick Ref</span></a></li>
|
|
647
|
+
</ul>
|
|
648
|
+
</nav>
|
|
649
|
+
|
|
650
|
+
<button class="sidebar-toggle" id="sidebarToggle" title="Toggle sidebar">
|
|
651
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
|
652
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 19l-7-7 7-7m8 14l-7-7 7-7" />
|
|
653
|
+
</svg>
|
|
654
|
+
</button>
|
|
655
|
+
|
|
656
|
+
<!-- Mobile overlay for tap-to-close sidebar -->
|
|
657
|
+
<div class="sidebar-overlay" id="sidebarOverlay"></div>
|
|
658
|
+
|
|
659
|
+
<main class="docs-main" id="mainContent">
|
|
660
|
+
|
|
661
|
+
<div class="docs-content">
|
|
662
|
+
<div class="flex items-center gap-3 mb-4">
|
|
663
|
+
<svg class="doc-icon hero-icon" aria-hidden="true"><use href="#icon-karma"/></svg>
|
|
664
|
+
<div>
|
|
665
|
+
<h1 class="text-4xl font-bold">KARMA <span class="text-xl text-mountain-400">कर्म</span></h1>
|
|
666
|
+
<p class="theme-accent">Kinetic Assessment of Reputation & Merit Accumulation</p>
|
|
667
|
+
</div>
|
|
668
|
+
</div>
|
|
669
|
+
<p class="text-xl text-mountain-300 mb-4">Trust earned through consistent good actions.</p>
|
|
670
|
+
<span class="inline-block text-xs theme-badge px-2 py-1 rounded mb-8">v2.5.0</span>
|
|
671
|
+
|
|
672
|
+
<div class="feature-box">
|
|
673
|
+
<h2>The Wheel of Cause and Effect</h2>
|
|
674
|
+
<p>
|
|
675
|
+
In Buddhist philosophy, <strong>karma</strong> represents the universal law of cause and effect—
|
|
676
|
+
every action creates ripples that shape future outcomes. Good actions accumulate merit;
|
|
677
|
+
harmful actions diminish it.
|
|
678
|
+
</p>
|
|
679
|
+
<p>
|
|
680
|
+
The KARMA protocol embodies this principle: trust is EARNED through consistent good behavior,
|
|
681
|
+
multiple independent sources strengthen karmic standing, and bad actions cause trust to decay.
|
|
682
|
+
Time and consistency build toward higher levels.
|
|
683
|
+
</p>
|
|
684
|
+
</div>
|
|
685
|
+
|
|
686
|
+
<h2><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-mountain"/></svg> Overview</h2>
|
|
687
|
+
<p>
|
|
688
|
+
KARMA (Kinetic Assessment of Reputation & Merit Accumulation) provides <strong>multi-level trust assessment</strong>
|
|
689
|
+
for the Yakmesh network. Unlike simple binary trust, KARMA combines multiple verification sources
|
|
690
|
+
to create a nuanced understanding of node reliability and integrity.
|
|
691
|
+
</p>
|
|
692
|
+
|
|
693
|
+
<div class="protocol-family">
|
|
694
|
+
<h3>Protocol Family</h3>
|
|
695
|
+
<table>
|
|
696
|
+
<thead>
|
|
697
|
+
<tr>
|
|
698
|
+
<th>Protocol</th>
|
|
699
|
+
<th>Himalayan Name</th>
|
|
700
|
+
<th>Purpose</th>
|
|
701
|
+
</tr>
|
|
702
|
+
</thead>
|
|
703
|
+
<tbody>
|
|
704
|
+
<tr>
|
|
705
|
+
<td><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-mantra"/></svg> Gossip</td>
|
|
706
|
+
<td>MANTRA</td>
|
|
707
|
+
<td>Epidemic message propagation</td>
|
|
708
|
+
</tr>
|
|
709
|
+
<tr>
|
|
710
|
+
<td><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-stupa"/></svg> Broadcast</td>
|
|
711
|
+
<td>STUPA</td>
|
|
712
|
+
<td>Priority-based broadcasting</td>
|
|
713
|
+
</tr>
|
|
714
|
+
<tr>
|
|
715
|
+
<td><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-lama"/></svg> Consensus</td>
|
|
716
|
+
<td>LAMA</td>
|
|
717
|
+
<td>Distributed agreement</td>
|
|
718
|
+
</tr>
|
|
719
|
+
<tr>
|
|
720
|
+
<td><svg class="doc-icon inline-icon" aria-hidden="true"><use href="#icon-mani"/></svg> Time</td>
|
|
721
|
+
<td>MANI</td>
|
|
722
|
+
<td>Temporal synchronization</td>
|
|
723
|
+
</tr>
|
|
724
|
+
<tr class="active">
|
|
725
|
+
<td><svg class="doc-icon inline-icon" aria-hidden="true"><use href="#icon-karma"/></svg> Trust</td>
|
|
726
|
+
<td>KARMA</td>
|
|
727
|
+
<td>Reputation management</td>
|
|
728
|
+
</tr>
|
|
729
|
+
<tr>
|
|
730
|
+
<td><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-globe"/></svg> Mesh</td>
|
|
731
|
+
<td>MANDALA</td>
|
|
732
|
+
<td>Network topology</td>
|
|
733
|
+
</tr>
|
|
734
|
+
</tbody>
|
|
735
|
+
</table>
|
|
736
|
+
</div>
|
|
737
|
+
|
|
738
|
+
<h2><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-lama"/></svg> Karma Levels</h2>
|
|
739
|
+
<p>
|
|
740
|
+
KARMA classifies nodes into levels representing their spiritual journey toward network trust.
|
|
741
|
+
Each level unlocks greater privileges and responsibilities:
|
|
742
|
+
</p>
|
|
743
|
+
|
|
744
|
+
<div class="karma-levels">
|
|
745
|
+
<div class="karma-level level-sirdar">
|
|
746
|
+
<div class="karma-header">
|
|
747
|
+
<span class="karma-icon"><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-mountain"/></svg></span>
|
|
748
|
+
<h3>SIRDAR <small>(सिरदार)</small></h3>
|
|
749
|
+
<span class="karma-number">Level 4</span>
|
|
750
|
+
</div>
|
|
751
|
+
<div class="karma-body">
|
|
752
|
+
<p class="karma-desc">Expedition Leader — Atomic time + full hardware attestation</p>
|
|
753
|
+
<ul class="karma-requirements">
|
|
754
|
+
<li>Atomic clock time source verified</li>
|
|
755
|
+
<li>AES-NI hardware attestation passed</li>
|
|
756
|
+
<li>30+ days consistent network presence</li>
|
|
757
|
+
<li>3+ endorsements from other SIRDARs</li>
|
|
758
|
+
</ul>
|
|
759
|
+
</div>
|
|
760
|
+
</div>
|
|
761
|
+
|
|
762
|
+
<div class="karma-level level-sathi">
|
|
763
|
+
<div class="karma-header">
|
|
764
|
+
<span class="karma-icon"><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-gem"/></svg></span>
|
|
765
|
+
<h4>SATHI <small>(साथी)</small></h4>
|
|
766
|
+
<span class="karma-number">Level 3</span>
|
|
767
|
+
</div>
|
|
768
|
+
<div class="karma-body">
|
|
769
|
+
<p class="karma-desc">Trusted Companion — GPS + hardware verified</p>
|
|
770
|
+
<ul class="karma-requirements">
|
|
771
|
+
<li>GPS with PPS time source</li>
|
|
772
|
+
<li>AES-NI hardware attestation passed</li>
|
|
773
|
+
<li>14+ days network presence</li>
|
|
774
|
+
<li>2+ endorsements from higher tiers</li>
|
|
775
|
+
</ul>
|
|
776
|
+
</div>
|
|
777
|
+
</div>
|
|
778
|
+
|
|
779
|
+
<div class="karma-level level-pathik">
|
|
780
|
+
<div class="karma-header">
|
|
781
|
+
<span class="karma-icon"><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-target"/></svg></span>
|
|
782
|
+
<h4>PATHIK <small>(पथिक)</small></h4>
|
|
783
|
+
<span class="karma-number">Level 2</span>
|
|
784
|
+
</div>
|
|
785
|
+
<div class="karma-body">
|
|
786
|
+
<p class="karma-desc">Traveler on Path — PTP time + hardware verified</p>
|
|
787
|
+
<ul class="karma-requirements">
|
|
788
|
+
<li>IEEE 1588 PTP time source</li>
|
|
789
|
+
<li>AES-NI hardware attestation</li>
|
|
790
|
+
<li>7+ days network presence</li>
|
|
791
|
+
<li>1+ endorsement from higher tier</li>
|
|
792
|
+
</ul>
|
|
793
|
+
</div>
|
|
794
|
+
</div>
|
|
795
|
+
|
|
796
|
+
<div class="karma-level level-yatri">
|
|
797
|
+
<div class="karma-header">
|
|
798
|
+
<span class="karma-icon"><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-target"/></svg></span>
|
|
799
|
+
<h4>YATRI <small>(यात्री)</small></h4>
|
|
800
|
+
<span class="karma-number">Level 1</span>
|
|
801
|
+
</div>
|
|
802
|
+
<div class="karma-body">
|
|
803
|
+
<p class="karma-desc">Pilgrim/Journeyer — NTP time + hardware verified</p>
|
|
804
|
+
<ul class="karma-requirements">
|
|
805
|
+
<li>NTP or system time source</li>
|
|
806
|
+
<li>AES-NI hardware attestation</li>
|
|
807
|
+
<li>1+ day network presence</li>
|
|
808
|
+
<li>Standard participant in mesh</li>
|
|
809
|
+
</ul>
|
|
810
|
+
</div>
|
|
811
|
+
</div>
|
|
812
|
+
|
|
813
|
+
<div class="karma-level level-naya">
|
|
814
|
+
<div class="karma-header">
|
|
815
|
+
<span class="karma-icon"><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-leaf"/></svg></span>
|
|
816
|
+
<h4>NAYA <small>(नया)</small></h4>
|
|
817
|
+
<span class="karma-number">Level 0</span>
|
|
818
|
+
</div>
|
|
819
|
+
<div class="karma-body">
|
|
820
|
+
<p class="karma-desc">Newcomer — Unverified, observer status</p>
|
|
821
|
+
<ul class="karma-requirements">
|
|
822
|
+
<li>System time only</li>
|
|
823
|
+
<li>No hardware attestation</li>
|
|
824
|
+
<li>New to network</li>
|
|
825
|
+
<li>Limited privileges, building trust</li>
|
|
826
|
+
</ul>
|
|
827
|
+
</div>
|
|
828
|
+
</div>
|
|
829
|
+
</div>
|
|
830
|
+
|
|
831
|
+
<h2><svg class="doc-icon inline-icon" aria-hidden="true"><use href="#icon-karma"/></svg> Core Components</h2>
|
|
832
|
+
|
|
833
|
+
<h3>KarmaTrustModel</h3>
|
|
834
|
+
<p>The main trust assessment engine—the wheel of cause and effect:</p>
|
|
835
|
+
<pre><code>import { KarmaTrustModel, KARMA_TIER } from 'yakmesh/security/trust-tier';
|
|
836
|
+
|
|
837
|
+
// Initialize the karma system
|
|
838
|
+
const karma = new KarmaTrustModel({
|
|
839
|
+
minAgeForSirdar: 30 * 24 * 60 * 60 * 1000, // 30 days for SIRDAR
|
|
840
|
+
minAgeForSathi: 14 * 24 * 60 * 60 * 1000, // 14 days for SATHI
|
|
841
|
+
autoPromoteEnabled: true, // Auto-promotion when earned
|
|
842
|
+
});
|
|
843
|
+
|
|
844
|
+
// Get a node's karma tier
|
|
845
|
+
const { tier, tierInfo, score } = karma.getTrustLevel(nodeId);
|
|
846
|
+
console.log(`${nodeId}: ${tierInfo.name} (${tierInfo.nepali})`);
|
|
847
|
+
console.log(`Karma Score: ${score}/100`);
|
|
848
|
+
|
|
849
|
+
// Listen for karma tier changes
|
|
850
|
+
karma.on('tierChanged', ({ nodeId, previous, current }) => {
|
|
851
|
+
if (current > previous) {
|
|
852
|
+
console.log(`${nodeId} has advanced to ${KARMA_TIER[current]}!`);
|
|
853
|
+
} else {
|
|
854
|
+
console.log(`${nodeId}'s karma has decreased.`);
|
|
855
|
+
}
|
|
856
|
+
});</code></pre>
|
|
857
|
+
|
|
858
|
+
<h3>KarmaEvidence</h3>
|
|
859
|
+
<p>Records the spiritual ledger of a node's actions:</p>
|
|
860
|
+
<pre><code>// Record evidence from various sources
|
|
861
|
+
const evidence = karma.getEvidence(nodeId);
|
|
862
|
+
|
|
863
|
+
// DOKO verification (identity)
|
|
864
|
+
evidence.recordDokoVerification({
|
|
865
|
+
passed: true,
|
|
866
|
+
gatesChecked: 7,
|
|
867
|
+
dokoHash: 'abc123...'
|
|
868
|
+
});
|
|
869
|
+
|
|
870
|
+
// Mesh quorum verification
|
|
871
|
+
evidence.recordMeshQuorum({
|
|
872
|
+
valid: true,
|
|
873
|
+
validProofs: 5,
|
|
874
|
+
verifiers: ['node1', 'node2', 'node3', 'node4', 'node5'],
|
|
875
|
+
diversity: { subnets: 4, asns: 3 }
|
|
876
|
+
});
|
|
877
|
+
|
|
878
|
+
// SSL verification
|
|
879
|
+
evidence.recordSSL({
|
|
880
|
+
valid: true,
|
|
881
|
+
certType: 'ca-signed',
|
|
882
|
+
issuer: 'DigiCert'
|
|
883
|
+
});
|
|
884
|
+
|
|
885
|
+
// Recompute karma level
|
|
886
|
+
karma.computeTrustLevel(nodeId);</code></pre>
|
|
887
|
+
|
|
888
|
+
<h2><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-dashboard"/></svg> Evidence Sources</h2>
|
|
889
|
+
<table class="api-table">
|
|
890
|
+
<thead>
|
|
891
|
+
<tr>
|
|
892
|
+
<th>Source</th>
|
|
893
|
+
<th>Weight</th>
|
|
894
|
+
<th>Description</th>
|
|
895
|
+
</tr>
|
|
896
|
+
</thead>
|
|
897
|
+
<tbody>
|
|
898
|
+
<tr>
|
|
899
|
+
<td>DOKO</td>
|
|
900
|
+
<td>Required</td>
|
|
901
|
+
<td>Cryptographic identity verification via NAMCHE gates</td>
|
|
902
|
+
</tr>
|
|
903
|
+
<tr>
|
|
904
|
+
<td>Mesh Quorum</td>
|
|
905
|
+
<td>High</td>
|
|
906
|
+
<td>Multiple independent nodes attest to validity</td>
|
|
907
|
+
</tr>
|
|
908
|
+
<tr>
|
|
909
|
+
<td>SSL Certificate</td>
|
|
910
|
+
<td>Medium</td>
|
|
911
|
+
<td>CA-signed certificate proves domain control</td>
|
|
912
|
+
</tr>
|
|
913
|
+
<tr>
|
|
914
|
+
<td>Domain Ownership</td>
|
|
915
|
+
<td>Medium</td>
|
|
916
|
+
<td>DNS-based proof of domain control</td>
|
|
917
|
+
</tr>
|
|
918
|
+
<tr>
|
|
919
|
+
<td>Beacon Consistency</td>
|
|
920
|
+
<td>Time-based</td>
|
|
921
|
+
<td>Regular presence over 7+ days</td>
|
|
922
|
+
</tr>
|
|
923
|
+
</tbody>
|
|
924
|
+
</table>
|
|
925
|
+
|
|
926
|
+
<h2><svg class="doc-icon inline-icon" aria-hidden="true"><use href="#icon-gear"/></svg> Configuration</h2>
|
|
927
|
+
<pre><code>const config = {
|
|
928
|
+
// Time requirements
|
|
929
|
+
minAgeForGold: 0, // Immediate if mesh verified
|
|
930
|
+
minAgeForPlatinum: 7 * 24 * 60 * 60 * 1000, // 7 days for ENLIGHTENED
|
|
931
|
+
|
|
932
|
+
// Beacon consistency
|
|
933
|
+
minBeaconConsistency: 0.8, // 80% uptime for ENLIGHTENED
|
|
934
|
+
beaconCheckWindow: 7 * 24 * 60 * 60 * 1000, // 7 day window
|
|
935
|
+
|
|
936
|
+
// Mesh verification
|
|
937
|
+
minQuorumForGold: 3, // Minimum verifiers
|
|
938
|
+
minDiversityForGold: 3, // Different subnets
|
|
939
|
+
|
|
940
|
+
// SSL requirements
|
|
941
|
+
requireSSLForPlatinum: true,
|
|
942
|
+
acceptSelfSignedSSL: true, // For DOKO-bound certs
|
|
943
|
+
|
|
944
|
+
// Trust decay (negative karma over time)
|
|
945
|
+
trustDecayEnabled: true,
|
|
946
|
+
trustDecayPeriod: 30 * 24 * 60 * 60 * 1000, // After 30 days inactive
|
|
947
|
+
|
|
948
|
+
// Auto-promotion
|
|
949
|
+
autoPromoteEnabled: true,
|
|
950
|
+
promotionCheckInterval: 60 * 60 * 1000, // Check hourly
|
|
951
|
+
};</code></pre>
|
|
952
|
+
|
|
953
|
+
<h2><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-link"/></svg> Integration with Other Protocols</h2>
|
|
954
|
+
<div class="integration-grid">
|
|
955
|
+
<div class="integration-card">
|
|
956
|
+
<h3><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-lama"/></svg> LAMA</h3>
|
|
957
|
+
<p>Karma levels weight attestation significance in consensus</p>
|
|
958
|
+
</div>
|
|
959
|
+
<div class="integration-card">
|
|
960
|
+
<h4><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-stupa"/></svg> STUPA</h4>
|
|
961
|
+
<p>Broadcast acceptance thresholds based on sender karma</p>
|
|
962
|
+
</div>
|
|
963
|
+
<div class="integration-card">
|
|
964
|
+
<h4><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-mantra"/></svg> MANTRA</h4>
|
|
965
|
+
<p>Gossip prioritization favors higher-karma nodes</p>
|
|
966
|
+
</div>
|
|
967
|
+
<div class="integration-card">
|
|
968
|
+
<h4><svg class="doc-icon inline-icon" aria-hidden="true"><use href="#icon-mani"/></svg> MANI</h4>
|
|
969
|
+
<p>Time source quality can contribute to karma</p>
|
|
970
|
+
</div>
|
|
971
|
+
</div>
|
|
972
|
+
|
|
973
|
+
<!-- NPU Trust Prediction -->
|
|
974
|
+
<h2><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-lama"/></svg> NPU Trust Level Prediction</h2>
|
|
975
|
+
<p class="text-mountain-300 mb-4">
|
|
976
|
+
<code>predictTrustLevel()</code> feeds a 14-feature evidence vector into the
|
|
977
|
+
<code>karma-trust</code> ONNX model, returning softmax probabilities over
|
|
978
|
+
[UNTRUSTED, SEEKING, AWAKENED, ENLIGHTENED]. The NPU prediction is a
|
|
979
|
+
"second opinion" — the authoritative trust level is always the rule-based
|
|
980
|
+
<code>calculateTrustLevel()</code>.
|
|
981
|
+
</p>
|
|
982
|
+
|
|
983
|
+
<h3 class="text-lg font-semibold mb-3">14-Feature Input Vector</h3>
|
|
984
|
+
<div class="overflow-x-auto mb-6">
|
|
985
|
+
<table class="w-full bg-mountain-800 rounded-lg">
|
|
986
|
+
<thead><tr class="border-b border-mountain-700">
|
|
987
|
+
<th class="text-left p-3 text-mountain-300">#</th>
|
|
988
|
+
<th class="text-left p-3 text-mountain-300">Feature</th>
|
|
989
|
+
<th class="text-left p-3 text-mountain-300">Source</th>
|
|
990
|
+
</tr></thead>
|
|
991
|
+
<tbody>
|
|
992
|
+
<tr class="border-b border-mountain-700"><td class="p-3">0</td><td class="p-3">DOKO verified</td><td class="p-3 text-mountain-400">Trit → float (−1→0, 0→0.5, 1→1)</td></tr>
|
|
993
|
+
<tr class="border-b border-mountain-700"><td class="p-3">1</td><td class="p-3">DOKO hash present</td><td class="p-3 text-mountain-400">Boolean</td></tr>
|
|
994
|
+
<tr class="border-b border-mountain-700"><td class="p-3">2</td><td class="p-3">Mesh quorum verified</td><td class="p-3 text-mountain-400">Trit → float</td></tr>
|
|
995
|
+
<tr class="border-b border-mountain-700"><td class="p-3">3</td><td class="p-3">Quorum size / 10</td><td class="p-3 text-mountain-400">Normalized</td></tr>
|
|
996
|
+
<tr class="border-b border-mountain-700"><td class="p-3">4</td><td class="p-3">Diversity sufficient</td><td class="p-3 text-mountain-400">Boolean</td></tr>
|
|
997
|
+
<tr class="border-b border-mountain-700"><td class="p-3">5</td><td class="p-3">SSL verified</td><td class="p-3 text-mountain-400">Trit → float</td></tr>
|
|
998
|
+
<tr class="border-b border-mountain-700"><td class="p-3">6</td><td class="p-3">SSL type</td><td class="p-3 text-mountain-400">0 / 0.33 self-signed / 0.67 cert-bound / 1.0 CA</td></tr>
|
|
999
|
+
<tr class="border-b border-mountain-700"><td class="p-3">7</td><td class="p-3">Domain verified</td><td class="p-3 text-mountain-400">Trit → float</td></tr>
|
|
1000
|
+
<tr class="border-b border-mountain-700"><td class="p-3">8</td><td class="p-3">Age (days / 365)</td><td class="p-3 text-mountain-400">Normalized</td></tr>
|
|
1001
|
+
<tr class="border-b border-mountain-700"><td class="p-3">9</td><td class="p-3">Uptime</td><td class="p-3 text-mountain-400">0–1</td></tr>
|
|
1002
|
+
<tr class="border-b border-mountain-700"><td class="p-3">10</td><td class="p-3">Trust score / 100</td><td class="p-3 text-mountain-400">Normalized</td></tr>
|
|
1003
|
+
<tr class="border-b border-mountain-700"><td class="p-3">11</td><td class="p-3">Beacon consistency</td><td class="p-3 text-mountain-400">0–1</td></tr>
|
|
1004
|
+
<tr class="border-b border-mountain-700"><td class="p-3">12</td><td class="p-3">Strikes / 3</td><td class="p-3 text-mountain-400">Normalized</td></tr>
|
|
1005
|
+
<tr><td class="p-3">13</td><td class="p-3">Days since update / 90</td><td class="p-3 text-mountain-400">Normalized</td></tr>
|
|
1006
|
+
</tbody>
|
|
1007
|
+
</table>
|
|
1008
|
+
</div>
|
|
1009
|
+
|
|
1010
|
+
<div class="theme-callout border rounded-xl p-6 mb-8">
|
|
1011
|
+
<p class="font-semibold mb-1">NPU vs CPU</p>
|
|
1012
|
+
<p class="text-mountain-400 text-sm">
|
|
1013
|
+
The NPU path returns a full softmax probability distribution across all four levels.
|
|
1014
|
+
The CPU fallback uses the rule-based engine and approximates probabilities (0.85 for
|
|
1015
|
+
the predicted level, 0.05 for each other). Both receive identical 14-feature vectors.
|
|
1016
|
+
</p>
|
|
1017
|
+
</div>
|
|
1018
|
+
|
|
1019
|
+
<h2><svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-book"/></svg> Backward Compatibility</h2>
|
|
1020
|
+
<p>
|
|
1021
|
+
For existing codebases using the original naming, legacy exports are maintained:
|
|
1022
|
+
</p>
|
|
1023
|
+
<pre><code>// Legacy imports still work
|
|
1024
|
+
import { HybridTrustModel, TrustLevel, TrustEvidence } from 'yakmesh/security/hybrid-trust';
|
|
1025
|
+
|
|
1026
|
+
// These map to the new KARMA names
|
|
1027
|
+
// HybridTrustModel → KarmaTrustModel
|
|
1028
|
+
// TrustLevel → KarmaLevel
|
|
1029
|
+
// TrustEvidence → KarmaEvidence
|
|
1030
|
+
|
|
1031
|
+
// Level aliases
|
|
1032
|
+
// BRONZE → SEEKING
|
|
1033
|
+
// GOLD → AWAKENED
|
|
1034
|
+
// PLATINUM → ENLIGHTENED</code></pre>
|
|
1035
|
+
|
|
1036
|
+
<!-- Version History -->
|
|
1037
|
+
<section class="mb-12">
|
|
1038
|
+
<h2 class="text-2xl font-bold mb-4 flex items-center gap-2">
|
|
1039
|
+
<svg class="doc-icon inline-icon" width="24" height="24" aria-hidden="true"><use href="#icon-hourglass"/></svg> Version History
|
|
1040
|
+
</h2>
|
|
1041
|
+
<div class="bg-mountain-800 rounded-xl p-6 border border-mountain-700">
|
|
1042
|
+
<table class="w-full">
|
|
1043
|
+
<thead><tr class="border-b border-mountain-700">
|
|
1044
|
+
<th class="text-left p-3 text-mountain-300">Version</th>
|
|
1045
|
+
<th class="text-left p-3 text-mountain-300">Changes</th>
|
|
1046
|
+
</tr></thead>
|
|
1047
|
+
<tbody>
|
|
1048
|
+
<tr class="border-b border-mountain-700">
|
|
1049
|
+
<td class="p-3"><span class="theme-badge px-2 py-1 rounded">v3.0.0</span></td>
|
|
1050
|
+
<td class="p-3 text-mountain-400">NPU-accelerated <code>predictTrustLevel()</code> with 14-feature karma-trust
|
|
1051
|
+
ONNX model (softmax over 4 levels). CPU rule-based fallback preserved as authoritative.</td>
|
|
1052
|
+
</tr>
|
|
1053
|
+
<tr>
|
|
1054
|
+
<td class="p-3"><span class="theme-badge px-2 py-1 rounded">v2.5.0</span></td>
|
|
1055
|
+
<td class="p-3 text-mountain-400">Initial KARMA trust model. Trit-based evidence, 4 levels, backward compat aliases.</td>
|
|
1056
|
+
</tr>
|
|
1057
|
+
</tbody>
|
|
1058
|
+
</table>
|
|
1059
|
+
</div>
|
|
1060
|
+
</section>
|
|
1061
|
+
|
|
1062
|
+
<!-- Journey Navigation -->
|
|
1063
|
+
<div class="border-t border-mountain-700 mt-12 pt-8">
|
|
1064
|
+
<h2 class="text-xl font-bold mb-6">Continue the Journey</h2>
|
|
1065
|
+
<div class="flex flex-col sm:flex-row gap-4">
|
|
1066
|
+
<a href="mani.html" class="flex-1 block bg-mountain-800 border border-mountain-700 rounded-xl p-4 hover:border-theme-accent transition group">
|
|
1067
|
+
<div class="text-xs text-mountain-400 mb-1">← Previous</div>
|
|
1068
|
+
<div class="flex items-center gap-2">
|
|
1069
|
+
<svg class="doc-icon journey-icon" aria-hidden="true"><use href="#icon-mani"/></svg>
|
|
1070
|
+
<span class="font-semibold group-hover:text-theme-accent">MANI</span>
|
|
1071
|
+
</div>
|
|
1072
|
+
<p class="text-mountain-400 text-sm mt-1">Time synchronization</p>
|
|
1073
|
+
</a>
|
|
1074
|
+
<a href="tattva.html" class="flex-1 block bg-mountain-800 border border-theme-primary rounded-xl p-4 hover:border-theme-accent transition group">
|
|
1075
|
+
<div class="text-xs text-mountain-400 mb-1">Next →</div>
|
|
1076
|
+
<div class="flex items-center gap-2">
|
|
1077
|
+
<svg class="doc-icon journey-icon" aria-hidden="true"><use href="#icon-tattva"/></svg>
|
|
1078
|
+
<span class="font-semibold group-hover:text-theme-accent">TATTVA</span>
|
|
1079
|
+
</div>
|
|
1080
|
+
<p class="text-mountain-400 text-sm mt-1">Core principles</p>
|
|
1081
|
+
</a>
|
|
1082
|
+
</div>
|
|
1083
|
+
</div>
|
|
1084
|
+
</main>
|
|
1085
|
+
|
|
1086
|
+
<footer class="docs-footer">
|
|
1087
|
+
<p>© 2026 YAKMESH™</p>
|
|
1088
|
+
</footer>
|
|
1089
|
+
<script src="prism.min.js" defer></script>
|
|
1090
|
+
<script src="prism-javascript.min.js" defer></script>
|
|
1091
|
+
<script src="prism-bash.min.js" defer></script>
|
|
1092
|
+
<script src="docs.js" defer></script>
|
|
1093
|
+
|
|
1094
|
+
|
|
1095
|
+
</body>
|
|
1096
|
+
</html>
|
|
1097
|
+
|
|
1098
|
+
|
|
1099
|
+
|
|
1100
|
+
|