@joshuaswarren/openclaw-engram 9.3.5 → 9.3.6

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.
@@ -1922,6 +1922,48 @@
1922
1922
  "default": true,
1923
1923
  "description": "Automatically supersede contradicted memories"
1924
1924
  },
1925
+ "contradictionScan": {
1926
+ "type": "object",
1927
+ "description": "Configuration for the nightly contradiction-scan cron (issue #520)",
1928
+ "properties": {
1929
+ "enabled": {
1930
+ "type": "boolean",
1931
+ "default": false,
1932
+ "description": "Enable the nightly contradiction scan cron (disabled by default per rule 48)"
1933
+ },
1934
+ "similarityFloor": {
1935
+ "type": "number",
1936
+ "default": 0.82,
1937
+ "minimum": 0,
1938
+ "maximum": 1,
1939
+ "description": "Embedding cosine similarity floor for candidate pair generation"
1940
+ },
1941
+ "topicOverlapFloor": {
1942
+ "type": "number",
1943
+ "default": 0.4,
1944
+ "minimum": 0,
1945
+ "maximum": 1,
1946
+ "description": "Minimum topic-token Jaccard overlap for unstructured pairs"
1947
+ },
1948
+ "maxPairsPerRun": {
1949
+ "type": "integer",
1950
+ "default": 500,
1951
+ "minimum": 1,
1952
+ "description": "Cap on candidate pairs evaluated per cron run"
1953
+ },
1954
+ "cooldownDays": {
1955
+ "type": "integer",
1956
+ "default": 14,
1957
+ "minimum": 0,
1958
+ "description": "Cooldown in days. 0 = always re-evaluate."
1959
+ },
1960
+ "autoMergeDuplicates": {
1961
+ "type": "boolean",
1962
+ "default": false,
1963
+ "description": "Auto-flag pairs judged duplicates for dedup (still requires user approval)"
1964
+ }
1965
+ }
1966
+ },
1925
1967
  "temporalSupersessionEnabled": {
1926
1968
  "type": "boolean",
1927
1969
  "default": true,
@@ -1934,8 +1976,8 @@
1934
1976
  },
1935
1977
  "recallDirectAnswerEnabled": {
1936
1978
  "type": "boolean",
1937
- "default": false,
1938
- "description": "When true, recall checks whether a single validated high-trust memory can answer the query before QMD runs (issue #518). Default off until bench validation."
1979
+ "default": true,
1980
+ "description": "When true, recall runs the direct-answer tier in observation mode: annotates LastRecallSnapshot.tierExplain with which tier would have served the query (issue #518). Does not short-circuit the QMD path in the current release."
1939
1981
  },
1940
1982
  "recallDirectAnswerTokenOverlapFloor": {
1941
1983
  "type": "number",
@@ -2387,6 +2429,11 @@
2387
2429
  "default": 15000,
2388
2430
  "description": "Timeout for fast-tier local LLM requests (ms). Lower than primary since fast ops should complete quickly."
2389
2431
  },
2432
+ "localLlmDisableThinking": {
2433
+ "type": "boolean",
2434
+ "default": true,
2435
+ "description": "When true (default), request chain-of-thought / thinking-mode suppression on the main local LLM (issue #548). The `chat_template_kwargs: { enable_thinking: false }` field is only injected when the detected backend is known to support it (LM Studio, vLLM); strict OpenAI-compat backends fail open to avoid the 400-cooldown path. Structured-output tasks like extraction and consolidation gain nothing from reasoning tokens and thinking-capable models (Qwen 3.5, Gemma 4, DeepSeek) often blow the 60s timeout before emitting content. Set to false to restore thinking for narrative tasks. The fast-tier client always disables thinking and is not affected by this flag."
2436
+ },
2390
2437
  "hourlySummaryCronAutoRegister": {
2391
2438
  "type": "boolean",
2392
2439
  "default": false,
@@ -4049,6 +4096,10 @@
4049
4096
  "label": "Auto-Resolve Contradictions",
4050
4097
  "help": "Automatically supersede old memories when contradiction is confirmed"
4051
4098
  },
4099
+ "contradictionScan": {
4100
+ "label": "Contradiction Scan",
4101
+ "help": "Nightly cron that pairs similar memories and flags contradictions for review (issue #520)"
4102
+ },
4052
4103
  "temporalSupersessionEnabled": {
4053
4104
  "label": "Temporal Supersession",
4054
4105
  "help": "Mark older facts superseded when a newer fact writes a conflicting value for the same entityRef + structured attribute (issue #375)"
@@ -4283,6 +4334,11 @@
4283
4334
  "advanced": true,
4284
4335
  "help": "Timeout for fast-tier requests. Lower than primary since fast ops should complete quickly."
4285
4336
  },
4337
+ "localLlmDisableThinking": {
4338
+ "label": "Disable Local LLM Thinking Mode",
4339
+ "advanced": true,
4340
+ "help": "Suppress chain-of-thought reasoning on the main local LLM. Default on — extraction / consolidation are structured-output tasks where thinking is pure latency tax and a common cause of 60s timeouts on Qwen 3.5 / Gemma 4 / DeepSeek. The suppression field (chat_template_kwargs) is only sent when the backend is known to support it (LM Studio, vLLM); strict OpenAI-compat backends fail open. Turn off if you want thinking on narrative tasks. Fast-tier client always disables thinking regardless."
4341
+ },
4286
4342
  "evalHarnessEnabled": {
4287
4343
  "label": "Evaluation Harness",
4288
4344
  "help": "Enable Engram's benchmark/evaluation harness foundation and benchmark-status diagnostics."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@joshuaswarren/openclaw-engram",
3
- "version": "9.3.5",
3
+ "version": "9.3.6",
4
4
  "description": "Deprecated compatibility shim for Engram installs. Re-exports @remnic/plugin-openclaw and forwards engram-access to @remnic/core.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -31,8 +31,8 @@
31
31
  ]
32
32
  },
33
33
  "dependencies": {
34
- "@remnic/plugin-openclaw": "^1.0.6",
35
- "@remnic/core": "^1.0.3"
34
+ "@remnic/core": "^1.1.0",
35
+ "@remnic/plugin-openclaw": "^1.0.7"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "openclaw": ">=2026.4.8"