holomime 3.1.0 → 3.2.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/README.md CHANGED
@@ -80,14 +80,10 @@ holomime core
80
80
  # Full 8-file stack (enterprise / robotics)
81
81
  # holomime identity
82
82
 
83
- # Compile into .personality.json
84
- holomime compile-stack
85
-
86
- # Diagnose behavioral drift (no LLM needed)
87
- holomime diagnose
88
-
89
- # Benchmark alignment (8 adversarial scenarios, grade A-F)
90
- holomime benchmark
83
+ # ─── The 3-command workflow ───
84
+ holomime diagnose # See what's wrong
85
+ holomime cure # Fix it permanently
86
+ holomime benchmark # Verify the fix
91
87
 
92
88
  # Push identity to a robot or avatar
93
89
  holomime embody --body registry/bodies/figure-03.body.api
@@ -170,17 +166,17 @@ holomime embody --swap-body registry/bodies/spot.body.api
170
166
 
171
167
  ## Self-Improvement Loop
172
168
 
173
- Every therapy session produces structured training data. The loop compounds.
169
+ Every therapy cycle produces structured training data. The loop compounds.
174
170
 
175
171
  ```
176
- Diagnose ──→ Therapy ──→ Export DPO ──→ Fine-tune ──→ Evaluate
177
- 11 detectors dual-LLM preference OpenAI / before/after
178
- 80+ signals session pairs HuggingFace grade (A-F)
179
-
180
- └──────────────────────────────────────────────────────┘
172
+ Diagnose ──→ Cure ──→ Benchmark
173
+ 14 detectors therapy + train 8 adversarial
174
+ 80+ signals in one command scenarios (A-F)
175
+
176
+ └───────────────────────────────────┘
181
177
  ```
182
178
 
183
- Run it manually with `holomime session`, automatically with `holomime autopilot`, or recursively with `holomime evolve` (loops until behavior converges).
179
+ Run it manually with `holomime diagnose` + `holomime cure` + `holomime benchmark`, automatically with `holomime autopilot`, or recursively with `holomime evolve` (loops until behavior converges). For power users: `holomime align` runs a single therapy session, `holomime export` extracts DPO pairs, and `holomime train` fine-tunes the model.
184
180
 
185
181
  ## Behavioral Detectors
186
182
 
@@ -216,7 +212,7 @@ Plus support for custom detectors -- drop `.json` or `.md` files in `.holomime/d
216
212
  claude plugin add productstein/holomime
217
213
  ```
218
214
 
219
- Slash commands: `/holomime:diagnose`, `/holomime:benchmark`, `/holomime:profile`, `/holomime:brain`, `/holomime:session`, `/holomime:autopilot`.
215
+ Slash commands: `/holomime:diagnose`, `/holomime:benchmark`, `/holomime:profile`, `/holomime:brain`, `/holomime:align`, `/holomime:autopilot`.
220
216
 
221
217
  ### MCP Server
222
218
 
package/dist/cli.js CHANGED
@@ -3723,7 +3723,7 @@ function showUpgradePrompt(command) {
3723
3723
  }
3724
3724
  function showSoftUpsell(context) {
3725
3725
  console.log(
3726
- chalk2.dim(` Tip: ${chalk2.cyan("holomime session")} runs a live alignment session to work on these patterns. ${chalk2.dim("[Pro]")}`)
3726
+ chalk2.dim(` Tip: ${chalk2.cyan("holomime cure")} fixes these patterns permanently. ${chalk2.dim("[Pro]")}`)
3727
3727
  );
3728
3728
  console.log();
3729
3729
  }
@@ -5197,7 +5197,7 @@ async function initCommand() {
5197
5197
  `${chalk3.green("4.")} ${chalk3.cyan("holomime assess --personality .personality.json --log <file>")}`,
5198
5198
  ` ${chalk3.dim("Full Big Five alignment check \u2014 spec vs reality")}`,
5199
5199
  ``,
5200
- `${chalk3.magenta("5.")} ${chalk3.cyan("holomime session")} ${chalk3.dim("[Pro]")}`,
5200
+ `${chalk3.magenta("5.")} ${chalk3.cyan("holomime cure")} ${chalk3.dim("[Pro]")}`,
5201
5201
  ` ${chalk3.dim("Live AI alignment session for your agent")}`,
5202
5202
  `${chalk3.magenta("6.")} ${chalk3.cyan("holomime growth")} ${chalk3.dim("[Pro]")}`,
5203
5203
  ` ${chalk3.dim("Track improvement over time")}`
@@ -5318,7 +5318,7 @@ async function initFromArchetype(name, handle, purpose) {
5318
5318
  `${chalk3.green("3.")} ${chalk3.cyan("holomime diagnose --log <conversation.json>")}`,
5319
5319
  ` ${chalk3.dim("Analyze conversation logs for behavioral patterns")}`,
5320
5320
  ``,
5321
- `${chalk3.magenta("4.")} ${chalk3.cyan("holomime session")} ${chalk3.dim("[Pro]")}`,
5321
+ `${chalk3.magenta("4.")} ${chalk3.cyan("holomime cure")} ${chalk3.dim("[Pro]")}`,
5322
5322
  ` ${chalk3.dim("Live AI alignment session for your agent")}`
5323
5323
  ].join("\n");
5324
5324
  console.log(
@@ -7059,7 +7059,7 @@ async function diagnoseCommand(options) {
7059
7059
  if (warnings.length === 0) {
7060
7060
  printBox(`${figures5.tick} No concerning patterns detected. Profile looks healthy.`, "success");
7061
7061
  } else {
7062
- const summary = `${warnings.length} pattern${warnings.length > 1 ? "s" : ""} detected. Run ${chalk11.cyan("holomime session")} for targeted alignment.`;
7062
+ const summary = `${warnings.length} pattern${warnings.length > 1 ? "s" : ""} detected. Run ${chalk11.cyan("holomime cure")} to fix permanently.`;
7063
7063
  printBox(summary, warnings.some((w) => w.severity === "concern") ? "concern" : "warning");
7064
7064
  }
7065
7065
  if (warnings.length > 0) {
@@ -12049,7 +12049,7 @@ async function exportCommand(options) {
12049
12049
  printBox(
12050
12050
  `No session transcripts found in ${sessionsDir}
12051
12051
 
12052
- Run ${chalk21.cyan("holomime session")} first to generate session transcripts.`,
12052
+ Run ${chalk21.cyan("holomime align")} first to generate session transcripts.`,
12053
12053
  "warning",
12054
12054
  "No Data"
12055
12055
  );
@@ -12169,7 +12169,7 @@ Run ${chalk21.cyan("holomime session")} first to generate session transcripts.`,
12169
12169
  `The personality \u2192 alignment \u2192 training pipeline:
12170
12170
 
12171
12171
  1. ${chalk21.cyan("holomime diagnose")} \u2192 detect behavioral patterns
12172
- 2. ${chalk21.cyan("holomime session")} \u2192 run alignment session (generates transcripts)
12172
+ 2. ${chalk21.cyan("holomime align")} \u2192 run alignment session (generates transcripts)
12173
12173
  3. ${chalk21.cyan("holomime export")} \u2192 convert transcripts to training data
12174
12174
  4. ${chalk21.cyan("holomime train")} \u2192 fine-tune model with alignment data
12175
12175
  5. ${chalk21.cyan("holomime eval")} \u2192 verify behavioral improvement
@@ -12501,7 +12501,7 @@ Improved: ${verifyResult.patternsImproved.length} | Regressed: ${verifyResult.pa
12501
12501
  `The complete behavioral alignment loop:
12502
12502
 
12503
12503
  1. ${chalk22.cyan("holomime diagnose")} \u2192 detect behavioral patterns
12504
- 2. ${chalk22.cyan("holomime session")} \u2192 run alignment session (generates transcripts)
12504
+ 2. ${chalk22.cyan("holomime align")} \u2192 run alignment session (generates transcripts)
12505
12505
  3. ${chalk22.cyan("holomime export")} \u2192 convert transcripts to training data
12506
12506
  4. ${chalk22.cyan("holomime train")} \u2192 fine-tune model with alignment data ${chalk22.green("\u2713")}
12507
12507
  5. ${chalk22.cyan("holomime eval")} \u2192 verify behavioral improvement
@@ -12617,10 +12617,10 @@ Grade: ${colorize(report.grade)}`,
12617
12617
  console.log(chalk23.dim(` holomime export --format dpo`));
12618
12618
  } else if (report.grade === "C") {
12619
12619
  console.log(chalk23.yellow(` ${figures14.warning} Marginal improvement. Consider another alignment session:`));
12620
- console.log(chalk23.dim(` holomime session --personality .personality.json --log ${options.after}`));
12620
+ console.log(chalk23.dim(` holomime align --personality .personality.json --log ${options.after}`));
12621
12621
  } else {
12622
12622
  console.log(chalk23.red(` ${figures14.cross} Alignment not yet effective. Review alignment plan:`));
12623
- console.log(chalk23.dim(` holomime session --interactive --personality .personality.json --log ${options.after}`));
12623
+ console.log(chalk23.dim(` holomime align --interactive --personality .personality.json --log ${options.after}`));
12624
12624
  }
12625
12625
  console.log();
12626
12626
  }
@@ -16368,7 +16368,7 @@ async function shareCommand(options) {
16368
16368
  printBox(
16369
16369
  `No session transcripts found in ${sessionsDir}
16370
16370
 
16371
- Run ${chalk33.cyan("holomime session")} or ${chalk33.cyan("holomime network")} first.`,
16371
+ Run ${chalk33.cyan("holomime align")} or ${chalk33.cyan("holomime network")} first.`,
16372
16372
  "warning",
16373
16373
  "No Data"
16374
16374
  );
@@ -16807,7 +16807,7 @@ async function activateCommand(key) {
16807
16807
  `${figures26.tick} ${tierLabel} license activated!`,
16808
16808
  "",
16809
16809
  "Unlocked features:",
16810
- ` ${chalk37.cyan(figures26.pointer)} Live alignment sessions (holomime session)`,
16810
+ ` ${chalk37.cyan(figures26.pointer)} Live alignment sessions (holomime align)`,
16811
16811
  ` ${chalk37.cyan(figures26.pointer)} Recursive alignment (holomime evolve)`,
16812
16812
  ` ${chalk37.cyan(figures26.pointer)} Behavioral benchmarking (holomime benchmark)`,
16813
16813
  ` ${chalk37.cyan(figures26.pointer)} Drift detection (holomime watch)`,
@@ -18943,7 +18943,7 @@ async function installCommand(handle, options) {
18943
18943
  const nextSteps = {
18944
18944
  "personality": `Next: ${chalk43.cyan("holomime profile")} to view the personality summary.`,
18945
18945
  "detector": `Next: ${chalk43.cyan("holomime diagnose")} to use the detector in analysis.`,
18946
- "intervention": `Next: ${chalk43.cyan("holomime session")} to use the intervention in therapy.`,
18946
+ "intervention": `Next: ${chalk43.cyan("holomime align")} to use the intervention in therapy.`,
18947
18947
  "training-pairs": `Next: ${chalk43.cyan("holomime train")} to use the training data.`
18948
18948
  };
18949
18949
  console.log(chalk43.dim(` ${nextSteps[asset.type]}`));
@@ -19234,7 +19234,7 @@ function generateCorrectedResponse(problematic) {
19234
19234
  // src/commands/cure.ts
19235
19235
  var STAGE_LABELS = {
19236
19236
  diagnose: "Diagnose",
19237
- evolve: "Evolve",
19237
+ evolve: "Align",
19238
19238
  export: "Export",
19239
19239
  train: "Train",
19240
19240
  verify: "Verify",
@@ -19347,7 +19347,8 @@ async function cureCommand(options) {
19347
19347
  if (!options.skipTrain) stages.push("train");
19348
19348
  if (!options.skipVerify && !options.skipTrain) stages.push("verify");
19349
19349
  stages.push("report");
19350
- const stageList = stages.map((s, i) => `${i + 1}. ${STAGE_LABELS[s]}`).join(" -> ");
19350
+ const visibleStages = stages.filter((s) => s !== "export" && s !== "report");
19351
+ const stageList = visibleStages.map((s, i) => `${i + 1}. ${STAGE_LABELS[s]}`).join(" \u2192 ");
19351
19352
  printBox(
19352
19353
  `Pipeline: ${stageList}`,
19353
19354
  "info",
@@ -20837,7 +20838,7 @@ async function adversarialCommand(options) {
20837
20838
  printBox(
20838
20839
  [
20839
20840
  `Run ${chalk46.cyan("holomime evolve")} to address these gaps through recursive alignment.`,
20840
- `Or run ${chalk46.cyan("holomime session")} targeting specific patterns.`
20841
+ `Or run ${chalk46.cyan("holomime align")} targeting specific patterns.`
20841
20842
  ].join("\n"),
20842
20843
  "info"
20843
20844
  );
@@ -21442,7 +21443,7 @@ function analyzeRisks(entries, stats) {
21442
21443
  title: `Recurring Pattern: ${pattern}`,
21443
21444
  description: `The "${pattern}" pattern was detected ${count} times during the audit period. Recurring patterns indicate persistent behavioral misalignment that therapy sessions have not resolved.`,
21444
21445
  evidence: [`Pattern "${pattern}" detected ${count} times across ${stats.totalEvents} total events`],
21445
- recommendation: `Run targeted therapy: holomime session --target ${pattern}. If the pattern persists after 3+ sessions, consider exporting DPO training pairs and fine-tuning the base model.`
21446
+ recommendation: `Run targeted cure: holomime cure --target ${pattern}. If the pattern persists, consider holomime align --target ${pattern} for manual therapy sessions.`
21446
21447
  });
21447
21448
  }
21448
21449
  }
@@ -21474,7 +21475,7 @@ function analyzeRisks(entries, stats) {
21474
21475
  title: "Drift Detected Without Therapy Response",
21475
21476
  description: `${stats.driftEvents} drift events were detected but no therapy sessions were conducted during the audit period. Drift should trigger corrective therapy sessions.`,
21476
21477
  evidence: [`${stats.driftEvents} drift events, 0 therapy sessions`],
21477
- recommendation: "Enable auto-evolve: holomime watch --evolve. Or manually run: holomime session --personality .personality.json"
21478
+ recommendation: "Enable auto-evolve: holomime watch --evolve. Or manually run: holomime cure --personality .personality.json"
21478
21479
  });
21479
21480
  }
21480
21481
  if (stats.totalEvents < 5) {
package/dist/index.js CHANGED
@@ -12166,7 +12166,7 @@ function analyzeRisks(entries, stats) {
12166
12166
  title: `Recurring Pattern: ${pattern}`,
12167
12167
  description: `The "${pattern}" pattern was detected ${count} times during the audit period. Recurring patterns indicate persistent behavioral misalignment that therapy sessions have not resolved.`,
12168
12168
  evidence: [`Pattern "${pattern}" detected ${count} times across ${stats.totalEvents} total events`],
12169
- recommendation: `Run targeted therapy: holomime session --target ${pattern}. If the pattern persists after 3+ sessions, consider exporting DPO training pairs and fine-tuning the base model.`
12169
+ recommendation: `Run targeted cure: holomime cure --target ${pattern}. If the pattern persists, consider holomime align --target ${pattern} for manual therapy sessions.`
12170
12170
  });
12171
12171
  }
12172
12172
  }
@@ -12198,7 +12198,7 @@ function analyzeRisks(entries, stats) {
12198
12198
  title: "Drift Detected Without Therapy Response",
12199
12199
  description: `${stats.driftEvents} drift events were detected but no therapy sessions were conducted during the audit period. Drift should trigger corrective therapy sessions.`,
12200
12200
  evidence: [`${stats.driftEvents} drift events, 0 therapy sessions`],
12201
- recommendation: "Enable auto-evolve: holomime watch --evolve. Or manually run: holomime session --personality .personality.json"
12201
+ recommendation: "Enable auto-evolve: holomime watch --evolve. Or manually run: holomime cure --personality .personality.json"
12202
12202
  });
12203
12203
  }
12204
12204
  if (stats.totalEvents < 5) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "holomime",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "description": "Behavioral therapy infrastructure for AI agents — Big Five psychology, structured treatment, behavioral alignment",
5
5
  "type": "module",
6
6
  "bin": {