anima-cli 1.0.0 → 1.0.2
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 +9 -0
- package/package.json +28 -6
- package/src/exporter.js +14 -2
package/README.md
CHANGED
|
@@ -9,3 +9,12 @@ anima export <name> --format prompt # emite fragmento de system-prompt listo p
|
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
Motor: `@af199/anima-core` (7 dimensiones E/T/A/C/G/P/rho, RNG determinista). Trazabilidad: `@af199/anima-trace`.
|
|
12
|
+
|
|
13
|
+
## Known behavior: dimension saturation under high-intensity presets
|
|
14
|
+
|
|
15
|
+
Under sustained `clinical-crisis` or `chaotic` signal presets over several turns, some dimensions
|
|
16
|
+
(commonly `A` anxiety and `rho` fantasy rigidity) can drive to their floor (0) or ceiling (1) rather
|
|
17
|
+
than settling mid-range. This is the archetype's update equations behaving as designed, not a bug —
|
|
18
|
+
`anima verify` will confirm the trajectory is reproducible either way. If you want more gradual,
|
|
19
|
+
mid-range trajectories for a profile, use the `calm` preset or fewer turns.
|
|
20
|
+
|
package/package.json
CHANGED
|
@@ -1,17 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "anima-cli",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "",
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "Deterministic psychodynamic profiles for LLM agents — 7-dimensional state, seeded RNG, byte-reproducible traces, exportable to system prompts.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"anima": "./bin/anima.js"
|
|
8
8
|
},
|
|
9
|
+
"files": [
|
|
10
|
+
"bin/",
|
|
11
|
+
"src/",
|
|
12
|
+
"README.md"
|
|
13
|
+
],
|
|
9
14
|
"scripts": {
|
|
10
|
-
"test": "echo \"
|
|
15
|
+
"test": "echo \"no tests yet\" && exit 0"
|
|
11
16
|
},
|
|
12
|
-
"keywords": [
|
|
13
|
-
|
|
14
|
-
|
|
17
|
+
"keywords": [
|
|
18
|
+
"llm",
|
|
19
|
+
"ai-agents",
|
|
20
|
+
"ai-safety",
|
|
21
|
+
"psychodynamic",
|
|
22
|
+
"deterministic",
|
|
23
|
+
"reproducibility",
|
|
24
|
+
"system-prompt",
|
|
25
|
+
"cli"
|
|
26
|
+
],
|
|
27
|
+
"author": "Ariel Fernández",
|
|
28
|
+
"license": "MIT",
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=16"
|
|
31
|
+
},
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "https://github.com/Peroroii/anima-cli.git"
|
|
35
|
+
},
|
|
36
|
+
"homepage": "https://github.com/Peroroii/anima-cli#readme",
|
|
15
37
|
"dependencies": {
|
|
16
38
|
"@af199/anima-core": "^0.2.3",
|
|
17
39
|
"@af199/anima-trace": "^1.0.1",
|
package/src/exporter.js
CHANGED
|
@@ -18,13 +18,25 @@ function finalState(trace) {
|
|
|
18
18
|
function toPrompt(trace, archetype) {
|
|
19
19
|
const S = finalState(trace);
|
|
20
20
|
const lines = Object.keys(DIRECTIVES).map(k => `- ${DIRECTIVES[k](S[k])}`);
|
|
21
|
-
|
|
21
|
+
const saturated = Object.keys(DIRECTIVES).filter(k => S[k] <= 0.02 || S[k] >= 0.98);
|
|
22
|
+
const out = [
|
|
22
23
|
`# ANIMA behavioral profile — archetype: ${archetype}`,
|
|
23
24
|
`Seed: ${trace.run.seed} | trajectory_hash: ${trace.integrity.trajectory_hash.slice(0, 16)}...`,
|
|
24
25
|
'',
|
|
25
26
|
'Apply the following behavioral directives consistently in your responses:',
|
|
26
27
|
...lines,
|
|
27
|
-
]
|
|
28
|
+
];
|
|
29
|
+
if (saturated.length) {
|
|
30
|
+
out.push(
|
|
31
|
+
'',
|
|
32
|
+
`Note: dimension(s) [${saturated.join(', ')}] are saturated (≤0.02 or ≥0.98) at the final turn.`,
|
|
33
|
+
'This is expected under sustained high-intensity signal presets (e.g. clinical-crisis) — the update',
|
|
34
|
+
'equations drive some dimensions to their floor/ceiling rather than settling mid-range. It reflects',
|
|
35
|
+
'the archetype dynamics, not a computation error. Shorter runs or a milder preset (e.g. calm) will',
|
|
36
|
+
'show more gradual trajectories if that is what you need for this profile.'
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
return out.join('\n');
|
|
28
40
|
}
|
|
29
41
|
|
|
30
42
|
function toJSON(trace) {
|