paracosm 0.9.1011 → 0.9.1014
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/README.md
CHANGED
|
@@ -438,7 +438,7 @@ Numbers assume 6 turns, 5 departments, 100 agents, up to 3 events per turn. Forg
|
|
|
438
438
|
|
|
439
439
|
## How a turn runs
|
|
440
440
|
|
|
441
|
-
Director event → Kernel advance (deterministic, seeded) → Department analysis in parallel (with optional runtime tool forging in
|
|
441
|
+
Director event → Kernel advance (deterministic, seeded) → Department analysis in parallel (with optional runtime tool forging in an in-process `node:vm` context; an LLM judge approves each forge) → Commander decision (HEXACO-weighted) → Outcome classification → Kernel effects → Agent reactions → Memory consolidation → Personality drift.
|
|
442
442
|
|
|
443
443
|
Every structured LLM call (director, departments, commander, reactions, verdict) is Zod-validated with retry-with-feedback. Schemas under [`src/runtime/validators/`](src/runtime/validators/). Full per-stage breakdown in [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md).
|
|
444
444
|
|
|
@@ -504,7 +504,7 @@ Paracosm uses [AgentOS](https://agentos.sh/en) for agent orchestration, LLM disp
|
|
|
504
504
|
|------------------------------|-----------------------------------------------------------------------|
|
|
505
505
|
| `agent()` | Commander, department, and Event Director agents |
|
|
506
506
|
| `generateText()` | LLM calls for event generation and tool evaluation |
|
|
507
|
-
| `EmergentCapabilityEngine` | Runtime tool forging in
|
|
507
|
+
| `EmergentCapabilityEngine` | Runtime tool forging in an in-process node:vm context |
|
|
508
508
|
| `EmergentJudge` | LLM-as-judge safety review of forged tools |
|
|
509
509
|
| `WebSearchService` | Multi-provider seed enrichment with Firecrawl, Tavily, Serper, Brave |
|
|
510
510
|
| `AgentMemory` | Per-run citation memory with semantic recall |
|
|
@@ -55,10 +55,10 @@ The kernel is fully deterministic, seeded by Mulberry32 (32-bit PRNG). Given the
|
|
|
55
55
|
When a department agent needs a calculation the codebase doesn't provide, it writes one.
|
|
56
56
|
|
|
57
57
|
- Specialist proposes a tool with Zod-validated input/output schema
|
|
58
|
-
- LLM authors a
|
|
59
|
-
- Code
|
|
60
|
-
-
|
|
61
|
-
-
|
|
58
|
+
- LLM authors a JavaScript body
|
|
59
|
+
- Code runs in an in-process `node:vm` context: 10-second wall-clock limit, heap use reported against a nominal 128 MB budget
|
|
60
|
+
- The forge always rejects code that uses: `eval`, `Function`, `require`, dynamic `import`, `process`, `child_process`, destructive `fs.*`
|
|
61
|
+
- Forged code gets no network, file or `crypto` access: paracosm's ceiling grants none
|
|
62
62
|
- LLM judge reviews output against specialist's stated intent
|
|
63
63
|
- Approved tools land in a discoverable registry; `call_forged_tool` reuses them at tens of tokens vs full forge cost
|
|
64
64
|
- After turn 3, most decisions invoke a previously-forged tool — total run cost flattens
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
{"@type":"Question","name":"How does Paracosm differ from MiroFish, OASIS, and other agent-based modeling stacks?","acceptedAnswer":{"@type":"Answer","text":"MiroFish and OASIS (CAMEL-AI) run open-ended bottom-up social simulations with thousands to one million LLM-driven agents and emit aggregate prediction reports. Paracosm runs a top-down agent swarm: one HEXACO-typed leader, ~5 specialist departments, ~100 personality-typed cells, deterministic per seed. Different scale (~100 vs 1k-1M), direction (top-down vs bottom-up), output (universal forkable RunArtifact vs aggregate forecast). Classical ABM (Mesa, NetLogo, MASON, ABIDES, AnyLogic) is rule-based and largely non-LLM; Paracosm threads LLMs into events while keeping a deterministic kernel for state."}},
|
|
60
60
|
{"@type":"Question","name":"How does a single turn run end-to-end?","acceptedAnswer":{"@type":"Answer","text":"A turn takes 30-90 seconds and runs four phases. (1) Event Director reads world state and prior decisions, generates events that target weak points. (2) Department Analysis: five specialist agents analyze in parallel, can recall research, may forge new computational tools. (3) Commander Decision: the leader weighs department input through their HEXACO profile and emits an action category, parameter set, rationale, and confidence score. (4) Kernel Resolution: the deterministic state machine applies effects, agents react, HEXACO traits drift through leader-pull, role-activation, and outcome-reinforcement. The full per-turn record appends to the RunArtifact."}},
|
|
61
61
|
{"@type":"Question","name":"Is the simulation deterministic? How is replay verified?","acceptedAnswer":{"@type":"Answer","text":"The kernel is fully deterministic, seeded by Mulberry32 (32-bit PRNG). Given the same seed, scenario, and actor profile, agent rosters, lifecycle schedules, promotion sequences, and resource starting values are identical. Divergence between parallel worlds comes entirely from the AI commander's decisions. wm.replay(artifact) re-executes the deterministic between-turn progression hook from each recorded snapshot and compares under canonical JSON: matches=true proves byte-equal-determinism; matches=false names the first divergence path. wm.forkFromArtifact(trunk, atTurn).simulate(altLeader) branches a counterfactual from any captured turn — the CWSM pattern (Kirfel et al, 2025)."}},
|
|
62
|
-
{"@type":"Question","name":"How does runtime tool forging work, and is it safe?","acceptedAnswer":{"@type":"Answer","text":"When a department agent needs a calculation the codebase doesn't provide, it writes one. Specialist proposes a tool with a Zod-validated input/output schema, the LLM authors a
|
|
62
|
+
{"@type":"Question","name":"How does runtime tool forging work, and is it safe?","acceptedAnswer":{"@type":"Answer","text":"When a department agent needs a calculation the codebase doesn't provide, it writes one. Specialist proposes a tool with a Zod-validated input/output schema, the LLM authors a JavaScript body, and the code runs in an in-process node:vm context with a 10-second wall clock, its heap use reported against a nominal 128 MB budget. The forge always rejects code that uses eval, Function, require, dynamic import, process, child_process or destructive fs calls, and paracosm grants forged code no network, file or crypto access. An LLM judge reviews output against the specialist's stated intent — match approves, mismatch rejects. Approved tools land in a discoverable registry; reuse via call_forged_tool costs tens of tokens vs full tokens for a fresh forge. After turn three, most decisions invoke a previously-forged tool and total run cost flattens."}},
|
|
63
63
|
{"@type":"Question","name":"What is the HEXACO personality model and why use it?","acceptedAnswer":{"@type":"Answer","text":"HEXACO is a six-factor framework with extensive cross-cultural validation: Honesty-Humility, Emotionality, Extraversion, Agreeableness, Conscientiousness, Openness to Experience — a six-factor extension of the Big Five with Honesty-Humility split out as a separate axis. Each agent carries six continuous values in [0,1]; values drift across turns through three mechanisms encoded in the kernel: leader-pull, role-activation, outcome-reinforcement. Personality biases which specialists are consulted, which decisions are accepted, and which tools get forged. Source: Ashton & Lee, Personality and Social Psychology Review 11(2), 150-166, 2007 (doi:10.1177/1088868306294907)."}},
|
|
64
64
|
{"@type":"Question","name":"Are leaders locked to human personality?","acceptedAnswer":{"@type":"Answer","text":"No. Paracosm ships a pluggable TraitModel registry with two built-ins: hexaco (human personality) and ai-agent (six axes for AI-system leaders: exploration, verification-rigor, deference, risk-tolerance, transparency, instruction-following). Each model declares its axes, drift table, and prompt cues. Custom models register in a single call. The same agent under two different leaders, on the same seed, becomes a measurably different entity by turn 12."}},
|
|
65
65
|
{"@type":"Question","name":"How does grounded compile work? What sources can I feed in?","acceptedAnswer":{"@type":"Answer","text":"Pass a brief, paper, URL, or JSON draft into the compiler. An LLM extracts topics, facts, and search queries; AgentOS WebSearchService fans out to Firecrawl, Tavily, Serper, and Brave in parallel; results pass through semantic dedup, RRF fusion, and Cohere Rerank v3.5. The resulting KnowledgeBundle ingests into an AgentOS sqlite-backed memory store. Every department analysis can recall semantically and cite the same sources. The orchestrator guarantees provenance: when the LLM omits citations, the research packet is auto-attached. Compile cost is roughly $0.10 and caches to disk by seed signature."}},
|
|
@@ -732,7 +732,7 @@ npm run dashboard <span class="cm"># opens http://localhost:3456</span>
|
|
|
732
732
|
<div class="arch-row" style="border-left:3px solid var(--amber)">
|
|
733
733
|
<svg style="color:var(--amber);width:24px;height:24px" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"/></svg>
|
|
734
734
|
<div class="arch-label" style="color:var(--amber)">Runtime tool forging (AgentOS)</div>
|
|
735
|
-
<div class="arch-desc">When a department needs a decision tool the codebase doesn't have, an LLM writes the function mid-run inside
|
|
735
|
+
<div class="arch-desc">When a department needs a decision tool the codebase doesn't have, an LLM writes the function mid-run inside an in-process <code>node:vm</code> context with a wall-clock limit and no network or file access. A judge LLM reviews safety and correctness; approved tools land in a registry that subsequent turns and other actors pull from. Real examples from prod runs: <code>shelter_priority_score</code>, <code>supply_shortage_severity_score</code>, <code>hurricane_after_action_assessment</code>.</div>
|
|
736
736
|
<div class="arch-tech">node:vm sandbox · EmergentJudge · tool registry</div>
|
|
737
737
|
</div>
|
|
738
738
|
<div class="arch-row" style="border-left:3px solid var(--amber)">
|
|
@@ -842,7 +842,7 @@ npm run dashboard <span class="cm"># opens http://localhost:3456</span>
|
|
|
842
842
|
</article>
|
|
843
843
|
<article class="use-case rv rv-d2">
|
|
844
844
|
<h3>Game design playtesting</h3>
|
|
845
|
-
<p>Generate procedural NPC civilizations and emergent narratives. Forge tools at runtime so departments compute their own balance calculators inside
|
|
845
|
+
<p>Generate procedural NPC civilizations and emergent narratives. Forge tools at runtime so departments compute their own balance calculators inside an in-process node:vm context.</p>
|
|
846
846
|
</article>
|
|
847
847
|
<article class="use-case rv rv-d3">
|
|
848
848
|
<h3>Alignment red-teaming</h3>
|
|
@@ -1288,7 +1288,7 @@ npm run dashboard <span class="cm"># opens http://localhost:3456</span>
|
|
|
1288
1288
|
</div></details>
|
|
1289
1289
|
|
|
1290
1290
|
<details class="faq-item"><summary>How does runtime tool forging work, and is it safe?</summary><div class="faq-body">
|
|
1291
|
-
When a department agent needs a calculation the codebase doesn't provide, it writes one. A medical officer facing a radiation crisis writes a dose calculator. An engineer writes a structural load analyzer. The pipeline: specialist proposes a tool → Zod-validated input/output schema →
|
|
1291
|
+
When a department agent needs a calculation the codebase doesn't provide, it writes one. A medical officer facing a radiation crisis writes a dose calculator. An engineer writes a structural load analyzer. The pipeline: specialist proposes a tool → Zod-validated input/output schema → JavaScript body authored by the LLM → run in an in-process <a href="https://nodejs.org/api/vm.html" target="_blank" rel="noopener"><code>node:vm</code> context</a> with a 10-second wall-clock limit, its heap use reported against a nominal 128 MB budget. The forge always rejects code that uses <code>eval</code>, <code>Function</code>, <code>require</code>, dynamic <code>import</code>, <code>process</code>, <code>child_process</code> or destructive <code>fs.*</code> calls, and paracosm grants forged code no network, file or crypto access. An LLM judge reviews the output against the specialist's stated intent — match approves, mismatch rejects. Approved tools land in a discoverable registry that subsequent turns and other actors pull from. Reuse via <code>call_forged_tool</code> costs tens of tokens; fresh forges cost full LLM tokens for proposal + body + scaffolding + judge. After turn three, most decisions invoke a previously-forged tool and total run cost flattens.
|
|
1292
1292
|
<div class="faq-cite">Implementation: AgentOS <code>EmergentCapabilityEngine</code> + <code>EmergentJudge</code> + <code>ForgeToolMetaTool</code> + <code>CodeSandbox</code>. Preemptive limits via <code>isolated-vm</code> are queued for the hosted multi-tenant tier.</div>
|
|
1293
1293
|
</div></details>
|
|
1294
1294
|
|
|
@@ -45,7 +45,7 @@ export class EffectRegistry {
|
|
|
45
45
|
if (tm) {
|
|
46
46
|
const forgeCost = tm.newToolsThisEvent + tm.forgeFailures;
|
|
47
47
|
if (forgeCost > 0) {
|
|
48
|
-
// Power: every forged tool runs in
|
|
48
|
+
// Power: every forged tool runs in an in-process node:vm context.
|
|
49
49
|
if (deltas.powerKw !== undefined || base.powerKw !== undefined) {
|
|
50
50
|
deltas.powerKw = (deltas.powerKw ?? 0) - forgeCost * 1.2;
|
|
51
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effects.js","sourceRoot":"","sources":["../../../src/engine/registries/effects.ts"],"names":[],"mappings":"AAGA,MAAM,mBAAmB,GAAgC;IACvD,aAAa,EAAE,GAAG;IAClB,aAAa,EAAE,CAAC,GAAG;IACnB,oBAAoB,EAAE,GAAG;IACzB,oBAAoB,EAAE,CAAC,GAAG;CAC3B,CAAC;AAwBF,MAAM,OAAO,cAAc;IACjB,OAAO,CAAyC;IAChD,QAAQ,CAAyB;IAEzC,YACE,eAAuD,EACvD,WAAmC,EAAE,MAAM,EAAE,IAAI,EAAE;QAEnD,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxD,CAAC;IAED,YAAY,CACV,QAAgB,EAChB,OAAoB,EACpB,SAA2B;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,kEAAkE;QAClE,iEAAiE;QACjE,eAAe;QACf,oDAAoD;QACpD,oEAAoE;QACpE,mEAAmE;QACnE,oEAAoE;QACpE,kEAAkE;QAClE,mCAAmC;QACnC,MAAM,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC;QACnC,MAAM,SAAS,GAAG,EAAE;YAClB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EACzB,EAAE,CAAC,iBAAiB,GAAG,IAAI;kBACzB,EAAE,CAAC,mBAAmB,GAAG,IAAI;kBAC7B,EAAE,CAAC,aAAa,GAAG,IAAI;kBACvB,CAAC,EAAE,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3E,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC;QAEN,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC,gBAAgB,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;YAC5F,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC5C,CAAC;QAED,qEAAqE;QACrE,gEAAgE;QAChE,qEAAqE;QACrE,gDAAgD;QAChD,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,SAAS,GAAG,EAAE,CAAC,iBAAiB,GAAG,EAAE,CAAC,aAAa,CAAC;YAC1D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB
|
|
1
|
+
{"version":3,"file":"effects.js","sourceRoot":"","sources":["../../../src/engine/registries/effects.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "paracosm",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.1014",
|
|
4
4
|
"description": "Agent swarm simulation for structured world modeling with LLMs. Multi-agent worlds with HEXACO personalities, deterministic kernels, runtime tool forging, and reproducible forkable RunArtifacts. Built on AgentOS.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"leader:b": "npx tsx src/cli/run-b.ts"
|
|
87
87
|
},
|
|
88
88
|
"dependencies": {
|
|
89
|
-
"@framers/agentos": "^0.12.
|
|
89
|
+
"@framers/agentos": "^0.12.7",
|
|
90
90
|
"@framers/sql-storage-adapter": "^0.6.9",
|
|
91
91
|
"better-sqlite3": "^12.9.0",
|
|
92
92
|
"resend": "^6.32.0",
|