@cstack-protocol/pingala 1.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.
Files changed (328) hide show
  1. package/.agent/CSD.md +39 -0
  2. package/.agent/MANIFEST.md +4 -0
  3. package/.agent/MANIFEST.md.template +4 -0
  4. package/.agent/agent-contractor.md +45 -0
  5. package/.agent/architecture/consent-model-fsm.md +77 -0
  6. package/.agent/architecture/governor-maturity-fsm.md +101 -0
  7. package/.agent/architecture/governor-validation-fsm.md +106 -0
  8. package/.agent/architecture/humanized-audit-fsm.md +76 -0
  9. package/.agent/architecture/pingala-csi-fsm.md +81 -0
  10. package/.agent/architecture.md +34 -0
  11. package/.agent/behavior.md +29 -0
  12. package/.agent/compute.md +32 -0
  13. package/.agent/consent-prompts.md +41 -0
  14. package/.agent/governance.yaml +5 -0
  15. package/.agent/identity.md +29 -0
  16. package/.agent/knowledge-lattice.json +96 -0
  17. package/.agent/knowledge-lattice.md +53 -0
  18. package/.agent/lattice-viz.html +157 -0
  19. package/.agent/mission.md +37 -0
  20. package/.agent/pairing-protocol.md +89 -0
  21. package/.agent/pairing.csp +108 -0
  22. package/.agent/personas/reflective-operator.md +67 -0
  23. package/.agent/personas/research.md +62 -0
  24. package/.agent/pingala.md +47 -0
  25. package/.agent/roadmap.md +56 -0
  26. package/.agent/scripts/lattice-extract.py +100 -0
  27. package/.agent/scripts/sync-agents.sh +82 -0
  28. package/.agent/scripts/vault-ingest.py +80 -0
  29. package/.agent/seo-strategy.md +71 -0
  30. package/.agent/skills/agent-orchestrator/SKILL.md +22 -0
  31. package/.agent/skills/agent-orchestrator/scripts/sync-agents.sh +61 -0
  32. package/.agent/skills/knowledge-lattice/SKILL.md +23 -0
  33. package/.agent/skills/knowledge-lattice/scripts/lattice-extract.py +107 -0
  34. package/.agent/skills/resource-vault/SKILL.md +30 -0
  35. package/.agent/skills/resource-vault/scripts/vault-ingest.py +80 -0
  36. package/.agent/skills/sites-integrity/SKILL.md +28 -0
  37. package/.agent/skills/stack-auditor/SKILL.md +25 -0
  38. package/.agent/sources.md +20 -0
  39. package/.agent/stack-auditor.md +47 -0
  40. package/.agent/standards.md +36 -0
  41. package/.agent/strategy.md +65 -0
  42. package/.agent/vault-schema.md +53 -0
  43. package/.agent/voice.md +27 -0
  44. package/.agent/workflows/sync-agents.md +14 -0
  45. package/.env.example +5 -0
  46. package/.env.production +3 -0
  47. package/DISTRIBUTION-PLAN.md +33 -0
  48. package/HOSTED_SETUP.md +54 -0
  49. package/LANDING_PAGE_DESIGN.md +46 -0
  50. package/MANUAL_VERCEL_STEPS.md +39 -0
  51. package/PRODUCT-ROADMAP.md +241 -0
  52. package/PROVISIONING_GUIDE.md +39 -0
  53. package/README.md +38 -0
  54. package/ROADMAP.md +21 -0
  55. package/SYNC-ENGINE-SPEC.md +257 -0
  56. package/build/core/531-protocol.d.ts +26 -0
  57. package/build/core/531-protocol.js +87 -0
  58. package/build/core/531-protocol.js.map +1 -0
  59. package/build/core/531-rule.d.ts +26 -0
  60. package/build/core/531-rule.js +106 -0
  61. package/build/core/531-rule.js.map +1 -0
  62. package/build/core/auth.d.ts +1 -0
  63. package/build/core/auth.js +24 -0
  64. package/build/core/auth.js.map +1 -0
  65. package/build/core/consent-manager.d.ts +17 -0
  66. package/build/core/consent-manager.js +104 -0
  67. package/build/core/consent-manager.js.map +1 -0
  68. package/build/core/csp.d.ts +12 -0
  69. package/build/core/csp.js +20 -0
  70. package/build/core/csp.js.map +1 -0
  71. package/build/core/engagement-analyzer.d.ts +42 -0
  72. package/build/core/engagement-analyzer.js +71 -0
  73. package/build/core/engagement-analyzer.js.map +1 -0
  74. package/build/core/governor.d.ts +106 -0
  75. package/build/core/governor.js +405 -0
  76. package/build/core/governor.js.map +1 -0
  77. package/build/core/life-area-mapper.d.ts +39 -0
  78. package/build/core/life-area-mapper.js +73 -0
  79. package/build/core/life-area-mapper.js.map +1 -0
  80. package/build/core/methodology.d.ts +39 -0
  81. package/build/core/methodology.js +164 -0
  82. package/build/core/methodology.js.map +1 -0
  83. package/build/core/pingala.d.ts +31 -0
  84. package/build/core/pingala.js +56 -0
  85. package/build/core/pingala.js.map +1 -0
  86. package/build/core/sdk-adapter.d.ts +6 -0
  87. package/build/core/sdk-adapter.js +33 -0
  88. package/build/core/sdk-adapter.js.map +1 -0
  89. package/build/cs-agent-core/sdk/index.d.ts +6 -0
  90. package/build/cs-agent-core/sdk/index.js +18 -0
  91. package/build/cs-agent-core/sdk/index.js.map +1 -0
  92. package/build/cs-agent-core/sdk/patterns/index.d.ts +3 -0
  93. package/build/cs-agent-core/sdk/patterns/index.js +37 -0
  94. package/build/cs-agent-core/sdk/patterns/index.js.map +1 -0
  95. package/build/cs-agent-core/sdk/patterns/registry.d.ts +4 -0
  96. package/build/cs-agent-core/sdk/patterns/registry.js +80 -0
  97. package/build/cs-agent-core/sdk/patterns/registry.js.map +1 -0
  98. package/build/cs-agent-core/sdk/telemetry/buffer.d.ts +9 -0
  99. package/build/cs-agent-core/sdk/telemetry/buffer.js +47 -0
  100. package/build/cs-agent-core/sdk/telemetry/buffer.js.map +1 -0
  101. package/build/cs-agent-core/sdk/telemetry/scrubber.d.ts +3 -0
  102. package/build/cs-agent-core/sdk/telemetry/scrubber.js +13 -0
  103. package/build/cs-agent-core/sdk/telemetry/scrubber.js.map +1 -0
  104. package/build/cs-agent-core/sdk/telemetry/types.d.ts +50 -0
  105. package/build/cs-agent-core/sdk/telemetry/types.js +2 -0
  106. package/build/cs-agent-core/sdk/telemetry/types.js.map +1 -0
  107. package/build/cs-agent-core/sdk/types/decision.d.ts +18 -0
  108. package/build/cs-agent-core/sdk/types/decision.js +2 -0
  109. package/build/cs-agent-core/sdk/types/decision.js.map +1 -0
  110. package/build/cs-agent-core/sdk/types/index.d.ts +4 -0
  111. package/build/cs-agent-core/sdk/types/index.js +5 -0
  112. package/build/cs-agent-core/sdk/types/index.js.map +1 -0
  113. package/build/cs-agent-core/sdk/types/pattern.d.ts +17 -0
  114. package/build/cs-agent-core/sdk/types/pattern.js +2 -0
  115. package/build/cs-agent-core/sdk/types/pattern.js.map +1 -0
  116. package/build/cs-agent-core/sdk/types/stack.d.ts +8 -0
  117. package/build/cs-agent-core/sdk/types/stack.js +2 -0
  118. package/build/cs-agent-core/sdk/types/stack.js.map +1 -0
  119. package/build/cs-agent-core/sdk/types/tool.d.ts +9 -0
  120. package/build/cs-agent-core/sdk/types/tool.js +2 -0
  121. package/build/cs-agent-core/sdk/types/tool.js.map +1 -0
  122. package/build/cs-agent-core/sdk/validator/csi.d.ts +2 -0
  123. package/build/cs-agent-core/sdk/validator/csi.js +24 -0
  124. package/build/cs-agent-core/sdk/validator/csi.js.map +1 -0
  125. package/build/cs-agent-core/sdk/validator/index.d.ts +2 -0
  126. package/build/cs-agent-core/sdk/validator/index.js +3 -0
  127. package/build/cs-agent-core/sdk/validator/index.js.map +1 -0
  128. package/build/cs-agent-core/sdk/validator/rules/geometry.d.ts +11 -0
  129. package/build/cs-agent-core/sdk/validator/rules/geometry.js +22 -0
  130. package/build/cs-agent-core/sdk/validator/rules/geometry.js.map +1 -0
  131. package/build/cs-agent-core/sdk/validator/validate.d.ts +2 -0
  132. package/build/cs-agent-core/sdk/validator/validate.js +46 -0
  133. package/build/cs-agent-core/sdk/validator/validate.js.map +1 -0
  134. package/build/index.d.ts +2 -0
  135. package/build/index.js +444 -0
  136. package/build/index.js.map +1 -0
  137. package/build/pingala-mcp/src/core/531-rule.d.ts +26 -0
  138. package/build/pingala-mcp/src/core/531-rule.js +96 -0
  139. package/build/pingala-mcp/src/core/531-rule.js.map +1 -0
  140. package/build/pingala-mcp/src/core/auth.d.ts +1 -0
  141. package/build/pingala-mcp/src/core/auth.js +15 -0
  142. package/build/pingala-mcp/src/core/auth.js.map +1 -0
  143. package/build/pingala-mcp/src/core/consent-manager.d.ts +17 -0
  144. package/build/pingala-mcp/src/core/consent-manager.js +104 -0
  145. package/build/pingala-mcp/src/core/consent-manager.js.map +1 -0
  146. package/build/pingala-mcp/src/core/csp.d.ts +12 -0
  147. package/build/pingala-mcp/src/core/csp.js +20 -0
  148. package/build/pingala-mcp/src/core/csp.js.map +1 -0
  149. package/build/pingala-mcp/src/core/engagement-analyzer.d.ts +42 -0
  150. package/build/pingala-mcp/src/core/engagement-analyzer.js +71 -0
  151. package/build/pingala-mcp/src/core/engagement-analyzer.js.map +1 -0
  152. package/build/pingala-mcp/src/core/governor.d.ts +104 -0
  153. package/build/pingala-mcp/src/core/governor.js +359 -0
  154. package/build/pingala-mcp/src/core/governor.js.map +1 -0
  155. package/build/pingala-mcp/src/core/life-area-mapper.d.ts +39 -0
  156. package/build/pingala-mcp/src/core/life-area-mapper.js +73 -0
  157. package/build/pingala-mcp/src/core/life-area-mapper.js.map +1 -0
  158. package/build/pingala-mcp/src/core/methodology.d.ts +39 -0
  159. package/build/pingala-mcp/src/core/methodology.js +164 -0
  160. package/build/pingala-mcp/src/core/methodology.js.map +1 -0
  161. package/build/pingala-mcp/src/core/pingala.d.ts +25 -0
  162. package/build/pingala-mcp/src/core/pingala.js +56 -0
  163. package/build/pingala-mcp/src/core/pingala.js.map +1 -0
  164. package/build/pingala-mcp/src/core/sdk-adapter.d.ts +6 -0
  165. package/build/pingala-mcp/src/core/sdk-adapter.js +33 -0
  166. package/build/pingala-mcp/src/core/sdk-adapter.js.map +1 -0
  167. package/build/pingala-mcp/src/index.d.ts +1 -0
  168. package/build/pingala-mcp/src/index.js +221 -0
  169. package/build/pingala-mcp/src/index.js.map +1 -0
  170. package/build/pingala-mcp/src/test-l3.d.ts +1 -0
  171. package/build/pingala-mcp/src/test-l3.js +35 -0
  172. package/build/pingala-mcp/src/test-l3.js.map +1 -0
  173. package/build/pingala-mcp/src/tools/audit-workspace.d.ts +16 -0
  174. package/build/pingala-mcp/src/tools/audit-workspace.js +39 -0
  175. package/build/pingala-mcp/src/tools/audit-workspace.js.map +1 -0
  176. package/build/pingala-mcp/src/tools/calculate-csi.d.ts +24 -0
  177. package/build/pingala-mcp/src/tools/calculate-csi.js +29 -0
  178. package/build/pingala-mcp/src/tools/calculate-csi.js.map +1 -0
  179. package/build/pingala-mcp/src/tools/cs-audit.d.ts +54 -0
  180. package/build/pingala-mcp/src/tools/cs-audit.js +310 -0
  181. package/build/pingala-mcp/src/tools/cs-audit.js.map +1 -0
  182. package/build/pingala-mcp/src/tools/get-governance-context.d.ts +11 -0
  183. package/build/pingala-mcp/src/tools/get-governance-context.js +16 -0
  184. package/build/pingala-mcp/src/tools/get-governance-context.js.map +1 -0
  185. package/build/pingala-mcp/src/tools/validate-stack-change.d.ts +41 -0
  186. package/build/pingala-mcp/src/tools/validate-stack-change.js +35 -0
  187. package/build/pingala-mcp/src/tools/validate-stack-change.js.map +1 -0
  188. package/build/sdk/index.d.ts +6 -0
  189. package/build/sdk/index.js +18 -0
  190. package/build/sdk/index.js.map +1 -0
  191. package/build/sdk/patterns/index.d.ts +3 -0
  192. package/build/sdk/patterns/index.js +37 -0
  193. package/build/sdk/patterns/index.js.map +1 -0
  194. package/build/sdk/patterns/registry.d.ts +4 -0
  195. package/build/sdk/patterns/registry.js +80 -0
  196. package/build/sdk/patterns/registry.js.map +1 -0
  197. package/build/sdk/telemetry/buffer.d.ts +9 -0
  198. package/build/sdk/telemetry/buffer.js +47 -0
  199. package/build/sdk/telemetry/buffer.js.map +1 -0
  200. package/build/sdk/telemetry/scrubber.d.ts +3 -0
  201. package/build/sdk/telemetry/scrubber.js +13 -0
  202. package/build/sdk/telemetry/scrubber.js.map +1 -0
  203. package/build/sdk/telemetry/types.d.ts +50 -0
  204. package/build/sdk/telemetry/types.js +2 -0
  205. package/build/sdk/telemetry/types.js.map +1 -0
  206. package/build/sdk/types/decision.d.ts +18 -0
  207. package/build/sdk/types/decision.js +2 -0
  208. package/build/sdk/types/decision.js.map +1 -0
  209. package/build/sdk/types/index.d.ts +4 -0
  210. package/build/sdk/types/index.js +5 -0
  211. package/build/sdk/types/index.js.map +1 -0
  212. package/build/sdk/types/pattern.d.ts +17 -0
  213. package/build/sdk/types/pattern.js +2 -0
  214. package/build/sdk/types/pattern.js.map +1 -0
  215. package/build/sdk/types/stack.d.ts +8 -0
  216. package/build/sdk/types/stack.js +2 -0
  217. package/build/sdk/types/stack.js.map +1 -0
  218. package/build/sdk/types/tool.d.ts +9 -0
  219. package/build/sdk/types/tool.js +2 -0
  220. package/build/sdk/types/tool.js.map +1 -0
  221. package/build/sdk/validator/csi.d.ts +2 -0
  222. package/build/sdk/validator/csi.js +24 -0
  223. package/build/sdk/validator/csi.js.map +1 -0
  224. package/build/sdk/validator/index.d.ts +2 -0
  225. package/build/sdk/validator/index.js +3 -0
  226. package/build/sdk/validator/index.js.map +1 -0
  227. package/build/sdk/validator/rules/geometry.d.ts +11 -0
  228. package/build/sdk/validator/rules/geometry.js +22 -0
  229. package/build/sdk/validator/rules/geometry.js.map +1 -0
  230. package/build/sdk/validator/validate.d.ts +2 -0
  231. package/build/sdk/validator/validate.js +46 -0
  232. package/build/sdk/validator/validate.js.map +1 -0
  233. package/build/src/core/531-rule.d.ts +26 -0
  234. package/build/src/core/531-rule.js +96 -0
  235. package/build/src/core/531-rule.js.map +1 -0
  236. package/build/src/core/auth.d.ts +1 -0
  237. package/build/src/core/auth.js +15 -0
  238. package/build/src/core/auth.js.map +1 -0
  239. package/build/src/core/consent-manager.d.ts +17 -0
  240. package/build/src/core/consent-manager.js +104 -0
  241. package/build/src/core/consent-manager.js.map +1 -0
  242. package/build/src/core/csp.d.ts +12 -0
  243. package/build/src/core/csp.js +20 -0
  244. package/build/src/core/csp.js.map +1 -0
  245. package/build/src/core/engagement-analyzer.d.ts +42 -0
  246. package/build/src/core/engagement-analyzer.js +71 -0
  247. package/build/src/core/engagement-analyzer.js.map +1 -0
  248. package/build/src/core/governor.d.ts +104 -0
  249. package/build/src/core/governor.js +371 -0
  250. package/build/src/core/governor.js.map +1 -0
  251. package/build/src/core/life-area-mapper.d.ts +39 -0
  252. package/build/src/core/life-area-mapper.js +73 -0
  253. package/build/src/core/life-area-mapper.js.map +1 -0
  254. package/build/src/core/methodology.d.ts +39 -0
  255. package/build/src/core/methodology.js +164 -0
  256. package/build/src/core/methodology.js.map +1 -0
  257. package/build/src/core/pingala.d.ts +25 -0
  258. package/build/src/core/pingala.js +56 -0
  259. package/build/src/core/pingala.js.map +1 -0
  260. package/build/src/core/sdk-adapter.d.ts +8 -0
  261. package/build/src/core/sdk-adapter.js +34 -0
  262. package/build/src/core/sdk-adapter.js.map +1 -0
  263. package/build/src/index.d.ts +2 -0
  264. package/build/src/index.js +333 -0
  265. package/build/src/index.js.map +1 -0
  266. package/build/src/test-l3.d.ts +1 -0
  267. package/build/src/test-l3.js +35 -0
  268. package/build/src/test-l3.js.map +1 -0
  269. package/build/src/tools/audit-workspace.d.ts +16 -0
  270. package/build/src/tools/audit-workspace.js +39 -0
  271. package/build/src/tools/audit-workspace.js.map +1 -0
  272. package/build/src/tools/calculate-csi.d.ts +24 -0
  273. package/build/src/tools/calculate-csi.js +29 -0
  274. package/build/src/tools/calculate-csi.js.map +1 -0
  275. package/build/src/tools/cs-audit.d.ts +54 -0
  276. package/build/src/tools/cs-audit.js +310 -0
  277. package/build/src/tools/cs-audit.js.map +1 -0
  278. package/build/src/tools/get-governance-context.d.ts +11 -0
  279. package/build/src/tools/get-governance-context.js +16 -0
  280. package/build/src/tools/get-governance-context.js.map +1 -0
  281. package/build/src/tools/validate-stack-change.d.ts +41 -0
  282. package/build/src/tools/validate-stack-change.js +35 -0
  283. package/build/src/tools/validate-stack-change.js.map +1 -0
  284. package/build/test-l3.d.ts +1 -0
  285. package/build/test-l3.js +35 -0
  286. package/build/test-l3.js.map +1 -0
  287. package/build/tools/analyze-stack.d.ts +40 -0
  288. package/build/tools/analyze-stack.js +121 -0
  289. package/build/tools/analyze-stack.js.map +1 -0
  290. package/build/tools/audit-workspace.d.ts +16 -0
  291. package/build/tools/audit-workspace.js +39 -0
  292. package/build/tools/audit-workspace.js.map +1 -0
  293. package/build/tools/calculate-csi.d.ts +26 -0
  294. package/build/tools/calculate-csi.js +30 -0
  295. package/build/tools/calculate-csi.js.map +1 -0
  296. package/build/tools/cs-audit.d.ts +43 -0
  297. package/build/tools/cs-audit.js +330 -0
  298. package/build/tools/cs-audit.js.map +1 -0
  299. package/build/tools/get-governance-context.d.ts +11 -0
  300. package/build/tools/get-governance-context.js +61 -0
  301. package/build/tools/get-governance-context.js.map +1 -0
  302. package/build/tools/validate-stack-change.d.ts +41 -0
  303. package/build/tools/validate-stack-change.js +54 -0
  304. package/build/tools/validate-stack-change.js.map +1 -0
  305. package/package.json +34 -0
  306. package/scripts/cloud-bridge.js +62 -0
  307. package/scripts/generate-token.js +13 -0
  308. package/src/core/531-rule.ts +148 -0
  309. package/src/core/auth.ts +42 -0
  310. package/src/core/consent-manager.ts +134 -0
  311. package/src/core/csp.ts +40 -0
  312. package/src/core/engagement-analyzer.ts +122 -0
  313. package/src/core/governor.ts +522 -0
  314. package/src/core/life-area-mapper.ts +138 -0
  315. package/src/core/methodology.ts +256 -0
  316. package/src/core/pingala.ts +77 -0
  317. package/src/core/sdk-adapter.ts +52 -0
  318. package/src/index.ts +562 -0
  319. package/src/test-l3.ts +45 -0
  320. package/src/tools/analyze-stack.ts +153 -0
  321. package/src/tools/audit-workspace.ts +50 -0
  322. package/src/tools/calculate-csi.ts +38 -0
  323. package/src/tools/cs-audit.ts +384 -0
  324. package/src/tools/get-governance-context.ts +69 -0
  325. package/src/tools/validate-stack-change.ts +71 -0
  326. package/src/types.d.ts +2 -0
  327. package/tsconfig.json +40 -0
  328. package/vercel.json +15 -0
@@ -0,0 +1,371 @@
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
+ import * as os from "node:os";
4
+ import process from "node:process";
5
+ import { Rule531 } from "./531-rule.js";
6
+ export class Governor {
7
+ static dataDir = (() => {
8
+ if (process.env.CSTACK_DATA_DIR)
9
+ return process.env.CSTACK_DATA_DIR;
10
+ if (process.env.VERCEL)
11
+ return "/tmp";
12
+ return path.join(os.homedir(), ".cstack-data");
13
+ })();
14
+ static getFilePath(filename) {
15
+ try {
16
+ if (!fs.existsSync(this.dataDir)) {
17
+ fs.mkdirSync(this.dataDir, { recursive: true });
18
+ }
19
+ }
20
+ catch (e) {
21
+ console.error(`[Governor] Warning: Could not create data directory ${this.dataDir}. Using /tmp fallback.`);
22
+ this.dataDir = "/tmp";
23
+ }
24
+ return path.join(this.dataDir, filename);
25
+ }
26
+ static getStack() {
27
+ const filePath = this.getFilePath("stack-map.json");
28
+ if (fs.existsSync(filePath)) {
29
+ try {
30
+ const data = JSON.parse(fs.readFileSync(filePath, "utf-8"));
31
+ return data.tools || [];
32
+ }
33
+ catch (e) {
34
+ console.error("[Governor] Error reading stack-map.json:", e);
35
+ return [];
36
+ }
37
+ }
38
+ return [];
39
+ }
40
+ static saveStack(tools) {
41
+ const filePath = this.getFilePath("stack-map.json");
42
+ fs.writeFileSync(filePath, JSON.stringify({ tools }, null, 2));
43
+ const state = this.getMaturityState();
44
+ state.last_changed_at = new Date().toISOString();
45
+ this.saveMaturityState(state);
46
+ }
47
+ static getMaturityState() {
48
+ const filePath = this.getFilePath("maturity-state.json");
49
+ const defaultState = {
50
+ level: 1,
51
+ level_name: "Fragmented",
52
+ stability_days: 0,
53
+ last_changed_at: new Date().toISOString()
54
+ };
55
+ if (fs.existsSync(filePath)) {
56
+ try {
57
+ const state = JSON.parse(fs.readFileSync(filePath, "utf-8"));
58
+ const lastChanged = new Date(state.last_changed_at);
59
+ const now = new Date();
60
+ const diffTime = Math.abs(now.getTime() - lastChanged.getTime());
61
+ state.stability_days = Math.floor(diffTime / (1000 * 60 * 60 * 24));
62
+ return state;
63
+ }
64
+ catch (e) {
65
+ console.error("[Governor] Error reading maturity-state.json:", e);
66
+ return defaultState;
67
+ }
68
+ }
69
+ return defaultState;
70
+ }
71
+ static saveMaturityState(state) {
72
+ const filePath = this.getFilePath("maturity-state.json");
73
+ fs.writeFileSync(filePath, JSON.stringify(state, null, 2));
74
+ }
75
+ static recordTelemetry(data) {
76
+ const state = this.getMaturityState();
77
+ state.telemetry = {
78
+ attention_depth: data.attention_depth ?? state.telemetry?.attention_depth ?? 50,
79
+ dependency_exposure: data.dependency_exposure ?? state.telemetry?.dependency_exposure ?? 50,
80
+ last_updated: new Date().toISOString()
81
+ };
82
+ this.saveMaturityState(state);
83
+ }
84
+ static recordValidation(justified) {
85
+ const state = this.getMaturityState();
86
+ if (!state.decision_stats) {
87
+ state.decision_stats = { total_validations: 0, justified_validations: 0 };
88
+ }
89
+ state.decision_stats.total_validations++;
90
+ if (justified)
91
+ state.decision_stats.justified_validations++;
92
+ this.saveMaturityState(state);
93
+ }
94
+ static updateCsi(score) {
95
+ const state = this.getMaturityState();
96
+ if (state.csi_baseline === undefined) {
97
+ state.csi_baseline = score;
98
+ }
99
+ state.csi_latest = score;
100
+ this.saveMaturityState(state);
101
+ }
102
+ static getDecisionProvenanceScore() {
103
+ const state = this.getMaturityState();
104
+ if (!state.decision_stats || state.decision_stats.total_validations === 0)
105
+ return 50;
106
+ return Math.round((state.decision_stats.justified_validations / state.decision_stats.total_validations) * 100);
107
+ }
108
+ static getStackDriftScore() {
109
+ const tools = this.getStack();
110
+ const state = this.getMaturityState();
111
+ const validation = Rule531.validate({ tools });
112
+ let score = validation.score;
113
+ const signals = [...validation.violations];
114
+ const lastChanged = new Date(state.last_changed_at);
115
+ const now = new Date();
116
+ const diffDays = Math.floor(Math.abs(now.getTime() - lastChanged.getTime()) / (1000 * 60 * 60 * 24));
117
+ if (diffDays > 0) {
118
+ const temporalPenalty = Math.min(20, diffDays * 5);
119
+ score -= temporalPenalty;
120
+ if (temporalPenalty > 0) {
121
+ signals.push(`Attention Erosion: ${diffDays} days since last protocol synthesis (-${temporalPenalty} points)`);
122
+ }
123
+ }
124
+ if (!tools.some(t => t.role === 'Anchor')) {
125
+ if (!signals.some(s => s.includes("Anchor"))) {
126
+ score -= 10;
127
+ signals.push("Anchor Void: No center of truth established (-10 points)");
128
+ }
129
+ }
130
+ score = Math.max(0, score);
131
+ let summary = "Maintaining Crystalline Geometry.";
132
+ if (score < 85)
133
+ summary = "Minor drift detected. Review Supporting nodes.";
134
+ if (score < 70)
135
+ summary = "Significant architectural erosion. Audit required.";
136
+ if (score < 50)
137
+ summary = "Systemic collapse risk. Execute rapid reversal.";
138
+ return { score, signals, summary };
139
+ }
140
+ static validateStackChange(change) {
141
+ const currentStack = this.getStack();
142
+ const state = this.getMaturityState();
143
+ const validation = this.check531Rules(currentStack, change);
144
+ if (!validation.allowed)
145
+ return validation;
146
+ const gate = this.enforceMaturityGates(state, change);
147
+ if (!gate.allowed)
148
+ return gate;
149
+ return {
150
+ allowed: true,
151
+ reason: "Compliant with the Conscious Stack Protocol (CSP) and Maturity Gates",
152
+ impact: {
153
+ stability_reset: true,
154
+ new_stability_days: 0
155
+ }
156
+ };
157
+ }
158
+ static check531Rules(currentStack, change) {
159
+ const getRoleNodeCount = (tools, role) => {
160
+ const roleTools = tools.filter(t => t.role === role);
161
+ const slots = new Set(roleTools.filter(t => t.functionId).map(t => t.functionId));
162
+ const unclassifiedCount = roleTools.filter(t => !t.functionId).length;
163
+ return slots.size + unclassifiedCount;
164
+ };
165
+ const counts = {
166
+ anchor: getRoleNodeCount(currentStack, 'Anchor'),
167
+ active: getRoleNodeCount(currentStack, 'Active'),
168
+ supporting: getRoleNodeCount(currentStack, 'Supporting')
169
+ };
170
+ if (change.type === 'add_tool' || change.type === 'change_role') {
171
+ const role = change.proposed_role;
172
+ const targetFunctionId = change.functionId;
173
+ const existingNodeTools = targetFunctionId ? currentStack.filter(t => t.functionId === targetFunctionId) : [];
174
+ const isSubstack = existingNodeTools.length > 0;
175
+ if (isSubstack) {
176
+ if (role === 'Anchor' && existingNodeTools.some(t => t.role === 'Anchor')) {
177
+ const currentSubAnchor = existingNodeTools.find(t => t.role === 'Anchor');
178
+ return {
179
+ allowed: false,
180
+ reason: `Fractal Violation: Sub-stack '${targetFunctionId}' already has an Anchor (${currentSubAnchor?.name}). Only one tool can be the 'Visible' gateway for this slot.`,
181
+ alternatives: [
182
+ `Demote ${change.tool_name} to Supporting within the ${targetFunctionId} sub-stack`,
183
+ `Replace ${currentSubAnchor?.name} as the primary gateway for this slot`
184
+ ]
185
+ };
186
+ }
187
+ return { allowed: true };
188
+ }
189
+ if (role === 'Anchor') {
190
+ if (counts.anchor >= 1 && !change.replaces_existing) {
191
+ const currentAnchor = currentStack.find(t => t.role === 'Anchor');
192
+ return {
193
+ allowed: false,
194
+ reason: `Protocol violation: Only 1 Anchor Node permitted in the Core Stack. Current anchor: ${currentAnchor?.name}`,
195
+ alternatives: [
196
+ `Cluster ${change.tool_name} into the existing Anchor slot (building a sub-stack)`,
197
+ `Replace ${currentAnchor?.name} with ${change.tool_name}`,
198
+ `Assign ${change.tool_name} as Active instead`
199
+ ]
200
+ };
201
+ }
202
+ }
203
+ else if (role === 'Active') {
204
+ if (counts.active >= 3 && !change.replaces_existing) {
205
+ return {
206
+ allowed: false,
207
+ reason: `Protocol violation: Max 3 Active Slots permitted. Your Core Stack is congested.`,
208
+ alternatives: [
209
+ `Cluster ${change.tool_name} into an existing Active slot (e.g., as a supporting tool in a sub-stack)`,
210
+ "Archive least-used Active node",
211
+ `Move ${change.tool_name} to Supporting tier`
212
+ ]
213
+ };
214
+ }
215
+ }
216
+ else if (role === 'Supporting') {
217
+ if (counts.supporting >= 5 && !change.replaces_existing) {
218
+ return {
219
+ allowed: false,
220
+ reason: `Protocol violation: Max 5 Supporting Slots permitted in the Core Stack.`,
221
+ alternatives: [
222
+ `Nest ${change.tool_name} inside an existing Supporting sub-stack`,
223
+ "Archive least-used Supporting node",
224
+ "Promote this to Active if critical (requires archiving an Active slot)"
225
+ ]
226
+ };
227
+ }
228
+ }
229
+ }
230
+ return { allowed: true };
231
+ }
232
+ static enforceMaturityGates(state, change) {
233
+ const GATES = {
234
+ 1: {
235
+ level_name: "Fragmented",
236
+ min_stability_days: 7,
237
+ allowed_changes: ["remove_tool", "audit", "emergency_subtract"],
238
+ blocked_changes: ["add_tool", "change_anchor"],
239
+ definition: "Tools and processes are random, chaotic, and uncoordinated.",
240
+ primary_action: "Audit & Eliminate. Reduce tool count by 30%.",
241
+ message: "Level 1: Focus on subtraction and stabilization only"
242
+ },
243
+ 2: {
244
+ level_name: "Siloed",
245
+ min_stability_days: 14,
246
+ allowed_changes: ["remove_tool", "audit", "change_role"],
247
+ blocked_changes: ["add_tool", "change_anchor"],
248
+ definition: "Structure exists, but systems operate in isolation.",
249
+ primary_action: "Standardize. Create specific 'Anchors' for each workflow.",
250
+ message: "Level 2: Maintain 14 days stability before additions"
251
+ },
252
+ 3: {
253
+ level_name: "Integrated",
254
+ min_stability_days: 30,
255
+ allowed_changes: ["remove_tool", "audit", "add_tool", "change_role"],
256
+ blocked_changes: ["change_anchor"],
257
+ definition: "Data flows between systems; reduced friction.",
258
+ primary_action: "Automate. Use APIs to connect Edges.",
259
+ message: "Level 3: Can adjust Active/Supporting after 30 days stability"
260
+ },
261
+ 4: {
262
+ level_name: "Aligned",
263
+ min_stability_days: 90,
264
+ allowed_changes: ["remove_tool", "audit", "add_tool", "change_role", "change_anchor"],
265
+ blocked_changes: [],
266
+ definition: "Stack reflects values, strategy, and purpose.",
267
+ primary_action: "Refine. Align rituals with tool usage.",
268
+ message: "Level 4: All changes permitted with 90+ days stability"
269
+ },
270
+ 5: {
271
+ level_name: "Resonant",
272
+ min_stability_days: 180,
273
+ allowed_changes: ["all"],
274
+ blocked_changes: [],
275
+ definition: "Tech amplifies unique human value and signal.",
276
+ primary_action: "Transcend. The stack becomes invisible.",
277
+ message: "Level 5: Mature stack, trust your judgment"
278
+ }
279
+ };
280
+ const gate = GATES[state.level];
281
+ if (!state.level_name || state.level_name !== gate.level_name) {
282
+ state.level_name = gate.level_name;
283
+ state.definition = gate.definition;
284
+ state.primary_action = gate.primary_action;
285
+ }
286
+ if (change.type === 'remove_tool' || change.type === 'audit') {
287
+ return { allowed: true };
288
+ }
289
+ const currentStability = state.stability_days;
290
+ if (gate.blocked_changes.includes(change.type)) {
291
+ return {
292
+ allowed: false,
293
+ reason: `${gate.message}. Action '${change.type}' is unauthorized at the ${gate.level_name} stage.`,
294
+ gate_requirements: gate
295
+ };
296
+ }
297
+ const isExpansion = change.type === 'add_tool' || change.type === 'change_role' || change.type === 'change_anchor';
298
+ const prevGateStability = state.level > 1 ? GATES[state.level - 1].min_stability_days : 0;
299
+ if (currentStability < prevGateStability && isExpansion) {
300
+ return {
301
+ allowed: false,
302
+ reason: `Stability gate: Reach ${prevGateStability} days of stability in the ${gate.level_name} stage before expanding. Current: ${currentStability} days.`,
303
+ gate_requirements: {
304
+ required_days: prevGateStability,
305
+ current_days: currentStability
306
+ }
307
+ };
308
+ }
309
+ return { allowed: true };
310
+ }
311
+ static getGovernanceContext() {
312
+ const tools = this.getStack();
313
+ const state = this.getMaturityState();
314
+ const nodeMap = {};
315
+ const unclassified = [];
316
+ tools.forEach(t => {
317
+ if (t.functionId) {
318
+ if (!nodeMap[t.functionId])
319
+ nodeMap[t.functionId] = { role: t.role, tools: [] };
320
+ nodeMap[t.functionId].tools.push(t.name);
321
+ }
322
+ else {
323
+ unclassified.push({ id: t.name, role: t.role, tools: [t.name] });
324
+ }
325
+ });
326
+ const functionalNodes = [
327
+ ...Object.entries(nodeMap).map(([id, data]) => ({ id, ...data })),
328
+ ...unclassified
329
+ ];
330
+ const allActions = ["add_tool", "remove_tool", "change_role", "change_anchor"];
331
+ const blocked = allActions.filter(a => {
332
+ const res = this.validateStackChange({ type: a, tool_name: '' });
333
+ return !res.allowed;
334
+ });
335
+ const allowed = allActions.filter(a => !blocked.includes(a));
336
+ const nextLevel = state.level < 5 ? state.level + 1 : null;
337
+ const canLevelUp = nextLevel && state.stability_days >= this.getNextGateRequiredDays(state.level);
338
+ const csiDelta = (state.csi_latest || 0) - (state.csi_baseline || state.csi_latest || 0);
339
+ return {
340
+ current_stack: {
341
+ anchor: tools.find(t => t.role === 'Anchor') || null,
342
+ active: tools.filter(t => t.role === 'Active'),
343
+ supporting: tools.filter(t => t.role === 'Supporting')
344
+ },
345
+ functional_nodes: functionalNodes,
346
+ maturity_level: state.level,
347
+ maturity_name: state.level_name || "Unknown",
348
+ stability_days: state.stability_days,
349
+ csi_latest: state.csi_latest || 0,
350
+ allowed_actions: allowed,
351
+ blocked_actions: blocked, progression: {
352
+ can_level_up: !!canLevelUp,
353
+ next_level: nextLevel,
354
+ days_remaining: Math.max(0, this.getNextGateRequiredDays(state.level) - state.stability_days),
355
+ csi_delta: csiDelta,
356
+ is_l2_eligible: csiDelta >= 10
357
+ }
358
+ };
359
+ }
360
+ static getNextGateRequiredDays(level) {
361
+ const GATES_DAYS = {
362
+ 1: 7,
363
+ 2: 14,
364
+ 3: 30,
365
+ 4: 90,
366
+ 5: 180
367
+ };
368
+ return GATES_DAYS[level] || 0;
369
+ }
370
+ }
371
+ //# sourceMappingURL=governor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governor.js","sourceRoot":"","sources":["../../../src/core/governor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { ToolInstance } from "./531-rule.js";
2
+ export interface LifeAreaAnalysis {
3
+ areas: {
4
+ id: string;
5
+ label: string;
6
+ tools: string[];
7
+ description: string;
8
+ }[];
9
+ gaps: string[];
10
+ overIndexed: string[];
11
+ }
12
+ export interface InnerDiamondAnalysis {
13
+ reflections: {
14
+ id: string;
15
+ label: string;
16
+ observation: string;
17
+ prompt: string;
18
+ }[];
19
+ forecast: {
20
+ sovereignty_score: number;
21
+ primary_risk: string;
22
+ evolution_path: string;
23
+ };
24
+ }
25
+ export interface LifeAreaMapper {
26
+ mapToolsToAreas(tools: ToolInstance[], practitionerMode?: boolean): LifeAreaAnalysis;
27
+ }
28
+ export declare class BaguaMapper implements LifeAreaMapper {
29
+ private categories;
30
+ constructor();
31
+ mapToolsToAreas(tools: ToolInstance[], practitionerMode?: boolean): LifeAreaAnalysis;
32
+ }
33
+ export declare class DiamondMapper {
34
+ private categories;
35
+ constructor();
36
+ mapToDiamond(tools: ToolInstance[], practitionerMode?: boolean): InnerDiamondAnalysis;
37
+ private getObservationForCategory;
38
+ private getPromptForCategory;
39
+ }
@@ -0,0 +1,73 @@
1
+ import { MethodologyLoader } from "./methodology.js";
2
+ export class BaguaMapper {
3
+ categories;
4
+ constructor() {
5
+ this.categories = MethodologyLoader.loadBaguaCategories();
6
+ }
7
+ mapToolsToAreas(tools, practitionerMode = false) {
8
+ const mapping = this.categories.map(cat => ({
9
+ id: cat.name,
10
+ label: practitionerMode ? cat.name : (cat.userFacingLabel || cat.description),
11
+ tools: tools.filter(t => t.functionId === cat.name).map(t => t.name),
12
+ description: cat.description
13
+ }));
14
+ const gaps = mapping.filter(m => m.tools.length === 0).map(m => m.label);
15
+ const overIndexed = mapping.filter(m => m.tools.length > 2).map(m => m.label);
16
+ return {
17
+ areas: mapping,
18
+ gaps,
19
+ overIndexed
20
+ };
21
+ }
22
+ }
23
+ export class DiamondMapper {
24
+ categories;
25
+ constructor() {
26
+ this.categories = MethodologyLoader.loadInnerDiamondCategories();
27
+ }
28
+ mapToDiamond(tools, practitionerMode = false) {
29
+ const prompts = MethodologyLoader.loadConsentPrompts();
30
+ const reflections = this.categories.map(cat => ({
31
+ id: cat.name,
32
+ label: practitionerMode ? cat.name : (cat.userFacingLabel || cat.name),
33
+ observation: this.getObservationForCategory(cat.name, tools),
34
+ prompt: this.getPromptForCategory(cat.name, tools)
35
+ }));
36
+ const uniqueFunctions = new Set(tools.map(t => t.functionId).filter(Boolean)).size;
37
+ const sovScore = Math.min(100, Math.round((uniqueFunctions / 9) * 100));
38
+ return {
39
+ reflections,
40
+ forecast: {
41
+ sovereignty_score: sovScore,
42
+ primary_risk: tools.length > 9 ? "Conscious Fragmentation" : "Dependency Lock-in",
43
+ evolution_path: "Move from 'tool-centric' to 'process-centric' autonomy."
44
+ }
45
+ };
46
+ }
47
+ getObservationForCategory(cat, tools) {
48
+ switch (cat) {
49
+ case 'Identity':
50
+ return tools.length > 0 ? `Your choices in ${tools[0].name} suggest a focus on efficiency.` : "No clear identity pattern detected.";
51
+ case 'Purpose':
52
+ const anchors = tools.filter(t => t.role === 'Anchor');
53
+ return anchors.length > 0 ? `Your Anchor (${anchors[0].name}) is the seat of your daily purpose.` : "Your purpose lacks a central digital anchor.";
54
+ case 'Sovereignty':
55
+ return `You are currently balancing ${tools.length} nodes of external dependencies.`;
56
+ default:
57
+ return "Reflecting on pattern...";
58
+ }
59
+ }
60
+ getPromptForCategory(cat, tools) {
61
+ switch (cat) {
62
+ case 'Identity':
63
+ return "Who would you be if this stack was reset tomorrow?";
64
+ case 'Purpose':
65
+ return "Does this stack serve your mission, or does it define it?";
66
+ case 'Sovereignty':
67
+ return "Where are you choosing not to see a dependency?";
68
+ default:
69
+ return "What is ready to evolve?";
70
+ }
71
+ }
72
+ }
73
+ //# sourceMappingURL=life-area-mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"life-area-mapper.js","sourceRoot":"","sources":["../../../src/core/life-area-mapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ export interface CSIPillar {
2
+ name: string;
3
+ description: string;
4
+ weight: number;
5
+ }
6
+ export interface Protocol531Rules {
7
+ maxTools: number;
8
+ anchorCount: number;
9
+ activeCount: number;
10
+ supportingCount: number;
11
+ rawDescription?: string;
12
+ }
13
+ export interface BaguaCategory {
14
+ name: string;
15
+ description: string;
16
+ userFacingLabel?: string;
17
+ }
18
+ export interface InnerDiamondCategory {
19
+ name: string;
20
+ description: string;
21
+ userFacingLabel?: string;
22
+ }
23
+ export interface ConsentPrompts {
24
+ l2: string;
25
+ l3: string;
26
+ }
27
+ export declare class MethodologyLoader {
28
+ private static basePath;
29
+ private static apiKey;
30
+ static init(): void;
31
+ static loadCSIPillars(): CSIPillar[];
32
+ static load531Rules(): Protocol531Rules;
33
+ static loadBaguaCategories(): BaguaCategory[];
34
+ static loadInnerDiamondCategories(): InnerDiamondCategory[];
35
+ static loadConsentPrompts(): ConsentPrompts;
36
+ private static parseCSIPillarsFromFile;
37
+ private static parseBaguaCategoriesFromFile;
38
+ static getSourceMode(): "creator" | "api" | "fallback";
39
+ }