omnius 1.0.591 → 1.0.592

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.
Files changed (131) hide show
  1. package/.aiwg/addons/omnius-docs/README.md +15 -1
  2. package/.aiwg/addons/omnius-docs/manifest.json +28 -68
  3. package/.aiwg/addons/omnius-docs/skills/agent-failure-recovery/SKILL.md +2 -1
  4. package/.aiwg/addons/omnius-docs/skills/browser-interaction-validation/SKILL.md +2 -1
  5. package/.aiwg/addons/omnius-docs/skills/evidence-directed-delivery/SKILL.md +2 -1
  6. package/.aiwg/addons/omnius-docs/skills/hardware-evidence-audit/SKILL.md +2 -1
  7. package/.aiwg/addons/omnius-docs/skills/omnius-docs/SKILL.md +17 -7
  8. package/.aiwg/addons/omnius-docs/skills/omnius-inference-docs/SKILL.md +27 -0
  9. package/.aiwg/addons/omnius-docs/skills/omnius-integration-docs/SKILL.md +21 -0
  10. package/.aiwg/addons/omnius-docs/skills/omnius-ops-docs/SKILL.md +2 -0
  11. package/.aiwg/addons/omnius-docs/skills/omnius-realtime-docs/SKILL.md +2 -0
  12. package/.aiwg/addons/omnius-docs/skills/omnius-sponsor-docs/SKILL.md +2 -0
  13. package/.aiwg/addons/omnius-docs/skills/omnius-telegram-docs/SKILL.md +2 -0
  14. package/.aiwg/addons/omnius-docs/skills/omnius-tools-docs/SKILL.md +23 -0
  15. package/.aiwg/addons/omnius-docs/skills/omnius-version-compatibility-docs/SKILL.md +23 -0
  16. package/.aiwg/addons/omnius-docs/skills/runtime-provenance-audit/SKILL.md +2 -1
  17. package/.aiwg/addons/omnius-docs/skills/secrets-and-config-audit/SKILL.md +2 -1
  18. package/.aiwg/addons/omnius-docs/skills/test-surface-audit/SKILL.md +2 -1
  19. package/.aiwg/addons/omnius-docs/skills/workspace-reality-audit/SKILL.md +2 -1
  20. package/.aiwg/addons/omnius-rest-docs/README.md +3 -0
  21. package/.aiwg/addons/omnius-rest-docs/manifest.json +27 -20
  22. package/.aiwg/addons/omnius-rest-docs/skills/omnius-rest-docs/SKILL.md +9 -5
  23. package/README.md +36 -0
  24. package/dist/discovery.d.ts +50 -0
  25. package/dist/index.js +5975 -4021
  26. package/dist/library.d.ts +7 -0
  27. package/dist/library.js +950 -0
  28. package/dist/postinstall-daemon.cjs +18 -0
  29. package/dist/providerRegistry.d.ts +80 -0
  30. package/dist/service-version.d.ts +35 -0
  31. package/docs/.vitepress/config.mts +8 -0
  32. package/docs/DISCOVERY.json +20224 -0
  33. package/docs/DISCOVERY.md +648 -0
  34. package/docs/HANDOFF-crl-encoder-decoder-fix.md +129 -0
  35. package/docs/agent-memory/INDEX.md +9 -4
  36. package/docs/agent-memory/index.md +7 -0
  37. package/docs/concept-relational-language.md +869 -0
  38. package/docs/context-management-medium-models-proposal.md +449 -0
  39. package/docs/dedup-false-positive-meta-analysis.md +96 -0
  40. package/docs/discovery/catalog-overrides.json +724 -0
  41. package/docs/duplicate-calls-root-cause-analysis.md +91 -0
  42. package/docs/duplicate-calls-root-cause-deep.md +155 -0
  43. package/docs/ephemeral-skill-pack-small-context.md +57 -0
  44. package/docs/explorations/context-window-todo-association.md +156 -0
  45. package/docs/explorations/todo-association-verify.json +30 -0
  46. package/docs/explorations/verification-ledger.json +45 -0
  47. package/docs/explorations/verify-todo-association.sh +30 -0
  48. package/docs/flowstate.md +806 -0
  49. package/docs/getting-started/install.md +24 -0
  50. package/docs/getting-started/model-providers.md +13 -0
  51. package/docs/guides/agent-integration.md +87 -0
  52. package/docs/guides/bring-your-own-inference.md +126 -0
  53. package/docs/guides/tools-and-web-search.md +95 -0
  54. package/docs/index.md +14 -0
  55. package/docs/longhaul-35b-workorders.md +496 -0
  56. package/docs/memory-integration-analysis.md +303 -0
  57. package/docs/model-capability-awareness-and-multimodal-memory-root-fix.md +799 -0
  58. package/docs/multimodal-identity-memory-implementation.md +76 -0
  59. package/docs/omnius-self-edit-eval-2026-06-10.md +169 -0
  60. package/docs/opencode-agentic-loop-comparison.md +290 -0
  61. package/docs/operations/security-and-remote-access.md +2 -2
  62. package/docs/operations/version-compatibility.md +63 -0
  63. package/docs/proposals/git-progress-tracking-strategy.md +289 -0
  64. package/docs/proposals/opencode-modules/backendAdapter.ts +443 -0
  65. package/docs/proposals/opencode-modules/childSession.ts +288 -0
  66. package/docs/proposals/opencode-modules/compactionAgent.ts +101 -0
  67. package/docs/proposals/opencode-modules/orchestrator.ts +387 -0
  68. package/docs/proposals/opencode-modules/runner.ts +258 -0
  69. package/docs/reference/auth-map.md +87 -196
  70. package/docs/reference/configuration.md +27 -0
  71. package/docs/reference/rest-api.md +7 -0
  72. package/docs/reference/slash-commands.md +125 -2
  73. package/docs/research/_archived/README.md +18 -0
  74. package/docs/research/_archived/context_window_attention_model.py +418 -0
  75. package/docs/research/_archived/context_window_attention_spec.md +55 -0
  76. package/docs/research/_archived/context_window_attention_weights.json +68 -0
  77. package/docs/research/k-splanifolds.pdf +0 -0
  78. package/docs/research/personality-verbosity-control.md +293 -0
  79. package/docs/rest/INDEX.md +7 -0
  80. package/docs/rest/QUICKREF.md +18 -0
  81. package/docs/rest/REST-DOCS-MANIFEST.json +1 -0
  82. package/docs/rest/auth-and-scopes.md +7 -1
  83. package/docs/rest/endpoints/discovery.md +44 -0
  84. package/docs/rest/endpoints/events.md +5 -0
  85. package/docs/rest/endpoints/tools.md +9 -0
  86. package/docs/reviews/adversary-system-review.md +42 -0
  87. package/docs/sana-and-video-generation-integration-plan.md +712 -0
  88. package/docs/session-diary-llm-training-analysis.md +218 -0
  89. package/docs/telegram-dmn-curiosity-outreach-scaffold.md +91 -0
  90. package/docs/telegram-mid-horizon-download-loop-handoff.md +468 -0
  91. package/docs/telegram-reflection-corpus-integration-plan.md +306 -0
  92. package/docs/telegram-unified-tooling-architecture.md +332 -0
  93. package/docs/threat-model.md +868 -0
  94. package/docs/trajectory-grounding.md +160 -0
  95. package/docs/voice-flow-architecture.md +489 -0
  96. package/docs/work-orders/WO-AM-GAPS.md +638 -0
  97. package/docs/work-orders/daemon-hud-ui-overhaul.md +82 -0
  98. package/docs/work-orders/hermes-architecture-deltas/01-public-scrutiny-provenance-control/INDEX.md +21 -0
  99. package/docs/work-orders/hermes-architecture-deltas/01-public-scrutiny-provenance-control/WORKORDER.md +225 -0
  100. package/docs/work-orders/hermes-architecture-deltas/02-context-engine-plugin-boundary/INDEX.md +20 -0
  101. package/docs/work-orders/hermes-architecture-deltas/02-context-engine-plugin-boundary/WORKORDER.md +198 -0
  102. package/docs/work-orders/hermes-architecture-deltas/03-typed-gateway-event-stream/INDEX.md +19 -0
  103. package/docs/work-orders/hermes-architecture-deltas/03-typed-gateway-event-stream/WORKORDER.md +172 -0
  104. package/docs/work-orders/hermes-architecture-deltas/04-task-local-gateway-context/INDEX.md +19 -0
  105. package/docs/work-orders/hermes-architecture-deltas/04-task-local-gateway-context/WORKORDER.md +169 -0
  106. package/docs/work-orders/hermes-architecture-deltas/05-process-lifecycle-monitoring-notifications/INDEX.md +22 -0
  107. package/docs/work-orders/hermes-architecture-deltas/05-process-lifecycle-monitoring-notifications/WORKORDER.md +189 -0
  108. package/docs/work-orders/hermes-architecture-deltas/06-vision-evidence-routing-ladder/INDEX.md +22 -0
  109. package/docs/work-orders/hermes-architecture-deltas/06-vision-evidence-routing-ladder/WORKORDER.md +199 -0
  110. package/docs/work-orders/hermes-architecture-deltas/07-durable-multi-agent-kanban/INDEX.md +20 -0
  111. package/docs/work-orders/hermes-architecture-deltas/07-durable-multi-agent-kanban/WORKORDER.md +174 -0
  112. package/docs/work-orders/hermes-architecture-deltas/08-completion-critic-reconciliation-ledger/INDEX.md +22 -0
  113. package/docs/work-orders/hermes-architecture-deltas/08-completion-critic-reconciliation-ledger/WORKORDER.md +226 -0
  114. package/docs/work-orders/hermes-architecture-deltas/INDEX.md +38 -0
  115. package/docs/work-orders/omnius-context-engineering-behavior-fixes.md +281 -0
  116. package/docs/work-orders/telegram-dropbear-context-rca-workorder.md +202 -0
  117. package/docs/work-orders/world-class-memory-compiler/README.md +162 -0
  118. package/docs/work-orders/world-class-memory-compiler/TRACKER.md +179 -0
  119. package/docs/work-orders/world-class-memory-compiler/WO-01-exact-request-budget.md +79 -0
  120. package/docs/work-orders/world-class-memory-compiler/WO-02-typed-memory-fabric.md +65 -0
  121. package/docs/work-orders/world-class-memory-compiler/WO-03-dependency-working-set.md +55 -0
  122. package/docs/work-orders/world-class-memory-compiler/WO-04-inference-memory-compiler.md +67 -0
  123. package/docs/work-orders/world-class-memory-compiler/WO-05-artifact-fidelity-materialization.md +72 -0
  124. package/docs/work-orders/world-class-memory-compiler/WO-06-temporal-hybrid-retrieval.md +49 -0
  125. package/docs/work-orders/world-class-memory-compiler/WO-07-evaluation-harness.md +45 -0
  126. package/docs/work-orders/world-class-memory-compiler/WO-08-rollout-legacy-removal.md +45 -0
  127. package/docs/x402-remote-inference-plan.md +323 -0
  128. package/npm-shrinkwrap.json +108 -117
  129. package/package.json +7 -6
  130. package/templates/AGENTS.md +6 -0
  131. package/templates/OMNIUS.md +20 -0
@@ -0,0 +1,218 @@
1
+ # Session Diary: LLM Training Alignment Analysis
2
+
3
+ ## Question
4
+
5
+ Is the session diary format what LLMs are trained on, such that it helps system handling?
6
+
7
+ ## Answer: Partially
8
+
9
+ ### What LLMs ARE Trained On (Matches)
10
+
11
+ | Session Diary Feature | LLM Training Data Match |
12
+ |-----------------------|-------------------------|
13
+ | Markdown structure | ✓ Common in docs, READMEs, wikis |
14
+ | Timestamp headers | ✓ Git commits, changelogs |
15
+ | Task descriptions | ✓ GitHub issues, Stack Overflow |
16
+ | File lists | ✓ PR descriptions, commit messages |
17
+ | Summary fields | ✓ Documentation patterns |
18
+
19
+ ### What LLMs Are NOT Trained On (Gaps)
20
+
21
+ | Session Diary Feature | Why It's Novel |
22
+ |-----------------------|----------------|
23
+ | `toolCalls: number` | LLMs don't see tool call counts in training |
24
+ | `toolsUsed: string[]` | Tool names are model-specific, not universal |
25
+ | `completed: boolean` | Binary status is unusual in natural text |
26
+ | `source: "task_complete"` | Internal state tracking, not user-facing |
27
+ | `_dedupeHash` | Implementation detail, not semantic |
28
+
29
+ ## Current Schema (from `omnius-directory.ts:537-564`)
30
+
31
+ ```typescript
32
+ interface SessionContextEntry {
33
+ savedAt: string; // ISO timestamp
34
+ task: string; // What task was being done
35
+ summary: string; // Agent's summary
36
+ filesModified: string[]; // Files touched
37
+ toolCalls: number; // Tool calls completed
38
+ toolsUsed?: string[]; // Tool names used
39
+ provenance?: string; // Path to provenance file
40
+ assistantResponse?: string; // Visible reply
41
+ source?: "task_complete" | "manual" | "api";
42
+ completed: boolean; // Success status
43
+ model: string; // Model used
44
+ sessionId?: string; // Link related entries
45
+ _dedupeHash?: string; // Fast deduplication
46
+ }
47
+ ```
48
+
49
+ ## What Would Make It More LLM-Friendly
50
+
51
+ ### 1. Add Explicit Outcome Field
52
+
53
+ Current: `completed: boolean` (binary)
54
+ Better: `outcome: "success" | "partial" | "failed" | "blocked"`
55
+
56
+ LLMs understand these natural language outcomes better than booleans.
57
+
58
+ ### 2. Add Decision Log
59
+
60
+ ```typescript
61
+ decisions?: Array<{
62
+ decision: string; // What was decided
63
+ reason: string; // Why
64
+ alternatives?: string[]; // What was rejected
65
+ }>
66
+ ```
67
+
68
+ This captures reasoning that LLMs can learn from.
69
+
70
+ ### 3. Add Blockers Field
71
+
72
+ ```typescript
73
+ blockers?: Array<{
74
+ type: "dependency" | "error" | "ambiguity" | "resource";
75
+ description: string;
76
+ resolution?: string;
77
+ }>
78
+ ```
79
+
80
+ LLMs benefit from seeing what blocked progress and how it was resolved.
81
+
82
+ ### 4. Compress Summaries
83
+
84
+ Current: 280 char free-form text
85
+ Better: Structured one-liner
86
+
87
+ ```typescript
88
+ summary: {
89
+ outcome: string; // One sentence result
90
+ keyChange: string; // Most important change
91
+ nextStep?: string; // What's left to do
92
+ }
93
+ ```
94
+
95
+ ### 5. Add Token Efficiency Metrics
96
+
97
+ ```typescript
98
+ metrics?: {
99
+ inputTokens: number;
100
+ outputTokens: number;
101
+ toolCallTokens: number;
102
+ contextWindowUsed: number; // percentage
103
+ }
104
+ ```
105
+
106
+ This helps LLMs understand their own efficiency patterns.
107
+
108
+ ## Proposed Enhanced Schema
109
+
110
+ ```typescript
111
+ interface SessionContextEntryV2 {
112
+ // Core (unchanged)
113
+ savedAt: string;
114
+ task: string;
115
+ model: string;
116
+
117
+ // Enhanced outcome
118
+ outcome: "success" | "partial" | "failed" | "blocked";
119
+ summary: {
120
+ result: string; // ≤100 chars
121
+ keyChange: string; // ≤80 chars
122
+ nextStep?: string; // ≤80 chars
123
+ };
124
+
125
+ // Files (unchanged)
126
+ filesModified: string[];
127
+
128
+ // Tools (enhanced)
129
+ tools: {
130
+ names: string[]; // Tool names used
131
+ calls: number; // Total calls
132
+ failed?: number; // Failed calls
133
+ retries?: number; // Retry count
134
+ };
135
+
136
+ // NEW: Decision log
137
+ decisions?: Array<{
138
+ at: string; // When decided
139
+ choice: string; // What was chosen
140
+ reason: string; // Why
141
+ rejected?: string[]; // Alternatives not taken
142
+ }>;
143
+
144
+ // NEW: Blockers
145
+ blockers?: Array<{
146
+ type: "dependency" | "error" | "ambiguity" | "resource";
147
+ what: string; // What blocked
148
+ resolved: boolean; // Was it resolved?
149
+ how?: string; // How (if resolved)
150
+ }>;
151
+
152
+ // NEW: Efficiency metrics
153
+ metrics?: {
154
+ inputTokens: number;
155
+ outputTokens: number;
156
+ contextWindowPct: number;
157
+ durationMs: number;
158
+ };
159
+
160
+ // Session linkage (unchanged)
161
+ sessionId?: string;
162
+ source?: "task_complete" | "manual" | "api";
163
+ }
164
+ ```
165
+
166
+ ## Rendered Example (Current vs Proposed)
167
+
168
+ ### Current Format
169
+
170
+ ```markdown
171
+ ## 2026-04-22 07:44 ✓ what can this help us to do plantUML first, dont reinvent here
172
+
173
+ - **Prompt:** what can this help us to do plantUML first, dont reinvent here
174
+ - **Model:** zai-org/GLM-5-Turbo
175
+ - **Tools:** 5 calls
176
+ - **Summary:** PlantUML provides 40+ diagram types that can visualize CRL: (1) Math notation for logic symbols (⊤⊥⊢⊨∀∃), (2) Class/Object diagrams for concept nodes...
177
+ ```
178
+
179
+ ### Proposed Format (More LLM-parseable)
180
+
181
+ ```markdown
182
+ ## 2026-04-22 07:44 ✓ plantUML for CRL visualization
183
+
184
+ - **Task:** what can this help us to do plantUML first, dont reinvent here
185
+ - **Outcome:** success
186
+ - **Result:** PlantUML can visualize CRL with 40+ diagram types
187
+ - **KeyChange:** Identified math notation + class diagrams for concept nodes
188
+ - **Tools:** web_search, web_fetch, task_complete (5 calls)
189
+ - **Model:** zai-org/GLM-5-Turbo
190
+ - **Duration:** 55s, 5 turns
191
+ ```
192
+
193
+ ## Implementation Path
194
+
195
+ 1. **Backward Compatible**: Add new fields as optional, keep old fields
196
+ 2. **Gradual Migration**: New sessions use V2 format, old sessions stay V1
197
+ 3. **Renderer Update**: `renderSessionDiaryV2()` with structured output
198
+ 4. **Context Injection**: Use V2 format in system prompt context
199
+
200
+ ## Research Basis
201
+
202
+ - **Chain-of-Thought Prompting** (Wei et al., 2022): Structured reasoning improves LLM performance
203
+ - **Self-Consistency** (Wang et al., 2022): Multiple reasoning paths help accuracy
204
+ - **Constitutional AI** (Anthropic, 2022): Explicit principles guide behavior
205
+ - **Tool Learning** (Qin et al., 2023): Tool-use patterns benefit from structured logging
206
+
207
+ ## Conclusion
208
+
209
+ The session diary format is **partially aligned** with LLM training data. The markdown structure and task descriptions match what LLMs see. However, the internal state tracking (tool counts, dedupe hashes) is novel.
210
+
211
+ **Key improvements for LLM-friendliness:**
212
+ 1. Replace `completed: boolean` with `outcome: "success" | "partial" | "failed" | "blocked"`
213
+ 2. Add structured `decisions` log
214
+ 3. Add `blockers` field
215
+ 4. Compress summaries to structured one-liners
216
+ 5. Add efficiency metrics
217
+
218
+ These changes would make the session diary more parseable by LLMs and more useful for cross-session learning.
@@ -0,0 +1,91 @@
1
+ # Telegram DMN Curiosity Outreach Scaffold
2
+
3
+ Date: 2026-05-15
4
+
5
+ This document tracks the root design for idle Telegram channel "daydream" behavior:
6
+ private meta-analysis while a public group is idle, curiosity-driven exploration, scoped
7
+ tool awareness, same-group follow-up planning, private DM follow-up planning, and persona
8
+ document steering. It is intentionally a scaffold: artifacts describe possible actions and
9
+ tool affordances, while the live agent loop still decides whether to act in the current
10
+ conversation state.
11
+
12
+ ## Research Anchors
13
+
14
+ - Default mode network (DMN): idle or low-demand intervals are useful for memory-linked,
15
+ abstract, and socially grounded cognition. Smallwood et al. describe DMN regions as
16
+ increasing activity across complex cognition tied to memory and abstract thought, not
17
+ just "rest." Source: https://www.nature.com/articles/s41583-021-00474-4
18
+ - Curiosity and memory: curiosity is not just novelty seeking; it biases learning and
19
+ memory through reward/hippocampal circuits. Gruber, Gelman, and Ranganath's Neuron work
20
+ anchors the curiosity-to-memory mapping used here. Source:
21
+ https://escholarship.org/uc/item/2zd605r7
22
+ - Context engineering: modern agent reliability depends on context retrieval, generation,
23
+ processing, and management, not just prompt text. The 2025 survey frames memory,
24
+ tool-integrated reasoning, RAG, and multi-agent systems as integrated context systems.
25
+ Source: https://arxiv.org/abs/2507.13334
26
+ - Agentic memory, 2026: AgeMem exposes memory operations as tool-based actions so the
27
+ agent can decide when to store, retrieve, update, summarize, or discard information.
28
+ This supports making "remember this person/face/voice/thread" an agentic operation
29
+ rather than regex routing. Source: https://arxiv.org/abs/2601.01885
30
+ - Autonomous agent memory survey, 2026: memory should be a write-manage-read loop coupled
31
+ with perception and action, with attention to contradiction handling, privacy,
32
+ consolidation, latency, forgetting, and multimodal memory. Source:
33
+ https://arxiv.org/abs/2603.07670
34
+ - Agentic context engineering, ICLR 2026: evolving playbooks should preserve detail via
35
+ structured, incremental reflection and curation to avoid context collapse. Source:
36
+ https://arxiv.org/abs/2510.04618
37
+ - Telegram primitives: `sendMessage` supports 1-4096 visible characters plus
38
+ `reply_parameters`; `sendChatAction` is meant only for noticeable work in progress.
39
+ The scaffold should keep meta-analysis private and make reply intent explicit when
40
+ visible sends happen. Source: https://core.telegram.org/bots/api#sendmessage
41
+
42
+ ## Design Translation
43
+
44
+ - DMN behavior becomes an artifact write during idle group periods, not a public message.
45
+ - Human stimulation becomes structured input: direct address, reply chains, open
46
+ questions, multimodal content, repeated participants, tone pressure, and uncertainty.
47
+ - Curiosity becomes a queue of thread candidates with source message anchors and
48
+ intensity. The queue is evidence for the model, not a hard trigger.
49
+ - Outreach is represented as plans:
50
+ - `same_group`: a public follow-up candidate, gate `model_decision`.
51
+ - `private_dm`: a one-to-one candidate, currently gate `admin_review` because private
52
+ contact permissions and anti-spam policy need explicit configuration before delivery.
53
+ - Persona steering is imported from the scoped personality document and included in the
54
+ artifact so the follow-up planner sees the room's behavioral history.
55
+ - Tooling is scoped to the Telegram chat id and surfaced as a suite: memory search/write,
56
+ identity memory, recent Telegram media, vision/OCR/video, audio/transcription, and
57
+ public web research.
58
+
59
+ ## Code Anchors
60
+
61
+ - `packages/cli/src/tui/telegram-channel-dmn.ts`
62
+ - `TelegramChannelDaydreamArtifact.version = 2`
63
+ - `metaAnalysisSignals`
64
+ - `humanStimulationSignals`
65
+ - `curiosityThreads`
66
+ - `scopedExplorationTools`
67
+ - `outreachPlans`
68
+ - `personaSteering`
69
+ - `formatTelegramChannelDaydreamContext`
70
+ - `packages/cli/src/tui/telegram-bridge.ts`
71
+ - `buildTelegramChannelDaydreamInput` now injects scoped personality context into
72
+ idle artifacts.
73
+ - `packages/cli/tests/telegram-bot-api-10.test.ts`
74
+ - regression coverage for artifact injection into live Telegram context.
75
+
76
+ ## Integration Checklist
77
+
78
+ - [x] Add human stimulation fields to idle channel artifacts.
79
+ - [x] Add curiosity thread extraction with source message anchors.
80
+ - [x] Add scoped exploration tool suite to the artifact.
81
+ - [x] Add same-group and private-DM outreach plan structures.
82
+ - [x] Add explicit context-management/meta-analysis signals.
83
+ - [x] Add scoped persona steering into the artifact.
84
+ - [x] Keep actual public/DM delivery behind model/policy gates.
85
+ - [ ] Add runtime configuration for enabling/disabling same-group proactive follow-up.
86
+ - [ ] Add runtime configuration and consent checks for private DM proactive follow-up.
87
+ - [ ] Add a model-evaluated DMN action pass that consumes the artifact and chooses:
88
+ stay silent, research privately, consolidate memory, reply in group, or request DM
89
+ permission.
90
+ - [ ] Add delivery quotas and cooldowns per chat, per user, and per topic.
91
+ - [ ] Add UI/TUI rendering for artifact summaries and source-message backreferences.