omnius 1.0.690 → 1.0.691

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.
@@ -33864,6 +33864,44 @@
33864
33864
  }
33865
33865
  ]
33866
33866
  },
33867
+ {
33868
+ "id": "guide.work-orders-telegram-dmn-wo-22-dmn-outreach-and-learning-uppercase",
33869
+ "kind": "guide",
33870
+ "title": "WO-22: DMN outreach, DM sharing, and outcome learning",
33871
+ "summary": "On 2026-09-03 at 17:07 PDT the bot posted in the OMNIUS group without being addressed. The operator asked whether this was self-induced reflection.",
33872
+ "keywords": [
33873
+ "work",
33874
+ "orders",
33875
+ "telegram",
33876
+ "dmn",
33877
+ "WO",
33878
+ "22",
33879
+ "dmn",
33880
+ "outreach",
33881
+ "and",
33882
+ "learning",
33883
+ "md"
33884
+ ],
33885
+ "maturity": "internal",
33886
+ "audiences": [
33887
+ "maintainer",
33888
+ "large-context-agent"
33889
+ ],
33890
+ "layer": "documentation",
33891
+ "interfaces": [
33892
+ {
33893
+ "type": "file",
33894
+ "target": "docs/work-orders/telegram-dmn/WO-22-dmn-outreach-and-learning.md"
33895
+ }
33896
+ ],
33897
+ "references": [
33898
+ {
33899
+ "type": "documentation",
33900
+ "target": "docs/work-orders/telegram-dmn/WO-22-dmn-outreach-and-learning.md",
33901
+ "relation": "canonical-artifact"
33902
+ }
33903
+ ]
33904
+ },
33867
33905
  {
33868
33906
  "id": "guide.work-orders-telegram-dropbear-context-rca-workorder",
33869
33907
  "kind": "guide",
package/docs/DISCOVERY.md CHANGED
@@ -560,6 +560,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
560
560
  | `guide.work-orders-runtime-health-remediation-wo-19-clean-build-reproducibility-uppercase` | WO-19: Clean Build and Optional-Dependency Reproducibility | Status: deterministic acceptance complete Risk: medium Depends on: WO-00 |
561
561
  | `guide.work-orders-runtime-health-remediation-wo-20-exact-session-continuation-uppercase` | WO-20: Exact session continuation across exit and restart | On 2026-09-03, the telegramtest TUI displayed the latest pentest task during startup, but the first restored model context combined a completed breach.py handoff with an unrelated, older page.tsx todo tree. The user then entered continue, and Omnius continued the stale tree instead of the task that was active before /quit. |
562
562
  | `guide.work-orders-runtime-health-remediation-wo-21-task-convergence-and-todo-scope-uppercase` | WO-21: Task convergence and todo scope | On 2026-09-03, a user reported that Omnius remained at task 2/8 for about 40 turns. The report did not include a screenshot or run artifact, so the exact label remains unverified. Omnius has two similar counters: |
563
+ | `guide.work-orders-telegram-dmn-wo-22-dmn-outreach-and-learning-uppercase` | WO-22: DMN outreach, DM sharing, and outcome learning | On 2026-09-03 at 17:07 PDT the bot posted in the OMNIUS group without being addressed. The operator asked whether this was self-induced reflection. |
563
564
  | `guide.work-orders-telegram-dropbear-context-rca-workorder` | Telegram Dropbear Context Engineering RCA Work Order | Observed run: /home/roko/Documents/Projects/Adjacent/telegramtest/.omnius, run id 1782873796963-i5r7mv. |
564
565
  | `guide.work-orders-wo-am-gaps-uppercase` | Associative Memory Gap Work Orders | Generated: 2026-04-13 Source: Deep audit of multimodal associative memory systems Status: READY FOR IMPLEMENTATION |
565
566
  | `guide.work-orders-world-class-memory-compiler-readme-uppercase` | World-Class Memory Compiler Program | Status: active implementation program Owner: Omnius orchestration and memory packages Last updated: 2026-07-13 |
@@ -0,0 +1,85 @@
1
+ # WO-22: DMN outreach, DM sharing, and outcome learning
2
+
3
+ ## Incident
4
+
5
+ On 2026-09-03 at 17:07 PDT the bot posted in the OMNIUS group without being
6
+ addressed. The operator asked whether this was self-induced reflection.
7
+
8
+ It was not. The post was reactive to two inbound messages (5680, 5681) and
9
+ authorized as `direct_turn`. The stated router reason — *"Sender reacts to
10
+ bot's recent output in active thread"* — was false: the cited self-bearing
11
+ evidence was `turn:5678`, a bot reply from **09-01**, to a different user,
12
+ about a different topic.
13
+
14
+ Two independent defects produced that:
15
+
16
+ - `buildTelegramInteractionEvidencePacket` selects causal history with
17
+ `.slice(-8)` and **no time bound**. In a quiet room the last 8 messages
18
+ reach back days.
19
+ - The `direct_turn` validator requires a cited self-bearing evidence entry but
20
+ checks only *kind* and *actor*, never *recency*. A two-day-old turn satisfied
21
+ it.
22
+
23
+ Investigating that surfaced the larger finding below.
24
+
25
+ ## The real finding: reflection could not speak
26
+
27
+ Omnius reflects constantly — **465 daydream artifacts on 2026-09-03 alone** —
28
+ and roughly two thirds of recent artifacts proposed a same-group follow-up.
29
+ None were ever sent. Across 639 committed routing decisions in this workspace,
30
+ `social_intervention` fired exactly **once**; the other 432 replies were all
31
+ `direct_turn`.
32
+
33
+ Root cause was ID plumbing, not judgement:
34
+
35
+ - The extraction schema advertised `reply_to_message_id: 1` and
36
+ `source_message_ids: [1]` as examples. **78.6% of live follow-up proposals
37
+ echoed a placeholder-like id**, `1` being the single most common value.
38
+ - Those ids never matched real Telegram ids, so `candidateMessageIds` was
39
+ almost always empty.
40
+ - The discretion prompt then instructed the model to *"cite at least one
41
+ current eligible Telegram message ID"* **without ever listing which ids were
42
+ eligible**, while the host discarded any follow-up citing an id outside that
43
+ undisclosed set.
44
+
45
+ Silence was the only reachable outcome.
46
+
47
+ ## Changes
48
+
49
+ | Area | Change |
50
+ | --- | --- |
51
+ | Extraction prompt | Schema example ids replaced with non-numeric sentinels; explicit rule that ids must appear literally in the corpus; the valid id set is now stated. |
52
+ | Extraction result | `runTelegramReflectionExtraction` drops any `source_message_ids` / `reply_to_message_id` absent from the corpus, so a copied or hallucinated anchor cannot reach the follow-up gate. |
53
+ | Discretion prompt | Now supplies `Eligible evidence message IDs`, the exact set the host validates against. |
54
+ | DM reflection | Idle reflection and outreach admitted for private chats **only after that chat opts in** via `/reflect auto on`. Default remains off. |
55
+ | Outcome learning | New `telegram-outreach-outcomes.ts` records every autonomous send and settles it as engaged / ignored from subsequent room traffic. Settled history is fed back into the next discretion call. |
56
+
57
+ ## Design notes
58
+
59
+ - **DMs are opt-in, not default.** A DM is one person's inbox. The capability
60
+ exists; the host does not enable it on the recipient's behalf.
61
+ - **Silence is recorded as a real signal.** An unanswered outreach settles to
62
+ `engaged: false` after 45 minutes rather than staying unknown, so the
63
+ calibration block cannot mistake absence of data for success.
64
+ - **The bot's own traffic never counts as engagement.** Only a human message
65
+ inside the window closes an outcome positively.
66
+ - **Calibration is neutral before it is negative.** With no settled history the
67
+ prompt says so and asks the model to judge on merit; it raises the bar only
68
+ once every settled attempt was ignored.
69
+
70
+ ## Not addressed
71
+
72
+ The evidence-packet recency defect that produced the original false
73
+ `direct_turn` remains open. Bounding causal history by time would push honest
74
+ unaddressed interjections onto the `social_intervention` path, where they are
75
+ visible and tunable — but `social_intervention` currently has **no validation
76
+ rules at all** (compare five checks for `direct_turn`). Both should be done
77
+ together so interjection becomes a governed capability rather than an
78
+ unvalidated fallback.
79
+
80
+ ## Verification
81
+
82
+ CLI suite: 2442 passed, 0 failed (261 files). Typecheck clean; `pnpm -r build`
83
+ clean. 14 new tests covering id anchoring, corpus allow-list enforcement,
84
+ outcome settlement, calibration wording, torn-ledger recovery, and bridge
85
+ wiring.
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.690",
3
+ "version": "1.0.691",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omnius",
9
- "version": "1.0.690",
9
+ "version": "1.0.691",
10
10
  "bundleDependencies": [
11
11
  "image-to-ascii"
12
12
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.690",
3
+ "version": "1.0.691",
4
4
  "description": "AI coding agent powered by open-source models (Ollama/vLLM) — interactive TUI with agentic tool-calling loop",
5
5
  "type": "module",
6
6
  "main": "./dist/library.js",