@neuroverseos/governance 0.5.1 → 0.6.1

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 (81) hide show
  1. package/README.md +55 -0
  2. package/dist/adapters/autoresearch.js +2 -2
  3. package/dist/adapters/deep-agents.js +2 -2
  4. package/dist/adapters/express.js +2 -2
  5. package/dist/adapters/github.js +2 -2
  6. package/dist/adapters/index.js +8 -8
  7. package/dist/adapters/langchain.js +2 -2
  8. package/dist/adapters/mentraos.js +2 -2
  9. package/dist/adapters/openai.js +2 -2
  10. package/dist/adapters/openclaw.js +2 -2
  11. package/dist/{add-JP7TC2K3.js → add-XSANI3FK.js} +1 -1
  12. package/dist/{build-THUEYMVT.js → build-EGBGZFIJ.js} +5 -5
  13. package/dist/{chunk-TZBERHFM.js → chunk-7FL3U7Z5.js} +1 -1
  14. package/dist/{chunk-FGOSKQDE.js → chunk-A2UZTLRV.js} +1 -1
  15. package/dist/chunk-AEVT7DSZ.js +1208 -0
  16. package/dist/{chunk-R23T5SZG.js → chunk-B3IIPTY3.js} +1 -1
  17. package/dist/chunk-EQR7BGFN.js +337 -0
  18. package/dist/{chunk-LAKUB76X.js → chunk-FDPPZLSQ.js} +1 -1
  19. package/dist/{chunk-UZBW44KD.js → chunk-FKQCPRKI.js} +1 -1
  20. package/dist/{chunk-XPMZB46F.js → chunk-FS2UUJJO.js} +3 -3
  21. package/dist/{chunk-6UPEUMJ2.js → chunk-HDNDL6D5.js} +1 -1
  22. package/dist/{chunk-7UU7V3AD.js → chunk-IOVXB6QN.js} +1 -1
  23. package/dist/{chunk-EK77AJAH.js → chunk-OTZU76DH.js} +1 -1
  24. package/dist/{chunk-5RAQ5DZW.js → chunk-T6GMRZWC.js} +1 -1
  25. package/dist/{chunk-RF2L5SYG.js → chunk-TIXVEPS2.js} +1 -1
  26. package/dist/{chunk-TL4DLMMW.js → chunk-TJ5L2UTE.js} +1 -1
  27. package/dist/chunk-UGTNKTHS.js +542 -0
  28. package/dist/chunk-VGFDMPVB.js +436 -0
  29. package/dist/cli/neuroverse.cjs +4089 -328
  30. package/dist/cli/neuroverse.js +62 -103
  31. package/dist/cli/plan.js +1 -1
  32. package/dist/cli/radiant.cjs +2058 -0
  33. package/dist/cli/radiant.d.cts +25 -0
  34. package/dist/cli/radiant.d.ts +25 -0
  35. package/dist/cli/radiant.js +422 -0
  36. package/dist/cli/run.js +2 -2
  37. package/dist/cli/worldmodel.cjs +1624 -0
  38. package/dist/cli/worldmodel.d.cts +24 -0
  39. package/dist/cli/worldmodel.d.ts +24 -0
  40. package/dist/cli/worldmodel.js +742 -0
  41. package/dist/{demo-N5K4VXJW.js → demo-6W3YXLAX.js} +2 -2
  42. package/dist/{derive-5LOMN7GO.js → derive-7Y7YWVLU.js} +4 -4
  43. package/dist/engine/worldmodel-compiler.cjs +366 -0
  44. package/dist/engine/worldmodel-compiler.d.cts +46 -0
  45. package/dist/engine/worldmodel-compiler.d.ts +46 -0
  46. package/dist/engine/worldmodel-compiler.js +17 -0
  47. package/dist/engine/worldmodel-parser.cjs +566 -0
  48. package/dist/engine/worldmodel-parser.d.cts +22 -0
  49. package/dist/engine/worldmodel-parser.d.ts +22 -0
  50. package/dist/engine/worldmodel-parser.js +7 -0
  51. package/dist/{equity-penalties-PYCJ3Q4U.js → equity-penalties-CCO3GVHS.js} +1 -1
  52. package/dist/{explain-42TVC3QD.js → explain-HDFN4ION.js} +1 -1
  53. package/dist/{guard-TPYDFG6V.js → guard-IHJEKHL2.js} +1 -1
  54. package/dist/{improve-HLZGJ54Z.js → improve-LRORRYEX.js} +1 -1
  55. package/dist/index.js +29 -29
  56. package/dist/{lens-NFGZHD76.js → lens-TLDZQXBI.js} +61 -2
  57. package/dist/lenses-K5FVSALR.js +13 -0
  58. package/dist/{mcp-server-5XXNG6VC.js → mcp-server-CKYBHXWK.js} +2 -2
  59. package/dist/{playground-2EU5CFIH.js → playground-3TTBN7XD.js} +1 -1
  60. package/dist/radiant/index.cjs +1700 -0
  61. package/dist/radiant/index.d.cts +1163 -0
  62. package/dist/radiant/index.d.ts +1163 -0
  63. package/dist/radiant/index.js +75 -0
  64. package/dist/{redteam-VK6OVHAE.js → redteam-W644UMWN.js} +1 -1
  65. package/dist/{session-NGA4DUPL.js → session-FMAROEIE.js} +2 -2
  66. package/dist/{simulate-4YNOBMES.js → simulate-VT437EEL.js} +1 -1
  67. package/dist/{test-HDBPMQTG.js → test-XDB2DH3L.js} +1 -1
  68. package/dist/{validate-6MFQZ2EG.js → validate-M52DX22Y.js} +1 -1
  69. package/dist/{world-H5WVURKU.js → world-O4HTQPDP.js} +1 -1
  70. package/dist/{world-loader-J47PCPDZ.js → world-loader-YTYFOP7D.js} +1 -1
  71. package/dist/worldmodel-contract-BPGhiuW5.d.cts +221 -0
  72. package/dist/worldmodel-contract-BPGhiuW5.d.ts +221 -0
  73. package/dist/worlds/auki-vanguard.worldmodel.md +116 -0
  74. package/dist/worlds/behavioral-demo.nv-world.md +177 -0
  75. package/dist/worlds/neuroverse-governance.worldmodel.md +115 -0
  76. package/package.json +7 -2
  77. package/dist/{bootstrap-IP5QMC3Q.js → bootstrap-2OW5ZLBL.js} +3 -3
  78. package/dist/{chunk-QZ666FCV.js → chunk-FHXXD2TI.js} +6 -6
  79. package/dist/{chunk-EQUAWNXW.js → chunk-I4RTIMLX.js} +0 -0
  80. package/dist/{configure-ai-5MP5DWTT.js → configure-ai-LL3VAPQW.js} +3 -3
  81. /package/dist/{doctor-Q5APJOTS.js → doctor-XEMLO6UA.js} +0 -0
@@ -2,105 +2,52 @@
2
2
 
3
3
  // src/cli/neuroverse.ts
4
4
  var USAGE = `
5
- neuroverse \u2014 Turn ideas into worlds.
5
+ neuroverse \u2014 Behavioral governance for AI systems.
6
6
 
7
- Commands:
7
+ Behavioral modeling:
8
+ worldmodel Build behavioral models (init, validate, build, explain, infer)
9
+ radiant Behavioral intelligence for collaboration (think, emergent, lenses)
10
+ lens Manage behavioral lenses (list, preview, compile, compare, add)
11
+
12
+ Runtime governance:
13
+ guard Evaluate events against a world (stdin \u2192 stdout)
14
+ plan Plan enforcement (compile, check, status, advance, derive)
15
+ run Governed runtime (pipe mode or interactive chat)
16
+ mcp MCP governance server (for Claude, Cursor, etc.)
17
+
18
+ World management:
19
+ world Manage worlds (status, diff, snapshot, rollback, list)
8
20
  add Add a guard, rule, or invariant to a world
9
- build Build a world from markdown (derive + compile in one step)
10
- explain Human-readable summary of a compiled world
11
- simulate Step-by-step state evolution
12
- improve Actionable suggestions for strengthening a world
13
- init Scaffold a new .nv-world.md template
14
- init-world Generate a governed world from a template (e.g., autoresearch)
15
- infer-world Scan a repo and infer a governance world from its structure
21
+ build Build a world from markdown (derive + compile)
16
22
  validate Static analysis on world files
17
- guard Runtime governance evaluation (stdin \u2192 stdout)
23
+ explain Human-readable summary of a compiled world
24
+
25
+ Testing:
18
26
  test Run guard simulation suite against a world
19
27
  redteam Adversarial containment testing (agent escape detection)
20
- demo Interactive governance demo (flow viz + simulation)
21
28
  doctor Environment sanity check
22
- playground Interactive web demo (opens in browser)
23
- plan Plan enforcement (compile, check, status, advance, derive)
24
- run Governed runtime (pipe mode or interactive chat)
25
- mcp MCP governance server (for Claude, Cursor, etc.)
26
- worlds List available worlds (alias for world list)
27
- trace Runtime action audit log
28
- impact Counterfactual governance impact report
29
- decision-flow Intent \u2192 Rule \u2192 Outcome visualization (behavioral governance)
30
- equity-penalties Fortune 500 equity PENALIZE/REWARD simulation
31
- world World management (status, diff, snapshot, rollback)
29
+
30
+ Administration:
32
31
  keygen Generate Ed25519 signing keypair
33
- sign Sign a world artifact (cryptographic manifest)
32
+ sign Sign a world artifact
34
33
  verify Verify a signed world artifact
35
34
  migrate Migrate world schema between versions
36
- derive AI-assisted synthesis of .nv-world.md from markdown
37
- bootstrap Compile .nv-world.md \u2192 world JSON files
38
35
  configure-ai Configure AI provider credentials
39
- configure-world Interactive wizard: define your system in plain language
40
- lens Manage behavioral lenses (list, preview, compile, compare, add)
41
36
 
42
- Usage:
43
- neuroverse add "Block dairy orders" --world <dir>
44
- neuroverse add guard --world <dir> --label "Block dairy" --pattern "*dairy*"
45
- neuroverse add rule --world <dir> --label "Cost overrun" --trigger "cost > 100" --effect "viability *= 0.5"
46
- neuroverse add invariant --world <dir> --label "Budget must never exceed 1000"
47
- neuroverse build <input.md> [--output <dir>]
48
- neuroverse explain <world-path-or-id> [--json]
49
- neuroverse simulate <world-path-or-id> [--steps N] [--set key=value] [--profile name]
50
- neuroverse improve <world-path-or-id> [--json]
51
- neuroverse init [--name "World Name"] [--output path]
52
- neuroverse init-world autoresearch [--context "topic"] [--dataset "name"] [--goal "goal"]
53
- neuroverse infer-world ./repo [--output path] [--json] [--dry-run]
54
- neuroverse validate --world <dir> [--format full|summary|findings]
55
- neuroverse guard --world <dir> [--trace] [--level basic|standard|strict]
56
- neuroverse test --world <dir> [--fuzz] [--count N]
57
- neuroverse redteam --world <dir> [--level basic|standard|strict]
58
- neuroverse demo [--world social-media] [--port 3456] [--no-browser]
59
- neuroverse doctor [--world <dir>] [--json]
60
- neuroverse playground --world <dir> [--port 4242]
61
- neuroverse trace [--log <path>] [--summary] [--filter BLOCK] [--last 20]
62
- neuroverse impact [--log <path>] [--json]
63
- neuroverse world status <path>
64
- neuroverse world diff <path1> <path2>
65
- neuroverse world snapshot <path>
66
- neuroverse world rollback <path>
67
- neuroverse derive --input <path> [--output <path>] [--dry-run]
68
- neuroverse bootstrap --input <.md> --output <dir> [--validate]
69
- neuroverse decision-flow [--log <path>] [--json]
70
- neuroverse equity-penalties --world <dir> [--agents N] [--rounds N] [--json]
71
- neuroverse configure-ai --provider <name> --model <name> --api-key <key>
72
- neuroverse configure-world [--output <dir>]
73
- neuroverse keygen [--output <dir>] [--name <name>]
74
- neuroverse sign --world <dir> [--key <path>]
75
- neuroverse verify --world <dir> [--key <path>]
76
- neuroverse migrate --world <dir> [--dry-run] [--backup]
77
- neuroverse lens list [--world <dir>] [--json]
78
- neuroverse lens preview <id> [--world <dir>]
79
- neuroverse lens compile <id,...> [--world <dir>] [--role <role>] [--json]
80
- neuroverse lens compare --input "text" --lenses stoic,coach,calm
81
- neuroverse lens add --world <dir> --name "Name" --tagline "..." [options]
37
+ Quick start:
38
+ neuroverse worldmodel init --name "My Model" Create a behavioral model
39
+ neuroverse worldmodel build ./model.worldmodel.md Compile it
40
+ neuroverse radiant think --lens auki-builder \\
41
+ --worlds ./worlds/ --query "..." Ask through the model
42
+ neuroverse radiant emergent owner/repo \\
43
+ --lens auki-builder --worlds ./worlds/ Behavioral read on a repo
82
44
 
83
- Examples:
84
- neuroverse build horror-notes.md
85
- neuroverse explain inherited_silence
86
- neuroverse simulate inherited_silence --steps 5
87
- neuroverse improve inherited_silence
88
- neuroverse build ./docs/ --output ./my-world/
89
- neuroverse init --name "Customer Service Governance"
90
- neuroverse validate --world ./world/ --format summary
91
- echo '{"intent":"delete user data"}' | neuroverse guard --world ./world/ --trace
45
+ Governance:
46
+ echo '{"intent":"..."}' | neuroverse guard --world ./world/
92
47
  neuroverse plan compile plan.md --output plan.json
93
- echo '{"intent":"write blog"}' | neuroverse plan check --plan plan.json
94
- neuroverse plan status --plan plan.json
95
- neuroverse plan advance write_blog_post --plan plan.json
96
- neuroverse plan derive plan.md --output ./derived-world/
97
48
  neuroverse run --pipe --world ./world/ --plan plan.json
98
- neuroverse run --interactive --world ./world/ --provider openai
99
49
  neuroverse mcp --world ./world/ --plan plan.json
100
50
  neuroverse test --world ./world/ --fuzz --count 50
101
- neuroverse redteam --world ./world/ --level strict
102
- neuroverse doctor
103
- neuroverse playground --world ./world/
104
51
  `.trim();
105
52
  async function main() {
106
53
  const args = process.argv.slice(2);
@@ -108,26 +55,27 @@ async function main() {
108
55
  const subArgs = args.slice(1);
109
56
  switch (command) {
110
57
  case "add": {
111
- const { main: addMain } = await import("../add-JP7TC2K3.js");
58
+ const { main: addMain } = await import("../add-XSANI3FK.js");
112
59
  return addMain(subArgs);
113
60
  }
114
61
  case "build": {
115
- const { main: buildMain } = await import("../build-THUEYMVT.js");
62
+ const { main: buildMain } = await import("../build-EGBGZFIJ.js");
116
63
  return buildMain(subArgs);
117
64
  }
118
65
  case "explain": {
119
- const { main: explainMain } = await import("../explain-42TVC3QD.js");
66
+ const { main: explainMain } = await import("../explain-HDFN4ION.js");
120
67
  return explainMain(subArgs);
121
68
  }
122
69
  case "simulate": {
123
- const { main: simulateMain } = await import("../simulate-4YNOBMES.js");
70
+ const { main: simulateMain } = await import("../simulate-VT437EEL.js");
124
71
  return simulateMain(subArgs);
125
72
  }
126
73
  case "improve": {
127
- const { main: improveMain } = await import("../improve-HLZGJ54Z.js");
74
+ const { main: improveMain } = await import("../improve-LRORRYEX.js");
128
75
  return improveMain(subArgs);
129
76
  }
130
77
  case "init": {
78
+ process.stderr.write("\x1B[2mNote: `neuroverse init` scaffolds .nv-world.md files. For behavioral models, use `neuroverse worldmodel init` instead.\x1B[0m\n");
131
79
  const { main: initMain } = await import("../init-TKIJDR7I.js");
132
80
  return initMain(subArgs);
133
81
  }
@@ -140,35 +88,36 @@ async function main() {
140
88
  return inferWorldMain(subArgs);
141
89
  }
142
90
  case "bootstrap": {
143
- const { main: bootstrapMain } = await import("../bootstrap-IP5QMC3Q.js");
91
+ process.stderr.write("\x1B[2mNote: `neuroverse bootstrap` compiles .nv-world.md files. For behavioral models, use `neuroverse worldmodel build` instead.\x1B[0m\n");
92
+ const { main: bootstrapMain } = await import("../bootstrap-2OW5ZLBL.js");
144
93
  return bootstrapMain(subArgs);
145
94
  }
146
95
  case "validate": {
147
- const { main: validateMain } = await import("../validate-6MFQZ2EG.js");
96
+ const { main: validateMain } = await import("../validate-M52DX22Y.js");
148
97
  return validateMain(subArgs);
149
98
  }
150
99
  case "guard": {
151
- const { main: guardMain } = await import("../guard-TPYDFG6V.js");
100
+ const { main: guardMain } = await import("../guard-IHJEKHL2.js");
152
101
  return guardMain(subArgs);
153
102
  }
154
103
  case "test": {
155
- const { main: testMain } = await import("../test-HDBPMQTG.js");
104
+ const { main: testMain } = await import("../test-XDB2DH3L.js");
156
105
  return testMain(subArgs);
157
106
  }
158
107
  case "redteam": {
159
- const { main: redteamMain } = await import("../redteam-VK6OVHAE.js");
108
+ const { main: redteamMain } = await import("../redteam-W644UMWN.js");
160
109
  return redteamMain(subArgs);
161
110
  }
162
111
  case "demo": {
163
- const { main: demoMain } = await import("../demo-N5K4VXJW.js");
112
+ const { main: demoMain } = await import("../demo-6W3YXLAX.js");
164
113
  return demoMain(subArgs);
165
114
  }
166
115
  case "doctor": {
167
- const { main: doctorMain } = await import("../doctor-Q5APJOTS.js");
116
+ const { main: doctorMain } = await import("../doctor-XEMLO6UA.js");
168
117
  return doctorMain(subArgs);
169
118
  }
170
119
  case "playground": {
171
- const { main: playgroundMain } = await import("../playground-2EU5CFIH.js");
120
+ const { main: playgroundMain } = await import("../playground-3TTBN7XD.js");
172
121
  return playgroundMain(subArgs);
173
122
  }
174
123
  case "plan": {
@@ -180,11 +129,11 @@ async function main() {
180
129
  return runMain(subArgs);
181
130
  }
182
131
  case "mcp": {
183
- const { startMcpServer } = await import("../mcp-server-5XXNG6VC.js");
132
+ const { startMcpServer } = await import("../mcp-server-CKYBHXWK.js");
184
133
  return startMcpServer(subArgs);
185
134
  }
186
135
  case "worlds": {
187
- const { main: worldMain } = await import("../world-H5WVURKU.js");
136
+ const { main: worldMain } = await import("../world-O4HTQPDP.js");
188
137
  return worldMain(["list", ...subArgs]);
189
138
  }
190
139
  case "trace": {
@@ -200,11 +149,12 @@ async function main() {
200
149
  return behavioralMain(subArgs);
201
150
  }
202
151
  case "world": {
203
- const { main: worldMain } = await import("../world-H5WVURKU.js");
152
+ const { main: worldMain } = await import("../world-O4HTQPDP.js");
204
153
  return worldMain(subArgs);
205
154
  }
206
155
  case "derive": {
207
- const { main: deriveMain } = await import("../derive-5LOMN7GO.js");
156
+ process.stderr.write("\x1B[2mNote: `neuroverse derive` is included in `neuroverse build`. Consider using `neuroverse build` for the combined derive + compile step.\x1B[0m\n");
157
+ const { main: deriveMain } = await import("../derive-7Y7YWVLU.js");
208
158
  return deriveMain(subArgs);
209
159
  }
210
160
  case "decision-flow": {
@@ -212,7 +162,7 @@ async function main() {
212
162
  return decisionFlowMain(subArgs);
213
163
  }
214
164
  case "equity-penalties": {
215
- const { main: equityPenaltiesMain } = await import("../equity-penalties-PYCJ3Q4U.js");
165
+ const { main: equityPenaltiesMain } = await import("../equity-penalties-CCO3GVHS.js");
216
166
  return equityPenaltiesMain(subArgs);
217
167
  }
218
168
  case "keygen": {
@@ -232,17 +182,26 @@ async function main() {
232
182
  return migrateMain(subArgs);
233
183
  }
234
184
  case "configure-ai": {
235
- const { main: configureAiMain } = await import("../configure-ai-5MP5DWTT.js");
185
+ const { main: configureAiMain } = await import("../configure-ai-LL3VAPQW.js");
236
186
  return configureAiMain(subArgs);
237
187
  }
238
188
  case "configure-world": {
189
+ process.stderr.write("\x1B[2mNote: For behavioral models, use `neuroverse worldmodel init` instead. `configure-world` is the interactive wizard for .nv-world.md files.\x1B[0m\n");
239
190
  const { main: configureWorldMain } = await import("../configure-world-XU2COHOZ.js");
240
191
  return configureWorldMain(subArgs);
241
192
  }
242
193
  case "lens": {
243
- const { main: lensMain } = await import("../lens-NFGZHD76.js");
194
+ const { main: lensMain } = await import("../lens-TLDZQXBI.js");
244
195
  return lensMain(subArgs);
245
196
  }
197
+ case "worldmodel": {
198
+ const { main: worldmodelMain } = await import("./worldmodel.js");
199
+ return worldmodelMain(subArgs);
200
+ }
201
+ case "radiant": {
202
+ const { main: radiantMain } = await import("./radiant.js");
203
+ return radiantMain(subArgs);
204
+ }
246
205
  case "--help":
247
206
  case "-h":
248
207
  case "help":
package/dist/cli/plan.js CHANGED
@@ -100,7 +100,7 @@ async function checkCommand(args) {
100
100
  }
101
101
  const worldPath = parseArg(args, "--world");
102
102
  if (worldPath) {
103
- const { loadWorld } = await import("../world-loader-J47PCPDZ.js");
103
+ const { loadWorld } = await import("../world-loader-YTYFOP7D.js");
104
104
  const { evaluateGuard } = await import("../engine/guard-engine.js");
105
105
  const world = await loadWorld(worldPath);
106
106
  const verdict2 = evaluateGuard(event, world, { plan });