soulbridge 0.0.19 → 0.0.20

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.
@@ -134,7 +134,9 @@ export class Soul {
134
134
  let extractedBy = drafts.length > 0 ? 'rules' : 'none';
135
135
  // A model that says "nothing to keep" and a model that answers garbage used
136
136
  // to be indistinguishable; keep them apart for measurement.
137
- let llmOutcome = 'off';
137
+ let llmOutcome = this.llm
138
+ ? 'skipped-rules'
139
+ : 'off';
138
140
  if (drafts.length === 0 && turn.role === 'user' && this.llm) {
139
141
  if (turn.content.length <= this.llmMaxChars) {
140
142
  try {
@@ -155,7 +157,7 @@ export class Soul {
155
157
  }
156
158
  }
157
159
  else {
158
- llmOutcome = 'skipped';
160
+ llmOutcome = 'skipped-long';
159
161
  }
160
162
  }
161
163
  // Deterministic write gates: shape -> semantics -> per-turn budget. Whatever
@@ -133,7 +133,7 @@ export interface ObserveResult {
133
133
  * What the optional model did, kept apart from `extractedBy` because a null
134
134
  * answer and a broken answer used to look identical in the logs.
135
135
  */
136
- llmOutcome: 'off' | 'skipped' | 'stored' | 'null' | 'failed';
136
+ llmOutcome: 'off' | 'skipped-rules' | 'skipped-long' | 'stored' | 'null' | 'failed';
137
137
  emotion: Emotion;
138
138
  /** Analysis of the user turn. Empty signal for assistant turns or on failure. */
139
139
  affect: AffectSignal;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "soulbridge",
3
- "version": "0.0.19",
3
+ "version": "0.0.20",
4
4
  "description": "A personality layer for any agent: continuity, forgetting, and growth across tools.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",